<chapter id="security">
<title>&kppp; ja turvalisus</title>

<para>See osa on mõeldud peamiselt administraatoritele (<systemitem>root</systemitem>), kõrgendatud turvanõuetega isikutele või ka lihtsalt neile, keda huvitab sügavamalt asja tehniline külg. Kui &Linux; on kasutusel ainult kodus, ei ole erilist vajadust seda osa lugeda, kuigi mõistagi on ka siin paar-kolm asja, mida võiks kõrva taha panna.</para>

<sect1 id="security-restricting-access">
<title>&kppp; ligipääsu piiramine</title>

<para>Süsteemiadministraator võib piirata nende isikute arvu, kes saavad &kppp;-d kasutada. Seda saab teha kahel moel.</para>

<sect2 id="security-group-permissions">
<title>Ligipääsu piiramine grupiõigustega</title>

<para>Loo uus grupp (näiteks <systemitem>helistajad</systemitem>) ja lisa sinna kõik kasutajad, kes on luba &kppp;-d kasutada. Seejärel anna käsureal korraldus:</para>

<screen><prompt>#</prompt> <userinput><command>chown</command> <option>root.helistajad</option> <filename>/opt/kde/bin/kppp</filename></userinput>
<prompt>#</prompt> <userinput><command>chmod</command> <option>4750</option> <filename>/opt/kde/bin/kppp</filename></userinput>
</screen>

<para>See eeldab, et &kde; on paigaldatud kataloogi <filename class="directory"> /opt/kde</filename> ja et uue grupi nimi on <systemitem>helistajad</systemitem>.</para>

</sect2>

<sect2 id="security-kppps-way">
<title>Ligipääsu piiramine &kppp; vahenditega</title>

<para>Enne millegi ettevõtmist kontrollib &kppp;, kas on olemas fail <filename>/etc/kppp.allow</filename>. Kui see on olemas, on ainult selles nimetatud kasutajatel lubatud välja helistada. See fail peab olema kõigile loetav, kuid mõistagi <emphasis>MITTE</emphasis> kirjutatav. Tunnistatakse ainult kasutajanimesid, nii et selles failis pole võimalik kasutada <acronym>UID</acronym>-d. Üks väike näide:</para>

<screen># /etc/kppp.allow
# selliseid kommentaariridu eiratakse,
# nagu ka tühje ridu

pets
karl
maali
</screen>

<para>Toodud näites on ainult kasutajatel <systemitem>pets</systemitem>, <systemitem>karl</systemitem> ja <systemitem>maali</systemitem> lubatud välja helistada, samuti kõigil kasutajatel, kelle <acronym>UID</acronym> on 0 (seega ei pea administraatorit (root) failis eraldi ära märkima).</para>

</sect2>

</sect1>

<sect1 id="security-why-suid">
<title>&kppp; on <acronym>SUID</acronym> bitiga? Ja kuhu jääb siis turvalisus?</title>

<para>Tegelikult on vist võimatu kirjutada sissehelistajat ilma <acronym>SUID</acronym> bitita, mis oleks ühtaegu turvaline ega valmistaks kogemusteta kasutajatele ületamatuid raskusi. &kppp; kasutab turvaprobleemide puhul järgmist strateegiat.</para>

<itemizedlist>
<listitem>
<para>Kohe pärast rakenduse käivitamist &kppp; haruneb.</para>
</listitem>
<listitem>
<para>Ülemprotsess, mis tegeleb kõigi <acronym>GUI</acronym> operatsioonidega (näiteks suhtlemine kasutajaga), loobub pärast harunemist <acronym>SUID</acronym> staatusest ja töötab tavaliste kasutaja õigustega.</para>
</listitem>
<listitem>
<para>Allutatud protsess säilitab privileegid ning vastutab kõigi tegevuste eest, mis nõuavad administraatori (<systemitem>root</systemitem>) privileege. Et see oleks turvaline, ei kutsuta välja ei &kde; ega &Qt; teeke, vaid esitatakse ainult lihtsaid teegi väljakutseid. Selle protsessi lähtekood on väike (umbes 500 rida) ja väga hästi dokumenteeritud, nii et soovi korral saavad kõik kontrollida, ega selles turvaauke leidu.</para>
</listitem>
<listitem>
<para>Ülem- ja allutatud protsess suhtlevad standardse &UNIX; <acronym>IPC</acronym> vahendusel.</para>
</listitem>
</itemizedlist>

<para>Selle suurepärase koodijupi kirjutamise eest kuulub eriline tänu Harri Portenile. Me arvasime, et see on võimatu, kuid tema tuli sellega toime vaid nädalaga.</para>

</sect1>

</chapter>
