Wykład 3 24-11-2012
Ataki Dos(DDos)
Zalewanie pakietami, np. SYN flood
Złośliwej konstrukcji załączniki e-mail;
Inicjowanie dużej ilości sesji, np. w przypadku systemów stosujących tzw. captche.
Ochrona Sys Teleinf
Właściwy projekt sieci
Podział na strefy bezpieczeństwa
Wirtualne sieci prywatne.
Zapory sieciowe
Systemy wykrywania i zapobiegania włamaniom – IDS, IPS.
Systemy identyfikacji i uwierzytelnienia – NAC, Radius, Tecsacs.
Narzędzia zarządzania zabezpieczeniami – MARS.
Narzędzia korelacji i administracji
Listy kontroli dostępu(ACL) – podstawy (w pon na lab)
Standardowe – filtrowanie wg adresu nadawcy
Rozszerzone - filtrowanie wg adresu nadawcy i odbiorcy, portów nadawcy i odbiorcy, rodzajów komunikatów.
Nazwane – mogą być standardowe lub rozszerzone
Określenie zakresów IP za pomocą tzw. Masek odwrotnych
„0”- dopasowanie
„1”- dowolność
Zasady tworzenia list dostępu
Jedna lista dla jednego protokołu(np. IP) w tym samym kierunku na tym samym interfejsie
Sekwencyjne przetwarzanie warunków z góry do dołu
Pierwsze dopasowanie kończy przetwarzanie
Warunki szczegółowe muszą być umieszczone przed ogólnymi
Na końcu jest niejawny warunek „deny any any” („deny any any” log pozwala na sczytywanie odrzucanych pakietów).
ACL jest tworzony globalnie, a później dowiązany jest interfejsu/ów w kierunku in out.
Listy standardowe przypisuje się jak najbliżej miejsca przeznaczenia transmisji, zaś rozszerzone - źródła transmisji.
Składnia dla ACL standardowej
Router(config)# access-list {1-99} {permit|deny} source-addr [source-mask][log]
Składnia dla ACL rozszerzonej
Router(config)# access-list {100-199} {permit|deny} protocol source-addr [src-mask] [operator operand(nazwa portu)] [established]
Przykład:
Router(config)# ip access-list 111 permit tcp any host 200.111.1.11 eq 80
Established – dopasowanie również po fladze protokołu, np. ACK, kiedy mamy już ustanowione połączenie, czyli zgoda na odpowiedź
Składnia dla ACL rozszerzonej
Router(config)# access-list {100-199} {permit|deny} protocol source-addr [src-mask] [operator operand] destination-addr [dest-mask] [operator operand] [established]
Przykład:
Router(config)# ip access-list 111 permit tcp any host 200.1.1.11 eq 80
Router(config)# ip access-list 111 permit tcp any host 200.1.1.10 eq 25 (Poczta)
Przypisanie ACL do interfejsu
Dla standardowych transmisji(interfejsu):
Router(config-if)# ip access-group number {in|out}
Lub dla usług dostępowych dla routera(telnet, Quality of service, ssh) :
Router(config-if)# ip access-class number {in|out}
Porty:
21 – port ftp – sterowanie
20 – port ftp - przesyłu danych
Parametr log:
Zbierane informacje:
Akcja: permit, deny,
Typ protokołu – TCP, UDP, ICMP,
Adres IP źródła i celu,
Dla TCP i UDP numery portów nadawcy i odbiorcy,
Dla ICMP typ komunikatu, np. echo request.
Zabezpieczanie dostępu do routerów i przełączników
Sposoby dostępu do routera i przełącznika:
Port konsolowy (console port),
Port dodatkowy (aux port) – przy pomocy modemu,
Terminal wirtualny (vty).
Port konsoli – konfiguracja hasła
Router(config)# line console 0
Router(config)# login
Router(config)# password abc123
Router(config)# exec-timeout 3 30 (skrócenie do 3min i 30sek czasu zamknięcia sesji (domyślnie 10 minut))
Port konsoli – ważne inf:
Kilka sekund po uruchomieniu routera można zastosować Ctrl-Beak -> możliwość ustanowienia nowego hasła.
Użytkownik, który ma dostęp konsolowy …
Port aux
Router(config)# line aux 0
Router(config)# login
Router(config)# password auxpass
Router(config)# transport input none (wyłączenie ruchu wchodzącego przez modem)
Porty Vty
Router(config)# line vty 0 ?
Router(config-line)# login
Router(config-line)# password vty-pass
Router(config-line)# transport input ssh (wykorzystanie tylko łącza szyfrowanego)
Router(config-line)# ip access-class 101 (określenie dostępu tylko do adresów z listy dostępu)
Zabezpieczanie nieużywanych linii przy konfiguracji linii podać komendę login, ale nie podawać komendy password
Protokół ssh (Secure Shell)
Składa się z:
Protokołu warstwy transportowej, który zapewnia uwierzytelnienie serwera, poufność i integralność (opcjonalnie także kompresję ) danych.
Protokołu uwierzytelnienia klienta
Protokołu połączenia (multiplexowanie wielu kanałów logicznych w pojedynczym szyfrowanym tunelu).
Klient
Nawiązuje połączenie w oparciu o klucze asymetryczne serwera.
Po uzgodnieniu klucza sesji stosowane jest szyfrowanie symetryczne (np.3DES, AES, twofish);
W przypadku Cisco uwierzytelnianie użytkownika – RADIUS, TACACS+, lokalnie;
Serwer
Obsługuje szyfrowane sesje ssh
Konfigurowanie ssh
Router(config)# hostname R2
R2(config)# ip domain-name cisco.com
R2(config)# crypto key generate rsa
R2(config)# ip ssh time-out 15
R2(config)# ip ssh authentication-retries 3
R2# show ssh – listowanie aktywnych sesji
R2# show ip ssh – listowanie parametrów
R2# disconnect ssh 0 – zamykanie wskazanej sesji
Zalecenia dotyczące haseł
Stosowanie typu 5 (MD5) do szyfrowania haseł;
Konta użytkowników powinny być tworzone w celu prowadzenia bieżącego audytu;
Przy konfiguracji linii wykorzystywać komendę login local – hasło powinno być inne niż enable secret;
Szyfrować hasła w pliku konfiguracyjnym – service password encryption;
Ustalić minimalną długość hasła: security password min-length 8
Zablokować (rozważnie!) procedurę odzyskiwania hasła – no service password-recovery
Przywileje i konta:
16 poziomów przywilei <0;15>;
User EXEC – domyślnie na poziomie 1;
Privilidge EXEC – domyślnie na poziomie 15;
Zmiana poziomu dla komendy np.:
R2(config)# privilege exec level 15 show ip access-lists
Tworzenie konta z uprawnieniami poziomu 1:
R2(config)# username SUPPORT privilege 5 secret cisco5
Skrypty dla użytkowników:
(config)# username “nazwa” password „hasło”
(config)# aaa new-model
(config)# aaa authentication login default local
(config)# aaa authorization exec default local
(config)# username “nazwa” noescape
(config)# username “nazwa” autocommand “komenda”
Użyteczne komendy:
R(config)# secure boot-image – zabezpiecza przed usunięciem ios’a przez nieuprawnione osoby
Secure-boot config – wykonuje dodatkową kopię bieżącej konfiguracji
W celu uzyskania konfiguracji w trybie ROMMON należy odnaleźć kopię bezpieczeństwa i za pomocą komendy boot uruchomić router
R1(config)# banner{exec|incoming|login|mold|slip-ppp} d message d
Blokowanie niepotrzebnych usług - komendy :
# no cdp run – udostępnianie pomiędzy routerami informacji o konfiguracji routerów
# no ip source-route – trasy pakietów
#no ip classless
#no service tcp-small-servers
#no service udp-small-server
#no ip finger
#no service finger
#no ip bootp server
#no ip http server
#no ip name-server
#no boot network
#no service config
#no access-list 20
Zapory sieciowe
Głównym zadaniem zapory sieciowej jest monitorowanie I filtrowanie przechodzącego przez nie ruchu w oparciu o zestaw zdefiniowanych wcześniej reguł, czyli warunków przetwarzania pakietów.
Tym samym pozwala wydzielić strefy bezpieczeństwa.
Mechanizmy stosowane w firewall’ach:
Filtrowanie pakietów
Proste,
Zaawansowane (stanowe).
Usługi pośredniczenia
Translacja adresów
Funkcje zapór sieciowych
Zadaniem zapór sieciowych jest inspekcja ruchu pomiędzy różnymi strefami bezpieczeństwa. Tym samym pozwala wydzielić strefy bezpieczeństwa.
Dodatkowe funkcje:
Uwierzytelnianie użytkowników
Terminowanie szyfrowanych kanałów (VPN)
Routing, translacja adresów,
Monitorowanie ruchu
Proste filtrowanie pakietów
Przy podejmowaniu decyzji o przepuszczeniu bądź odrzuceniu pakietu brane są pod uwagę:
Źródłowe i docelowe adresy MAC
Źródłowe i docelowe adresy logiczne
Rodzaj protokołów obejmujących transmisję
Numery docelowych portów
Kierunek przepływu informacji
Interfejs przekazujący inf
Zalety:
Szybkość działania
Małe zapotrzebowanie na zasoby
Wady:
Nie wykorzystują inf z protokołów wyższych warstw
Nie przechowują i nie wykorzystują inf o stanie poprzednich komunikacji
Nie wykorzystują żadnych wspomagających aplikacji sieciowych
Mała elastyczność konfigurowania, niska funkcjonalność.
Usługi pośredniczenia (warstwa 7 pośredniczenia, serwery proxy)
Działają jako serv proxy
Wykorzystują inf o stanie komunikacji
Zalety:
Zrozumiałe przetwarzanie danych aplikacji
Wady
Duże zapotrzebowanie na moc sprzętu, który pełni tę rolę
Obsługa wybranych protokołów
Instalowane na uniwersalnych syst operacyjnych.
Stanowe filtrowanie pakietów (inspekcja kontekstowa)
Wykorzystanie inf pochodzących z protokołów wszystkich warstw modeli ISO /OSI
Zbieranie i dynamiczne uaktualnienia inf o stanie realizowanych połączeń
Wykorzystywanie inf o stanie stowarzyszonych aplikacji (np. serwerów uwierzytelniających)
Zalety:
Zrozumiałe przetwarzanie danych aplikacji
Obsługa wielu protokołów
Wady:
Duże zapotrzebowanie na moc sprzętu, który pełni tę rolę.
Zapory sieciowe – inny podział
Osobiste – zalety i wady
Programowe – komputery z kilkoma interfejsami (wirtualnymi lub fizycznymi) z odpowiednim oprogramowaniem, serwery proxy - Novell BorderManager, Check Point Firewall-1, iptables.
Programowo – sprzętowe – router Cisco z systemem operacyjnym IOS firewall, Cisco ASA, PIX, Juniper Netscreen, SRX, CHek Point, Astro.
Filtry aplikacyjne – Imperva, F5BIG IP.
Umiejscowienie zapory sieciowej
Router brzegowy pełni rolę firewall’a – o dużej przepustowości (odporny na zalewy DoS i DDoS)
Dedykowane urządzenie wykonując szczegółową inspekcję ruchu.
Filtrowanie pakietów – metody zaawansowane
Listy ACL nazywane
Turbo ACL
Listy ACL dynamiczne
Listy dostępu obsługujące harmonogramy
Listy ACL zwrotne
Listy ACL portu (przełączniki 3-ej warstwy)
Mapy VLAN-ów (przełączniki 3-ej warstwy)
Filtrowanie na podstawie zawartości (pełnostanowy) – CBAC (Content Based Access Control)
Filtry aplikacyjne np. ruchu http.
Router(config)# ip access-list extended moja_lista
Router(config-ext-nacl)# deny ip any……
Turbo ACL
Wstępnie skompilowane listy ACL, przez co są dużo szybsze
Mechanizm jest dostępny na zaporach sieciowych PIX
Polecenie access-list compiled
Dynamiczne listy dostępu
Procedura:
Użytkownik otwiera sesję telnet z routerem podając nazwę i hasło
Po uwierzytelnieniu sesja telnet jest zamykana, a w liście dostępu jest dodawany tymczasowy wpis akceptujący pakiety o adresie źródł zgodnym z odebranymi pakietami w trakcie uwierzytelnienia
Komenda telnet przesyła dane jawnym tekstem!!!!
Dynamiczne AC
access-list numer dynamic nazwa [timeout n] [permit|deny] protokół any docelowy_IP docelowa_maska
Numer – numer listy dostępu (standardowej lub rozszerzonej
Nazwa – nazwa listy
N – absolutny limit czasu istnienia dynamicznego wpisu
Protokół - IP, TCP, UDP, ISMP
Adres źródłowy jest zastępowany adresem uwierzytelnionego komputera.
Dynamiczne ACL – cechy
Dynamiczna lista „otwiera lukę” w zabezpieczeniach tylko na określony czas
W tym czasie istnieje możliwość wykorzystania dopuszczonego numeru IP przez hakerów
Umożliwia dostęp stacjom, które maja zmieniane adresy IP(przydzielane dynamicznie)
Listy dostępu obsługujące harmonogramy
Możliwość kontrolowania dostępu do zasobów w różnych dniach tygodnia i o różnych godzinach
Możliwość stosowania różnych zasad ochrony w różnych porach dnia (przedziały czasowe)
Procedura
Def przedziału czasowego
Time-range „nazwa”
Określenie przedziału absolute lub periodic
Listy ACL portu (przełączniki 3 warstwy)
Listy „port ACL” są powiązane z konkretnym int warstwy 2, EtherChannel, SVI nie obsługuje, trunk tak
Przypisana do kierunku wejściowego, transmisji przychodzących
Można stosować listy stand, rozszerzoną, nazywaną i listy MAC
Filtrowanie odnosi się do pojedynczego interfejsu
Mapy VLA-ów
Służą do filtrowania całego ruchu wewnątrz VLANów
Konf dwuetapowa:
IOS-3750(config)# mac access-list ext No_Appletalk
IOS-3750(config -ext-macl)# permit any any appletalk
vlan access-map Limit_Appletalk 10
action drop
match mac address No_Appletalk
vlan access-map Limit_Appletalk 20
action forward
Powiązanie z Vlanem:
IOS-3750(config)# vlan filter Limit_apletalk vlan-list 100
Filtrowanie odnosi się do ruchu przychodzącego
Listy zwrotne – na podstawie adresów docelowych i źródłowych tworzy mapę połączeń i załącza się ją do nazwanych lub rozszerzonych
Zaklęcie reflect – odnotowują dokładnie połączenia, np. połączenie wychodzące z zaklęciem reflect i nazwa listy, następnie ….