[ Pobierz całość w formacie PDF ]
.Niemniej sugerujemywszystkim administratorom, którym zależy na bezpieczeństwie, aby poważnie rozważylimożliwość zastosowania komputera Macintosh.W celu zbudowania bezpiecznego serwera na dowolnej platformie, należy sprawić, aby:" Użytkownicy sieci nie mogli nigdy uruchamiać dowolnych programów ani poleceń powłoki." Skrypty CGI działające na serwerze albo wykonywały przeznaczone im funkcje, albo zwracałybłąd.Skrypty powinny być przygotowane do obsłużenia dowolnych (też podstępnie błędnych)danych wejściowych." W razie złamania zabezpieczeń serwera przestępca nie miał możliwości włamywania się dalej,w głąb struktur sieciowych firmy.W poniższych podrozdziałach zajmujemy się różnymi rozwiązaniami tych problemów.Identyfikator UID serweraWiększość serwerów jest przeznaczona do uruchamiania przez superużytkownika.Serwer musidziałać jako root, aby mógł nasłuchiwać za pomocą portu nr 80, standardowego portu dlaprotokołu HTTP.Po uruchomieniu serwer zmienia swój identyfikator UID na wartość podaną w plikukonfiguracyjnym.W przypadku serwera NCSA ten plik konfiguracyjny nazywa się conf/httpd/conf.W tym pliku są trzy następujące wiersze:# User/Group: The name (or tfnumber) of the user/group to run httpd as.User http GrouphttpWpisanym tu użytkownikiem nie powinien być root.Zarówno w polu użytkownika, jak w polugrupy należy podać nazwę konta, które nie ma żadnych specjalnych uprawnień w systemie.W powyższym przykładzie uruchamiany serwer, zanim zacznie sięgać do plików i uruchamiaćskrypty CGI, przyjmuje identyfikator UID użytkownika http.Jeśli jakieś skrypty CGI mają byćuruchamianie jako root (choć należy takich sytuacji unikać), skrypt ten musi być typu SUID root.O tym jak pisać bezpieczne skrypty tego typu piszemy w rozdziale 23, pt. Pisanie bezpiecznychprogramów SUID i programów sieciowych".OSTRZE%7łENIENie uruchamiaj serwera jako root! Mimo iż serwer musi być uruchomiony przez użytkownika root,plik http.conf nie może zawierać wiersza User root".Jeśli będzie taki wiersz zawierał, każdyskrypt działający w serwerze WWW będzie działał z uprawnieniami superużytkownika, co możestanowić zagrożenie dla bezpieczeństwa komputera.Struktura katalogów serweraSerwery WWW to programy skomplikowane.Korzystają one z wielu plików w wielu katalogach.Zawartość niektórych katalogów jest udostępniana użytkownikom sieci.Zawartość pozostałychkatalogów nie może być dostępna w sieci, a także ze względu na bezpieczeństwo nie powinnadawać się odczytywać użytkownikom lokalnym systemu.Aby móc prowadzić bezpieczny serwerWWW, należy najpierw poznać i zrozumieć przeznaczenie oraz konieczne zabezpieczenia każdegoz katalogów.Serwer NCSA ma sześć katalogów:Katalog Przeznaczenie t.cgi-bin katalog skryptów CGI katalog plikówconf konfiguracyjnych serwera kataloghtdocs dokumentów WWW katalogicons dokumentów WWW rejestrylogs aktywności serwera katalogsupport pomocniczych programów serweraWielu ekspertów zaleca tworzenie użytkownika www i grupy www do zadań związanych zadministrowaniem serwerem:drwxr-xr-x 5 www www 1024 Aug 8 00:01 cgi-bin/drwxr-x--- 2 www www 1024 Jun 11 17:21 conf/-rwx------ l www www 109674 May 8 23:58 httpddrwxrwxr-x 5 www www 1024 Aug 8 00:01 htdocs/drwxrwxr-x 5 www www 1024 Jun 3 21:15 icons/drwxr-xr-- 5 www www 1024 May 4 22:23 logs/Jest to interesujące podejście, ale nie wydaje nam się, aby w znaczy sposób poprawiałobezpieczeństwo.Ponieważ program httpd działa jako root, każdy, kto może modyfikować tenprogram, może uzyskać uprawnienia superużytkownika.Jest to szczególnie poważny problem wprzypadku eksportu serwera lub jego plików konfigura-cyjnych za pomocą systemu NFS.Dlategozalecamy pamiętanie o tym i nadanie katalogowi serwera właściciela root:drwxr-x--x 8 root www 1024 Nov 23 09:25 cgi-bin/drwxr----- 2 root www 1024 Nov 26 11:00 conf/drwxr-xr-x 2 root www 1024 Dec 7 18:22 htdocs/-rwx------ l root www 482168 Aug 6 00:29 httpd*drwxrwxr-x 2 root www 1024 Dec l 18:15 icons/drwx-'----- 2 root www 1024 Nov 25 16:18 logs/drwxr-xr-x 2 root www 1024 Aug 6 00:31 support/Zauważmy, że katalog cgi-bin ma tryb 711, umożliwiający serwerowi httpd uruchamianieprogramów, które się w nim znajdują.Stosowanie większej ilości ograniczeń utrudnia badanieusterek.Pliki konfiguracyjneW katalogu conf serwera NCSA znajdują się następujące pliki:Plik Przeznaczenieacces.conf Sterowanie dostępem do plików serwera.Plikhttpd.conf konfiguracyjny serwera.Definicje odwzorowań MIME.mime.types Zasoby serwera (ang [ Pobierz całość w formacie PDF ]
zanotowane.pl doc.pisz.pl pdf.pisz.pl odbijak.htw.pl
.Niemniej sugerujemywszystkim administratorom, którym zależy na bezpieczeństwie, aby poważnie rozważylimożliwość zastosowania komputera Macintosh.W celu zbudowania bezpiecznego serwera na dowolnej platformie, należy sprawić, aby:" Użytkownicy sieci nie mogli nigdy uruchamiać dowolnych programów ani poleceń powłoki." Skrypty CGI działające na serwerze albo wykonywały przeznaczone im funkcje, albo zwracałybłąd.Skrypty powinny być przygotowane do obsłużenia dowolnych (też podstępnie błędnych)danych wejściowych." W razie złamania zabezpieczeń serwera przestępca nie miał możliwości włamywania się dalej,w głąb struktur sieciowych firmy.W poniższych podrozdziałach zajmujemy się różnymi rozwiązaniami tych problemów.Identyfikator UID serweraWiększość serwerów jest przeznaczona do uruchamiania przez superużytkownika.Serwer musidziałać jako root, aby mógł nasłuchiwać za pomocą portu nr 80, standardowego portu dlaprotokołu HTTP.Po uruchomieniu serwer zmienia swój identyfikator UID na wartość podaną w plikukonfiguracyjnym.W przypadku serwera NCSA ten plik konfiguracyjny nazywa się conf/httpd/conf.W tym pliku są trzy następujące wiersze:# User/Group: The name (or tfnumber) of the user/group to run httpd as.User http GrouphttpWpisanym tu użytkownikiem nie powinien być root.Zarówno w polu użytkownika, jak w polugrupy należy podać nazwę konta, które nie ma żadnych specjalnych uprawnień w systemie.W powyższym przykładzie uruchamiany serwer, zanim zacznie sięgać do plików i uruchamiaćskrypty CGI, przyjmuje identyfikator UID użytkownika http.Jeśli jakieś skrypty CGI mają byćuruchamianie jako root (choć należy takich sytuacji unikać), skrypt ten musi być typu SUID root.O tym jak pisać bezpieczne skrypty tego typu piszemy w rozdziale 23, pt. Pisanie bezpiecznychprogramów SUID i programów sieciowych".OSTRZE%7łENIENie uruchamiaj serwera jako root! Mimo iż serwer musi być uruchomiony przez użytkownika root,plik http.conf nie może zawierać wiersza User root".Jeśli będzie taki wiersz zawierał, każdyskrypt działający w serwerze WWW będzie działał z uprawnieniami superużytkownika, co możestanowić zagrożenie dla bezpieczeństwa komputera.Struktura katalogów serweraSerwery WWW to programy skomplikowane.Korzystają one z wielu plików w wielu katalogach.Zawartość niektórych katalogów jest udostępniana użytkownikom sieci.Zawartość pozostałychkatalogów nie może być dostępna w sieci, a także ze względu na bezpieczeństwo nie powinnadawać się odczytywać użytkownikom lokalnym systemu.Aby móc prowadzić bezpieczny serwerWWW, należy najpierw poznać i zrozumieć przeznaczenie oraz konieczne zabezpieczenia każdegoz katalogów.Serwer NCSA ma sześć katalogów:Katalog Przeznaczenie t.cgi-bin katalog skryptów CGI katalog plikówconf konfiguracyjnych serwera kataloghtdocs dokumentów WWW katalogicons dokumentów WWW rejestrylogs aktywności serwera katalogsupport pomocniczych programów serweraWielu ekspertów zaleca tworzenie użytkownika www i grupy www do zadań związanych zadministrowaniem serwerem:drwxr-xr-x 5 www www 1024 Aug 8 00:01 cgi-bin/drwxr-x--- 2 www www 1024 Jun 11 17:21 conf/-rwx------ l www www 109674 May 8 23:58 httpddrwxrwxr-x 5 www www 1024 Aug 8 00:01 htdocs/drwxrwxr-x 5 www www 1024 Jun 3 21:15 icons/drwxr-xr-- 5 www www 1024 May 4 22:23 logs/Jest to interesujące podejście, ale nie wydaje nam się, aby w znaczy sposób poprawiałobezpieczeństwo.Ponieważ program httpd działa jako root, każdy, kto może modyfikować tenprogram, może uzyskać uprawnienia superużytkownika.Jest to szczególnie poważny problem wprzypadku eksportu serwera lub jego plików konfigura-cyjnych za pomocą systemu NFS.Dlategozalecamy pamiętanie o tym i nadanie katalogowi serwera właściciela root:drwxr-x--x 8 root www 1024 Nov 23 09:25 cgi-bin/drwxr----- 2 root www 1024 Nov 26 11:00 conf/drwxr-xr-x 2 root www 1024 Dec 7 18:22 htdocs/-rwx------ l root www 482168 Aug 6 00:29 httpd*drwxrwxr-x 2 root www 1024 Dec l 18:15 icons/drwx-'----- 2 root www 1024 Nov 25 16:18 logs/drwxr-xr-x 2 root www 1024 Aug 6 00:31 support/Zauważmy, że katalog cgi-bin ma tryb 711, umożliwiający serwerowi httpd uruchamianieprogramów, które się w nim znajdują.Stosowanie większej ilości ograniczeń utrudnia badanieusterek.Pliki konfiguracyjneW katalogu conf serwera NCSA znajdują się następujące pliki:Plik Przeznaczenieacces.conf Sterowanie dostępem do plików serwera.Plikhttpd.conf konfiguracyjny serwera.Definicje odwzorowań MIME.mime.types Zasoby serwera (ang [ Pobierz całość w formacie PDF ]