Artykuł ten jest częścią całego dokumentu wydanego przez National Security Agency, czyli Amerykańską Narodowa Agencję Bezpieczeństwa. Jest to dokument z 2002 roku i opisuje jak w "60 minut" zabezpieczyć swoją sieć. Choć publikacja nie opisuje wszystkiego dogłębnie jest ciekawą lekturą dla osób interesujących się tematem bezpieczeństwa. Oryginalny dokument można pobrać z tego miejsca.
Ta sekcja jest streszczeniem dokumentu RFC 2196, czyli
Security Handbook. Polityka bezpieczeństwa jest zestwawem reguł,
których muszą przestrzegać osoby zajmujące się dostępem do
cennych informacji należących do różnych organizaji
lub przedsiębiorstw. Dotyczy ona wszystkich użytkowników
sieci, zarówno zwykłych użytkowników jak i
administratorów tych sieci, a także menagerów i
szefów przedsiębiorstwa lub organizacji. Wyznaczenie polityki
bezpieczeństwa jest balansem między
świadczeniem usług, a utrzymaniem bezpieczeństwa oraz między kosztem
utrzymania bezpieczeństwa, a ryzykiem utraty cennych informacji.
Głównym zamiarem wyznaczenia polityki bezpieczeństwa jest
szczegółowe poinformowanie użytkowników,
administratorów i menagerów o ich obowiązku do
ochrony cennych informacji. Polityka bezpieczeństwa powinna wyznaczać
porcedury, dzięki którym zostanie zachowany
mechanizm ochrony informacji.
Dobra polityka bezpieczeństwa powinna być:
Jeżeli jest to tylko możliwe należy używać najnowszych stabilnych wersji aplikacji. System operacyjny powinien mieć zainstalowane wszystkie uaktualnienia i łaty. Dotyczy to wszystkich komputerów (klientów i serwerów), urządzeń sieciowych (routerów i switchy), a także innych mechanicznych urządzeń w sieci (zapory ogniowe, systemy detekcji intruzów). Na systemie operacyjnym powinny być zainstalowane wszystkie patche, service pack'i i hotfix'y (systemy Windows). Dotyczy to szczegulnie uaktualnień naprawiających wrażliwe punkty łaty krytyczne), pozwalające osobie atakującej na wykonanie dowolnego kodu na zdalnej maszynie. Należy zapamiętać, że niektóre uaktualnienia wymagają ponownego włączenia maszyny. Popularne aplikacje powinny być poddane szczegulnej uwadze ponieważ są najbardziej znane i najczęściej atakowane (np. ISS, Outlook, Internet Explorer, BIND, czy Sendmail).
Rozwój i utrzymanie listy wszystkich zainstalowanych w sieci urządzeń i aplikacji jest ważnym elementem zabezbieczenia infrastruktury informatycznej. Równie ważne jest dogłębne poznanie wszystkich aplikacji instalowanych domyślnie (np. ISS i SQL Server). Szybką metodą na rozpoznanie działających w sieci aplikacji jest skanowanie portów.
Całą sieć należy przeskanować w poszukiwaniu działających usług TCP/UDP. Niepotrzebne usługi należy niezwłonie wyłączyć. Na usługi, które są niezbędne należy nałożyć restrykyjne ograniczenia dostępu, tylko do komputerów, które ich potrzebują. Wyłączyć wszystko, co jest żadko używane i może stanowić potencjalne źródło dziury w całym systemie bezpieczeństwa. Wszystkie inne aplikacje, które mogą być źródłem prolemów (np. skrypty CGI) należy najpierw dogłęnie przetestować. Generalnie nie należy instalować wersji testowych na głównym systemie informatycznym.
Wybór słabych haseł jest często głównym
problemem każdego systemu bezpieczeństwa. Wszyscy użytkownicy powinni
być zmuszeni do reglularnej zmiany haseł. W systemach Windows
przestażałe hasła powinny być unieważniane. Administratorzy powinni się
zaopatrzyć, a następnie okresowo uruchamiać programy do łamania haseł
(np. "John the Ripper", L0phtCrack).
Ponieważ programy do łamania haseł obciążają procesor, co może
doprowadzić do spowolniena całego systemu, dobrą praktyką jest
skopiowanie i nastęnie próba rozszyfrowania
plików przechowujących hasła na osobnym komputerze. Dla
systemów Windows są to pliki z rozszeżeniem SAM, a dla
systemów UNIX'owych pliki /etc/passwod i
/etc/shadow. Operacje taką należy
przeprowadzać na maszynie nie podłączonej do sieci, do
której dostęp ma tylko osoba zajmująca się testowaniem haseł.
Hasła powinny:
W większości przypadków należy uniemożliwić wgląd do źródła aplikacji zwykłym użytkownikom sieci. Osoby takie nie powinny mieć także możliwości uruchamiania jakiegokolwiek kodu źródłowego. Należy wyłączyć automatyczne uruchamianie aplikacji dostarczonych za pomocą poczty elektronicznej.
Jest kilka rodzajów plików dołączanych do załączników w poczcie elektronicznej, których organizacje lub firmy nie pozwalają uruchamiać lub przesyłać pocztą elektorniczną. Jeżeli jest to możliwe należy blokować przesyłanie plików z takimi rozszerzeniami. Organizacje używające programu Outlook mogą sobe to ułatwić korzystając z wersji 2002 tego programu. Dla wcześniejszych wersji tego programu należy użyć odpowiedniej łaty. Niebezpieczne rozszerzenia plików to:
| .bas | .hta | .msp | .url |
| .bat | .inf | .mst | .vb |
| .chm | .ins | .pif | .vbe |
| .cmd | .isp | .pl | .vbs |
| .com | .js | .reg | .ws |
| .cpl | .jse | .scr | .wsc |
| .crt | .lnk | .sct | .wsf |
| .exe | .msi | .shs | .wsh |
Pojęcie uprzywilejowania jest jednym z podstawowych dogmatów bezpieczeństwa komputerowego. Oznacza to, że poszczególni użytkownicy powinni mieć tylko takie prawa w systemie, aby mogli wykonywać swoją pracę. Takie restrykcje mogą uchronić system przed przypadkowym lub celowym uruchomieniem złośliwego kodu. Im większe prawa mają użytkownicy tym jest większe zagrożenie wystąpienia takiej sytuacji. Poleca się podjąć następujące działania:
Dzisiejsze drukarki sieciowe często zawierają w sobie takie usługi jak FTP, WEB, czy Telnet. Na takiej drukarce sieciowej z łatwośią można uruchomić różnego rodzaju exploity. W urządzeniach tego typu należy zmienić domyślne hasła i jeżeli jest taka możliwość należy zablokować ich globalny dostęp na routerze lub ścianie ogniowej.
SNMP jest często używany przez administratorów sieci do monitorowania i zarządzania wszystkimi urządzeniami sieciowymi (np. routery, switche, drukarki, hosty). SNMP używa do komunikacji ze zdalnymi urządzeniami niezakodowanego strumienia danych. Osoba atakująca może wykorzystac te lukę SNMP do poszerzenia swoich informacji na temat sieci, zdalnej rekonfiguracji, czy nawet zdalnego wyłączenia urządzenia. Należy, więc wyłączyć wszystkie usługi SNMP, na urządzeniach, które tych usług nie potrzebują. Dostęp poprzez SNMP może być ustawiony na tylko do odczytu. Jeżeli to możliwe dostęp do SNMP należy włączyć na jak najmniejsze liczbie komputerów (np. tylko na serwerach).
Należy regularnie przeprowadzać testy sieci pod względem jej bezpieczeństwa na wszystkich maszynach w sieci, czyli serwery, hosty, routery, ściany ogniowe, systemy detekcji intruzów (IDS). Takie testy należy także przeprowadzać po każdej większej zmianie w konfiguracji sieci.
W celu polepszenia bezpieczeńswa hostów zaleca się:
Należy zwrócić dużą uwagę na dopuszczenie
różnych usług TCP/IP do działania na routerze lub ścianie
ogniowej. Do skonfigurowania odpowiednich filtrów
można użyć poniższych tabel. Poniższe tabele przedstawiają popularne
usługi rozszerzające informacje o sieci.
Tabela 1- Lista usług TCP i UDP, które
powinny zostać całkowicie zablokowane na routerze lub ścianie ogniowej.
Informacje świadczone przez te usługi nie powinny się przedostać przez router, czy ścianę ogniową.
Tabela 2- Lista usług TCP i UDP, które
nie powinny być dostępne na zewnątrz chronionej sieci.
Tabela 3- Lista popularnych usług TCP i UDP,
które mogą być czasami dostępne dla zewnętrznych i
wewnętrznych hostów. Wiele z tych usług może być filtrowanych i dostępnych tylko
dla poszczegulnych komputerów (serwer ftp, serwer
e-mail, serwer dns, serwer web).
Tabela 4- Lista komunikatów ICMP,
która może być dostępna poza chronioną siecią, podczas gdy
wszystie inne komunikaty powinny być zablokowane.
Tabela 5- Lista komunikatów ICMP,
która może zostać dopuszczona do chronionej sieci, podczas
gdy pozostałe komunikaty powinny być blokowane.
Genteralnie administrator powinien tworzyć filtry skupiając się na
usługach i hostach, które mają być blokowane i dostępne.
Ostatecznie mozna użyć Systemu Identyfikacji Intruzów (IDS),
który będzie monitorował ruch TCP/IP w chronionej sieci.
Usługi całkowicie zablokowane
| Port/Transport | Serwer | Port/Transport | Serwer |
| 1 TCP i UDP | tcpmux | 1981 TCP | Shockrave |
| 7 TCP i UDP | echo | 1999 TCP | BackDoor |
| 9 TCP i UDP | discard | 2001 TCP | Trojan Cow |
| 11 TCP i UDP | systat | 2023 TCP | Ripper |
| 13 TCP i UDP | daytime | 2049 TCP i UDP | nfs |
| 15 TCP i UDP | netstat | 2115 TCP | Bugs |
| 17 TCP i UDP | gotd | 2140 TCP | Deep Throat |
| 19 TCP i UDP | chargen | 2222 TCP | Subseven21 |
| 37 TCP i UDP | time | 2301 TCP i UDP | compaqdiag |
| 43 TCP i UDP | whois | 2565 TCP | Striker |
| 67 TCP i UDP | bootps | 2583 TCP | WinCrash |
| 68 TCP i UDP | bootpc | 2701 TCP i UDP | sms-rcinfo |
| 69 UDP | tftp | 2702 TCP i UDP | sms-remctrl |
| 93 TCP | supdup | 2703 TCP i UDP | sms-chat |
| 111 TCP i UDP | sunrpc | 2704 TCP i UDP | sms-xfer |
| 130 TCP i UDP | loc-srv | 2801 TCP | Phineas P. |
| 137 TCP i UDP | netbios-ns | 4045 UDP | lockd |
| 138 TCP i UDP | netbios-dgm | 5800-5899 TCP | winvnc web serwer |
| 139 TCP i UDP | netbois-ssn | 5900-5999 | winvnc |
| 177 TCP i UDP | xdmcp | 6000-6063 | X11 Windows System |
| 445 TCP i UDP | misrosoft-ds | 6065-6069 | irc |
| 512 TCP | rexec | 6712-6712 TCP | Subseven |
| 513 TCP | rlogin | 6776 TCP | Subseven |
| 513 TCP | who | 7000 TCP | Subseven21 |
| 514 TCP | rsh, rpc, rdist, rdump, rrestore | 12345-12346 TCP | NetBus |
| 515 TCP | lpr | 16660 TCP | Stacheldraht |
| 517 UDP | talk | 27444 UDP | Trinoo |
| 518 UDP | ntalk | 27665 TCP | Trinoo |
| 540 TCP | uucp | 31335 UDP | Trinoo |
| 1024 TCP | NetSpy | 31337-31338 TCP i UDP | Back Orifice |
| 1045 TCP | Rasmin | 32700-32900 TCP i UDP | RPC Services |
| 1090 TCP | Xtreme | 33270 TCP | Trinity V3 |
| 1170 TCP | Psyber S.S. | 39168 TCP | Trinity V3 |
| 1234 TCP | Ultors Trojan | 65000 TCP | Stacheldracht |
| 1243 TCP | Backdoor-G | ||
| 1245 TCP | VooDoo Doll | ||
| 1349 UDP | Back Orifice DLL | ||
| 1492 TCP | FTP99CMP | ||
| 1600 TCP | Shivka-Burka | ||
| 1761-1764 TCP i UDP | sms-helpdesk | ||
| 1807 TCP | SpySender |
Usługi nie dostępne poza chronioną siecią
| Port/Transport | Serwer |
| 79 TCP | finger |
| 161 TCP i UDP | snmp |
| 162 TCP i UDP | snmp trap |
| 514 UDP | syslog |
| 550 TCP i UDP | new who |
Usługi dostępne poza chronioną siecią
| Port/Transport | Serwer |
| 20 TCP | ftpdata |
| 21 TCP | ftp |
| 22 TCP | ssh |
| 23 TCP | telnet |
| 25 TCP | smtp |
| 53 TCP i UDP | domain |
| 80 TCP | http |
| 110 TCP | pop3 |
| 119 TCP | nntp |
| 123 TCP | ntp |
| 143 TCP | imap |
| 179 TCP | bgp |
| 389 TCP i UDP | ldap |
| 443 TCP | ssl |
| 1080 TCP | socks |
| 3128 TCP | squid |
| 8000 TCP | http (alternate) |
| 8080 TCP | http alt |
| 8888 TCP | http (alternate) |
Komunikaty, które mogą opóścić chronioną sieć
| Numer | Nazwa wiadomości |
| 4 | source quench |
| 8 | echo request (ping) |
| 12 | parametr problem |
Komunikaty, które mogą się dostać do chronionej sieci
| Numer | Nazwa wiadomości |
| 0 | echo replay |
| 3 | destination reachable |
| 4 | source quench |
| 11 | time exceeded |
| 12 | parametr problem |
Ta sekcja opisuje jak zdefiniowac filtry na routerze lub ścianie ogniowej, tak aby zabezpieczyć część chronionej sieci przed rozprzestrzenianiem się informacji o niej i przed atakiem na tą sieć.
Dla wychodzącego ruchu ICMP jeden typ wiadomości Echo może zostać przepuszczony. Chodzi o wiadomości typu Parametr Problem and Source Quench. Poza tym należy zablokować wszystkie wychodzące wiadomości ICMP. Za pomoca pakietów Echo użytkownik jest w stanie pingować zewnętrzne hosty. Pakiety Parametr Problem and Source Quench wzbogacają transmisję zawierając w nagłówku informację na temat występujących problemów. Dla przychodzącego ruchu ICMP można dopuścić do chronionej sieci następujące typy wiadomości: Echo Replay, Destination Reachable, Source Quench, Time Exceeded i Parametr Problem. Wszystkie pozostałe typy wiadomości ICMP należy zablokować.
Przykładowy scenariusz prowadzi krok po kroku jak dokonać dalszej konfiguracji.
Należy zapamiętać, że w każdym wpisie w liście dostępu domyślnie przyjęta jest wartość deny w każdym rodzaju routera Cisco. Powoduje to, że wszystkie pakiety, które nie są wyszeczegulnione jako dopuszczone do przejścia przez listę dostępu będą blokowane. Jednak domyślnie nie jest włączone logowanie zablokowanych trafień. Zastosowanie poniższych wyrażeń zagwarantuje, że router będzie logował numer portu źródłowego i docelowego dla pakietów TCP i UDP, które zostały zablokowane przez listę dostępu.
Przykład drugi chroni ruch wychodzący z chronionej części sieci (np. 14.211.150.0)
Należy zapamiętać, że na każdym interfejsie na routere można założyć dwie listy dostępu jedną dla pakietów przychodzących i jedną dla pakietów wychodzących.
Następny przykład pozawala na limitowany dostęp do routera z zewnętrznej sieci. Używając właściwości protokołu TCP lista blokuje pakiety nadchodzące z nieosiągalnych hostów. Do chronionej części sieci mogą się przedostać tylko pakiety, z hostów które są osiągalne. W trybie intercept router ustala połączenie jeżeli zdalny host, który próbóje nawiązać komunikację jest osiągalny. Jeżeli host jest osiągalny połączenie jest nawiązane, a w przeciwnym wypadku router odmawia dalszej komunikacji. Lista ta nie chroni routera przed atakiem ze strony hostów, ktróe są osiągalne.
Router(config)#ip tcp intercept list 100Ten przykład pokazuje jak pozwolić na to, żeby z zewnętrznej sieci mogły się wydostać pakiety ICMP z parametrami:Echo Reply, Destination Unreachable, Source Quench, Time Exceeded i Parametr Problem.
Zapisywanie logów na routerze lub ścianie ogniowej przynosi wiele korzyści. Dzięki logom administrator może sprawdzić, czy router lub ściana ogniowa działa prawidłowo, czy są jakieś problemy lub czy
ktoś nie próbował zaatakować sieci.
Dla zapisywania logów i debbugowania należy zastosować następujące zalecenia:
W celu podwyższenia bezpieczeństwa logów zaleca sie zastosować poniższe sccenariusze.
Jest wysoce zalecane, aby pliki konfiguracyjne routera lub ściany ogniowej oraz pliki list dostępu przechowywać w formacie ASCII na komputerze nie podłączonym do żadnej sieci. Pliki powinny być dobrze opisane i mieć szczegułowe komentarze na temat ich zawartości. Posiadanie takich zapasowych kopii jest bezcenne podczas diagnozowania ataku, który może nastąpić w przyszłości. Komputer z tymi plikami także powinien być przechowywany w bezpiecznym miejscy, tak aby dostęp do niego miały tylko uprawnione osoby.