<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>
