Przejdź do głównej zawartości

Instalacja zapory firewall UFW (Debian).

W celu instalacji prostego firewall UFW, którego sama nazwa oznacza Nieskomplikowany Firewall (ang. Uncomplicated Firewall) wykonamy następujące kroki.

Dystrybucja: Debian 10 Debian 11

  • W pierwszej kolejności logujemy się do swojego VPS po SSH np. za pomocą puTTy, na domyślny port 22
  • Następnie po zalogowaniu na konto root wydajemy polecenie aktualizacji listy pakietów poleceniem:
apt-get update
Wynik:
root@adamhitme:~# apt-get update
Hit:1 http://ftp.debian.org/debian buster InRelease
Hit:2 http://security.debian.org buster/updates InRelease
Hit:3 http://ftp.debian.org/debian buster-updates InRelease
Reading package lists... Done

Instalacja UFW.

apt install ufw

jeśli nie używamy IPv6 możemy wyłączyć w pliku /etc/default/ufw domyślne ustawienie IPV6=no

nano /etc/default/ufw

Domyślne reguły.

Aby wprowadzić domyślne reguły dla portów usług SSH, FTP oraz HTTP/S wydajemy komendy:

ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow ftp
ufw allow http
ufw allow https

Aktywacja UFW.

Aby zapora zaczęła działać musimy ją aktywować poleceniem ufw enable

warning

Port SSH! Uwaga, przed aktywacją upewnij się że dodałeś port SSH do aktywowanych.

Wynik:
root@adamhitme:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Status firewall sprawdzamy poleceniem ufw status

Wynik:
root@adamhitme:~# ufw status
Status: active

To Action From
-- ------ ----
22/tcp ALLOW Anywhere
21/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere

root@adamhitme:~#

Blokowanie adresu IP.

Jeżeli chcemy zablokować połączenie z jakiegoś IP wykonujemy to poleceniem: ufw deny from <adres IP>

ufw deny from 203.0.113.4
Wynik:
root@adamhitme:~# ufw deny from 223.0.113.4
Rule added

Możemy teraz sprawdzić status poleceniem ufw status numbered

Wynik:
root@adamhitme:~# ufw status numbered
Status: active

To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 21/tcp ALLOW IN Anywhere
[ 3] 80/tcp ALLOW IN Anywhere
[ 4] 443/tcp ALLOW IN Anywhere
[ 5] Anywhere DENY IN 223.0.113.4

Odblokowywanie IP.

Jeżeli chcemy odblokować, wydajemy najpierw polecenie status poleceniem ufw status numbered aby zdobyć numer linii, a następnie używamy ufw delete <numer linii> i potwierdzamy 'y'

Wynik:
root@adamhitme:~# ufw delete 5
Deleting:
deny from 223.0.113.4
Proceed with operation (y|n)? y
Rule deleted
root@adamhitme:~#

Status usługi i reguł.

Aby sprawdzić czy zapora jest aktywna wydajemy polecenie ufw status verbose

Wynik:
root@adamhitme:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
21/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere

root@adamhitme:~#

Inne polecenia UFW.

ufw delete allow http lub ufw delete allow 80 usuwamy port 80/http z regułek

ufw allow 6000:6007/tcp - dodajemy zakres 6000-6007 TCP

ufw allow 6000:6007/udp - dodajemy zakres 6000-6007 UDP

ufw allow from 223.0.113.4 to any port 22 - pozwalamy adresowi 223.0.113.4 na połączenie z portem 22

ufw allow from 223.0.113.4 proto tcp to any port 22 - pozwalamy adresowi 223.0.113.4 na połączenie po protokole TCP z portem 22

ufw allow from 223.0.113.4 proto tcp to any port 22 comment 'twoj komentarz' - pozwalamy adresowi 223.0.113.4 na połączenie po protokole TCP z portem 22 dodając komentarz

ufw allow from 223.0.113.0/24 - pozwolenie dla całej maski

ufw disable - dezaktywujemy firewall

ufw reset - resetujemy regułki

ufw logging off - wyłączenie zapisu ruchu do logów systemowych (niezalecane)