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