Knowledgebase Cyfarwyddiadau syml i weithio gyda'r gwasanaeth Profitserver
Prif Knowledgebase Ffurfweddu Firewall ar Linux

Ffurfweddu Firewall ar Linux


Mae Firewall ar Linux yn chwarae rhan hanfodol wrth sicrhau system gyfrifiadurol. Mae'n gweithredu fel rhwystr, gan reoli a hidlo traffig rhwydwaith i amddiffyn y system rhag mynediad heb awdurdod, ymosodiadau a bygythiadau eraill. Heb Mur Tân wedi'i ffurfweddu'n gywir, gallai'r gweinydd fod yn agored i wahanol fathau o ymosodiadau seiber, gan arwain at ganlyniadau difrifol i ddiogelwch data a chyfrinachedd.

Yn yr erthygl hon, byddwn yn edrych ar ddau brif offer ar gyfer ffurfweddu'r Firewall Linux: firewalld ac iptables. Byddwn yn cynnal dadansoddiad cymharol o'u nodweddion, eu swyddogaethau a'u manteision. Yn ogystal, byddwn yn darparu cyfarwyddiadau manwl ar gyfer sefydlu a defnyddio pob un o'r offer hyn, yn ogystal â thrafod arferion gorau ar gyfer sicrhau eich system gyda Firewall ar y platfform Linux. Bydd yr holl gamau gweithredu yn cael eu dangos ar a gweinydd rhithwir gyda mynediad gwreiddiau.

Ffurfweddu firewalld ar Linux

Firewalld (Firewall Daemon) yn rhaglen ar gyfer rheoli'r wal dân mewn systemau gweithredu Linux. Mae'n darparu rhyngwyneb defnyddiwr ar gyfer ffurfweddu rheolau wal dân, caniatáu neu rwystro cysylltiadau o gymwysiadau rhwydwaith. Mae wedi'i osod ymlaen llaw yn ddiofyn yn y rhan fwyaf o ddosbarthiadau gweinydd. Os nad yw Firewalld wedi'i osod ymlaen llaw, gellir ei osod yn annibynnol o ystorfeydd swyddogol y dosbarthiad.

Ar gyfer systemau Red Hat (fel RHEL, CentOS, Fedora) mae'r gosodiad yn cael ei berfformio gyda'r gorchymyn:

yum install firewalld

Ar gyfer Debian/Ubuntu:

apt-get install firewalld

Ar ôl ei osod, gellir ei gychwyn a'i actifadu ar unwaith gyda'r gorchymyn:

systemctl start firewalld

Nesaf, mae angen i chi ychwanegu'r gwasanaeth at gychwyn:

systemctl enable firewalld
Ychwanegu wal dân yn autoload Linux

Ar y pwynt hwn, rydym yn argymell analluogi ufw, gan na argymhellir defnyddio'r offeryn hwn ar yr un pryd â firewalld neu iptables. Gwiriwch y statws:

systemctl status ufw
Gwirio ufw linux

I'w atal, rhowch y gorchymyn:

systemctl stop ufw

Ar gyfer dadactifadu cyflawn:

ufw disable

Ar ôl y camau hyn, gallwch symud ymlaen i ffurfweddu firewalld.

Yn gyntaf, mae angen diffinio parthau ymddiriedolaeth. Mae Firewalld yn defnyddio'r cysyniad o barthau i bennu lefel yr ymddiriedaeth ar gyfer rhyngwynebau rhwydwaith. Rhoddir un parth i bob rhyngwyneb, a chymhwysir rheolau wal dân yn seiliedig ar y parth. Mae'r rhestr o'r holl barthau sydd ar gael yn cael ei hagor gyda'r gorchymyn:

firewall-cmd --get-zones

Yn nodweddiadol, defnyddir 4 prif barth:

  1. Cyhoeddus: Mae'r parth hwn ar gyfer rhwydweithiau rydych chi'n eu hystyried yn anniogel;
  2. Preifat: Yn berthnasol i rwydweithiau cartref neu gysylltiadau rhwydwaith dibynadwy eraill;
  3. Mewnol: Defnyddir ar gyfer rhwydweithiau mewnol, megis y rhai o fewn sefydliad neu rwydwaith corfforaethol;
  4. DMZ: Y parth hwn yw lle gosodir gweinyddwyr fel arfer a ddylai fod yn hygyrch o'r rhyngrwyd.

Fodd bynnag, dim ond un enghraifft yw hon. Gallwch ychwanegu eich parth eich hun gan ddefnyddio'r gorchymyn:

firewall-cmd --permanent --new-zone=nameyourzone

Ar ôl ychwanegu, mae angen ail-lwytho:

firewall-cmd --reload

I ddileu parth, defnyddir dull tebyg

firewall-cmd --permanent --delete-zone=nameyourzone

Ar ôl diffinio parthau, mae angen caniatáu traffig ar gyfer y gwasanaethau a'r porthladdoedd sydd eu hangen. I ganiatáu gwasanaeth penodol, defnyddiwch y gorchymyn:

firewall-cmd --zone=public --add-service=name

Lle enw yw enw'r gwasanaeth. Er enghraifft, i ganiatáu traffig ar gyfer Apache:

firewall-cmd --zone=public --add-service=http

I ddiffinio porthladdoedd a ganiateir, defnyddiwch y gorchymyn:

firewall-cmd --zone=public --add-port=number/protocol

Er enghraifft, byddai'r porthladd 22 safonol ar gyfer SSH yn edrych fel hyn:

firewall-cmd --zone=public --add-port=22/tcp

Ar y cam hwn, mae'r prif reolau eisoes wedi'u creu. Nesaf, penderfynwch sut y bydd traffig yn cael ei brosesu yn dibynnu ar y ffynhonnell, cyrchfan, porthladd a meini prawf eraill. I ychwanegu rheol (gan ddefnyddio'r cyhoeddus parth fel enghraifft):

firewall-cmd --zone=public rule

Er enghraifft, i ganiatáu traffig sy'n dod i mewn o unrhyw ffynhonnell i borthladd 80 (HTTP):

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

I ddileu rheol:

firewall-cmd --permanent --remove-rule=rule_specification

Lle rheol yw'r math o reol (ee, porthladd, gwasanaeth, cyfoethog-rheol, etc.), a rheol_manyleb yw manyleb y rheol ei hun.

Ar ôl gwneud newidiadau i ffurfweddiad Firewalld, mae angen eu cadw a'u cymhwyso. I arbed newidiadau, defnyddiwch y gorchymyn:

firewall-cmd --runtime-to-permanent

I gymhwyso newidiadau:

firewall-cmd --reload

Ar ôl cwblhau'r gosodiad, gallwch wirio'r paramedrau a ddewiswyd trwy agor y rhestr o'r holl reolau:

firewall-cmd --list-all
rheolau firewalld Linux

Os bydd unrhyw broblemau'n codi, gwiriwch y logiau Firewalld gyda'r gorchymyn:

journalctl -u firewalld

Nodyn: Dim ond yr algorithm cyffredinol ar gyfer sefydlu'r cysylltiad yr ydym wedi'i gwmpasu. Mae gan yr offeryn ymarferoldeb helaeth. I gael gwybodaeth lawn am yr holl opsiynau sydd ar gael, gallwch ddefnyddio'r dogfennaeth swyddogol neu help agored:

firewall-cmd --help

Ffurfweddu iptables ar Linux

Yn wahanol i Firewalld, mae iptables yn arf hŷn ond sy'n dal i gael ei ddefnyddio'n helaeth yn Linux ar gyfer rheoli'r wal dân. Mae'n darparu ymagwedd fwy uniongyrchol a hyblyg at reolau hidlo pecynnau ar lefel cnewyllyn Linux. Fodd bynnag, mae angen gwybodaeth a phrofiad mwy datblygedig ar iptables o'i gymharu â Firewalld, gan ei gwneud yn llai hygyrch i ddechreuwyr. Gwiriwch y fersiwn a osodwyd ymlaen llaw o'r offeryn gyda'r gorchymyn:

iptables -V

Os na chaiff yr offeryn ei osod, bydd angen ei osod. Y gorchymyn ar gyfer gosod ar Ubuntu, Debian:

apt install iptables

Ar gyfer systemau Red Hat (ee, CentOS, Fedora):

yum install iptables

Y gorchymyn ar gyfer actifadu ar ôl ei osod:

systemctl start iptables

I ychwanegu at y cychwyn, gweithredwch:

systemctl enable iptables

Cyn dechrau'r cyfluniad iptables, mae'n bwysig deall sut mae'n gweithio. Cynorthwyir hyn gan gystrawen y rhaglen. Mae'n edrych fel a ganlyn:

iptables -t table action chain additional_parameters

Gadewch i ni ymchwilio'n ddyfnach i bob eitem.

Mae gan Iptables bedwar prif dabl: hidlydd, nat, mangle, ac amrwd. Mae pob un wedi'i gynllunio ar gyfer prosesu rhai mathau o becynnau ac mae ganddo ei gadwyni rheolau ei hun:

  1. hidlo: Dyma'r tabl a ddefnyddir amlaf, sy'n cynnwys rheolau hidlo pecynnau. Fe'i defnyddir i wneud penderfyniadau ynghylch caniatáu neu wrthod pecynnau.
  2. nat: Defnyddir y tabl hwn ar gyfer addasu cyfeiriadau rhwydwaith a phorthladdoedd mewn pecynnau. Fe'i defnyddir yn aml ar gyfer sefydlu masquerading (NAT).
  3. mangle: Yn y tabl hwn, gallwch addasu penawdau pecyn. Fe'i defnyddir ar gyfer gweithrediadau pecynnau arbenigol, megis marcio.
  4. amrwd: Defnyddir y tabl hwn ar gyfer ffurfweddu rheolau sy'n berthnasol cyn iddynt fynd trwy'r system olrhain cysylltiad. Fe'i defnyddir yn nodweddiadol ar gyfer sefydlu rheolau na ddylai'r system olrhain eu haddasu, megis gollwng pecynnau o gyfeiriadau penodol.

Mae pob bwrdd yn cynnwys set o gadwyni. Mae cadwyni yn gyfres o reolau sy'n cael eu gwirio'n ddilyniannol. Mae tair cadwyn wedi'u diffinio ymlaen llaw:

  1. MEWNBWN (yn dod i mewn). Mae'r rheolau yn y gadwyn hon yn pennu beth i'w wneud gyda phecynnau sy'n dod i mewn.
  2. ALLBWN (allanol). Mae'r gadwyn hon yn berthnasol i'r holl becynnau y mae eich cyfrifiadur yn eu hanfon i ddyfeisiau neu gyfrifiaduron eraill ar y rhwydwaith.
  3. YMLAEN (anfon ymlaen). Mae'r rheolau yn y gadwyn hon yn nodi beth i'w wneud gyda phecynnau a anfonir ymlaen.

Yn olaf, mae pob cadwyn yn meddu ar rywfaint o weithredu (targed). Yn ymarferol, defnyddir 5 prif weithred:

  1. DERBYN: Gadewch i'r pecyn fynd trwy'r wal dân.
  2. GALW: Gwrthodwch y pecyn a'i daflu heb unrhyw ymateb.
  3. GWRTHWYNEBU: Gwrthodwch y pecyn ac anfon neges gwall ICMP at yr anfonwr.
  4. LOG: Logiwch y pecyn yn log y system a pherfformiwch weithred arall (ee, DERBYN neu GALW).
  5. RETURN: Rhoi'r gorau i wirio'r rheolau yn y gadwyn gyfredol a dychwelyd i'r gadwyn alw (os yw'n berthnasol).

I gychwyn y gosodiad, agorwch y rhestr o reolau presennol gyda'r gorchymyn:

iptables -L
Ffurfweddu Firewall ar Linux

Fel canllaw ar gyfer ffurfweddu Iptables, gadewch i ni edrych ar enghreifftiau ymarferol o'r gorchmynion a ddefnyddir amlaf. Er hwylustod, byddwn yn rhannu'r enghreifftiau yn 3 grŵp, yn dibynnu ar y gadwyn benodol.

gadwyn INPUT:

  1. Caniatáu traffig sy'n dod i mewn trwy brotocol TCP ar borthladd 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2. Caniatáu traffig sy'n dod i mewn trwy brotocol CDU ar borthladd 22:

iptables -A INPUT -p udp --dport 22 -j ACCEPT

3. Rhwystro traffig sy'n dod i mewn o gyfeiriad IP penodol:

iptables -A INPUT -s 192.168.1.100 -j DROP

gadwyn ALLBWN:

  1. Caniatáu traffig sy'n mynd allan trwy brotocol TCP ar borthladd 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

2. Caniatáu traffig sy'n mynd allan trwy brotocol CDU ar borthladd 80:

iptables -A OUTPUT -p udp --dport 80 -j ACCEPT

3. Rhwystro traffig sy'n mynd allan i borthladd penodol (er enghraifft, 21):

iptables -A OUTPUT -p tcp --dport 21 -j DROP

gadwyn YMLAEN:

  1. Rhwystro traffig a anfonir ymlaen o ystod benodol o gyfeiriadau IP:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP

2. Rhwystro anfon pecynnau ymlaen o ryngwyneb rhwydwaith penodol:

iptables -A FORWARD -i eth1 -j DROP

3. Cyfyngu ar nifer y cysylltiadau cydamserol ar gyfer porthladd penodol (yn yr enghraifft hon, 10 cysylltiad y funud ar borthladd 80):

iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT

Fel y gwelwch, ym mhob achos ar wahân, defnyddir dadl ychwanegol (gorchymyn). I gael rhestr lawn o ddadleuon posibl a chefnogaeth gyffredinol i ymarferoldeb yr offeryn, nodwch:

iptables -h
rhestr gorchymyn gosod iptables linux

I sicrhau bod y gosodiadau'n gywir, rhowch y gorchymyn eto i weld y rhestr o reolau:

iptables -L
Gwirio rheolau iptables linux

I ddileu rheol benodol, defnyddiwch y gorchymyn:

iptables -D chain rule_number

Er enghraifft, os ydych chi am ddileu rheol rhif 1 o'r gadwyn INPUT, bydd y gorchymyn yn edrych fel hyn:

iptables -D INPUT 1

I ddileu'r holl reolau gydag un gorchymyn:

iptables -F

Nodyn pwysig: nid yw rheolau iptables yn cael eu cadw'n awtomatig ar ôl ailgychwyn y system neu'r gwasanaeth. Er mwyn arbed y rheolau, mae angen eu hychwanegu at ffeil ffurfweddu a'u hadfer ar ôl ailgychwyn. Mae'r iptables-arbed ac iptables-adfer gall cyfleustodau helpu gyda hyn. I arbed y rheolau, rhowch y gorchymyn:

iptables-save > /etc/iptables/rules.v4

Mae hyn yn arbed y rheolau iptables cyfredol yn y ffeil rules.v4. I adfer ar ôl ailgychwyn, rhowch:

iptables-restore < /etc/iptables/rules.v4

Mae'r gorchymyn hwn yn adfer y rheolau o'r ffeil rules.v4.

Casgliad

Mae ffurfweddu Firewall ar Linux gan ddefnyddio firewalld neu iptables yn agwedd bwysig ar sicrhau diogelwch gweinydd. Mae'r ddau offeryn yn cynnig dulliau dibynadwy o reoli traffig rhwydwaith ac amddiffyn y system rhag mynediad anawdurdodedig ac ymosodiadau seiber. Mae'r dewis rhwng firewalld ac iptables yn dibynnu ar anghenion a dewisiadau penodol y defnyddiwr, gan ystyried eu gwahanol swyddogaethau a chryfderau.

❮ Erthygl flaenorol Diagnosteg Llwyth Gweinydd
Erthygl nesaf ❯ Defnyddwyr Linux: Rheolaeth a Chaniatadau

Gofynnwch i ni am VPS

Rydym bob amser yn barod i ateb eich cwestiynau ar unrhyw adeg o'r dydd neu'r nos.