Jeśli jesteś administratorem systemu, z pewnością były momenty w Twojej karierze, w których żałowałeś, że nie masz potężnego systemu bezpieczeństwa, który jest łatwy w konfiguracji i zarządzaniu, bez konieczności zagłębiania się w skomplikowane zasady iptables. UFW lub Nieskomplikowana zapora ogniowa to świetne narzędzie do zabezpieczania sieci, które wypełnia tę lukę, oferując prosty interfejs. UFW pozwala kontrolować ustawienia zapory ogniowej serwera za pomocą prostych poleceń.
W tym samouczku dotyczącym UFW przeprowadzimy Cię przez wszystko, co musisz wiedzieć o UFW, od instalacji po zaawansowaną konfigurację. Omówimy, jak włączać i wyłączać UFW, zrozumieć jego składnię i zastosować praktyczne przykłady w typowych scenariuszach. Pod koniec tego samouczka dotyczącego UFW będziesz mieć solidną wiedzę, jak używać UFW do skutecznej ochrony swojego serwera.
Instalacja UFW
Nawet jeśli dopiero zaczynasz zarządzać zaporą ogniową, możesz łatwo zainstalować UFW, ponieważ proces instalacji jest dość prosty. Oto samouczek UFW krok po kroku, jak go skonfigurować i uruchomić na serwerze.
Krok 1: Zaktualizuj listę pakietów
Przed zainstalowaniem nowego oprogramowania dobrą praktyką jest aktualizacja listy pakietów.
sudo apt update
Krok 2: Zainstaluj UFW
Możesz zainstalować UFW za pomocą prostego polecenia:
sudo apt install ufw
Krok 3: Sprawdź instalację
Po zakończeniu instalacji możesz sprawdzić, czy instalacja przebiegła pomyślnie. Możesz sprawdzić wersję instalacji UFW, uruchamiając:
ufw version
Krok 4: Konfiguracja wstępna
Przed włączeniem UFW ważne jest wykonanie wstępnej konfiguracji. W ten sposób możesz mieć pewność, że po aktywacji zachowuje się zgodnie z oczekiwaniami. Jednym z najważniejszych kroków jest ustawienie zasad domyślnych. Domyślnie UFW jest skonfigurowany tak, aby odrzucać wszystkie połączenia przychodzące i zezwalać na wszystkie połączenia wychodzące. Aby zweryfikować lub ustawić te wartości domyślne, możesz użyć następującego polecenia:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Krok 5: Włącz UFW
Włączenie UFW aktywuje zaporę sieciową ze zdefiniowanymi regułami i zasadami domyślnymi. Aby włączyć UFW, uruchom następujące polecenie:
sudo ufw enable
Krok 6: Sprawdzanie statusu UFW
Możesz wyświetlić status UFW i aktualnie stosowane reguły za pomocą następującego polecenia:
sudo ufw status
Postępując zgodnie z tym samouczkiem dotyczącym UFW, możesz pomyślnie zainstalować i włączyć UFW na swoim serwerze. Ta wstępna konfiguracja ułatwia dalsze konfiguracje. UFW można dostosowywać i pozwala dodawać określone reguły, aby w razie potrzeby zezwalać lub blokować ruch.
Podstawowe polecenia i składnia UFW
UFW zaprojektowano tak, aby był łatwy w użyciu; dlatego ma proste polecenia i przejrzystą składnię, która upraszcza zarządzanie zaporą ogniową. Zrozumienie tych podstawowych poleceń i ich składni bardzo pomaga w konfigurowaniu i utrzymywaniu zapory ogniowej serwera. W ostatniej części naszego samouczka dotyczącego UFW omówiliśmy włączanie UFW. Zacznijmy więc tę sekcję od polecenia, które pozwala wyłączyć UFW w twoim systemie.
Wyłączanie UFW
W celu rozwiązywania problemów lub konserwacji może być konieczne wyłączenie UFW. To polecenie robi to za Ciebie:
sudo ufw disable
Sprawdzanie statusu UFW
Jeśli będziesz regularnie sprawdzać status UFW, będziesz wiedzieć, które reguły są aktualnie aktywne. Możesz więc mieć pewność, że zapora sieciowa działa dokładnie tak, jak tego oczekujesz. Możesz sprawdzić status UFW za pomocą następującego polecenia UFW:
sudo ufw status
Możesz użyć opcji szczegółowej po tym poleceniu, aby uzyskać więcej szczegółów na temat statusu UFW.
sudo ufw status verbose
Zezwalanie na ruch
Jedną z głównych funkcji UFW jest zezwalanie na ruch lub jego blokowanie w zależności od wymagań bezpieczeństwa. Jeśli chcesz zezwolić na ruch przez określony port, powinieneś użyć polecenia zezwolenia, po którym należy podać numer portu i protokół (tcp/udp). Oto przykład:
sudo ufw allow 22/tcp
To polecenie umożliwia przychodzące połączenia SSH na porcie 22 przy użyciu protokołu TCP.
Zakaz ruchu
Podobnie, aby zablokować ruch, należy użyć polecenia odmów.
sudo ufw deny 23/tcp
To polecenie blokuje przychodzące połączenia Telnet na porcie 23 przy użyciu protokołu TCP.
Zezwalanie na ruch według adresu IP
UFW pozwala nawet zezwolić lub zabronić ruchu z określonych adresów IP. W ten sposób możesz mieć bardziej szczegółowe zasady bezpieczeństwa. Oto przykład:
sudo ufw allow from 192.168.1.10
Odmawianie ruchu według adresu IP
Odmawianie ruchu na podstawie adresu IP jest tak proste, jak ostatnie polecenie. Oto przykład, jak możesz to zrobić:
sudo ufw deny from 10.0.0.0/8
Zarządzanie zasadami UFW
Podczas pracy z UFW możesz chcieć dodawać, modyfikować lub usuwać reguły. Zobaczmy, jakie polecenia UFW pozwolą ci to zrobić. Na początek zacznijmy od dodania nowej reguły. Aby dodać nową regułę do UFW, możesz po prostu użyć poleceń Zezwól lub Odmów UFW, które wyjaśniliśmy wcześniej. Jednak usunięcie reguły obejmuje więcej kroków. Aby usunąć regułę, należy najpierw wyświetlić listę ponumerowanych reguł. Ten krok jest ważny, ponieważ musisz określić konkretną regułę, którą chcesz usunąć. Poniższe polecenie wyświetli listę ponumerowanych reguł:
sudo ufw status numbered
Następnie możesz usunąć regułę podając jej numer:
sudo ufw delete 1
Ponowne ładowanie UFW
Za każdym razem, gdy wprowadzasz zmiany w regułach UFW, dobrze jest ponownie załadować zaporę. Następujące polecenie UFW ponownie ładuje UFW:
sudo ufw reload
To polecenie ponownie stosuje wszystkie reguły bez konieczności wyłączania i ponownego włączania zapory.
Resetowanie UFW
Istnieje polecenie UFW, które pozwala zacząć od nowa lub usunąć wszystkie istniejące reguły. Pamiętaj jednak, że jeśli zresetujesz UFW, zostanie on wyłączony, a wszystkie reguły zostaną usunięte. Następujące polecenie UFW resetuje UFW:
sudo ufw reset
Poznanie podstawowych poleceń UFW i zrozumienie ich składni jest niezbędne do skutecznego zarządzania zaporami sieciowymi. W następnych sekcjach zagłębimy się w zaawansowane konfiguracje i przypadki użycia, które mogą jeszcze bardziej zwiększyć bezpieczeństwo Twojego serwera.
Łączenie UFW z innymi narzędziami bezpieczeństwa
UFW to potężne narzędzie do zarządzania zaporą sieciową. Masz jednak szansę połączyć je z innymi narzędziami bezpieczeństwa, aby w pełni je wykorzystać. Jednym z takich narzędzi jest Fail2ban, który pomaga zapobiegać atakom typu brute-force poprzez monitorowanie dzienników i blokowanie adresów IP, które wykazują złośliwe oznaki. Oto, jak możesz zintegrować UFW z Fail2ban, aby poprawić konfigurację zabezpieczeń.
Fail2ban to narzędzie bezpieczeństwa, które może skanować pliki dziennika w poszukiwaniu wzorców nieudanych prób logowania lub innych podejrzanych działań. Po znalezieniu podejrzanych wzorców może automatycznie zaktualizować reguły zapory sieciowej, aby zablokować niewłaściwe adresy IP. Kombinacja UFW i Fail2ban może być naprawdę przydatna do obrony przed powtarzającymi się próbami logowania metodą brute-force.
Instaluję Fail2ban
Aby zainstalować Fail2ban, uruchom następującą komendę na swoim serwerze:
sudo apt-get install fail2ban
Konfigurowanie Fail2ban za pomocą UFW
Teraz dowiesz się, jak skonfigurować Fail2ban do pracy z UFW.
Krok 1: Utwórz konfigurację lokalnego więzienia
Domyślny plik konfiguracyjny Fail2ban znajduje się pod adresem /etc/fail2ban/jail.conf. Zaleca się jednak utworzenie lokalnej kopii tego pliku, aby uniknąć nadpisania ustawień podczas aktualizacji Fail2ban. Tutaj możesz skopiować plik konfiguracyjny:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Krok 2: Edytuj konfigurację więzienia
Otwórz jail.local plik w preferowanym edytorze tekstu za pomocą następującego polecenia:
sudo nano /etc/fail2ban/jail.local
W tym pliku znajdź plik [DOMYŚLNY] sekcję i ustaw zakaz, znaleźć czas, I maxretry parametry. Oto lista tego, co pokazuje każdy z tych parametrów:
- Czas zakazu: Kontroluje czas blokowania adresu IP.
- Czas znalezienia: Pokazuje okno czasu, w którym zliczane są nieudane próby.
- Maxretry: Pokazuje liczbę dozwolonych niepowodzeń przed banem.
Na przykład możesz ustawić te parametry w następujący sposób:
[DEFAULT] bantime = 600 findtime = 600 maxretry = 5
Krok 3: Włącz UFW w konfiguracji więzienia
Znajdź [sshd] sekcję (lub dowolną inną usługę, którą chcesz chronić) w pliku jail.local plik. Teraz upewnij się, że włączone jest ustawione na true i określ, że do blokowania powinno być używane UFW:
[sshd] enabled = true banaction = ufw port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5
Ta konfiguracja jest konieczna, aby mieć pewność, że Fail2ban monitoruje usługę SSH i aktualizuje reguły UFW, aby blokować złośliwe adresy IP.
Uruchamianie i włączanie Fail2ban
Po skonfigurowaniu Fail2ban uruchom usługę i włącz ją do uruchamiania przy starcie:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
Teraz sprawdź status Fail2ban, aby upewnić się, że działa poprawnie:
sudo systemctl status fail2ban
Korzyści z połączenia UFW i Fail2ban
Integracja Fail2ban z UFW pozwala na posiadanie warstwowe podejście do bezpieczeństwa. UFW zapewnia prosty sposób zarządzania regułami zapory sieciowej, a moduł Fail2ban dodaje dynamiczną ochronę, blokując adresy IP wykazujące złośliwe zachowanie. Ta wydajna praca zespołowa zmniejsza ryzyko ataków typu brute-force i zapewnia bezpieczeństwo Twojego serwera.
Zamotać
W tym samouczku dotyczącym UFW sprawdziliśmy, jak UFW może być doskonałym narzędziem zwiększającym bezpieczeństwo systemu i ułatwiającym zarządzanie zaporą ogniową. Zapewniliśmy łatwy do wykonania proces instalacji i konfiguracji korzystania z UFW. Wyjaśniliśmy również, jak użycie UFW z innymi narzędziami bezpieczeństwa, takimi jak Fail2Ban, może sprawić, że proces będzie jeszcze bardziej optymalny.
Często zadawane pytania
Jak mogę usunąć dodaną regułę UFW?
Aby usunąć konkretną regułę UFW, musisz użyć polecenia ufw Delete, a następnie reguły, którą chcesz usunąć. Na przykład, jeśli chcesz usunąć regułę zezwalającą na ruch na porcie 80 (HTTP), możesz użyć następującego polecenia:
sudo ufw delete allow 80/tcp
Czy UFW jest lepsze od iptables?
UFW ułatwia zarządzanie zaporą sieciową dzięki łatwiejszej składni i przyjaznym dla użytkownika poleceniom. Dzięki temu jest to idealny wybór dla początkujących. Z drugiej strony iptables oferuje bardziej szczegółowe opcje kontroli i dostosowywania. Dlatego jest odpowiedni dla zaawansowanych użytkowników, którzy potrzebują bardzo szczegółowych reguł zapory sieciowej.
Co jest lepsze, Firewalld czy UFW?
UFW jest łatwiejszy dla początkujących, ponieważ ma proste polecenia. Jest idealny do prostych konfiguracji. Zapora ogniowa oferuje bardziej zaawansowane funkcje i elastyczność, dzięki czemu jest lepszym narzędziem w przypadku złożonych środowisk i dynamicznych reguł zapory sieciowej. Wybór zależy od Twoich konkretnych potrzeb i znajomości każdego narzędzia.
Jaka jest najlepsza zapora ogniowa dla Ubuntu?
Najlepsza zapora ogniowa dla Ubuntu zależy od Twoich potrzeb. UFW jest opcją domyślną i zalecaną dla większości użytkowników, ponieważ jest prosta i łatwa w użyciu. W przypadku bardziej zaawansowanych konfiguracji iptables zapewnia szczegółową kontrolę nad regułami zapory. Firewalld to kolejna solidna opcja oferująca dynamiczne zarządzanie regułami zapory. Możesz wybrać UFW do prostych zadań i rozważyć iptables lub Firewalld do bardziej złożonych wymagań.