Bezpieczeństwo sieciowe jest niezwykle istotne w dzisiejszych czasach, zarówno dla użytkowników domowych, jak i dla przedsiębiorstw. Jednym z kluczowych narzędzi, które pomaga w ochronie sieci, jest Firewall. W przypadku systemu Linux, jednym z popularnych rozwiązań firewallowych jest Uncomplicated Firewall (UFW). W tym artykule omówimy, dlaczego UFW jest dobrym wyborem dla Linuxa jako Firewall.

  1. Łatwość użycia: UFW jest zaprojektowany tak, aby był prosty w użyciu nawet dla osób nieznających zaawansowanych technik firewallowych. Posiada prostą składnię poleceń i intuicyjny interfejs, co ułatwia konfigurację i zarządzanie regułami firewalla.
  2. Domyślna polityka blokowania: Po włączeniu UFW domyślnie blokuje cały ruch sieciowy. To zapewnia podstawową ochronę, ponieważ żaden ruch nie jest akceptowany, dopóki nie zostaną dodane odpowiednie reguły. Dzięki temu, nawet jeśli przypadkowo nie dodamy żadnych reguł, nasza sieć będzie wciąż zabezpieczona.
  3. Konfiguracja reguł przy użyciu nazw serwisów: UFW umożliwia dodawanie reguł do firewalla przy użyciu nazw serwisów, takich jak SSH, HTTP, FTP itp. Zamiast pamiętać i wpisywać numery portów, możemy użyć znanych nazw serwisów, co ułatwia konfigurację.
  4. Możliwość definiowania reguł dla konkretnych adresów IP lub podsieci: UFW pozwala na definiowanie reguł dla określonych adresów IP lub podsieci. To daje nam pełną kontrolę nad tym, które adresy lub podsieci mają dostęp do naszej sieci.
  5. Wsparcie dla IPv6: UFW obsługuje zarówno protokół IPv4, jak i IPv6. Oznacza to, że możemy skonfigurować firewall dla obu protokołów jednocześnie i zapewnić kompleksową ochronę naszej sieci.
  6. Integracja z iptables: UFW jest nakładką na iptables – zaawansowane narzędzie firewallowe w systemie Linux. Dzięki temu, choć UFW jest łatwy w użyciu, nadal oferuje dużą elastyczność i możliwość skonfigurowania bardziej zaawansowanych reguł, jeśli tego potrzebujemy.
  7. Możliwość logowania ruchu: UFW pozwala na logowanie ruchu sieciowego, co może być przydatne przy analizie zdarzeń sieciowych. Możemy śledzić, jakie połączenia są blokowane lub zezwolone przez nasz firewall.
  8. Dostępność na wielu dystrybucjach Linuxa: UFW jest dostępny na wielu dystrybucjach Linuxa i jest powszechnie używany. Oznacza to, że możemy korzystać z UFW niezależnie od tego, jaką dystrybucję wybraliśmy.
  9. Aktywna społeczność i dokumentacja: UFW ma aktywną społeczność użytkowników i deweloperów, co oznacza, że można łatwo znaleźć wsparcie i odpowiedzi na pytania. Istnieje również szeroka dokumentacja, która pomaga w konfiguracji i rozwiązywaniu problemów.
  10. Zintegrowane zabezpieczenia: UFW pozwala na zastosowanie dodatkowych zabezpieczeń, takich jak blokowanie ataków DDoS, filtrowanie ruchu na podstawie adresów MAC czy ochrona przed atakami brute-force.

 

Jak uruchomić Firewalla UFW?

Aby uruchomić Firewalla UFW, należy otworzyć terminal i wpisać polecenie:

sudo ufw enable

Wprowadzenie tego polecenia spowoduje włączenie Firewalla UFW i aktywację domyślnych reguł.

Jak dodać regułę do UFW?

Aby dodać regułę do Firewalla UFW, możemy użyć polecenia allow lub deny, w zależności od tego, czy chcemy zezwolić czy zablokować określony rodzaj ruchu sieciowego. Na przykład, aby zezwolić na ruch HTTP:

sudo ufw allow http

Jak dodać reguły dla np. Postgresa z konkretnej podsieci?

Aby dodać regułę dla Postgresa z konkretnej podsieci, możemy użyć polecenia allow i podać odpowiedni adres IP i port. Na przykład, aby zezwolić na ruch Postgresa z podsieci 192.168.0.0/24:

sudo ufw allow from 192.168.0.0/24 to any port 5432

Jak usuwać reguły z Firewalla UFW?

Aby usunąć regułę z Firewalla UFW, należy użyć polecenia delete. Na przykład, aby usunąć regułę dla ruchu HTTP:

sudo ufw delete allow http

Jak podejrzeć status firewalla oraz uruchomione reguły?

Aby sprawdzić status Firewalla UFW i wyświetlić uruchomione reguły, można użyć polecenia:

sudo ufw status verbose

To polecenie wyświetli informacje o aktywnych regułach, politykach domyślnych i innych szczegółach.

Sprawdzenie aktualnego stanu firewalla:

sudo ufw status numbered
Wynik:

Status: active

To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 80/tcp ALLOW IN Anywhere
[ 3] 443/tcp ALLOW IN Anywhere
W powyższym przykładzie możemy zobaczyć trzy numerowane reguły. Reguła nr 1 zezwala na ruch przychodzący na porcie 22/tcp (SSH), reguła nr 2 na porcie 80/tcp (HTTP), a reguła nr 3 na porcie 443/tcp (HTTPS).

Dodawanie nowej reguły do firewalla:
sudo ufw allow 8080/tcp
Wynik:

Rule added
Rule added (v6)
Reguła została pomyślnie dodana do firewalla.

Usuwanie reguły z firewalla:
sudo ufw delete 2
Wynik:

Deleting:
allow 80/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)
Reguła nr 2 (port 80/tcp) została usunięta z firewalla.

Dodawanie reguł dla konkretnych adresów IP lub podsieci:

sudo ufw allow from 192.168.0.0/24 to any port 3306
Wynik:

Rule added
Rule added (v6)
Dodano regułę, która zezwala na ruch przychodzący z podsieci 192.168.0.0/24 na porcie 3306 (MySQL).

Sprawdzanie statusu firewalla i uruchomionych reguł:

sudo ufw status numbered
Wynik:

Status: active

To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 443/tcp ALLOW IN Anywhere
[ 3] 8080/tcp ALLOW IN Anywhere
[ 4] 3306 ALLOW IN 192.168.0.0/24
Widzimy aktualny status firewalla, który zawiera cztery numerowane reguły: reguła nr 1 dla portu 22/tcp (SSH), reguła nr 2 dla portu 443/tcp (HTTPS), reguła nr 3 dla portu 8080/tcp i reguła nr 4 dla portu 3306 zezwalająca na ruch z podsieci 192.168.0.0/24.

Jakie reguły według dobrych praktyk dodać do UFW (np. SSH, Nginx, Apache)?

Według dobrych praktyk zabezpieczeń, istnieje kilka podstawowych reguł, które warto dodać do Firewalla UFW. Przykładowo:

  • Zezwolenie na ruch SSH:
sudo ufw allow ssh
  • Zezwolenie na ruch dla serwera HTTP (Nginx):
sudo ufw allow 'Nginx Full'
  • Zezwolenie na ruch dla serwera HTTP (Apache):
sudo ufw allow 'Apache Full'

Dodatkowo, zawsze warto dostosować reguły do swoich potrzeb i uwzględnić specyfikę naszej infrastruktury.

Podsumowanie

Podsumowując, UFW jest dobrym wyborem dla Linuxa jako Firewall ze względu na swoją łatwość użycia, domyślną politykę blokowania, możliwość definiowania reguł dla konkretnych adresów IP lub podsieci, wsparcie dla IPv6, integrację z iptables, możliwość logowania ruchu, dostępność na wielu dystrybucjach Linuxa, aktywną społeczność i dokumentację, oraz zintegrowane zabezpieczenia. Dzięki UFW możemy skutecznie chronić naszą sieć przed niepożądanym ruchem i zagrożeniami sieciowymi.

 

TEST