Bii o ṣe le Fi sii, Tunto ati Lo Firewalld ni CentOS ati Ubuntu
Firewalld (ogiri ogiriina daemon) jẹ iyatọ si iṣẹ iptables, fun iṣiṣakoso iṣakoso ogiriina eto pẹlu atilẹyin fun awọn agbegbe nẹtiwọọki (tabi ogiriina) ati pese wiwo D-Bus fun iṣakoso awọn atunto. O rọrun lati lo ati tunto, ati pe o jẹ bayi ọpa iṣakoso ogiriina aiyipada lori RHEL/CentOS, Fedora ati ọpọlọpọ awọn pinpin kaakiri Linux miiran.
Ninu àpilẹkọ yii, a yoo jiroro bawo ni a ṣe le tunto ogiri ogiri pẹlu firewalld ati ṣe imulẹ sisẹ ipilẹ ni CentOS/RHEL 7 ati Ubuntu.
Awọn ipilẹ Nipa Firewalld
Firewalld ni awọn ipele mẹta, eyiti o jẹ:
- ipilẹ fẹlẹfẹlẹ: lodidi fun mimu iṣeto ati awọn opin ẹhin (ti a ṣe akojọ rẹ ni isalẹ).
- D-Bus ni wiwo: awọn ọna akọkọ ti iyipada ati ṣiṣẹda iṣeto ogiriina.
- awọn ẹhin: fun ibaraenisepo pẹlu netfilter (modulu ekuro abinibi ti a lo fun ogiriina). Wọn pẹlu iptables, ip6table, ebtables, ipset, nft, linnftables; oluṣakoso nẹtiwọki; ati awọn modulu.
O n ṣakoso awọn ofin ogiriina nipasẹ imuse awọn agbegbe nẹtiwọọki/ogiriina ti o ṣalaye ipele igbẹkẹle ti awọn isopọ nẹtiwọọki tabi awọn atọkun. Awọn ẹya ogiriina ti o ni atilẹyin miiran pẹlu awọn iṣẹ, iṣeto ni taara (ti a lo lati taara taara sintasi iptables aise), IPSets bii awọn iru ICMP.
Awọn iru awọn agbegbe iṣeto ni atilẹyin nipasẹ firewalld:
- Iṣeto asiko asiko ti o munadoko nikan titi ti ẹrọ ba ti ni atunbere tabi ti tun bẹrẹ iṣẹ ina naa
- iṣeto ni titilai eyiti o wa ni fipamọ ti o ṣiṣẹ laipẹ.
Ohun elo laini aṣẹ-ogiri ogiri-cmd ni a lo lati ṣakoso akoko asiko ṣiṣe ati iṣeto ni titilai. Ni omiiran, o le lo ọpa iṣeto ni olumulo ogiri-atunto ayaworan (GUI) lati ṣe ajọṣepọ pẹlu daemon.
Ni afikun, firewalld n funni ni wiwo asọye daradara fun awọn iṣẹ agbegbe miiran tabi awọn ohun elo lati beere awọn ayipada si awọn ofin ogiriina taara, ti wọn ba n ṣiṣẹ pẹlu awọn anfani root.
Faili iṣeto agbaye fun firewalld wa ni /etc/firewalld/firewalld.conf ati awọn ẹya ogiriina ti wa ni tunto ni ọna kika XML.
Loye Awọn ẹya Firewalld Pataki
Ẹya ti aarin ti firewalld jẹ awọn agbegbe nẹtiwọọki/ogiriina. Gbogbo ẹya miiran ti ni adehun si agbegbe kan. Agbegbe ogiriina ṣapejuwe ipele igbẹkẹle fun asopọ kan, wiwo tabi isopọ adirẹsi orisun.
Iṣeto ni aiyipada wa pẹlu nọmba awọn agbegbe ti a ti pinnu tẹlẹ ti a to lẹsẹsẹ gẹgẹbi ipele igbẹkẹle aiyipada ti awọn agbegbe lati igbẹkẹle si igbẹkẹle: silẹ, Àkọsílẹ, gbangba, ita, dmz, iṣẹ, ile, ti inu ati igbẹkẹle. Wọn ti ṣalaye ninu awọn faili ti o fipamọ labẹ itọsọna/usr/lib/firewalld/awọn agbegbe ita.
O le tunto tabi ṣafikun awọn agbegbe aṣa rẹ ni lilo alabara CLI tabi ṣẹda ṣẹda tabi daakọ faili faili agbegbe kan ni/ati be be/firewalld/awọn agbegbe lati awọn faili to wa ki o ṣatunkọ rẹ.
Idaniloju pataki miiran labẹ firewalld ni awọn iṣẹ. Iṣẹ kan jẹ asọye nipa lilo awọn ibudo ati awọn ilana; awọn itumọ wọnyi ṣe aṣoju iṣẹ nẹtiwọọki ti a fun gẹgẹbi olupin wẹẹbu tabi iṣẹ wiwọle latọna jijin. Awọn iṣẹ ni a ṣalaye ninu awọn faili ti o fipamọ labẹ/usr/lib/firewalld/awọn iṣẹ/tabi/ati be be lo/firewalld/awọn iṣẹ/itọsọna.
Ti o ba mọ awọn ipilẹ iptables/ip6table/ebtables awọn imọran, o tun le lo atọkun taara (tabi iṣeto ni) lati ni iraye si taara si ogiriina. Ṣugbọn, fun awọn wọnni laisi imọ iptables eyikeyi, o le lo ede ọlọrọ fun ṣiṣẹda awọn ofin ogiri ti o nira sii fun IPv4 ati IPv6.
Bii o ṣe le Fi Package Firewalld sori ẹrọ ni Lainos
Lori CentOS 7, package firewalld wa ni fifi sori ẹrọ tẹlẹ ati pe o le ṣayẹwo nipa lilo pipaṣẹ atẹle.
$ rpm -qa firewalld
Lori Ubuntu 16.04 ati 18.04, o le fi sii nipa lilo oluṣakoso package aiyipada bi o ti han.
$ sudo apt install firewalld
Bii o ṣe le Ṣakoso Iṣẹ Firewalld ni Linux
Firewalld jẹ iṣẹ eto eto deede ti o le ṣakoso nipasẹ aṣẹ systemctl.
$ sudo systemctl start firewalld #start the service for the mean time $ sudo systemctl enable firewalld #enable the service to auto-start at boot time $ sudo systemctl status firewalld #view service status
Lẹhin ti o bẹrẹ iṣẹ iṣẹ ina, o tun le ṣayẹwo boya daemon n ṣiṣẹ tabi rara, ni lilo ọpa ogiri-cmd (ti o ba jẹ pe ko ṣiṣẹ, aṣẹ yii yoo gbejade\"ko nṣiṣẹ").
$ sudo firewall-cmd --state
Ti o ba ṣẹlẹ lati fipamọ eyikeyi awọn ayipada patapata, o le tun gbe firewalld pada. Eyi yoo tun ṣe atunṣe awọn ofin ogiriina ati tọju alaye ti ipinle. Iṣeto titilai lọwọlọwọ yoo di iṣeto asiko asiko tuntun.
$ sudo firewall-cmd --reload
Bii o ṣe le Ṣiṣẹ pẹlu Awọn agbegbe Ogiriina ni Firewalld
Lati gba atokọ ti gbogbo awọn agbegbe ita gbangba ati iṣẹ, ṣiṣe awọn ofin wọnyi.
$ sudo firewall-cmd --get-zones $ sudo firewall-cmd --get-services
Agbegbe aiyipada ni agbegbe ti o ti lo fun gbogbo ẹya ogiriina ti ko ni didi taara si agbegbe miiran. O le gba agbegbe aiyipada ti a ṣeto fun awọn isopọ nẹtiwọọki ati awọn atọkun nipasẹ ṣiṣiṣẹ.
$ sudo firewall-cmd --get-default-zone
Lati ṣeto agbegbe aiyipada, fun apẹẹrẹ si ita, lo aṣẹ atẹle. Akiyesi pe fifi aṣayan --anṣe
ṣeto iṣeto ni titilai (tabi jẹ ki wiwa alaye lati agbegbe iṣeto iṣeto titilai).
$ sudo firewall-cmd --set-default-zone=external OR $ sudo firewall-cmd --set-default-zone=external --permanent $ sudo firewall-cmd --reload
Nigbamii, jẹ ki a wo bi a ṣe le ṣafikun wiwo si agbegbe kan. Apẹẹrẹ yii fihan bi o ṣe le ṣafikun ohun ti nmu badọgba nẹtiwọọki alailowaya rẹ (wlp1s0) si ile agbegbe aago, eyiti o lo ni awọn agbegbe ile.
$ sudo firewall-cmd --zone=home --add-interface=wlp1s0
Ni wiwo le ṣee fi kun nikan agbegbe kan. Lati gbe lọ si agbegbe miiran, lo iyipada --change-interface
bi o ti han, tabi yọ kuro ni agbegbe ti tẹlẹ nipa lilo iyipada-ni wiwo-kuro, lẹhinna ṣafikun rẹ si agbegbe tuntun.
A ro pe o fẹ sopọ si nẹtiwọọki WI-FI ti gbogbo eniyan, o yẹ ki o gbe wiwo alailowaya rẹ pada si agbegbe ita, bii eleyi:
$ sudo firewall-cmd --zone=public --add-interface=wlp1s0 $ sudo firewall-cmd --zone=public --change-interface=wlp1s0
O le lo ọpọlọpọ awọn agbegbe ita ni akoko kanna. Lati gba atokọ ti gbogbo awọn agbegbe ti nṣiṣe lọwọ pẹlu awọn ẹya ti a muu ṣiṣẹ gẹgẹbi awọn wiwo, awọn iṣẹ, awọn ibudo, awọn ilana, ṣiṣe:
$ sudo firewall-cmd --get-active-zones
Ni ibatan si aaye ti tẹlẹ, Ti o ba fẹ wa alaye diẹ sii nipa agbegbe kan pato, ie ohun gbogbo ti a ṣafikun tabi muu ṣiṣẹ ninu rẹ, lo ọkan ninu awọn ofin wọnyi:
$ sudo firewall-cmd --zone=home --list-all OR $ sudo firewall-cmd --info-zone public
Aṣayan miiran ti o wulo ni --get-target
, eyiti o fihan ọ ni ibi-afẹde agbegbe ita kan. Afojusun kan jẹ ọkan ninu: aiyipada, Gba, DOP, KỌ. O le ṣayẹwo ibi-afẹde ti awọn agbegbe pupọ:
$ sudo firewall-cmd --permanent --zone=public --get-target $ sudo firewall-cmd --permanent --zone=block --get-target $ sudo firewall-cmd --permanent --zone=dmz --get-target $ sudo firewall-cmd --permanent --zone=external --get-target $ sudo firewall-cmd --permanent --zone=drop --get-target
Bii o ṣe ṣii ati Dina Awọn Ibudo ni Firewalld
Lati ṣii ibudo kan (tabi isopọpọ ibudo/ilana) ni ogiriina, ṣe afikun ni agbegbe kan pẹlu aṣayan --add-port
. Ti o ko ba pato agbegbe naa ni gbangba, yoo muu ṣiṣẹ ni agbegbe aiyipada.
Apẹẹrẹ atẹle n fihan bii a ṣe le ṣafikun ibudo 80 ati 443 lati gba laaye ijabọ oju opo wẹẹbu ti o ni asopọ nipasẹ ilana HTTP ati HTTPS, lẹsẹsẹ:
$ sudo firewall-cmd --zone=public --permanent --add-port=80/tcp --add-port=443/tcp
Nigbamii ti, tun gbe ogiri ina pada ki o ṣayẹwo awọn ẹya ti o ṣiṣẹ ni agbegbe ita lẹẹkan si, o yẹ ki o ni anfani wo awọn ibudo ti a ṣafikun.
$ sudo firewall-cmd --reload $ sudo firewall-cmd --info-zone public
Idena tabi tiipa ibudo kan ninu ogiriina jẹ irọrun bakanna, ni irọrun yọ kuro lati agbegbe kan pẹlu aṣayan -remove-port
. Fun apẹẹrẹ, lati pa awọn ibudo 80 ati 443 ni agbegbe agbegbe.
$ sudo firewall-cmd --zone=public --permanent --remove-port=80/tcp --remove-port=443/tcp
Dipo lilo ibudo tabi ibudo/isopọpọ ilana, o le lo orukọ iṣẹ eyiti a fi ibudo kan si gẹgẹ bi a ti ṣalaye ninu abala ti n bọ.
Bii o ṣe ṣii ati Dina Awọn iṣẹ ni Firewalld
Lati ṣii iṣẹ kan ninu ogiriina, muu ṣiṣẹ nipa lilo aṣayan --add-service
. Ti o ba ti fi agbegbe silẹ, agbegbe aiyipada yoo ṣee lo.
Aṣẹ wọnyi yoo mu ki iṣẹ http ṣiṣẹ ni agbegbe ita gbangba.
$ sudo firewall-cmd --zone=public --permanent --add-service=http $ sudo firewall-cmd --reload
Aṣayan -remove-iṣẹ
le ṣee lo lati mu iṣẹ kan ṣiṣẹ.
$ sudo firewall-cmd --zone=public --permanent --remove-service=http $ sudo firewall-cmd --reload
Bii o ṣe le Jeki ati Mu Muuṣiṣẹ IP ṣiṣẹ Lilo Firewalld
IP Masquerading (ti a tun mọ ni IPMASQ tabi MASQ) jẹ ilana NAT (Itumọ Adirẹsi Nẹtiwọọki) ni nẹtiwọọki Linux eyiti ngbanilaaye awọn ọmọ-ogun rẹ ni nẹtiwọọki kan, pẹlu awọn adirẹsi IP ikọkọ lati ṣe ibaraẹnisọrọ pẹlu Intanẹẹti nipa lilo olupin Linux rẹ (ẹnu-ọna IPMASQ) IP ti gbogbo eniyan ti yan. adirẹsi.
O jẹ aworan agbaye si ọkan. Ijabọ lati ọdọ awọn ogun alaihan rẹ yoo han si awọn kọmputa miiran lori intanẹẹti bi ẹni pe o n bọ lati olupin Linux rẹ.
O le mu iparada IP ṣiṣẹ ni agbegbe ti o fẹ, fun apẹẹrẹ agbegbe ita gbangba. Ṣugbọn ṣaaju ṣiṣe iyẹn, kọkọ ṣayẹwo ti o ba jẹ pe masquerading n ṣiṣẹ tabi rara (a "" rara "tumọ si alaabo rẹ ati pe" bẹẹni "tumọ si bibẹkọ).
$ sudo firewall-cmd --zone=public --query-masquerade $ sudo firewall-cmd --zone=public --add-masquerade
Ọran lilo aṣoju fun sisọ ni ṣiṣe iṣẹ gbigbe si ibudo. A ro pe o fẹ lati SSH lati ẹrọ latọna jijin si ogun ni nẹtiwọọki inu rẹ pẹlu IP 10.20.1.3, lori eyiti sshd daemon n tẹtisi lori ibudo 5000.
O le dari gbogbo awọn isopọ si ibudo 22 lori olupin Linux rẹ si ibudo ti a pinnu lori agbalejo afojusun rẹ nipa ipinfunni:
$ sudo firewall-cmd --zone=public --add-forward-port=port=22=proto=tcp:toport=5000:toaddr=10.20.1.3
Lati mu masquerading ṣiṣẹ ni agbegbe kan, lo iyipada --remove-masquerade
.
$ sudo firewall-cmd --zone=public --remove-masquerade
Bii o ṣe le Jeki ati Mu Ifiranṣẹ IMCP ṣiṣẹ ni Firewalld
Awọn ifiranṣẹ ICMP (Ilana Ifiranṣẹ Iṣakoso Intanẹẹti) jẹ boya awọn ibeere alaye tabi awọn idahun si awọn ibeere alaye tabi ni awọn ipo aṣiṣe.
O le mu ṣiṣẹ tabi mu awọn ifiranṣẹ ICMP ṣiṣẹ ni ogiriina, ṣugbọn ṣaaju akojọ akọkọ gbogbo awọn oriṣi icmp ti o ni atilẹyin.
$ sudo firewall-cmd --get-icmptypes
Lati fikun-un tabi yọ iru iru bulọọki ti o fẹ.
$ sudo firewall-cmd --zone=home --add-icmp-block=echo-reply OR $ sudo firewall-cmd --zone=home --remove-icmp-block=echo-reply
O le wo gbogbo awọn iru icmp ti a ṣafikun ni agbegbe kan nipa lilo iyipada --list-icmp-blocks
.
$ sudo firewall-cmd --zone=home --list-icmp-blocks
Bii o ṣe le Lo Ọlọpọọmídíà taara lati Ṣe Awọn aṣẹ iptables Aise
Ogiriina-cmd tun pese awọn aṣayan taara ( --direct
) fun ọ lati ni iraye si taara si ogiriina. Eyi wulo fun awọn ti o ni imọ ipilẹ ti awọn iptables.
Pataki: O yẹ ki o nikan lo awọn aṣayan taara bi ibi-isinmi ti o kẹhin nigbati ko ba ṣee ṣe lati lo awọn aṣayan ogiriina-cmd deede ti a salaye loke.
Eyi ni apẹẹrẹ ti bi o ṣe le kọja ofin iptables aise, ni lilo iyipada -add-ofin
. O le ni rọọrun yọ awọn ofin wọnyi kuro nipa rirọpo --add-rule
pẹlu - yiyọ-ofin
:
$ sudo firewall-cmd --direct --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 80 -j ACCEPT
Fun alaye diẹ sii nipa awọn iptables, wo itọsọna yii: Bawo ni Lati Ṣeto Firewall Iptables lati Jeki Wiwọle Latọna jijin si Awọn iṣẹ ni Lainos.
Ti o ko ba mọ pẹlu sintasi iptables, o le jade fun firewalld's\"ọrọ ọlọrọ" fun ṣiṣẹda awọn ofin ogiriina ti o nira sii ni irọrun lati ni oye ọna bi a ti salaye atẹle.
Bii O ṣe le Lo Ede Ọlọrọ ni Firewalld
Ede ọlọrọ (ti a tun mọ ni awọn ofin ọlọrọ) ni a lo lati ṣafikun awọn ofin ogiriina ti o nira sii fun IPv4 ati IPv6 laisi imọ ti sintasi iptables.
O ṣe afikun awọn ẹya agbegbe (iṣẹ, ibudo, icmp-block, masquerade ati ibudo siwaju) ti a ti bo. O ṣe atilẹyin orisun ati awọn adirẹsi ibi-ajo, gedu, awọn iṣe ati awọn idiwọn fun awọn akọọlẹ ati awọn iṣe.
A lo --addadd-rich-ofin
lati ṣafikun awọn ofin ọlọrọ. Apẹẹrẹ yii fihan bi a ṣe le gba awọn isopọ IPv4 ati IPv6 tuntun fun iṣẹ http ati wọle 1 fun iṣẹju kan ni lilo iṣayẹwo:
$ sudo firewall-cmd --add-rich-rule='rule service name="http" audit limit value="1/m" accept'
Lati yọ ofin ti a fi kun, rọpo aṣayan --addadd-rich-
pẹlu - yọkuro-ọlọrọ-ofin
.
$ sudo firewall-cmd --remove-rich-rule='rule service name="http" audit limit value="1/m" accept'
Ẹya yii tun ngbanilaaye fun didena tabi gbigba ijabọ lati adirẹsi IP kan pato. Apẹẹrẹ atẹle n fihan bi a ṣe le kọ awọn isopọ lati IP 10.20.1.20.
$ sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.254" reject'
Bii o ṣe le Jeki ati Muu Ipo Ibanujẹ ni Firewalld
Ipo Ibanujẹ jẹ ipo pataki labẹ ina-ina nibiti gbogbo awọn apo-in-in ati ti ita ti lọ silẹ, ati awọn asopọ ti nṣiṣe lọwọ yoo pari lẹẹkan ti muu ṣiṣẹ.
O le mu ipo yii ṣiṣẹ ni awọn ipo pajawiri nibiti irokeke si agbegbe nẹtiwọọki rẹ ti jade.
Lati beere ipo ijaya, lo aṣayan --query-panic
aṣayan.
$ sudo firewall-cmd --query-panic
Lati mu ipo ijaya ṣiṣẹ, lo aṣayan --panic-on
. O le ṣe idanwo ti o ba n ṣiṣẹ nipa lilo pipaṣẹ ping bi o ti han. Nitori pe o ti gbe apo-iwe silẹ, orukọ www.google.com ko le yanju, nitorinaa aṣiṣe ti o han.
$ sudo firewall-cmd --panic-on $ ping -c 2 www.google.com
Lati mu ipo ijaya ṣiṣẹ, lo aṣayan --panic-off
.
$ sudo firewall-cmd --panic-off
Bii o ṣe le tiipa Firewalld
Ranti, a mẹnuba labẹ awọn ipilẹ nipa firewalld pe awọn ohun elo agbegbe tabi awọn iṣẹ ni anfani lati paarọ iṣeto ogiriina ti wọn ba n ṣiṣẹ pẹlu awọn anfani root. O le ṣakoso iru awọn ohun elo wo ni anfani lati beere awọn ayipada ogiriina, nipa ṣiṣe alaye lẹhinna ninu titiipa titiipa.
Ẹya yii ti wa ni pipa nipasẹ aiyipada, o le mu ṣiṣẹ tabi mu ṣiṣẹ pẹlu - tiipa-on
tabi - tiipa
yipada ni gbigba.
$ sudo firewall-cmd --lockdown-on OR $ sudo firewall-cmd --lockdown-off
Akiyesi pe a ṣe iṣeduro lati mu ẹya ara ẹrọ yii ṣiṣẹ tabi mu ṣiṣẹ nipasẹ ṣiṣatunkọ faili atunto akọkọ, nitori ogiriina-cmd le ma wa lori titiipa titiipa whitelist nigbati o ba mu titiipa ṣiṣẹ.
$ sudo vim /etc/firewalld/firewalld.conf
Wa Titiipa paramita naa ki o yi iye rẹ pada lati bẹẹni
(tumọ si titan).
Lockdown=yes
Lati ṣe eto yii tun gbee si firewalld nigbagbogbo.
$ sudo firewall-cmd --reload
Firewalld jẹ rọrun lati lo rirọpo fun iṣẹ iptables, eyiti o lo awọn iptables bi ẹhin. Ninu àpilẹkọ yii, a ti fihan bi a ṣe le fi sori ẹrọ package firewalld, ṣalaye awọn ẹya pataki ti firewalld ati ijiroro bi o ṣe le tunto wọn ni asiko asiko ati awọn agbegbe iṣeto ni titilai.
Ti o ba ni ibeere tabi awọn asọye eyikeyi, ni ọfẹ lati de ọdọ wa nipasẹ fọọmu asọye ni isalẹ. O le tọka si oju-iwe Afowoyi ti firewalld (ọkunrin firewalld) tabi iwe aṣẹ ina ni oju opo wẹẹbu iṣẹ akanṣe, fun alaye diẹ sii.