Настройка firewall в Ubuntu Server (ufw)
Spisu treści:
- Wymagania wstępne
- Zainstaluj UFW
- Sprawdź status UFW
- Domyślne zasady UFW
- Profile aplikacji
- Zezwalaj na połączenia SSH
- Włącz UFW
- Zezwalaj na połączenia na innych portach
- Otwórz port 80 - HTTP
- Otwórz port 443 - HTTPS
- Otwórz port 8080
- Zezwalaj na zakresy portów
- Zezwalaj na określone adresy IP
- Zezwalaj na określone adresy IP na określonym porcie
- Zezwalaj na podsieci
- Zezwalaj na połączenia z określonym interfejsem sieciowym
- Odmawiaj połączeń
- Usuń reguły UFW
- Wyłącz UFW
- Zresetuj UFW
- Wniosek
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:
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
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:
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
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
Otwórz port 8080
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ą:
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:
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:
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 ubuntuJak skonfigurować, skonfigurować, używać Kontroli rodzicielskiej w Windows 7
Dowiedz się, jak włączyć, wyłączyć, skonfigurować i używać funkcji Kontroli rodzicielskiej w systemie Windows 7 do monitorowania i kontrolowania aktywności internetowych dzieci.
Jak skonfigurować i skonfigurować ustawienia routera Zapora
Dowiedz się, jak skonfigurować zaporę routera, uzyskać dostęp do strony routera sprzętowego, skonfigurować ustawienia zapory routera. Sprawdź, które porty są niezbędne na komputerze.
Jak skonfigurować zaporę ogniową z ufw na Debian 9
UFW (Uncomplicated Firewall) 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. W tym samouczku pokażemy, jak skonfigurować zaporę ogniową z UFW na Debianie 9.