FreeBSD - instalacja i konfiguracja podstawowego firewalla (ipfw)

Cześć, na samym początku musimy sprawdzić czy mamy domyślnie w kompilowany moduł **ipfw **poleceniem:

ipfw list

Jeżeli konsola zwróci mniej więcej taki komunikat:

ipfw: getsockopt(IP_FW_GET): Protocol not available

To znaczy że moduł nie jest w kompilowany, przedstawię teraz wersję bez kompilowania kernela.

Do pliku _/etc/rc.conf _dopisujemy linie:

firewall_enable="YES"   
firewall_type="OPEN"

Następnie musimy załadować moduł kernela, wpisujemy komendę

kldload ipfw; sysctl net.inet.ip.fw.enable=0

**Uwaga! **sysctl net.inet.ip.fw.enable=0 jeżeli nie zmienisz tego parametru a załadujesz ipfw to stracisz dostęp do serwera.

Ostatnią czynnością jest przeładowanie ipfw.

service ipfw restart

W kompilowanie modułu ipfw do kernela

Na samym początku potrzebujemy źródeł FreeBSD, jeżeli ich nie masz to tutaj masz rozpisane jak je pobrać. Następnie kopiujemy oryginalną konfigurację kernela.

cd /usr/src/sys/amd64/conf  
cp GENERIC SUPERKERNEL  
nano SUPERKERNEL

Teraz dodajemy następne linijki do naszej nowej konfiguracji.

options IPFIREWALL # włącza IPFW  
options IPFIREWALL_VERBOSE # włącza logi  
options IPFIREWALL_VERBOSE_LIMIT=5 # domyślnie ustawia limit do 5   
options IPFIREWALL_DEFAULT_TO_ACCEPT # domyślnie ustawia politykę do akceptowania pakietów  
options IPDIVERT # dołącza obsługę NAT

Zapisujemy konfigurację, najwyższy czas skompilować kernel. Trwa to od paru minut do parunastu w zależności od posiadanego sprzętu.

cd /usr/src  
make buildkernel KERNCONF=SUPERKERNEL

Po skompilowaniu najwyższy czas zainstalować kernel a następnie zrestartować maszynę:

make installkernel KERNCONF=SUPERKERNEL  
reboot

Konfiguracja ipfw

Domyślnie FreeBSD dostarcza parę domyślnych konfiguracji firewalla takich jak:

  • open - przepuszcza cały ruch
  • client - ochrania tylko maszynę
  • simple - ochrania całą sieć
  • closed - wyłącza cały ruch oprócz loopback
  • workstation - ochrania tylko tą maszynę używając reguł stateful
  • UNKNOWN - wyłącza ładowanie firewalla
  • **filename **- ścieżka do pliku z regułami (domyślne reguły znajdziemy w /etc/rc.firewall)

Ustawiamy konfigurację za pomocą parametru firewall_type np:

firewall_type="open"

Dodatkowo jeżeli chcemy uruchomić własny plik z własnymi regułami ustawiamy parametr:

firewall_script="/etc/ipfw.rules"

Przykładowa konfiguracja firewalla:

firewall_enable="YES"  
firewall_quiet="YES"  
firewall_type="workstation"  
firewall_myservices="22 80"  
firewall_allowservices="any"  
firewall_logdeny="YES"

Ta konfiguracja będzie wpuszczać ruch na port 22 (SSH) oraz 80 (www), będzie również zapisywać informacje o zablokowanych połączeniach.

FreeBSD - instalacja i konfiguracja podstawowego firewalla (ipfw)
Share this