= Konfiguracja firewall'a = == 1. Firewall == Firewall - (z ang. ściana ogniowa) - rodzaj oprogramowania lub dedykowany sprzęt do zabezpieczenia komputera/sieci przed niepowołanym dostępem == 2. Podstawowa konfiguracja == Najpopularniejszym filtrem sieciowym dla systemu Linux jest iptables. W dalszej części pokażemy podstawową konfigurację dla systemu operacyjnego Linux z zainstalowanym systemem eDokumenty: {{{ iptables -F INPUT iptables -F FORWARD iptables -P INPUT DROP iptables -P FORWARD DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT for PORT in 22 25 80 443 6000 do iptables -A INPUT -p tcp -m state --state NEW --dport $PORT -j ACCEPT done }}} Przeanalizujmy wpisy. Pierwsze dwa wpisy czyszczą łańcuchy z reguł. Łańcuch INPUT, filtruje ruch kierowany do tego komputera. Domyślnie mamy jeszcze wbudowane 2 łańcuchy OUTPUT - ruch wychodzący, FORWARD - ruch przekazywany. {{{ iptables -P INPUT DROP iptables -P FORWARD DROP }}} Powyższe wpisy ustawiają domyślną politykę dla łańcuchów INPUT i FORWARD na DROP czyli odrzuć. Domyślna polityka to zachowanie firewalla dla przypadku, w którym pakiet nie został zakwalifikowany do żadnej reguły danego łańcucha. {{{ iptables -A INPUT -i lo -j ACCEPT }}} Reguła zezwalająca na ruch w obrębie interfejsu loopback. Loopback to adres komputera lokalnego, interfejs z adresem 127.0.0.1, niezbędny do komunikacji wewnątrz jednego hosta. {{{ iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT }}} Reguła przedstawiona powyżej wykorzystuje rozszerzenie ''state'' do filtrowania ruch przychodzącego na podstawie stanu połączenia. Zgodnie z tą regułą akceptowane będą tylko pakiety z nawiązanym już połączeniem (ESTABLISHED) i należące do danego połączenia oraz pakiety z nawiązanym już połączeniem ale nie wiążące się już z istniejącym połączeniem (RELATED). {{{ iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT }}} Powyższa reguła akceptuje pakiety icmp (popularny ping wysyła właśnie tego typu pakiety). Akceptowane są tylko pakiety icmp typu czyli Echo Request (żądanie echa). Jest to prośba o odpowiedź czy host jest w sieci. W odpowiedzi komputer wysyła icmp typu 0 czyli Echo Reply (zwrot echa). Brak odpowiedzi nie oznacza że hosta nie ma w sieci. Popularny komercyjny system operacyjny domyślnie blokuje żądanie echa. {{{ for PORT in 22 25 80 443 6000 do iptables -A INPUT -p tcp -m state --state NEW --dport $PORT -j ACCEPT done }}} Powyższy kawałek kodu to pętla wpisująca do firewall'a kolejno dla poszczególnych usług reguły zezwalające na dostęp do nich. Te usługi to: port 22 - SSH (ang. secure shell) - zdalny dostęp do systemu w trybie tekstowym port 25 - smtp (ang. Simple Mail Transfer Protocol) - protokół wykorzystywany do wysyłania poczty port 80 - http (ang. Hypertext Transfer Protocol) - popularne www, strony internetowe port 443 - https (ang. HyperText Transfer Protocol Secure) - szyfrowane www, wykorzystywane m.in. przy połączeniach z bankami port 6000 - X Window System - zdalny dostęp do systemu w trybie graficznym.