Jednym z podstawowych zagadnień bezpieczeństwa całej sieci WWW jest bezpieczeństwo hostów. Pod tym pojęciem kryją się wszelkie zagadnienia związane z bezpieczeństwem komputerów, na których pracuje oprogramowanie serwerów WWW. Nie da się ukryć, iż komputer, na którym uruchomiono serwer WWW, dysponuje dostępem do wszystkich zasobów takiego serwera, może monitorować całą wymianę informacji pomiędzy nim a światem, a nawet modyfikować jego ustawienia. Jeśli atakujący zdobędzie kontrolę nad systemem operacyjnym komputera, bezpieczeństwo udostępnianych usług stanie się de facto fikcją.
Kryzys bezpieczeństwa pogłębia fakt, iż włamywanie się do systemów komputerowych dla czystej zabawy stało się obecnie jeszcze powszechniejsze ze względu na ciągłe wysiłki grupy zapaleńców specjalizujących się w grzebaniu wewnątrz systemów operacyjnych i aplikacji sieciowych. Wszelkie odnalezione luki w systemach bezpieczeństwa są przez nich natychmiast publikowane w grupach dyskusyjnych lub ujawniane w internetowych "pogawędkach" przeprowadzanych za pomocą systemu IRC, co w ogromny sposób powiększa krąg użytkowników, którzy mogą wykorzystać tę wiedzę. Czasami ataki zaczynają się od wykradzenia hasła za pomocą narzędzia do podsłuchiwania pakietów. Czasami wszystko bierze się z luki w konstrukcji oprogramowania - na przykład kiepsko napisanego skryptu CGI lub możliwości celowego przepełnienia stosu. W zasadzie do dokonania włamania wystarczy "wsunąć nogę w uchylone drzwi" - kiedy napastnik zdobędzie już dostęp do komputera, może ukryć się pod przebraniem legalnego użytkownika i rozpocząć demontaż systemu od wewnątrz.
Rzecz jasna, niemożliwe jest zabezpieczenie się przed wszystkimi możliwymi atakami, jednakże w chwili obecnej w świecie Internetu można zaobserwować osiem powszechnych praktyk, które powodują osłabienie bezpieczeństwa hostów:
- Niedostateczne przemyślenie zagadnień bezpieczeństwa jako podstawowego elementu procesu projektowania i konfiguracji systemów,
- Przesyłanie sieciami niezaszyfrowanych haseł i wielokrotne używanie tych samych haseł,
- Niewykorzystywanie dodatkowych narzędzi zabezpieczających,
- Zaniechanie starań o uzyskanie oprogramowania wolnego od (znanych) błędów i luk w systemie zabezpieczeń,
- Zaniechanie śledzenia postępu w dziedzinie zabezpieczeń systemów komputerowych i podejmowania odpowiednich akcji zapobiegawczych,
- Brak odpowiednich procedur rejestrowania czynności wykonywanych w systemie,
- Brak odpowiednich procedur archiwizacji i tworzenia kopii zapasowych,
- Brak monitorowania działalności systemu i wykorzystania sieci.
Strategia bezpieczeństwa:
Bezpieczeństwo określane jest za pomocą odpowiedniej strategii. W niektórych środowiskach każdy użytkownik uprawniony jest do tworzenia i modyfikowania stron WWW. W innych strony można wyłącznie oglądać, a i to wymaga specjalnych uprawnień. Istnieją systemy, w których każdy użytkownik ma prawo do ich zamknięcia i zrestartowania, są jednak i takie, w których nawet zapisanie pliku wymaga specjalnego pozwolenia od administratora. Aby móc w inteligentny sposób zaprojektować i monitorować bezpieczeństwo we wszelkich środowiskach, należy jasno określić, co wolno poszczególnym użytkownikom. Taka jest właśnie rola strategii bezpieczeństwa. Polityki, standardy i wskazówki dotyczące zabezpieczania systemów komputerowych powinny uwzględniać zagadnienia wyszczególnione poniżej.
- Kto ma pozwolenie na dostęp do zasobów, jaka jest natura takiego dostępu oraz kto go autoryzuje?
- Kto jest odpowiedzialny za bezpieczeństwo, uaktualnianie oprogramowania i systemu, sporządzanie kopii zapasowych oraz za utrzymanie systemu?
- Jakiego rodzaju informacje mogą być umieszczane na udostępnianych stronach WWW?
- Które serwery i którzy użytkownicy zewnętrzni mogą odwoływać się do udostępnianych materiałów?
- Jakiego rodzaju testom i badaniom należy poddawać oprogramowanie i strony WWW przed ich zainstalowaniem?
- W jaki sposób rozpatrywać skargi i uwagi związane z działaniem serwera i zawartością udostępnianych stron WWW?
- W jaki sposób instytucja zarządzająca serwerem ma reagować na przypadki naruszenia bezpieczeństwa?
- Jak i kiedy należy aktualizować założenia strategii bezpieczeństwa?
- Kto ma być odpowiedzialny za kontakty z prasą, wymiarem sprawiedliwości oraz innymi instytucjami zewnętrznymi w przypadku pytań i incydentów?
Zaleca się, aby postanowienia strategii bezpieczeństwa zostały spisane i udostępnione wszystkim osobom w jakikolwiek sposób związanym z daną instytucją. Rozważne ustalenie założeń strategii bezpieczeństwa może zlikwidować w zarodku wiele potencjalnych problemów.
Podsłuchiwanie haseł:
Prawdopodobnie największym zagrożeniem bezpieczeństwa w Internecie jest wielokrotne używanie tych samych haseł i przesyłanie ich w postaci zwykłego, niezaszyfrowanego tekstu.
Problem ten dotyczy zarówno sieci zewnętrznych, jak i wewnętrznych (lokalnych). W chwili obecnej sprowadza się on jednak nie do tego, iż hasła można bez trudu odgadnąć, ale że forma ich przesyłania naraża je na podsłuchanie, przejęcie i wykorzystanie przez napastników. Nazwy i hasła użytkowników są obecnie najpopularniejszą metodą autoryzacji dostępu do usług internetowych. Są one powszechnie używane w wielu protokołach, takich jak np. zdalne sesje (telnet/rlogin), odbieranie poczty elektronicznej (POP3), transfer plików (FTP) czy WWW (HTTP).
Rozpatrzmy przykład protokołu FTP. Niektórzy dostawcy usług internetowych instalują na swoich serwerach WWW także serwery FTP, dzięki czemu użytkownicy mogą aktualizować własne strony. Niestety, protokół FTP przesyła nazwy użytkowników oraz hasła w postaci niezaszyfrowanego tekstu:
vineyard: (95} % ftp company.net
Connected to company.net
220 company.net FTP serwer (Version wu-2.4(1) Fri Dec 29
06:15:49 GMT 1995) ready.
Name (company.net:sascha): sascha
331 Password required for sascha.
Password: mypassword
230 User sascha logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
W powyższym przykładzie każdy, kto jest w stanie kontrolować wymianę informacji pomiędzy klientem i serwerem FTP, będzie w stanie odczytać litery: "s", "a", "s", "c","h","a","m","y", "p", "a", "s"," s"," w"," o","r","d". Co gorsza hasło mypassword może być używane wielokrotnie, co oznacza, że napastnik będzie mógł wykorzystywać je aż do momentu, gdy użytkownik sascha je zmieni. Jakby tego było mało, niektórzy dostawcy usług internetowych nie pozwalają użytkownikom na zmianę haseł.
Od wielu lat w Internecie dostępne są programy pozwalające monitorować informacje przekazywane siecią i wyszukiwać w nich pakiety zawierające nazwy użytkowników oraz hasła. Technika ta zwana jest podsłuchiwaniem haseł (ang. password sniffing). Przechwycone dane są zazwyczaj zapisywane lub przesyłane do komputera napastnika (lub do innego systemu, do którego atakującemu udało się włamać). Ponieważ hasła wykorzystywane są wielokrotnie, mogą zostać w dowolnej chwili użyte przez napastnika do uzyskania dostępu do konta użytkownika.
Jeśli napastnikowi uda się zainstalować program służący do podsłuchiwania haseł, może on w krótkim czasie zdobyć nazwy i hasła kilkudziesięciu lub nawet kilkuset innych użytkowników serwera. Napastnik może także podsłuchać hasła osób łączących się z innymi komputerami za pomocą programu telnet, co umożliwi mu rozprzestrzenienie ataku na kolejne serwery podłączone do Internetu. Wielu dostawców usług internetowych odkryło oprogramowanie podsłuchujące zainstalowane na komputerach włączonych do tej samej sieci, co ich nitery; programy takie są w stanie przechwycić wszystkie zestawy nazw i haseł przesyłane do serwera dostawcy za pomocą protokołów telnet, FTP lub HTTP. Ochrona przed podsłuchiwaniem haseł
Jedyną metodą obrony przed podsłuchiwaniem haseł jest eliminacja przekazywania ich w postaci niezaszyfrowanego tekstu oraz częsta zmiana. Aktualnie wykorzystywane są trzy alternatywne metody rozwiązania tego problemu.
Systemy identyfikacji bazujące na przedmiotach:
Przykładem takich rozwiązań są systemy SecureID firmy Security Dynamics i SecureNet Key firmy Digital Pathways. Oba systemy wykorzystują malutkie, mieszczące się w dłoni mikrokomputery pozwalające na używanie nowego hasła podczas każdego logowania się do systemu. Ponieważ urządzenia te znajdują się cały czas w rękach właściwych użytkowników, napastnicy nie są w stanie uzyskać dostępu do chronionego konta.
Systemy wykorzystujące hasła jednorazowe:
Przykładem takiego rozwiązania może być system S/Key. W systemie tym użytkownik otrzymuje wydruk zawierający listę kilkuset haseł; po każdym wykorzystaniu dane hasło jest wykreślane, a przy kolejnym logowaniu wykorzystywane jest następna pozycja listy:
649:NAG SKEW SANG KAY HURAL MUST
670:HERD RAY BITS TONG ACME NAP
671:CASK BOIL VEIN RID CITY DAIL
672:MUD JUNK DOLE SONG SAL LOLA
673:ATE TOO NEED LOSE TANK WINO
674:BEN HOLM IDLE BADE LEE JANE
675:GANG BRIM CURL GRID ROOD OUCH
676:BLAT LOG LUSH TILL LIAR SNOW
677:AND BASE GASH GO BELL BUNK
678:KILL AVID CAB IRK IRON HUE
679:ROLL DELL CASH SLOW GEE RUBE
680:BIB BAN PAY PA SIRE ABED
681:GALL MANA SOCK BASE BYE JOKE
Systemy wykorzystujące szyfrowanie:
Wykorzystanie takiego rozwiązania zapobiega przekazywaniu haseł w postaci niezaszyfrowanej. Do systemów tego rodzaju zaliczają się Kerberos, Secure Shell (ssh), Secure Copy (scp), Secure Telnet (Stel)' oraz protokoły SSL i TLS. Szyfrowanie może być stosowane łącznie z konwencjonalnymi hasłami wielokrotnego użytku, z systemami haseł jednorazowych (takimi jak S/Key) lub z systemami opatrtymi o podpisy cyfrowe i kryptografię klucza publicznego.
Proces logowania użytkownika do serwerów Windows NT korzystających z protokołu NetBIOS jest wyjątkowo bezpieczny - przekazywane od klienta do serwera hasła są dwukrotnie szyfrowane, a co ważniejsze, w żadnym momencie transmisji nie są odszyfrowywane do postaci zwykłego tekstu. Jednakże po dokonaniu autoryzacji i nawiązaniu połączenia udostępniane zasoby są podatne na przechwycenie mniej więcej tak samo, jak w przypadku korzystania z protokołów telnet cry FTP.
Metody kryptograficzne mają tą przewagę, iż umożliwiają szyfrowanie całej wymiany informacji prowadzonej pomiędzy dwoma komputerami podłączonymi do sieci. Chronią one także przed przejęciem sesji, cryli przejęciem przez napastnika kontroli nad sesją użytkownika po przeprowadzeniu autoryzacji dostępu. Niestety metody kryptograficzne wymagają wykorzystania specjalnych wersji oprogramowania (zarówno po stronie klienta, jak i serwem) dla każdego zabezpieczanego protokołu. Korzystanie z tych systemów wiąże się także z koniecznością rozwiązania zagadnień wzajemnej zgodności, wynikają cydr ze specyfiki współpracujących systemów oraz ograniczeń prawnych narzucanych na użycie kryptografii w różnych krajach.
Szyfrowanie może być zastosowane na jednym lub kilku poziomach.
- W szczególnych przypadkach praktykuje się ponowne stworzenie lub przebudowę kodu aplikacji w celu zapewnienia bezpiecznego przekazu danych. Ze względu na to, że szyfrowanie i identyfikacja użytkowników negocjowane są zazwyczaj podczas wstępnej wymiany informacji pomiędzy aplikacjami klienta i serwem, sesje są ograniczane do konkretnych protokołów lub usług.
- W wielu usługach możliwa jest realizacja szyfrowania na poziomie warstwy transportowej (np. TCP/IP) lub sieciowej (np. IP). Szyfrowanie dokonywane na tym poziomie jest teoretycznie niewidoczne dla aplikacji, systemy usług sieciowych mogą bowiem zastąpić zwykłe mechanizmy przekazywania informacji mechanizmami używającymi szyfrowania bez konieczności wprowadzania jakichkolwiek zmian wewnątrz aplikacji. Prrykładami standardów szyfrowania operujących na tym poziomie są protokoły SSL i TLS.
- W przypadku wirtualnych sieci prywatnych (VPN) do budowy sieci wykorzystuje się zazwyczaj standardy szyfrowania i identyfikacji na poziomie warstwy sieciowej. Przykładem może być protokół IPsec, który srybko staje się w tej dziedzinie standardem (więcej informacji na temat IPSec znajdziesz w dokumentach RFC 1825 do RFC 1829). Zauważmy, iż dostępny poziom szyfrowania zależy od lokalizacji łączących się ze sobą stron, co wynika z prawnych ograniczeń narzuconych na eksport i wykorzystanie metod kryptograficznych.
Szczególnie należy polecić użycie szyfrowania podczas zdalnego wykonywania wszelkich czynności administracyjnych oraz podczas przesyłania plików (np. pomiędzy serwerem WWW a komputerem-klientem). Jeśli to możliwe, szyfrowaniem najlepiej objąć wszystkie zdalne sesje i transmisje plików (usługi telnet i FTP).
Źródło:
http://republika.pl/bernaciakpiotr/