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.
138 lines
4.5 KiB
138 lines
4.5 KiB
<chapter id="security">
|
|
<title
|
|
>Kwestie związane z bezpieczeństwem w &kppp;</title>
|
|
|
|
<para
|
|
>Ta część dokumentacji przeznaczona jest dla Administratorów systemu (użytkownika <systemitem
|
|
>root</systemitem
|
|
>), osób o wysokich wymaganiach dotyczących bezpieczeństwa, lub osób zainteresowanych technicznymi kwestiami funkcjonowania systemu. Nie jest konieczne czytanie tego tekstu, jeżeli wykorzystujesz Linuksa w domu dla swoich potrzeb, jednak zawsze możesz nauczyć się czegoś interesującego.</para>
|
|
|
|
<sect1 id="security-restricting-access">
|
|
<title
|
|
>Ograniczanie dostępu do &kppp; </title>
|
|
|
|
<para
|
|
>Administrator systemu może decydować kto może wykorzystywać &kppp;Istnieją dwie możliwości realizacji tego zadania.</para>
|
|
|
|
<sect2 id="security-group-permissions">
|
|
<title
|
|
>Ograniczanie dostępu z wykorzystaniem grupowych praw dostępu</title>
|
|
|
|
<para
|
|
>Utwórz nową grupę (możesz ją nazwać na przykład <systemitem
|
|
>dialout</systemitem
|
|
>) i przypisz do niej wszystkich użytkowników, którzy będą mogli korzystać z &kppp;, a nasŧępnie wpisz następującego polecenia:</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
|
|
>W powyższym przykładzie, zakłada się iż &kde; zainstalowano w katalogu <filename class="directory"
|
|
> /opt/kde/</filename
|
|
> oraz, że nowo utworzona grupa nosi nazwę <systemitem
|
|
>dialout</systemitem
|
|
>.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="security-kppps-way">
|
|
<title
|
|
>Ograniczanie dostępu z wykorzystaniem mechanizmów &kppp;</title>
|
|
|
|
<para
|
|
>Zanim program &kppp; wykona cokolwiek, najpierw sprawdza on istnienie pliku <filename
|
|
>/etc/kppp.allow</filename
|
|
>. Zawiera on listę wszystkich użytkowników, którzy mogą skorzystać z programu &kppp;. Plik ten powinien posiadać ustawione prawo odczytu dla każdego użytkownika (ale oczywiście <emphasis
|
|
>BEZ</emphasis
|
|
> prawa zapisu). Program &kppp; rozpoznaje jedynie nazwy (loginy) użytkowników, tak więc nie możesz wykorzystywać numerów <acronym
|
|
>UID</acronym
|
|
> użytkownika. Poniżej przedstawiono krótki przykład:</para>
|
|
|
|
<screen
|
|
># /etc/kppp.allow
|
|
# komentarze oraz linie puste są ignorowane
|
|
|
|
krzys
|
|
antek
|
|
monika
|
|
</screen>
|
|
|
|
<para
|
|
>W powyższym przykładzie, jedynie użytkownicy: <systemitem
|
|
>krzys</systemitem
|
|
>, <systemitem
|
|
>antek</systemitem
|
|
> oraz <systemitem
|
|
>marta</systemitem
|
|
> mogą wykorzystać program &kppp; i zadzwonić do dostawcy internetowego. Poza wymienionymi w pliku loginami, pełne możliwości programu może wykorzystywać użytkownik o numerze <acronym
|
|
>UID</acronym
|
|
> równym 0 (co oznacza, że nie musisz wpisywać tutaj użytkownika: root)</para>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="security-why-suid">
|
|
<title
|
|
>Program &kppp; ma ustawiony znacznik <acronym
|
|
>SUID</acronym
|
|
> ? Czy nie wpływa to negatywnie na bezpieczeństwo?</title>
|
|
|
|
<para
|
|
>Jest praktycznie niemożliwe napisanie programu, który ma dostęp do sprzętu (modemu), bez zastosowania znacznika <acronym
|
|
>SUID</acronym
|
|
> w sposób jednocześnie bezpieczny i łatwy dla niedoświadczonego użytkownika. Program &kppp; radzi sobie z tym problemem w sposób następujący:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>Natychmiast po uruchomieniu program &kppp; rozdziela się (fork) na osobne procesy..</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Proces główny, obsługujący interfejs użytkownika (<acronym
|
|
>GUI</acronym
|
|
>), pozbywa się znacznika <acronym
|
|
>SUID</acronym
|
|
> i działa dalej na prawach zwykłego użytkownika.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Proces pomocniczy utrzymuje podwyższone uprawnienia, gdyż jest on odpowiedzialny za wszystkie działania wymagające uprawnień Administratora. Aby jego działanie było bezpieczne, to ta część programu nie wykorzystuje żadnych funkcji środowiska &kde; lub bibliotek &Qt;. Kod źródłowy procesu pomocniczego jest krótki (około 500 linii) oraz dobrze udokumentowany, tak aby możliwe było szybkie wykrycie wszelkich luk i zagrożeń dla bezpieczeństwa.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Procesy główny oraz pomocniczy komunikują się ze sobą z wykorzystaniem standardowego mechanizmu <acronym
|
|
>IPC</acronym
|
|
>. systemu &UNIX; </para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para
|
|
>Specjalne podziękowania należą się Harri'emu Portenowi za napisanie tego wspaniałego programu. Wszyscy myśleli, że jest to niemożliwe, ale jemu udało się to w ciągu tygodnia.</para>
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|