RHCSA Series Firewall Essentials i sieciowe sterowanie ruchem za pomocą Firewalld i IPTables - Część 11
- 1363
- 285
- Maurycy Napierała
Krótko mówiąc, a Zapora to system bezpieczeństwa, który kontroluje ruch przychodzący i wychodzący w sieci oparty na zestawie predefiniowanych reguł (takich jak miejsce docelowe / źródło pakietu lub rodzaj ruchu).
RHCSA: Kontroluj ruch sieciowy z Firewalld i IPTables - Część 11W tym artykule przejrzymy podstawy Firewalld, Domyślny dynamiczny demon zapory Red Hat Enterprise Linux 7, I iptables usługa, starsza usługa zapory dla Linux, z którą większość administratorów systemu i sieci jest dobrze zaznajomiona z tym, która jest również dostępna RHEL 7.
Porównanie Firewalld i IPTables
Pod maską, oba Firewalld i iptables Rozmowa serwisowa z Netfilter ramy w jądrze przez ten sam interfejs, co nie jest zaskoczeniem, polecenie IPTABLES. Jednak w przeciwieństwie do usługi IPTABLES, Firewalld może zmienić ustawienia podczas normalnej pracy systemowej bez utraty istniejących połączeń.
Firewalld należy domyślnie zainstalować w systemie RHEL, choć może nie działać. Możesz zweryfikować za pomocą następujących poleceń (Firewall-Config to narzędzie konfiguracyjne interfejsu użytkownika):
# Yum Info Firewalld Firewall-ConfigSprawdź informacje o zaporze ogniowej
I,
# SystemCtl Status -l Firewalld.pracaSprawdź status zapory ogniowej
Z drugiej strony iptables usługa nie jest domyślnie uwzględniona, ale można ją zainstalować.
# Yum Update && Yum Instal IPTables-Services
Oba demony można uruchomić i umożliwić uruchomienie się od zwykłego Systemd polecenia:
# systemCtl start firewalld.usługa | IPTABLES-SERVICE.Service # Systemctl Włącz zaporę ogniową.usługa | IPTABLES-SERVICE.praca
Przeczytaj także: Przydatne polecenia do zarządzania usługami systemowymi
Jeśli chodzi o pliki konfiguracyjne, usługa IPTables używa /etc/sysconfig/iptables
(który nie będzie istniał, jeśli pakiet nie zostanie zainstalowany w twoim systemie). Na polu RHEL 7 używanym jako węzeł klastra ten plik wygląda następująco:
Podczas gdy Firewalld przechowuje swoją konfigurację w dwóch katalogach, /usr/lib/firewalld
I /itp./Firewalld
:
# ls/usr/lib/firewalld/etc/firewalldKonfiguracja zapory ogniowej
Przeanalizujemy te pliki konfiguracyjne w dalszej części tego artykułu, po dodaniu kilku reguł tu i tam. Do tej pory wystarczy przypomnieć, że zawsze możesz znaleźć więcej informacji na temat obu narzędzi z.
# Man Firewalld.conf # man firewall-cmd # man iptables
Poza tym pamiętaj o przejrzeniu niezbędnych poleceń i dokumentacji systemowej - Część 1 bieżącej serii, w której opisałem kilka źródeł, w których można uzyskać informacje o pakietach zainstalowanych w Twoich RHEL 7 system.
Korzystanie z IPTABLES do sterowania ruchem sieciowym
Możesz odwołać się do konfiguracji zapory ogniowej iptables - część 8 Inżynier certyfikowanego Linux Foundation (Lfce) Seria, aby odświeżyć pamięć iptables wewnętrzne przed kontynuowaniem. W ten sposób będziemy mogli wskoczyć do przykładów.
Przykład 1: Umożliwianie zarówno przychodzącego, jak i wychodzącego ruchu internetowego
Porty TCP 80 I 443 to domyślne porty używane przez serwer WWW Apache do obsługi normalnego (Http) i bezpieczne (Https) Ruchu internetowe. Możesz zezwolić na przychodzący i wychodzący ruch internetowy przez oba porty na ENP0S3 interfejs w następujący sposób:
# iptables -a wejście -i ENP0S3 -P TCP -DPORT 80 -M Stan --state Nowy, ustanowiony -j akceptuj # iptables -a wyjście -o ENP0S3 -p J Akceptuj # iPtables -A wejście -i ENP0S3 -P TCP - -DPORT 443 -M Stan --state NOWY, Ustanowiony -J Accept # iptables -a wyjściowe -o ENP0S3 -P TCP - -SPORT 443 -M State --state Ustanowiony -j akceptuj
Przykład 2: Blokuj wszystkie (lub niektóre) połączenia przychodzące z określonej sieci
Mogą być czasy, w których trzeba zablokować cały (lub jakiś) rodzaj ruchu pochodzącego z określonej sieci, powiedzmy 192.168.1.0/24 Na przykład:
# iptables -i wejście -s 192.168.1.0/24 -J Drop
upuści wszystkie pakiety pochodzące z 192.168.1.0/24 sieć, podczas gdy,
# iptables -a wejście -s 192.168.1.0/24 -DPORT 22 -J Zaakceptuj
pozwoli jedynie na ruch przychodzący przez port 22.
Przykład 3: Przekieruj ruch przychodzący do innego miejsca docelowego
Jeśli używasz swojego RHEL 7 Pudełko nie tylko jako zapora oprogramowania, ale także jako faktyczna oparta na sprzęcie, tak że znajduje się między dwiema odrębnymi sieciami, przekazywanie adresów IP musiało być już włączone w systemie. Jeśli nie, musisz edytować /etc/sysctl.conf
i ustaw wartość internet.IPv4.ip_forward Do 1, następująco:
internet.IPv4.ip_forward = 1
Następnie zapisz zmianę, zamknij edytor tekstu i wreszcie uruchom następujące polecenie, aby zastosować zmianę:
# sysctl -p /etc /sysctl.conf
Na przykład możesz mieć drukarkę zainstalowaną w wewnętrznym pudełku z IP 192.168.0.10, z KUBKI Słuchanie usługi na porcie 631 (zarówno na serwerze drukowanym, jak i na zaporze). Aby przekazać prośby od klientów po drugiej stronie zapory ogniowej, powinieneś dodać następującą zasadę IPTABLES:
# iptables -t Nat -a Prerouting -i ENP0S3 -P TCP -DPORT 631 -J Dnat -do 192.168.0.10: 631
Pamiętaj o tym iptables czyta jego reguły sekwencyjnie, więc upewnij się, że domyślne zasady lub później.
Pierwsze kroki z Firewalld
Jedna ze zmian wprowadzonych z Firewalld Czy strefy. Ta koncepcja pozwala oddzielić sieci na różne strefy zaufania, które użytkownik postanowił umieścić na urządzeniach i ruchu w tej sieci.
Aby wymienić strefy aktywne:
# Firewall-CMD-Get-Active-Zones
W poniższym przykładzie, strefa publiczna jest aktywny i ENP0S3 interfejs został do niego przypisany automatycznie. Aby wyświetlić wszystkie informacje o określonej strefie:
# Firewall-CMD-Zone = public--list-allWymień wszystkie strefy zapory ogniowej
Ponieważ możesz przeczytać więcej o strefy W przewodniku bezpieczeństwa RHEL 7 wymienimy tylko kilka konkretnych przykładów tutaj.
Przykład 4: Zezwolenie na usługi za pośrednictwem zapory
Aby uzyskać listę obsługiwanych usług, użyj.
# Firewall-CMD-Get-ServicesWymień wszystkie obsługiwane usługi
Zezwolić http I https Ruch w sieci przez zaporę ogniową, skuteczny od razu i na kolejnych butach:
# firewall-cmd --zone = myzone --add-service = http # firewall-cmd --zone = myzone --permanent --add-service = http # firewalll-cmd –zone = myzone --add-service = Https # Firewall-CMD-Zone = myzone --Permanent --add-service = https # firewall-cmd--relad
Jeśli kod>-strefa jest pominięty, domyślna strefa (możesz sprawdzić Firewall-CMD -Get-Default-Zone) Jest używane.
Aby usunąć regułę, wymień słowo Dodaj do usuwania w powyższych poleceń.
Przykład 5: Przekazywanie IP / Port
Po pierwsze, musisz dowiedzieć się, czy masquerading jest włączony dla żądanej strefy:
# Firewall-CMD-Zone = MyZone-Query-Masquerade
Na poniższym obrazku możemy to zobaczyć Maszynkowanie jest włączony dla Strefa zewnętrzna, Ale nie dla publiczny:
Sprawdź status udawaniaMożesz albo włączyć udręki dla publiczności:
# Firewall-CMD-Zone = public --add-Masquerade
lub użyj maskaradu zewnętrzny. Oto, co zrobilibyśmy, aby powtórzyć Przykład 3 z Firewalld:
# Firewall-CMD-Zone = zewnętrzny --add-forward-port = port = 631: proto = tcp: toport = 631: Toaddr = 192.168.0.10
I nie zapomnij ponownie załadować zapory.
Kolejne przykłady można znaleźć w części 9 serii RHCSA, w której wyjaśniliśmy, jak zezwolić lub wyłączyć porty zwykle używane przez serwer WWW i serwer FTP, oraz jak zmienić odpowiednią regułę, gdy domyślny port dla tych usług są zmienione. Ponadto możesz odwołać się do wiki zapory, aby uzyskać kolejne przykłady.
Przeczytaj także: Przydatne przykłady zapory ogniowej do konfigurowania zapory w RHEL 7
Wniosek
W tym artykule wyjaśniliśmy, co Zapora jest to, jakie są dostępne usługi do wdrożenia RHEL 7, i dostarczył kilka przykładów, które mogą pomóc Ci zacząć od tego zadania. Jeśli masz jakieś komentarze, sugestie lub pytania, daj nam znać, używając poniższego formularza. Z góry dziękuję!
- « RHCSA Series automatyzuje instalacje RHEL 7 za pomocą „Kickstart” - część 12
- Panel Web Panelu Centos-bezpłatny panel sterowania hostingiem hostingowy dla CentoS/RHEL 6 »