Konfiguracja firewalla w systemie Linux z systemem iptables
Tłumaczenie zostało wygenerowane automatycznie przez system naszego partnera SYSTRAN. W niektórych przypadkach mogą wystąpić nieprecyzyjne sformułowania, na przykład w tłumaczeniu nazw przycisków lub szczegółów technicznych. W przypadku jakichkolwiek wątpliwości zalecamy zapoznanie się z angielską/francuską wersją przewodnika. Jeśli chcesz przyczynić się do ulepszenia tłumaczenia, kliknij przycisk "Zgłóś propozycję modyfikacji" na tej stronie.
Wprowadzenie
Twój serwer dedykowany jest wyposażony w zaporę sieciową. Firewall tworzą barierę między zaufaną siecią a niewiarygodną siecią. Firewall działa poprzez określenie zasad regulujących dozwolony ruch i zablokowany ruch. Narzędziem zapory sieciowej opracowanym dla systemów Linux jest iptables.
Dowiedz się, jak zabezpieczyć serwer dedykowany korzystając z iptables.
OVHcloud oddaje do Twojej dyspozycji usługi, za które przejmujesz odpowiedzialność. Firma OVH nie ma dostępu do Twoich serwerów, nie pełni funkcji administratora i w związku z tym nie będzie mogła udzielić Ci wsparcia. Zarządzanie oprogramowaniem i wdrażanie środków bezpieczeństwa należy do klienta.
Oddajemy w Twoje ręce niniejszy przewodnik, którego celem jest pomoc w wykonywaniu bieżących zadań. W przypadku trudności lub wątpliwości związanych z administrowaniem, użytkowaniem lub zabezpieczeniem serwera rekomendujemy skorzystanie z pomocy wyspecjalizowanego usługodawcy. Więcej informacji znajduje się w sekcji “Sprawdź również”.
Wymagania początkowe
- Posiadanie serwera dedykowanego na koncie OVHcloud
- Dostęp administratora (root/sudo) do serwera przez SSH
W praktyce
Niniejszy przewodnik zawiera informacje o zamówieniach na dystrybucję Ubuntu Server.
Niniejsza instrukcja ma charakter poglądowy. Być może będziesz musiał dostosować niektóre komendy do konkretnej dystrybucji i/lub systemu operacyjnego, którego używasz. W niektórych sytuacjach rekomendujemy użycie narzędzi zewnętrznych. W przypadku pytań dotyczących korzystania z tych narzędzi zapoznaj się z oficjalną dokumentacją producenta.
Większość reguł opisanych w tym przewodniku zakłada, że iptables jest domyślnie skonfigurowany do DROP ruchu przychodzącego i że selektywnie zezwalasz na ruch przychodzący. Jeśli zamierzasz ustawić inny typ konfiguracji, zalecamy zapoznanie się z dodatkową dokumentacją.
Etap 1: aktualizacja systemu
Producenci dystrybucji i systemów operacyjnych sugerują częste aktualizacje pakietów oprogramowania ze względów bezpieczeństwa. Aktualizacja dystrybucji lub systemu operacyjnego jest kluczowa dla bezpieczeństwa Twojego serwera.
Więcej informacji znajdziesz w przewodniku dotyczącym bezpieczeństwa serwera dedykowanego.
Etap 2: zainstalować firewall iptables pod Ubuntu
Istnieją dwie różne wersje iptables dla IPv4 i IPv6. Zasady, które opisujemy w tym tutorialu Linux iptables dotyczą IPv4. Aby skonfigurować IPv6, użyj narzędzia iptables6. Te dwa różne protokoły nie działają razem i muszą być skonfigurowane niezależnie.
iptables jest domyślnie zainstalowany na większości systemów Linux. Aby potwierdzić, że usługa iptables jest zainstalowana, wpisz następujące polecenie:
Aby zapewnić trwałość reguł iptables po ponownym uruchomieniu komputera, należy zainstalować pakiet iptables persistent przy użyciu następującego polecenia:
Po zainstalowaniu tego pakietu folder iptables będzie zawierał dwa pliki dla reguł IPV4 i IPV6:
- /etc/iptables/rules.v4
- /etc/iptables/rules.v6
Zwykle polecenie iptables jest następujące:
Poniżej znajduje się lista kilku opcji Do wyboru:
- -A -—append: Dodaj regułę do łańcucha (na końcu).
- -C —-check: Wyszukiwanie reguły, która odpowiada wymaganiom łańcucha.
- -D —-delete: Usuwa określone reguły łańcucha.
- -F —-flush: Usuń wszystkie reguły.
- -I —-insert: Dodaje regułę do danego łańcucha.
- -L —-list: Wyświetl wszystkie reguły łańcucha.
- -N -new-chain: Stwórz nowy kanał.
- -v —-verbose: Wyświetla więcej informacji podczas korzystania z opcji listy.
- -X —-delete-chain: Usuń ciąg.
Etap 3: sprawdź obecny stan iptables
Aby wyświetlić wszystkie aktualne reguły na Twoim serwerze, wprowadź następujące polecenie w oknie terminala:
System wyświetla status twoich kanałów.
Wyjście będzie zawierać trzy kanały:

Etap 4: zezwalaj na ruch na localhost
Aby zezwolić na ruch z własnego systemu (localhost), dodaj ciąg wejściowy, wprowadzając następujące elementy:
Komenda ta konfiguruje firewall, aby zaakceptować ruch dla interfejsu localhost (lo) (-i). Wszystko, co pochodzi z twojego systemu, będzie przechodzić przez twoją zaporę sieciową. Aby umożliwić komunikację z interfejsem localhost, należy zdefiniować tę regułę.
Etap 5: zezwalaj na ruch w określonych portach
Reguły te zezwalają na ruch w różnych portach, które określiłeś za pomocą poleceń wymienionych poniżej. Port jest określonym punktem zakończenia komunikacji dla określonego typu danych.
Aby zezwolić na ruch sieciowy HTTP, wprowadź następujące polecenie:
Aby zezwolić tylko na ruch przychodzący przez SSH (Secure Shell), wprowadź (zauważ, że używamy portu 22, który jest domyślnym numerem portu SSH. Jeśli Twój numer portu jest inny, pamiętaj, aby odpowiednio dostosować poniższe polecenia):
Aby zezwolić na ruch internetowy HTTPS, wprowadź następujące polecenie:
Opcje działają następująco:
- -p : Sprawdź określony protokół (tcp).
- —-dport: Określa port docelowy.
- -j jump: Wykonaj czynność
W przypadku utraty dostępu do serwera, możesz nadal używać narzędzia KVM/IPMI, aby uzyskać do niego dostęp, zmienić konfigurację lub usunąć reguły.
Więcej informacji na temat dostępu do tego narzędzia znajdziesz w tym przewodniku.
Etap 6: kontrola ruchu na adres IP
Aby zaakceptować ruch z określonego adresu IP, użyj następującego polecenia.
Zastąp adres IP w zamówieniu adresem IP, który chcesz autoryzować.
Możesz również zablokować ruch z adresu IP
Zastąp adres IP w zamówieniu adresem IP, który chcesz zablokować.
Możesz odrzucić ruch z zakresu adresów IP, używając następującego polecenia:
Opcje iptables, których używaliśmy w przykładach działają następująco:
- -m : Odpowiada określonej opcji.
- -iprange: Wskazuje, że system będzie czekać na określony zakres adresów IP zamiast na jeden.
- —-src-range: Określa zakres adresów IP.
Etap 7: usuń niepożądany ruch
Jeśli określisz reguły firewalla iptables, musisz zapobiec nieautoryzowanemu dostępowi poprzez usunięcie wszelkiego ruchu z innych portów:
Opcja -A dodaje nową regułę do łańcucha. Jeśli połączenie przechodzi przez porty inne niż te, które zdefiniowałeś, zostanie ono przerwane.
Uwaga, jeśli wpiszesz to polecenie przed wykonaniem etapu piątego, zablokujesz dostęp do wszystkich usług, w tym do bieżącego dostępu, do SSH. Jest to szczególnie problematyczne w maszynie do zdalnego dostępu.
Etap 8: usuń regułę
Bardziej precyzyjna metoda polega na usunięciu numeru linii z reguły.
Po pierwsze, wprowadź wszystkie reguły:

Wyszukaj wiersz reguły firewalla, którą chcesz usunąć i wprowadź następującą komendę:
Zastąp Number numerem linii reguły, którą chcesz usunąć.
Etap 9: zapisz zmiany
Podczas restartu systemu, iptables nie zachowuje reguł, które utworzyłeś. Za każdym razem, gdy skonfigurujesz iptables w Linuxie, wszystkie wprowadzone przez Ciebie zmiany dotyczą tylko do kolejnego restartu.
Aby zapisać reguły w systemach opartych na Ubuntu, należy najpierw zalogować się jako root za pomocą polecenia sudo su :
Następnie uruchom następujące polecenie:
Ta operacja zapisuje reguły bezpośrednio w folderze IPV4.
Po kolejnym uruchomieniu systemu iptables automatycznie przeładuje reguły firewalla.
Możesz teraz skonfigurować podstawowe reguły firewalla iptables dla Twojego serwera Linux. Nie wahaj się doświadczyć, ponieważ zawsze możesz usunąć reguły, których nie potrzebujesz, lub usunąć wszystkie reguły i zacząć od nowa.
Sprawdź również
Dołącz do społeczności naszych użytkowników na stronie https://community.ovh.com/en/.