- 1. Jak zainstalować i zarządzać Firewalld w systemie Linux
- 2. Jak zarządzać strefami w Firewalld CentOS i Ubuntu
- 3. Jak blokować lub otwierać porty w Firewalld Linux CentOS i Ubuntu?
- 4. Jak blokować lub otwierać usługi w Firewalld CentOS i Ubuntu?
- 5. Jak włączyć i wyłączyć maskowanie IP przez Firewalld Linux?
- 6. Jak włączyć i wyłączyć komunikat IMCP w Firewalld Linux?
- 7. Jak włączyć lub nie panikować w Firewalld Linux CentOS i Ubuntu?
- 8. Jak zablokować Firewalld w systemie Linux 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 firewalldW 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ętrznelub
sudo firewall-cmd --set-default-zone = zewnętrzny -stałyKrok 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 = enp0s3W 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 = enp0s3Dzię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-allLUB
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-masqueradeNastępnie możemy dodać taką strefę:
sudo firewall-cmd --zone = public --add-masqueradeAby 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-onLUB
sudo firewall-cmd --lockdown-offKrok 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.