fwsnort - firewall Snort - Narzędzie służące do translacji reguł Snorta na odpowiednie polecenia iptables
Instalacja:
sudo apt-get install fwsnort
Następnie kopiujemy pliki reguł Snorta do katalogu fwsnorta:
sudo cp /etc/snort/rules/*.rules /etc/fwsnort/snort_rules
Uruchomienie aplikacji:
sudo fwsnort --no-ipt-sync (na starszych wersjach Ubuntu, np. 12.04)
Opcja --no-ipt-sync wymusza na fwsnort przetłumaczenie wszystkich reguł niezależnie od tego czy w aktualnie
ustawionym firewallu poszczególne reguły są blokowane czy nie.
Lub na nowszych wersjach Ubuntu (np. >=15.10)
sudo fwsnort
Tutaj opcja --no-ipt-sync jest przestarzała i w następnych wydaniach będzie niedostępna,
gdyż domyślne działanie fwsnorta
jest takie jakby ta opcja była podana.
Po tej operacji zostanie wygenerowany plik reguł iptables:
/var/lib/fwsnort/fwsnort.save
oraz plik:
/var/lib/fwsnort/fwsnort.sh
który odpowiada za załadowanie przetłumaczonych reguł do firewalla.
W starszych wersjach Ubuntu (np. 12.04) wygenerowane zostaną pliki:
/etc/fwsnort/fwsnort.save
oraz:
/etc/fwsnort/fwsnort.sh
Uwaga!
Powyższe polecenie generujące zestaw reguł fwsnort należy wykonać po każdorazowej zmianie domyślnej polityki iptables.
Przetłumaczone reguły możemy załadować poleceniem:
sudo /var/lib/fwsnort/fwsnort.sh
lub w starszych wersjach Ubuntu (np. 12.04):
sudo /etc/fwsnort/fwsnort.sh
Aby wycofać zmiany w regułach iptables możemy użyć polecenia:
sudo /var/lib/fwsnort/fwsnort.sh -r
Żeby wycofać wprowadzone zmiany w starszych wersjach Ubuntu (np. 12.04) należy zrobić to ręcznie, np. tak:
ipatbles -F FWSNORT_INPUT
ipatbles -F FWSNORT_INPUT_ESTAB
ipatbles -F FWSNORT_FORWARD
ipatbles -F FWSNORT_FORWARD_ESTAB
ipatbles -F FWSNORT_OUTPUT
ipatbles -F FWSNORT_OUTPUT_ESTAB
iptables -D INPUT 1 (jeśli odwołanie do łańcucha FWSNORT_INPUT znajduje się na innej pozycji niż 1, to należy podać odpowiedni numer)
iptables -D FORWARD 1 (jeśli odwołanie do łańcucha FWSNORT_FORWARD znajduje się na innej pozycji niż 1, to należy podać odpowiedni numer)
iptables -D OUTPUT 1 (jeśli odwołanie do łańcucha FWSNORT_OUTPUT znajduje się na innej pozycji niż 1, to należy podać odpowiedni numer)
ipatbles -X FWSNORT_INPUT
ipatbles -X FWSNORT_INPUT_ESTAB
ipatbles -X FWSNORT_FORWARD
ipatbles -X FWSNORT_FORWARD_ESTAB
ipatbles -X FWSNORT_OUTPUT
ipatbles -X FWSNORT_OUTPUT_ESTAB
Plik konfiguracyjny fwsnort znajduje się tutaj:
/etc/fwsnort/fwsnort.conf
Aby przetłumaczyć pojedyńczą regułę snorta i ją zablokować oprócz zalogowania, należy wykonać polecenie:
sudo fwsnort --snort-sid 800400 --ipt-reject
Wyczyszczenie z reguł iptables wszystkich łańcuchów utworzonych przez fwsnort.sh (same łańcuchy nie są usuwane):
fwsnort --ipt-flush