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.
139 lines
3.8 KiB
139 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>
|