Jak zainstalować i skonfigurować Firewalld na CentOS i Ubuntu

Bezpieczeństwo to jedno z działań, które zawsze musi być obecne nie tylko w organizacjach, ale także na poziomie osobistym, gdy pracujemy z systemem operacyjnym, to znaczy, chociaż istnieją różne narzędzia zwiększające bezpieczeństwo i prywatność podczas korzystania z systemu, sam system zawiera dodatkową funkcję, taką jak firewall.

Podstawową funkcją zapory jest tworzenie i zarządzanie regułami przychodzącymi i wychodzącymi w celu ochrony całego procesu połączenia sieciowego. W ten sposób podejrzane lub niewiarygodne pakiety nie mogą dostać się do naszego komputera i spowodować wszelkiego rodzaju szkody, takie jak wprowadzenie złośliwego oprogramowania lub przejęcie informacji.

Kiedy pracujemy z systemami Linux, jednym z najbezpieczniejszych, mamy narzędzia open source, które pomagają nam uczynić ten proces ochrony znacznie pełniejszymi, a jednym z tych narzędzi jest Firewalld. Solvetic wyjaśni, czym jest Firewalld i jak możemy go zainstalować i używać w dwóch najczęściej używanych obecnie dystrybucjach, takich jak CentOS i Ubuntu.

NotatkaProces konfiguracji jest identyczny dla obu systemów

Co to jest zapora sieciowaFirewalld (demon firewalla), to narzędzie, którego celem jest dostarczenie dynamicznie zarządzanego firewalla, który ma wsparcie dla stref sieciowych, w których zdefiniowany jest poziom zaufania połączeń sieciowych lub interfejsów, które mają być używane, Firewalld jest kompatybilny z adresami IPv4, Ustawienia zapory IPv6, mosty Ethernet i pule adresów IP.

Firewalld oferuje nam interfejs dla usług lub aplikacji w celu bezpośredniego dodawania reguł zapory, ułatwiając w ten sposób zadania kontrolne. Jedną z głównych zalet korzystania z Firewalld jest to, że wszystkie zmiany, które należy wprowadzić, mogą być dokonywane w czasie rzeczywistym w środowisku wykonawczym bez konieczności ponownego uruchamiania usługi lub demona, jak to ma miejsce w przypadku wielu narzędzi.

Firewalld integruje interfejs D-Bus, który jest odpowiedni do zarządzania usługami, aplikacjami i administrowania konfiguracją firewall.Ten interfejs może być zintegrowany z narzędziami konfiguracyjnymi, takimi jak firewall-cmd, firewall-config i firewall-applet.

Funkcje zaporyNiektóre z funkcji, które znajdujemy podczas korzystania z Firewalld, to:

  • Wsparcie dla IPv4, IPv6, mostkowania i ipset.
  • Obsługa translacji adresów IPv4 i IPv6.
  • Strefy zapory lub zapory.
  • Pełne API D-Bus.
  • Prosta usługa, port, protokół, port źródłowy, maskowanie, przekierowanie portów, filtr icmp, rozbudowana reguła, kontrola interfejsu i adresu źródłowego w używanych strefach.
  • Bezpośredni interfejs do zarządzania.
  • Funkcja blokowania, która tworzy białą listę aplikacji, które mogą modyfikować zaporę.
  • Automatyczne ładowanie modułów jądra Linux.
  • Integracja z Puppet.
  • Czasowe reguły zapory w strefach.
  • Prosta rejestracja odrzuconych pakietów.
  • Graficzne narzędzie konfiguracyjne wykorzystujące gtk3.
  • Aplet używający Qt4.

DystrybucjePodstawowe dystrybucje, w których można zaimplementować Firewalld to:

  • RHEL 7, CentOS 7
  • Fedora 18 i nowsze

AplikacjeAplikacje i biblioteki obsługujące firewalld jako narzędzie do zarządzania firewallem obejmują:

  • Menedżer sieci
  • libvirt
  • doker
  • fail2ban

Ważne jest, aby przed szczegółowym omówieniem sposobu instalacji i używania Firewalld wiedzieć o nim trochę więcej, Firewalld składa się z trzech warstw, które są:

  • Warstwa główna (core layer) odpowiedzialna za zarządzanie konfiguracją i usługami takimi jak iptables, ip6tables, ebtables, ipset oraz moduł ładujący.
  • Interfejs D-Bus: który jest głównym sposobem zmiany i tworzenia ustawień zapory.
  • Backendy, które pozwalają na interakcję z netfilter (natywnym modułem jądra używanym przez firewall), a niektóre są liczone jako iptables, ip6tables, ebtables, ipset, nft, linnftables itp.

Interfejs D-Bus zapory ogniowej jest najważniejszym sposobem tworzenia i edytowania ustawień zapory. Ten interfejs jest używany przez wszystkie narzędzia online wbudowane w firewalld, takie jak firewall-cmd, firewall-config i firewall-applet, linia firewall-offline-cmd nie komunikuje się bezpośrednio z firewalld, ale edytuje i tworzy pliki konfiguracyjne firewalld bezpośrednio przez jądro firewalld ze sterownikami IO.

Globalny plik konfiguracyjny firewalld znajduje się w /etc/firewalld/firewalld.conf, a funkcje firewalla są skonfigurowane w formacie XML.

Firewalld korzysta ze stref, które definiują poziom zaufania, jaki będzie mieć połączenie sieciowe, interfejs lub łącze adresu źródłowego, a ta sama strefa może być używana dla wielu połączeń sieciowych, interfejsów i źródeł.

Strefy dostępne w Firewalld to:

UpuszczaćJest to strefa o najniższym poziomie ufności, ponieważ wszystkie przychodzące pakiety są automatycznie odrzucane i zezwalają na włączenie tylko pakietów wychodzących.
BlokPodczas korzystania z tej strefy poziom zaufania jest podobny do Drop, ale różni się tylko tym, że przychodzące pakiety są odrzucane przy użyciu icmp-host-prohibited dla IPv4 i icmp6-adm-prohibited dla wiadomości IPv6.
PublicznyW tej strefie poziom zaufania odnosi się do niezaufanych sieci publicznych, więc akceptuje tylko zaufane połączenia.
ZewnętrznyJest to poziom zdefiniowany, gdy używamy Firewalla jako bramy i jego maskowanie jest włączone przez routery.
DMZJest to strefa, w której poziom zaufania dotyczy sprzętu znajdującego się w strefie DMZ (zdemilitaryzowanej), co oznacza, że ​​dostęp publiczny jest ograniczony do sieci wewnętrznej. Akceptuje tylko zaakceptowane połączenia.
PracaJak sama nazwa wskazuje, poziom ten jest używany w obszarach roboczych, umożliwiając dostęp do niego komputerom w sieci.
DomUżywając tego poziomu mówimy o środowisku domowym i większość komputerów w sieci jest akceptowana
WewnętrznyTen typ poziomu dotyczy sieci wewnętrznych, dzięki czemu wszystkie komputery w sieci lokalnej zostaną zaakceptowane.
ZaufaneOznacza zaufanie, co oznacza, że ​​jest to najwyższy poziom i ufa wszystkim przychodzącym połączeniom.

Aby skonfigurować lub dodać strefy, możemy użyć jednego z następujących dostępnych interfejsów konfiguracyjnych firewalld:

  • Graficzne narzędzie konfiguracyjne firewall-config.
  • Narzędzie wiersza poleceń Firewall-cmd.
  • Interfejs programowy D-BUS.
  • Utwórz, skopiuj lub edytuj plik strefy w dowolnym z katalogów konfiguracyjnych, takich jak: /etc/firewalld/zones w przypadku niestandardowych i tworzonych przez użytkowników plików konfiguracyjnych lub /usr/lib/firewalld/zones w przypadku konfiguracji domyślnych i awaryjnych.

1. Jak zainstalować i zarządzać Firewalld w systemie Linux

Krok 1
W przypadku korzystania z CentOS 7 pakiet firewalld jest preinstalowany i można go zweryfikować za pomocą następującego polecenia:

 rpm -qa firewalld
W przypadku Ubuntu musimy go zainstalować za pomocą następującego polecenia:
 sudo apt zainstaluj firewalld

POWIĘKSZAĆ

Wpisujemy literę S, aby potwierdzić pobranie i instalację Firewalld.

Krok 2
Firewalld to zwykła usługa systemd, którą można zarządzać za pomocą polecenia systemctl w następujący sposób:

 sudo systemctl start firewalld (pozwala na uruchomienie usługi) sudo systemctl enable firewalld (włącza usługę podczas uruchamiania systemu) sudo systemctl status firewalld (pozwala zobaczyć stan usługi)

POWIĘKSZAĆ

Krok 3
Po uruchomieniu usługi firewalld możemy zweryfikować czy demon działa czy nie w Linuksie, w tym celu musimy użyć narzędzia firewall-cmd, wykonujemy następujące czynności:

 sudo firewall-cmd -stan

POWIĘKSZAĆ

2. Jak zarządzać strefami w Firewalld CentOS i Ubuntu

Krok 1
Aby uzyskać listę wszystkich dostępnych usług i stref zapory, musimy uruchomić następujące polecenia:
Aby zobaczyć strefy:

 sudo firewall-cmd --get-zones

POWIĘKSZAĆ

Krok 2
Aby zobaczyć usługi, które wykonamy:

 sudo firewall-cmd --get-services

POWIĘKSZAĆ

Krok 3
Strefa domyślna to strefa zaimplementowana dla każdej funkcji zapory, która nie jest połączona z inną strefą, możliwe jest uzyskanie domyślnego zestawu stref dla połączeń sieciowych i interfejsów, wykonując następujące czynności:

 sudo firewall-cmd --get-default-zone

POWIĘKSZAĆ

Krok 4
Jeśli chcemy ustanowić inną domyślną strefę, musimy skorzystać z poniższego polecenia, należy zauważyć, że jeśli dodamy opcję --permanent, konfiguracja zostanie ustalona na stałe, możemy wykonać dowolną z poniższych opcji:

 sudo firewall-cmd --set-default-zone = zewnętrzne
lub
 sudo firewall-cmd --set-default-zone = zewnętrzny -stały
Krok 4
Następnie wprowadzamy zmiany wykonując:
 sudo firewall-cmd -reload

POWIĘKSZAĆ

Krok 5
Jeśli celem jest na przykład dodanie interfejsu do strefy, możemy wykonać następujące czynności:

 sudo firewall-cmd --zone = home --add-interface = enp0s3
W tym przypadku dodaliśmy interfejs enp0s3 (LAN) do strefy domowej.

POWIĘKSZAĆ

Krok 6
Należy zauważyć, że interfejs można dodać tylko do jednej strefy, zamiast tego można go przenieść do innej strefy, w tym celu użyjemy przełącznika --change-interface lub usuniemy z poprzedniej strefy za pomocą przełącznika -remove-interface a następnie dodać go do nowej strefy, na przykład:

 sudo firewall-cmd --zone = publiczny --add-interface = enp0s3 sudo firewall-cmd --zone = publiczny --change-interface = enp0s3
Dzięki Firewalld możliwe jest korzystanie z wielu stref jednocześnie, jeśli chcemy uzyskać listę wszystkich aktywnych stref z włączonymi funkcjami, takimi jak interfejsy, usługi, porty, protokoły, wykonujemy:
 sudo firewall-cmd --get-active-zones

POWIĘKSZAĆ

Krok 7
Aby uzyskać więcej informacji o strefach, np. co zostało włączone lub usunięte, możemy użyć jednego z poniższych poleceń:

 sudo firewall-cmd --zone = home --list-all
LUB
 sudo firewall-cmd --info-zone public

POWIĘKSZAĆ

Krok 8
Inną przydatną opcją do użycia z Firewalld jest --get-target, pokazuje cel stałej strefy, cele mogą być domyślne, ACCEPT, DROP, REJECT, aby sprawdzić cel kilku stref, możemy użyć jednego z następujących poleceń :

 sudo firewall-cmd --permanent --zone = public --get-target sudo firewall-cmd --permanent --zone = blok --get-target sudo firewall-cmd --permanent --zone = dmz --get- target sudo firewall-cmd --permanent --zone = zewnętrzne --get-target sudo firewall-cmd --permanent --zone = upuść --get-target

3. Jak blokować lub otwierać porty w Firewalld Linux CentOS i Ubuntu?


Aby otworzyć port przez firewalld, po prostu dodaj go do strefy z opcją --add-port, jeśli strefa nie jest wyraźnie określona, ​​zostanie włączona w strefie domyślnej.

Krok 1
Na przykład, aby dodać porty 80 i 443, które umożliwiają przychodzący ruch sieciowy za pośrednictwem protokołów HTTP i HTTPS, wykonamy następujące czynności:

 sudo firewall-cmd --zone = public --permanent --add-port = 80 / tcp --add-port = 443 / tcp

POWIĘKSZAĆ

Krok 2
Teraz przeładujemy firewalld i zweryfikujemy funkcje włączone w strefie publicznej:

 sudo firewall-cmd --reload sudo firewall-cmd --info-zone public

POWIĘKSZAĆ

Krok 3
Jeśli chcemy zablokować port w firewalld, musimy użyć opcji --remove-port, w tym przykładzie tak:

 sudo firewall-cmd --zone = public --permanent --remove-port = 80 / tcp --remove-port = 443 / tcp

4. Jak blokować lub otwierać usługi w Firewalld CentOS i Ubuntu?


Do procesu włączania usługi w Firewalld musimy ją włączyć za pomocą opcji --add-service, pamiętajmy, że jeśli pominiemy strefę, zostanie użyta strefa domyślna.

Krok 1
Na przykład, aby włączyć usługę http w strefie publicznej wykonujemy:

 sudo firewall-cmd --zone = public --permanent --add-service = http sudo firewall-cmd -reload

POWIĘKSZAĆ

Krok 2
Za pomocą parametru -remove-service możemy usunąć usługę z przypisanej strefy:

 sudo firewall-cmd --zone = public --permanent --remove-service = http sudo firewall-cmd -reload

POWIĘKSZAĆ

5. Jak włączyć i wyłączyć maskowanie IP przez Firewalld Linux?


Maskarada IP lub IPMASQ / MASQ) to mechanizm NAT, który umożliwia hostom w sieci z prywatnymi adresami IP komunikowanie się z Internetem za pośrednictwem publicznego adresu IP przypisanego do serwera Linux przy użyciu bramy IPMASQ.

Dzięki temu maskowaniu ruch z niewidzialnych hostów będzie pojawiał się na innych komputerach w Internecie tak, jakby pochodził bezpośrednio z serwera Linux.

Aby sprawdzić, czy maskowanie jest aktywne, czy nie wykonujemy:

 sudo firewall-cmd --zone = public --query-masquerade
Następnie możemy dodać taką strefę:
 sudo firewall-cmd --zone = public --add-masquerade
Aby usunąć strefę z tego typu funkcji, musimy wykonać następujące czynności:
 sudo firewall-cmd --zone = public --remove-masquerade

6. Jak włączyć i wyłączyć komunikat IMCP w Firewalld Linux?


Protokół ICMP (Internet Control Message Protocol) to protokół, który został opracowany w celu generowania żądań informacji lub odpowiedzi na te żądania informacji lub w przypadku wystąpienia błędów w całym procesie komunikacji w sieci.

Krok 1
W Firewalld możliwe jest włączenie lub wyłączenie komunikatów ICMP, ale zaleca się walidację wszystkich kompatybilnych typów ICMP, w tym celu wykonujemy:

 sudo firewall-cmd --get-icmptypes

POWIĘKSZAĆ

Krok 2
Możemy dodać lub zablokować ICMP w następujący sposób:

 sudo firewall-cmd --zone = strona główna --add-icmp-block = echo-odpowiedź sudo firewall-cmd --zone = strona główna --remove-icmp-block = echo-odpowiedź

POWIĘKSZAĆ

Krok 3
Możemy zobaczyć wszystkie typy ICMP dodane w strefie za pomocą przełącznika --list-icmp-blocks:

 sudo firewall-cmd --zone = home --list-icmp-blocks

7. Jak włączyć lub nie panikować w Firewalld Linux CentOS i Ubuntu?


Tryb paniki to specjalny tryb zintegrowany z Firewalld, w którym wszystkie pakiety przychodzące i wychodzące są eliminowane, a aktywne połączenia wygasają po jego aktywacji, możemy włączyć ten tryb w sytuacjach awaryjnych, gdy istnieje zagrożenie dla systemu, a tym samym unikniemy dowolne połączenie.

Krok 1
Aby sprawdzić tryb paniki, użyjemy opcji --query-panic i możemy ją aktywować za pomocą opcji sudo firewall-cmd --panic-on:

POWIĘKSZAĆ

Krok 2
Aby zrozumieć, jak działa ten tryb, gdy jest wyłączony, możemy pingować stronę internetową i otrzymamy wszystkie wysłane żądania, ale po jego włączeniu zobaczymy komunikat informujący o tymczasowej awarii połączenia:

POWIĘKSZAĆ

Krok 3
Aby wyłączyć ten tryb wykonujemy:

 sudo firewall-cmd --panic-off

8. Jak zablokować Firewalld w systemie Linux CentOS i Ubuntu

Krok 1
W Firewalld lokalne aplikacje lub usługi mogą zmieniać konfigurację zapory, jeśli działają z uprawnieniami roota, możemy kontrolować, które aplikacje mogą żądać zmian w zaporze, dodając ją do białej listy blokowania. Ta funkcja jest domyślnie wyłączona i możemy ją włączyć lub wyłączyć za pomocą przełącznika --lockdown-on lub -lockdown-off:

 sudo firewall-cmd --lockdown-on
LUB
 sudo firewall-cmd --lockdown-off
Krok 2
Bezpieczniejszą metodą jest włączenie lub wyłączenie tej funkcji bezpośrednio w edycji głównego pliku konfiguracyjnego, ponieważ czasami firewall-cmd nie istnieje na białej liście blokującej, w tym celu uzyskujemy dostęp do pliku konfiguracyjnego:
 sudo nano /etc/firewalld/firewalld.conf

POWIĘKSZAĆ

Tam znajdujemy linię Lockdown = no i ustawiamy jej status na Lockdown = yes, zapisujemy zmiany za pomocą klawiszy Ctrl + O i wychodzimy z edytora za pomocą Ctrl + X.

Firewalld to kompletne rozwiązanie do dodawania różnych reguł i stref do naszych dystrybucji Linuksa, a tym samym dodawania lepszych ogólnych opcji bezpieczeństwa do systemu.

wave wave wave wave wave