2008-06-29

FireWall, część pierwsza.

Dzisiejsza notka jest o iptables. Iptables to narzędzie ustawiające netfilter, czyli taki Firewall wbudowany w jądro Linuksa. Moim zdaniem jest to najlepszy Firewall, ponieważ jest lekki i skuteczny. Pamiętając o mniej obeznanych z zabezpieczeniami czytelnikach wytłumaczę na początek co to jest Firewall.

Firewall (czyli po polsku "Ściana ogniowa" lub "Ściana ognia") albo jak kto woli zapora sieciowa to jeden z podstawowych sposobów zabezpieczenia sieci przed niechcianymi osobnikami. Nie możemy oczywiście brać tego dosłownie i rozlewać naokoło naszej maszyny benzyny by później ją podpalić, po pierwsze, mogło by to uszkodzić maszynę, po drugie, mogło by to zniszczyć pobliskie przedmioty, a po trzecie, trzeba byłoby takie coś często odnawiać, a benzyna jest coraz droższa. Firewall to urządzenie (firewall sprzętowy) lub program (firewall programowy), który blokuje niechciany ruch. Jakiego ruchu możemy nie chcieć? Na przykład, możemy chcieć stworzyć sobie serwer FTP, ale tylko dostępny dla ludzi z sieci lokalnej (LAN), wtedy za pomocą 1 regułki dajemy dostęp do naszego serwera tylko dla danego zakresu IP, w którym mieści się nasza lokalna sieć. Gdy ktoś z zewnątrz będzie chciał się z nami połączyć, po prostu jego pakiet, nie dojdzie do usługi na naszym serwerze, przez co serwer nie odpowie.
Wiemy jak działa firewall, teraz zobaczymy jak stworzyć prosty FireWall. Dla przykładu, chcemy ograniczyć dostęp do usługi naszego serwera, tylko do naszego komputera. Jaka to może być usługa? Dla przykładu SSH, który standardowo słucha na porcie 22. Piszemy:
iptables -A INPUT -s ! 192.168.1.11 -p tcp -dport 22 -j DROP
W miejsce 192.168.1.11 wstawiamy swój adres IP, ten podany tutaj, to mój realny IP wewnętrzny. Teraz, załóżmy ktoś włamał się na komputer Kasi, która ma IP 192.168.1.10 i próbuje zalogować się na nasz serwer. Włamywacz nie będzie mógł się połączyć z naszym komputerem, ponieważ jądro Linuksa zobaczy że adres komputera próbującego połączyć się na port 22 nie jest równy adresowi 192.168.1.11, w rezultacie zgodnie z powyższą regułką, wszystkie pakiety od tego hosta zostaną upuszczone. Usługa nawet nie będzie "wiedziała" o próbie połączenia z danego adresu. Usługa nie wie również, że tylko z jednego IP można się z nią połączyć, co bardzo ułatwia nam konfigurowanie lub testowanie jakichś usług, które mogły by zostać wykorzystany w zły sposób. Jednym z takich złych sposobów jest wykorzystanie naszego jeszcze nie skonfigurowanego serwera poczty, do rozsyłania niechcianych wiadomości.

Jak widzisz, FireWall jest bardzo przydatny, a w następnej części dowiesz się, jak samemu stworzyć proste regułki FireWall'a, które pozwolą Ci zabezpieczyć swoją lokalną sieć. Zachęcam do komentowania.

Brak komentarzy: