Android

Jak skonfigurować firewall z ufw na Ubuntu 18.04

Настройка firewall в Ubuntu Server (ufw)

Настройка firewall в Ubuntu Server (ufw)

Spisu treści:

Anonim

Prawidłowo skonfigurowana zapora ogniowa jest jednym z najważniejszych aspektów ogólnego bezpieczeństwa systemu. Domyślnie Ubuntu jest wyposażone w narzędzie do konfiguracji zapory o nazwie UFW (zapora nieskomplikowana). UFW to przyjazny dla użytkownika interfejs do zarządzania regułami zapory iptables, a jego głównym celem jest ułatwienie zarządzania iptables lub, jak sama nazwa wskazuje, nieskomplikowane.

Wymagania wstępne

Przed rozpoczęciem tego samouczka upewnij się, że jesteś zalogowany na serwerze za pomocą konta użytkownika z uprawnieniami sudo lub użytkownika root. Najlepszą praktyką jest uruchamianie poleceń administracyjnych jako użytkownik sudo zamiast root. Jeśli nie masz użytkownika sudo w systemie Ubuntu, możesz go utworzyć, postępując zgodnie z tymi instrukcjami.

Zainstaluj UFW

Nieskomplikowana zapora sieciowa powinna być domyślnie instalowana w systemie Ubuntu 18.04, ale jeśli nie jest zainstalowana w systemie, możesz zainstalować pakiet, wpisując:

sudo apt install ufw

Sprawdź status UFW

Po zakończeniu instalacji możesz sprawdzić status UFW za pomocą następującego polecenia:

sudo ufw status verbose

UFW jest domyślnie wyłączone. Jeśli nigdy wcześniej nie aktywowałeś UFW, wynik będzie wyglądał następująco:

Status: inactive

Jeśli funkcja UFW jest aktywna, dane wyjściowe będą wyglądać podobnie do następujących:

Domyślne zasady UFW

Domyślnie UFW blokuje wszystkie połączenia przychodzące i zezwala na wszystkie połączenia wychodzące. Oznacza to, że każdy, kto spróbuje uzyskać dostęp do twojego serwera, nie będzie mógł się połączyć, chyba że specjalnie otworzysz port, podczas gdy wszystkie aplikacje i usługi uruchomione na twoim serwerze będą mogły uzyskać dostęp do świata zewnętrznego.

Domyślne zasady są zdefiniowane w /etc/default/ufw i można je zmienić za pomocą sudo ufw default Komenda.

Zasady zapory są podstawą do budowania bardziej szczegółowych i zdefiniowanych przez użytkownika reguł. W większości przypadków początkowe zasady domyślne UFW są dobrym punktem wyjścia.

Profile aplikacji

Podczas instalowania pakietu za pomocą polecenia apt doda profil aplikacji do katalogu /etc/ufw/applications.d . Profil opisuje usługę i zawiera ustawienia UFW.

Możesz wyświetlić listę wszystkich profili aplikacji dostępnych na serwerze, wpisując:

sudo ufw app list

W zależności od pakietów zainstalowanych w systemie dane wyjściowe będą wyglądać podobnie do następujących:

Available applications: Dovecot IMAP Dovecot POP3 Dovecot Secure IMAP Dovecot Secure POP3 Nginx Full Nginx HTTP Nginx HTTPS OpenSSH Postfix Postfix SMTPS Postfix Submission

Aby znaleźć więcej informacji na temat określonego profilu i zawartych reguł, użyj następującego polecenia:

sudo ufw app info 'Nginx Full'

Profile: Nginx Full Title: Web Server (Nginx, HTTP + HTTPS) Description: Small, but very powerful and efficient web server Ports: 80, 443/tcp

Jak widać z danych wyjściowych powyżej, profil „Nginx Full” otwiera porty 80 i 443 .

Zezwalaj na połączenia SSH

Przed włączeniem zapory UFW musimy dodać regułę, która zezwoli na przychodzące połączenia SSH. Jeśli łączysz się ze swoim serwerem ze zdalnej lokalizacji, co prawie zawsze ma miejsce i włączysz zaporę UFW, zanim wyraźnie zezwolisz na połączenia SSH, nie będziesz już mógł połączyć się z serwerem Ubuntu.

Aby skonfigurować zaporę UFW tak, aby zezwalała na przychodzące połączenia SSH, wpisz następujące polecenie:

sudo ufw allow ssh

Rules updated Rules updated (v6)

Jeśli zmieniłeś port SSH na port niestandardowy zamiast portu 22, musisz otworzyć ten port.

Na przykład jeśli demon ssh nasłuchuje na porcie 4422 , możesz użyć następującego polecenia, aby zezwolić na połączenia na tym porcie:

sudo ufw allow 4422/tcp

Włącz UFW

Teraz, gdy zapora sieciowa UFW jest skonfigurowana tak, aby zezwalać na przychodzące połączenia SSH, możemy ją włączyć, wpisując:

sudo ufw enable

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup

Zostaniesz ostrzeżony, że włączenie zapory może zakłócać istniejące połączenia ssh, po prostu wpisz y i naciśnij Enter .

Zezwalaj na połączenia na innych portach

W zależności od aplikacji, które działają na twoim serwerze i twoich specyficznych potrzeb, musisz także zezwolić na dostęp przychodzący do niektórych innych portów.

Poniżej pokażemy kilka przykładów, jak zezwolić na połączenia przychodzące do niektórych z najbardziej popularnych usług:

Otwórz port 80 - HTTP

Połączenia HTTP mogą być dozwolone za pomocą następującego polecenia:

sudo ufw allow

zamiast http możesz użyć numeru portu 80:

sudo ufw allow 80/tcp

lub możesz użyć profilu aplikacji, w tym przypadku „Nginx

sudo ufw allow 'Nginx

Otwórz port 443 - HTTPS

Połączenia HTTP mogą być dozwolone za pomocą następującego polecenia:

sudo ufw allow

Aby osiągnąć to samo zamiast profilu https , możesz użyć numeru portu 443 :

sudo ufw allow 443/tcp

lub możesz użyć profilu aplikacji „Nginx

sudo ufw allow 'Nginx

Otwórz port 8080

sudo ufw allow 8080/tcp

Zezwalaj na zakresy portów

Zamiast zezwalać na dostęp do pojedynczych portów, UFW pozwala nam na dostęp do zakresów portów. Zezwalając na zakresy portów w UFW, musisz określić protokół tcp lub udp . Na przykład, jeśli chcesz zezwolić na porty od 7100 do 7200 zarówno na tcp jak i udp uruchom następującą komendę:

sudo ufw allow 7100:7200/tcp sudo ufw allow 7100:7200/udp

Zezwalaj na określone adresy IP

Aby zezwolić na dostęp do wszystkich portów z komputera domowego o adresie IP 64.63.62.61, określ from a następnie adres IP, który chcesz umieścić na białej liście:

sudo ufw allow from 64.63.62.61

Zezwalaj na określone adresy IP na określonym porcie

Aby umożliwić dostęp do określonego portu, powiedzmy port 22 na komputerze roboczym o adresie IP 64.63.62.61, użyj to any port po którym następuje numer portu:

sudo ufw allow from 64.63.62.61 to any port 22

Zezwalaj na podsieci

Polecenie umożliwiające połączenie z podsiecią adresów IP jest takie samo, jak w przypadku korzystania z jednego adresu IP, jedyną różnicą jest to, że musisz określić maskę sieci. Na przykład, jeśli chcesz zezwolić na dostęp do adresów IP od 192.168.1.1 do 192.168.1.254 do portu 3360 (MySQL), możesz użyć tego polecenia:

sudo ufw allow from 192.168.1.0/24 to any port 3306

Zezwalaj na połączenia z określonym interfejsem sieciowym

Aby zezwolić na dostęp do określonego portu, powiedzmy, port 3360 tylko do określonego interfejsu sieciowego eth2 , musisz podać allow in on i nazwę interfejsu sieciowego:

sudo ufw allow in on eth2 to any port 3306

Odmawiaj połączeń

Domyślną zasadą dla wszystkich połączeń przychodzących jest deny a jeśli go nie zmieniłeś, UFW zablokuje wszystkie połączenia przychodzące, chyba że połączenie zostanie specjalnie otwarte.

Załóżmy, że otworzyłeś porty 80 i 443 a twój serwer jest atakowany z sieci 23.24.25.0/24 . Aby odmówić wszystkich połączeń z 23.24.25.0/24 , możesz użyć następującego polecenia:

sudo ufw deny from 23.24.25.0/24

sudo ufw deny from 23.24.25.0/24 to any port 80 sudo ufw deny from 23.24.25.0/24 to any port 443

Pisanie reguł odmowy jest tym samym, co pisanie reguł zezwalania, wystarczy zastąpić allow przez deny .

Usuń reguły UFW

Istnieją dwa różne sposoby usuwania reguł UFW, według numeru reguły i poprzez podanie rzeczywistej reguły.

Usuwanie reguł UFW według numeru reguły jest łatwiejsze, zwłaszcza jeśli dopiero zaczynasz korzystać z UFW. Aby najpierw usunąć regułę według numeru reguły, musisz znaleźć numer reguły, którą chcesz usunąć, możesz to zrobić za pomocą następującego polecenia:

sudo ufw status numbered

Status: active To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere 80/tcp ALLOW IN Anywhere 8080/tcp ALLOW IN Anywhere

Aby usunąć regułę numer 3, regułę zezwalającą na połączenia z portem 8080, użyj następującego polecenia:

sudo ufw delete 3

Druga metoda polega na usunięciu reguły poprzez określenie faktycznej reguły, na przykład jeśli dodałeś regułę, aby otworzyć port 8069 , możesz ją usunąć za pomocą:

sudo ufw delete allow 8069

Wyłącz UFW

Jeśli z jakiegokolwiek powodu chcesz zatrzymać UFW i dezaktywować wszystkie reguły, których możesz użyć:

sudo ufw disable

Później, jeśli chcesz ponownie włączyć UTF i aktywować wszystkie reguły, po prostu wpisz:

sudo ufw enable

Zresetuj UFW

Zresetowanie UFW spowoduje wyłączenie UFW i usunięcie wszystkich aktywnych reguł. Jest to przydatne, jeśli chcesz cofnąć wszystkie zmiany i zacząć od nowa.

Aby zresetować UFW, wpisz następujące polecenie:

sudo ufw reset

Wniosek

Nauczyłeś się, jak instalować i konfigurować zaporę UFW na serwerze Ubuntu 18.04. Pamiętaj, aby zezwolić na wszystkie połączenia przychodzące, które są niezbędne do prawidłowego funkcjonowania systemu, ograniczając jednocześnie wszystkie niepotrzebne połączenia.

ufw firewall iptables bezpieczeństwo ubuntu