Konfigurowanie iptables w CentOS 7

Wszystkie systemy operacyjne oparte na jądrze Linuksa mają wbudowaną zaporę, która monitoruje i filtruje ruch przychodzący i wychodzący na podstawie reguł określonych przez użytkownika lub platformę. W dystrybucji CentOS 7 domyślnie ta funkcja jest wykonywana przez narzędzie iptables , współpracujące z wbudowaną zaporą sieciową netfilter. Czasami administrator systemu lub menedżer sieci musi dostosować działanie tego komponentu, pisząc odpowiednie reguły. W dzisiejszym artykule chcielibyśmy porozmawiać o podstawach konfiguracji iptables w wyżej wymienionym systemie operacyjnym.

Konfigurujemy iptables w CentOS 7

Samo narzędzie jest dostępne do pracy natychmiast po zakończeniu instalacji CentOS 7, ale dodatkowo będziesz musiał zainstalować niektóre usługi, które omówimy później. Na tej platformie znajduje się inne wbudowane narzędzie, które pełni funkcję zapory ogniowej o nazwie FirewallD. Aby uniknąć konfliktów podczas dalszej pracy, zalecamy wyłączenie tego komponentu. Szczegółowe instrukcje na ten temat można znaleźć w naszym innym materiale pod następującym linkiem.

Więcej szczegółów: Wyłącz firewallD w CentOS 7

Jak wiadomo, system może korzystać z IPv4 i IPv6. Dzisiaj skoncentrujemy się na przykładzie IPv4, ale jeśli chcesz skonfigurować inny protokół, musisz użyć ip6tables zamiast komendy iptables w konsoli.

Instalowanie usług iptables

Przede wszystkim dodaj do systemu dodatkowe komponenty narzędzia, które jest dziś brane pod uwagę. Pomogą w ustaleniu reguł i innych parametrów. Ładowanie odbywa się z oficjalnego repozytorium, więc nie zajmuje dużo czasu.

  1. Wszystkie dalsze działania będą wykonywane w klasycznej konsoli, więc uruchom ją w dowolny dogodny sposób.
  2. Uruchomienie terminalu w celu skonfigurowania narzędzia iptables w CentOS 7

  3. Polecenie sudo yum install iptables-services jest odpowiedzialne za instalowanie sudo yum install iptables-services . Wprowadź go i naciśnij klawisz Enter .
  4. Instalowanie usług do uruchamiania narzędzia iptables w CentOS 7

  5. Potwierdź konto administratora za pomocą hasła. Zauważ, że podczas odpytywania sudo znaki wprowadzone w ciągu nie są nigdy wyświetlane.
  6. Wprowadzanie hasła do instalacji usług iptables w CentOS 7 przez terminal

  7. Zostaniesz poproszony o dodanie jednego pakietu do systemu, potwierdź tę czynność, wybierając opcję y .
  8. Potwierdzenie dodania nowych pakietów usług iptables do CentOS 7

  9. Po zakończeniu instalacji sprawdź bieżącą wersję narzędzia: sudo iptables --version .
  10. Sprawdzanie wersji narzędzia iptables w CentOS 7 przez terminal

  11. Wynik pojawi się w nowej linii.
  12. Wyświetlanie aktualnej wersji narzędzia iptables w CentOS 7 przez terminal

Teraz system operacyjny jest całkowicie gotowy do dalszej konfiguracji zapory poprzez narzędzie iptables . Oferujemy zapoznanie się z konfiguracją elementów, począwszy od zarządzania usługami.

Zatrzymywanie i uruchamianie usług iptables

Zarządzanie trybem pracy iptables jest wymagane w przypadkach, gdy trzeba sprawdzić efekt pewnych reguł lub po prostu ponownie uruchomić komponent. Odbywa się to za pomocą wbudowanych poleceń.

  1. Wpisz sudo service iptables stop i naciśnij klawisz Enter , aby zatrzymać usługi.
  2. Zatrzymaj usługi narzędziowe iptables w CentOS 7 przez terminal

  3. Aby potwierdzić tę procedurę, wprowadź hasło administratora.
  4. Wprowadzanie hasła, aby zatrzymać usługi narzędziowe iptables w CentOS 7

  5. Jeśli proces się powiedzie, pojawi się nowa linia wskazująca zmiany w pliku konfiguracyjnym.
  6. Powiadomienie o zatrzymaniu usług użytkowych iptables w CentOS 7

  7. Uruchamianie usług odbywa się prawie w ten sam sposób, tylko linia przyjmuje wygląd sudo service iptables start .
  8. Uruchom usługi narzędziowe iptables w CentOS 7 w terminalu

Takie ponowne uruchomienie, uruchomienie lub zatrzymanie narzędzia jest dostępne w dowolnym momencie, pamiętaj, aby zwracać wartość zwracaną tylko wtedy, gdy jest na żądanie.

Przeglądaj i usuwaj reguły

Jak wspomniano wcześniej, zaporą zarządza się ręcznie lub automatycznie dodając reguły. Na przykład niektóre dodatkowe aplikacje mogą uzyskać dostęp do narzędzia, modyfikując niektóre zasady. Jednak większość tych działań jest nadal wykonywana ręcznie. Lista wszystkich bieżących reguł jest dostępna za pomocą sudo iptables -L .

Wyświetl listę wszystkich aktualnych reguł narzędzia iptables w CentOS 7

W wyświetlonym wyniku pojawią się informacje o trzech łańcuchach: „INPUT” , „OUTPUT” i „FORWARD” - odpowiednio ruch przychodzący, wychodzący i przekazujący.

Widok wszystkich reguł narzędzia iptables w CentOS 7

Możesz określić status wszystkich łańcuchów, wpisując sudo iptables -S .

Wyświetlanie listy łańcuchów narzędzi iptables w CentOS 7

Jeśli zasady, które widzisz, nie pasują do ciebie, są po prostu usuwane. Cała lista jest wyczyszczona w następujący sposób: sudo iptables -F . Po aktywacji reguły zostaną usunięte całkowicie dla wszystkich trzech obwodów.

Wyczyść listę wszystkich reguł narzędzia iptables w CentOS 7

Kiedy trzeba wpływać tylko na polityki z dowolnego łańcucha, do linii dodawany jest dodatkowy argument:

sudo iptables -F INPUT
sudo iptables -F OUTPUT
sudo iptables -F FORWARD

Wyczyść listę reguł dla konkretnego łańcucha iptables w CentOS 7

Brak wszystkich zasad oznacza, że ​​obecnie żadne ustawienia filtrowania ruchu nie są stosowane do żadnej ze stron. Następnie administrator systemu już ustawia nowe parametry za pomocą tej samej konsoli, komendy i różnych argumentów.

Odbieranie i upuszczanie ruchu w łańcuchach

Każdy obwód jest skonfigurowany oddzielnie do odbierania lub blokowania ruchu. Ustawiając określoną wartość, możesz zapewnić, że na przykład cały ruch przychodzący zostanie zablokowany. Aby to zrobić, komenda musi być sudo iptables --policy INPUT DROP , gdzie INPUT jest nazwą obwodu, a DROP jest wartością resetowania.

Zresetuj przychodzące żądania w narzędziu iptables w CentOS 7

Dokładnie te same parametry są ustawione dla innych obwodów, na przykład sudo iptables --policy OUTPUT DROP . Jeśli konieczne jest ustawienie wartości, aby odbierać ruch, DROP zmienia się na ACCEPT, a sudo iptables --policy INPUT ACCEPT .

Zezwalanie i blokowanie portów

Jak wiadomo, wszystkie aplikacje sieciowe i procesy działają przez określony port. Blokując lub zezwalając na określone adresy, można kontrolować dostęp do wszystkich celów sieciowych. Przeanalizujmy przekierowanie portów za pomocą przykładu 80 . W „Terminalu” wystarczy wpisać polecenie sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT , gdzie -A to dodanie nowej reguły, INPUT jest wskazaniem obwodu, -P jest definicją protokołu, w tym przypadku TCP i -dport to port docelowy.

Reguła otwierania portu 80 w narzędziu iptables w CentOS 7

Dokładne to samo polecenie dotyczy portu 22 , który jest używany przez usługę SSH: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT .

Reguła otwierania portu 22 w narzędziu iptables w CentOS 7

Aby zablokować określony port, używany jest ciąg dokładnie tego samego typu, tylko na końcu ACCEPT zostaje zmienione na DROP . Wynikiem jest na przykład sudo iptables -A INPUT -p tcp --dport 2450 -j DROP .

Reguła zakazująca portu w narzędziu iptables w CentOS 7

Wszystkie te reguły są przechowywane w pliku konfiguracyjnym i można je wyświetlić w dowolnym momencie. Pamiętaj, że odbywa się to poprzez sudo iptables -L . Jeśli adres IP sieci musi zostać rozwiązany wraz z portem, linia jest nieco zmodyfikowana - po dodaniu TPC , -s i samego adresu. sudo iptables -A INPUT -p tcp -s 12.12.12.12/32 --dport 22 -j ACCEPT , gdzie 12.12.12.12/32 jest wymaganym adresem IP.

Zasada akceptowania adresu IP i portu w iptables w CentOS 7

Blokowanie odbywa się na tej samej zasadzie, zmieniając na koniec wartość ACCEPT to DROP . Potem okazuje się, na przykład, sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j DROP .

Zasada blokowania adresu IP i portu w iptables w CentOS 7

Blokowanie ICMP

ICMP (Internet Control Message Protocol) to protokół, który jest częścią TCP / IP i służy do wysyłania komunikatów o błędach i sytuacji awaryjnych podczas pracy z ruchem. Na przykład, gdy żądany serwer jest niedostępny, to narzędzie wykonuje funkcje usługi. Narzędzie iptables pozwala ci zablokować je przez zaporę ogniową i możesz to zrobić poleceniem sudo iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP . Będzie blokować żądania od Ciebie i do Twojego serwera.

Pierwsza zasada blokowania pingowania iptables w CentOS 7

Przychodzące żądania są blokowane nieco inaczej. Następnie musisz wpisać sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP . Po aktywowaniu tych reguł serwer nie odpowie na żądania ping.

Druga zasada blokowania pingowania w iptables w CentOS 7

Zapobiegaj nieautoryzowanym działaniom na serwerze

Czasami serwery podlegają atakom DDoS lub innym nieautoryzowanym działaniom intruzów. Odpowiednia konfiguracja zapory ogniowej pozwoli Ci chronić się przed tego rodzaju hackami. Na początek zalecamy ustawienie takich reguł:

  1. Zarejestruj się w konsoli iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 100 -j ACCEPT , gdzie - limit 20 / minutę to limit częstotliwości wyników dodatnich. Możesz określić jednostkę miary samodzielnie, na przykład /second, /minute, /hour, /day . --limit-burst number - ograniczenie liczby przekazywanych pakietów. Wszystkie wartości są ustawiane indywidualnie zgodnie z preferencjami administratora.
  2. Reguła bezpieczeństwa z DDoS w iptables w CentOS 7

  3. Następnie możesz wyłączyć skanowanie otwartych portów, aby usunąć jedną z możliwych przyczyn włamania. Wprowadź pierwsze sudo iptables -N block-scan .
  4. Pierwsza zasada zakazująca skanowania portów iptables w CentOS 7

  5. Następnie podaj sudo iptables -A block-scan -p tcp —tcp-flags SYN,ACK,FIN,RST -m limit —limit 1/s -j RETURN .
  6. Druga zasada zakazująca skanowania portów iptables w CentOS 7

  7. Ostatnia trzecia komenda to: sudo iptables -A block-scan -j DROP . Wyrażenie skanowania blokowego w tych przypadkach jest nazwą używanego obwodu.
  8. Trzecia zasada blokowania skanowania portu iptables w CentOS 7

Ustawienia pokazane dzisiaj są tylko podstawą pracy w narzędziu do zarządzania zaporą. W oficjalnej dokumentacji narzędzia znajdziesz opis wszystkich dostępnych argumentów i opcji oraz będziesz mógł skonfigurować firewall specjalnie dla swoich żądań. Powyżej uznano standardowe zasady bezpieczeństwa, które są używane najczęściej iw większości przypadków są wymagane.