![Kako uporabljati snemalnik skritih korakov v sistemih Windows 7 in 10](/f/2e21f38986cfcfca45a57889723b97f6.png?width=100&height=100)
Preprosto povedano, a požarni zid je varnostni sistem, ki nadzoruje vhodni in odhodni promet v omrežju na podlagi nabora vnaprej določenih pravil (na primer cilj / vir paketa ali vrsta prometa, na primer).
V tem članku bomo pregledali osnove firewalld, privzeti demon dinamičnega požarnega zidu Red Hat Enterprise Linux 7, in iptables storitev, podedovana storitev požarnega zidu za Linux, s katero je večina sistemskih in omrežnih skrbnikov dobro seznanjena in je na voljo tudi v RHEL 7.
Pod pokrovom, oboje firewalld in iptables servisni pogovor z netfilter ogrodje v jedru prek istega vmesnika, kar ni presenetljivo, ukaz iptables. V nasprotju s storitvijo iptables lahko firewalld med običajnim delovanjem sistema spremeni nastavitve, ne da bi obstoječe povezave izgubile.
Firewalld mora biti privzeto nameščen v vašem sistemu RHEL, čeprav morda ne deluje. To lahko preverite z naslednjimi ukazi (konfiguracija požarnega zidu je orodje za konfiguracijo uporabniškega vmesnika):
# yum info firewalld-firewall-config.
in,
# systemctl status -l firewalld.service.
Po drugi strani pa iptables storitev ni privzeto vključena, lahko pa jo namestite prek.
# yum update && yum install iptables-services.
Oba demona lahko zaženete in omogočite zagon ob zagonu z običajnim systemd ukazi:
# systemctl začetek firewalld.service | iptables-service.service. # systemctl omogoči firewalld.service | iptables-service.service.
Preberite tudi:Koristni ukazi za upravljanje storitev Systemd
Kar zadeva konfiguracijske datoteke, uporablja storitev iptables /etc/sysconfig/iptables
(ki ne bo obstajal, če paket ni nameščen v vašem sistemu). Na polju RHEL 7, ki se uporablja kot vozlišče gruče, je ta datoteka videti tako:
Ker Firewalld shrani svojo konfiguracijo v dveh imenikih, /usr/lib/firewalld
in /etc/firewalld
:
# ls/usr/lib/firewalld/etc/firewalld.
Te konfiguracijske datoteke bomo podrobneje preučili pozneje v tem članku, potem ko bomo tu in tam dodali nekaj pravil. Doslej vas bo dovolj spomniti, da lahko vedno najdete več informacij o obeh orodjih.
# človek firewalld.conf. # man firewall-cmd. # človek iptables.
Razen tega, ne pozabite pogledati Pregled bistvenih ukazov in sistemske dokumentacije - 1. del trenutne serije, kjer sem opisal več virov, kjer lahko dobite informacije o paketih, nameščenih na vašem RHEL 7 sistem.
Morda se boste želeli sklicevati na Konfigurirajte požarni zid Iptables - 8. del od Pooblaščeni inženir fundacije Linux (LFCE) za osvežitev spomina iptables pred nadaljevanjem. Tako bomo lahko takoj skočili v primere.
Vrata TCP 80 in 443 so privzeta vrata, ki jih spletni strežnik Apache uporablja za normalno delovanje (HTTP) in varno (HTTPS) spletni promet. Vhodni in odhodni spletni promet lahko dovolite prek obeh vrat na enp0s3 vmesnik, kot sledi:
# iptables -A VHOD -i enp0s3 -p tcp --dport 80 -m stanje -stanje NOVO, USTANOVLJENO -j SPREJEM. # iptables -A IZHOD -o enp0s3 -p tcp --sport 80 -m stanje -state ESTABLISHED -j ACCEPT. # iptables -A VHOD -i enp0s3 -p tcp --dport 443 -m stanje -stanje NOVO, USTANOVLJENO -j SPREJEM. # iptables -A IZHOD -o enp0s3 -p tcp --sport 443 -m stanje -stanje USTANOVLJENO -j SPREJEM.
Lahko se zgodi, da boste morali blokirati vse (ali nekatere) vrste prometa iz določenega omrežja, recimo 192.168.1.0/24 na primer:
# iptables -I VHODI -s 192.168.1.0/24 -j DROP.
bo izpustil vse pakete, ki prihajajo iz 192.168.1.0/24 omrežje,
# iptables -A VHOD -s 192.168.1.0/24 --dport 22 -j SPREJMI.
bo dovoljeval le dohodni promet skozi vrata 22.
Če uporabljate svojo RHEL 7 box ne le kot programski požarni zid, ampak tudi kot dejanski strojno zasnovan, tako da se nahaja med dvema različnima omrežjema, mora biti posredovanje IP-ja v vašem sistemu že omogočeno. Če ne, morate urediti /etc/sysctl.conf
in nastavite vrednost net.ipv4.ip_forward do 1, kot sledi:
net.ipv4.ip_forward = 1.
nato shranite spremembo, zaprite urejevalnik besedil in končno izvedite naslednji ukaz, da uporabite spremembo:
# sysctl -p /etc/sysctl.conf.
Na primer, morda imate na notranji škatli nameščen tiskalnik z IP 192.168.0.10, z SKODELICE storitev poslušanje na vratih 631 (tako na tiskalniškem strežniku kot na požarnem zidu). Če želite posredovati zahteve za tiskanje strank na drugi strani požarnega zidu, morate dodati naslednje pravilo iptables:
# iptables -t nat -A PREROUTING -i enp0s3 -p tcp --dport 631 -j DNAT --do 192.168.0.10:631.
Prosimo, upoštevajte to iptables bere svoja pravila zaporedoma, zato se prepričajte, da privzeti pravilniki ali kasnejša pravila ne preglasijo tistih, opisanih v zgornjih primerih.
Ena od sprememb, uvedenih s firewalld so cone. Ta koncept omogoča ločevanje omrežij v različne cone, na ravni zaupanja, ki se jih je uporabnik odločil za naprave in promet v tem omrežju.
Seznam aktivnih območij:
# firewall-cmd --get-active-cone.
V spodnjem primeru je javno cono je aktiven in enp0s3 vmesnik mu je bil dodeljen samodejno. Če si želite ogledati vse informacije o določeni coni:
# firewall-cmd --zone = public --list-all.
Ker lahko preberete več o cone v RHEL 7 Varnostni vodnik, tukaj bomo navedli le nekaj posebnih primerov.
Če želite dobiti seznam podprtih storitev, uporabite.
# firewall-cmd --get-services.
Dovoliti http in https spletni promet prek požarnega zidu, ki začne veljati takoj in pri naslednjih zagonih:
# požarni zid-cmd --zone = MyZone --add-service = http. # firewall-cmd --zone = MyZone --permanent --add-service = http. # požarni zid-cmd --zone = MyZone --add-service = https. # firewall-cmd --zone = MyZone --permanent --add-service = https. # firewall-cmd --reload.
Če je koda> –zone izpuščena, privzeto območje (lahko preverite pri firewall-cmd –get-default-zone) se uporablja.
Če želite odstraniti pravilo, v zgornjih ukazih besedo add nadomestite z remove.
Najprej morate ugotoviti, ali je za želeno območje omogočeno maskiranje:
# firewall-cmd --zone = MyZone --query-masquerade.
Na spodnji sliki lahko to vidimo maskiranje je omogočeno za zunanje območje, vendar ne za javno:
Za javnost lahko omogočite maskiranje:
# požarni zid-cmd --zone = public --add-masquerade.
ali uporabite maskiranje v zunanji. Evo, kaj bi storili, da bi to ponovili Primer 3 z firewalld:
# firewall-cmd --zone = external --add-forward-port = port = 631: proto = tcp: toport = 631: toaddr = 192.168.0.10.
In ne pozabite znova naložiti požarnega zidu.
Dodatne primere lahko najdete na 9. del iz serije RHCSA, kjer smo razložili, kako dovoliti ali onemogočiti vrata, ki jih običajno uporablja splet strežnik in strežnik ftp ter kako spremeniti ustrezno pravilo, če so privzeta vrata za te storitve spremenil. Poleg tega se lahko za dodatne primere obrnete na wiki firewalld.
Preberite tudi:Primeri uporabnega požarnega ziduD za konfiguriranje požarnega zidu v RHEL 7
V tem članku smo razložili, kaj a požarni zid v katerih storitvah je na voljo za izvajanje RHEL 7in navedel nekaj primerov, ki vam lahko pomagajo začeti s to nalogo. Če imate kakršne koli pripombe, predloge ali vprašanja, nam to sporočite s spodnjim obrazcem. Hvala v naprej!