Kwestie związane z bezpieczeństwem w &kppp;Ta część dokumentacji przeznaczona jest dla Administratorów systemu (użytkownika root), 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.Ograniczanie dostępu do &kppp; Administrator systemu może decydować kto może wykorzystywać &kppp;Istnieją dwie możliwości realizacji tego zadania.Ograniczanie dostępu z wykorzystaniem grupowych praw dostępuUtwórz nową grupę (możesz ją nazwać na przykład dialout) i przypisz do niej wszystkich użytkowników, którzy będą mogli korzystać z &kppp;, a nasŧępnie wpisz następującego polecenia:#chown/opt/kde/bin/kppp#chmod/opt/kde/bin/kpppW powyższym przykładzie, zakłada się iż &kde; zainstalowano w katalogu /opt/kde/ oraz, że nowo utworzona grupa nosi nazwę dialout.Ograniczanie dostępu z wykorzystaniem mechanizmów &kppp;Zanim program &kppp; wykona cokolwiek, najpierw sprawdza on istnienie pliku /etc/kppp.allow. 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 BEZ prawa zapisu). Program &kppp; rozpoznaje jedynie nazwy (loginy) użytkowników, tak więc nie możesz wykorzystywać numerów UID użytkownika. Poniżej przedstawiono krótki przykład:# /etc/kppp.allow
# komentarze oraz linie puste są ignorowane
krzys
antek
monika
W powyższym przykładzie, jedynie użytkownicy: krzys, antek oraz marta 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 UID równym 0 (co oznacza, że nie musisz wpisywać tutaj użytkownika: root)Program &kppp; ma ustawiony znacznik SUID ? Czy nie wpływa to negatywnie na bezpieczeństwo?Jest praktycznie niemożliwe napisanie programu, który ma dostęp do sprzętu (modemu), bez zastosowania znacznika SUID 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:Natychmiast po uruchomieniu program &kppp; rozdziela się (fork) na osobne procesy..Proces główny, obsługujący interfejs użytkownika (GUI), pozbywa się znacznika SUID i działa dalej na prawach zwykłego użytkownika.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.Procesy główny oraz pomocniczy komunikują się ze sobą z wykorzystaniem standardowego mechanizmu IPC. systemu &UNIX; 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.