You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
3.8 KiB
69 lines
3.8 KiB
<chapter id="security">
|
|
<title>Sikkerhedshensyn med &kppp;</title>
|
|
|
|
<para>Dette afsnit er i hovedsagelig beregnet for systemadministratorer (<systemitem>root</systemitem>), de med høje sikkerhedskrav eller helt enkelt teknisk interesserede. Det er ikke nødvendigt at læse dette hvis du kun anvender &Linux; selv derhjemme, selvom du i alle tilfælde kan lære et og andet.</para>
|
|
|
|
<sect1 id="security-restricting-access">
|
|
<title>Begræns adgangen til &kppp;</title>
|
|
|
|
<para>En systemadministrator kan ville begrænse adgangen med hensyn til hvem der får lov at bruge &kppp;. Der findes to måder at opnå dette.</para>
|
|
|
|
<sect2 id="security-group-permissions">
|
|
<title>Begræns adgangen med gruppetilladelser</title>
|
|
|
|
<para>Opret en ny gruppe (du vil måske kalde den til <systemitem>dialout</systemitem> eller noget lignende), og tilføj alle brugere som skal få lov til at anvende &kppp; til denne gruppe. Skriv derefter på kommandolinjen:</para>
|
|
|
|
<screen><prompt>#</prompt> <userinput><command>chown</command> <option>root.dialout</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>Dette forudsætter at &kde; installeredes i <filename class="directory"> /opt/kde/</filename> og at den nye gruppe hedder <systemitem>dialout</systemitem>.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="security-kppps-way">
|
|
<title>Begræns adgangen på &kppp;s egen måde</title>
|
|
|
|
<para>Inden den gør noget, kontrollerer &kppp; om der findes en fil som hedder <filename>/etc/kppp.allow</filename>. Hvis denne fil findes, tillades kun brugere som nævnes i denne fil at ringe op. Denne fil skal være læsbar af alle (men selvfølgelig <emphasis>IKKE</emphasis> skrivbar). Kun brugernavne genkendes, så du kan ikke anvende en <acronym>UID</acronym> i denne fil. Her er et kort eksempel:</para>
|
|
|
|
<screen># /etc/kppp.allow
|
|
# kommentarlinjer som denne ignoreres
|
|
# præcis som tomme linjer
|
|
|
|
hans
|
|
karl
|
|
lene
|
|
</screen>
|
|
|
|
<para>I ovenstående eksempel, tillades kun brugerne <systemitem>hans</systemitem>, <systemitem>karl</systemitem> og <systemitem>lene</systemitem> at ringe op, så vel som alle brugere med <acronym>UID</acronym> 0 (så du behøver ikke eksplicit angive root i filen).</para>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="security-why-suid">
|
|
<title>Kppp har <acronym>SUID</acronym>-bitten sat? Hvad sker der så med sikkerheden?</title>
|
|
|
|
<para>Det er mere eller mindre umuligt at skrive et opkaldsprogram som både er sikkert og let at anvende for uerfarne brugere uden at sætte <acronym>SUID</acronym>-bitten. &kppp; håndterer sikkerhedsproblemerne med følgende strategi.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Umiddelbart efter at programmet er startet, så skaber &kppp; en ny proces (fork).</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Hovedprocessen, som håndterer hele den grafiske grænsefladen med brugerpåvirkning, slipper <acronym>SUID</acronym>-tilstanden efter den nye processen er lavet, og kørt med normale brugerrettigheder.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Den nye proces beholder sine rettigheder, og har ansvaret for alle handlinger som behøver rettigheder som <systemitem>root</systemitem>. For at holde denne del sikker, så anvendes ingen kald til &kde;- eller &Qt;-biblioteker, bortset fra enkle bibliotekskald. Kildekoden for denne proces er kort (omkring 500 linjer) og veldokumenteret, så det er let at kontrollere den for at finde sikkerhedshuller.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Hovedprocessen og den nye proces kommunikerer med almindelige &UNIX; <acronym>IPC</acronym>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Særlig tak til Harri Porten for at have skrevet denne udmærkede kode. Det ansås for at være umuligt, men det lykkedes for ham på en uge.</para>
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|