Firewall na Iptables
By móc używać iptables, musimy posiadać firmware Jokera w wersji
M.
Dodatkowo niezbędne będzie zainstalowanie:
- bussybox2 (
busybox2-extended.tar.gz)
- dodatkowe moduły kernela (
modules-kernel.tar)
Jeżeli to mamy już za sobą, przechodzimy do tworzenia pliku zawierającego wpisy dla iptables.
Tworzymy plik
/sbin/tabela nadając mu prawa do uruchomienia
755.
Przykładowa zawartość pliku, pozwalająca na działanie podstawowym usługą, jeżeli chcemy zablokować dostęp wystarczy przed wybraną usługą wstawić #:
KOD
##Przygotowanie tabeli (czyszczenie starych wpisów, blokada ruchu)
iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
##Przepuszczenie ruchu dla usług:
##Serwer FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
##Serwer SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
##Serwer poczty
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
##Serwer WWW
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
##Inne
##Tutaj dodajemy inne porty do jakich chcemy udostępnić dostęp z internetu.
##Robimy to dodając wpisy wg. zamieszczonego poniżej wzoru (bez # na początku linii):
#iptables -A INPUT -p tcp --dport NUMER_PORTU -j ACCEPT
#iptables -A INPUT -p udp --dport NUMER_PORTU -j ACCEPT
#Zezwolenie na nie ograniczony dostęp do portów z sieci lokalnej
#Pamiętaj o podaniu klasy IP swojej obudowy (np. 192.168.123).
iptables -A INPUT -s xxx.xxx.xxx.0/24 -j ACCEPT
iptables -A FORWARD -s xxx.xxx.xxx.0/24 -j ACCEPT
iptables -A FORWARD -d xxx.xxx.xxx.0/24 -j ACCEPT
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
Jeżeli masz inne IP ustawione na swoją obudowę, pamiętaj o jego zmianie w tworzonym właśnie pliku.
Teraz dopisujemy uruchamianie naszego prostego firewalla do pliku startowego:
KOD
#msg Uruchomienie firewall...
tabela
Niby nic... a w momencie uruchomienia tego skryptu dostęp do obudowy z internetu możliwy jest tylko na wybranych przez nas portach, natomiast w sieci lokalnej mamy dostęp do wszystkich portów.