Zanîngeh Rêbernameyên hêsan ên ku bi karûbarê Profitserver re bixebitin
Ser Zanîngeh Veavakirina Firewall li ser Linux

Veavakirina Firewall li ser Linux


Firewall li Linux-ê di ewlehiya pergala komputerê de rolek girîng dilîze. Ew wekî astengiyek tevdigere, seyrûsefera torê kontrol dike û fîlter dike da ku pergalê ji gihîştina bêdestûr, êrîş û xetereyên din biparêze. Bêyî Firewallek bi rêkûpêk hatî mîheng kirin, server dikare ji cûrbecûr êrîşên sîber xeternak be, ku bibe sedema encamên cidî ji bo ewlehiya daneyê û nepenîtiyê.

Di vê gotarê de, em ê li du amûrên sereke ji bo mîhengkirina Firewall Linux-ê binêrin: firewalld û iptables. Em ê di derheqê taybetmendî, fonksiyon û avantajên wan de analîzek berawirdî bikin. Wekî din, em ê rêwerzên hûrgulî ji bo sazkirin û karanîna her yek ji van amûran peyda bikin, û her weha li ser pratîkên çêtirîn ji bo ewlekirina pergala we bi Firewall-ê li ser platforma Linux-ê nîqaş bikin. Hemû çalakî wê li ser a Server server bi gihîştina root.

Veavakirina firewalld li ser Linux

Firewalld (Firewall Daemon) bernameyek ji bo birêvebirina dîwarê agir di pergalên xebitandinê yên Linux de ye. Ew ji bo mîhengkirina qaîdeyên dîwarê agir, destûr an astengkirina girêdanên serîlêdanên torê navgînek bikarhêner peyda dike. Ew di piraniya belavkirinên serverê de ji hêla xwerû ve hatî saz kirin. Ger Firewalld ne pêş-sazkirî be, ew dikare serbixwe ji depoyên fermî yên belavkirinê were saz kirin.

Ji bo pergalên Red Hat (wek RHEL, CentOS, Fedora) sazkirin bi fermanê pêk tê:

yum install firewalld

Ji bo Debian / Ubuntu:

apt-get install firewalld

Piştî sazkirinê, ew dikare bi fermanê tavilê were destpêkirin û çalak kirin:

systemctl start firewalld

Dûv re, hûn hewce ne ku karûbar li destpêkê zêde bikin:

systemctl enable firewalld
Zêdekirina firewalld di otoload Linux de

Di vê nuqteyê de, em pêşniyar dikin ku ufw neçalak bikin, ji ber ku karanîna hevdem a vê amûrê bi firewalld an iptables re nayê pêşniyar kirin. Rewşê kontrol bikin:

systemctl status ufw
Kontrolkirina ufw linux

Ji bo rawestandina wê, emrê binivîse:

systemctl stop ufw

Ji bo betalkirina bêkêmasî:

ufw disable

Piştî van çalakiyan, hûn dikarin ji bo mîhengkirina firewalld-ê bidomînin.

Pêşîn, pêdivî ye ku meriv deverên pêbaweriyê diyar bike. Firewalld têgeha deveran bikar tîne da ku asta pêbaweriyê ji bo pêwendiyên torê diyar bike. Ji her navbeynkar re yek herêmek tê veqetandin, û qaîdeyên firewallê li gorî deverê têne sepandin. Navnîşa hemî deverên berdest bi fermanê ve tê vekirin:

firewall-cmd --get-zones

Bi gelemperî, 4 deverên sereke têne bikar anîn:

  1. Alenî: Ev herêm ji bo torên ku hûn ne ewledar dibînin e;
  2. taybet: Ji bo torên malê an girêdanên torê yên pêbawer ên din re derbas dibe;
  3. Navbend: Ji bo torên navxweyî, wekî yên di nav rêxistinek an tora pargîdanî de tê bikar anîn;
  4. DMZ: Ev qad ew e ku bi gelemperî serverên ku divê ji înternetê werin gihîştin têne danîn.

Lêbelê, ev tenê mînakek e. Hûn dikarin bi karanîna fermanê devera xwe zêde bikin:

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

Piştî lêzêdekirinê, ji nû ve barkirinek pêdivî ye:

firewall-cmd --reload

Ji bo jêbirina herêmek, rêbazek wekhev tê bikaranîn

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

Piştî diyarkirina deveran, pêdivî ye ku ji bo karûbar û portên hewce rê bide trafîkê. Ji bo destûrkirina karûbarek diyarkirî, emrê bikar bînin:

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

Ko nav navê xizmetê ye. Mînakî, ji bo destûrkirina seyrûsefera Apache:

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

Ji bo destnîşankirina portên destûr, fermanê bikar bînin:

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

Mînakî, porta standard 22 ji bo SSH wiha xuya dike:

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

Di vê qonaxê de, qaîdeyên sereke jixwe têne afirandin. Dûv re, diyar bikin ka dê seyrûsefera li gorî çavkanî, cîh, port û pîvanên din çawa were pêvajo kirin. Ji bo zêdekirina qaîdeyek (bikaranîna alenî zone wek nimûne):

firewall-cmd --zone=public rule

Mînakî, ji bo ku rê bidin seyrûsefera hatina ji her çavkaniyek berbi porta 80 (HTTP):

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

Ji bo rakirina qaîdeyek:

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

Ko rêz cureyê hukmê ye (mînak, bender, xizmet, dewlemend-rule, hwd.), û rule_specification taybetmendiya qaîdeyê bi xwe ye.

Piştî ku di veavakirina Firewalld de guheztinan bikin, pêdivî ye ku wan hilînin û bicîh bikin. Ji bo tomarkirina guhertinan, emrê bikar bînin:

firewall-cmd --runtime-to-permanent

Ji bo pêkanîna guhertinan:

firewall-cmd --reload

Piştî qedandina sazkirinê, hûn dikarin bi vekirina navnîşa hemî qaîdeyan pîvanên hilbijartî verast bikin:

firewall-cmd --list-all
firewalld qaîdeyên Linux

Ger pirsgirêk derkevin, têketinên Firewalld bi fermanê kontrol bikin:

journalctl -u firewalld

Nîşe: Me tenê algorîtmaya giştî ya ji bo sazkirina pêwendiyê vegirtiye. Amûr xwedan fonksiyonek berfireh e. Ji bo agahdariya tevahî li ser hemî vebijarkên berdest, hûn dikarin bikar bînin belgeyên fermî an jî alîkariya vekirî:

firewall-cmd --help

Veavakirina iptables li ser Linux

Berevajî Firewalld, iptables amûrek kevntir e lê dîsa jî di Linux-ê de ji bo birêvebirina dîwarê fireh tê bikar anîn. Ew ji bo qaîdeyên fîlterkirina pakêtê di asta kernel Linux de nêzîkatiyek rasterast û maqûltir peyda dike. Lêbelê, iptables li gorî Firewalld hewceyê zanyarî û ezmûna pêşkeftîtir hewce dike, ku ew ji bo destpêkek kêmtir peyda dike. Guhertoya pêş-sazkirî ya amûrê bi fermanê kontrol bikin:

iptables -V

Ger amûr neyê saz kirin, pêdivî ye ku were saz kirin. Fermana sazkirinê li Ubuntu, Debian:

apt install iptables

Ji bo pergalên Red Hat (mînak, CentOS, Fedora):

yum install iptables

Fermana aktîvkirina piştî sazkirinê:

systemctl start iptables

Ji bo zêdekirina destpêkê, bicîh bikin:

systemctl enable iptables

Berî destpêkirina veavakirina iptables, girîng e ku hûn fêm bikin ka ew çawa dixebite. Ev ji hêla syntaksa bernameyê ve tê arîkar kirin. Ev wiha xuya dike:

iptables -t table action chain additional_parameters

Werin em li her babetekê kûrtir bigerin.

Iptables çar tabloyên sereke hene: Parzûn, nat, mangle, û xav. Her yek ji bo hilberandina hin celeb pakêtan hatî çêkirin û zincîreyên xwe yên rêzikên xwe hene:

  1. parzûn: Ev tabloya ku herî zêde tê bikaranîn e, ku qaîdeyên fîlterkirina pakêtê vedihewîne. Ew ji bo girtina biryarên li ser destûr an redkirina pakêtan tê bikar anîn.
  2. nat: Ev tablo ji bo guherandina navnîşanên torê û portên di pakêtan de tê bikaranîn. Ew bi gelemperî ji bo sazkirina masquerading (NAT) tê bikar anîn.
  3. xemgîn: Di vê tabloyê de, hûn dikarin sernavên pakêtê biguherînin. Ew ji bo operasyonên pakêtê yên pispor, wekî nîşankirin, tê bikar anîn.
  4. xavî: Ev tablo ji bo veavakirina qaîdeyên ku berî ku ew derbasî pergala şopandina girêdanê bibin tê bikar anîn. Ew bi gelemperî ji bo sazkirina qaîdeyên ku divê ji hêla pergala şopandinê ve neyên guheztin, wekî avêtina pakêtan ji hin navnîşanan tê bikar anîn.

Di her tabloyê de komek zincîre hene. Zincîr rêzek rêzik in ku bi rêz têne kontrol kirin. Sê zincîreyên ji berê diyarkirî hene:

  1. INPUT (hatin). Rêgezên di vê zincîrê de diyar dikin ku bi pakêtên hatine re çi bikin.
  2. DERKET (derketî). Ev zincîre ji bo hemî pakêtên ku komputera we ji cîhazên din an komputerên li ser torê re dişîne re derbas dibe.
  3. PÊŞ (pêşvebirin). Rêgezên di vê zincîrê de diyar dikin ku bi pakêtên şandinê re çi bikin.

Di dawiyê de, her zincîr xwedan hin çalakî (armanc) ye. Di pratîkê de, 5 çalakiyên sereke têne bikaranîn:

  1. BAWERANÎN: Bihêle ku pakêt ji dîwarê agir derbas bibe.
  2. DILOPKIRIN: Pakêtê red bike û bê bersiv jê bavêje.
  3. REFZKIRIN: Paketê red bikin û ji şanderê re peyamek xeletiya ICMP bişînin.
  4. ROJNAME: Pakêtê di têketina pergalê de têkevin û çalakiyek din pêk bînin (mînak, QEBÛL an DOP).
  5. VEGERR: Kontrolkirina qaîdeyên di zincîra heyî de rawestînin û vegerin zincîra bangkirinê (heke hebe).

Ji bo destpêkirina sazkirinê, navnîşa qaîdeyên heyî bi fermanê vekin:

iptables -L
Veavakirina Firewall li ser Linux

Wekî rêberek ji bo mîhengkirina Iptables, werin em li mînakên pratîkî yên fermanên ku herî gelemperî têne bikar anîn binêrin. Ji bo rehetiyê, em ê mînakan li gorî zincîra taybetî li 3 koman dabeş bikin.

Merbend BEYAN:

  1. Destûrê bide seyrûsefera hatinê bi protokola TCP ya li porta 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2. Destûrê bide seyrûsefera hatina bi protokola UDP ya li port 22:

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

3. Trafîka hatina ji navnîşanek IP-ya taybetî asteng bikin:

iptables -A INPUT -s 192.168.1.100 -j DROP

Merbend KARÛABR:

  1. Destûrê bide seyrûsefera derketinê bi protokola TCP ya li porta 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

2. Destûrê bide seyrûsefera derketinê bi protokola UDP ya li port 80:

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

3. Trafîka derketinê ya berbi portek taybetî asteng bikin (mînak, 21):

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

Merbend BENDA:

  1. Ji rêzek taybetî ya navnîşanên IP-ê seyrûsefera hatî şandin asteng bikin:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP

2. Pêşkêşkirina pakêtan ji navgînek torê ya taybetî asteng bikin:

iptables -A FORWARD -i eth1 -j DROP

3. Hejmara girêdanên hevdemî ji bo portek taybetî sînordar bikin (di vê nimûneyê de, 10 girêdan di hûrdemê de li porta 80-ê):

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

Wekî ku hûn dikarin bibînin, di her rewşek cûda de, argumanek (ferman) zêde tê bikar anîn. Ji bo ku hûn navnîşek bêkêmasî ya argumanên gengaz û piştgirîya giştî ya fonksiyona amûrê bistînin, têkevin:

iptables -h
Lîsteya fermana sazkirinê ya iptables linux

Ji bo ku mîhengan rast bin, emrê ji nû ve têkevin da ku navnîşa qaîdeyan bibînin:

iptables -L
Kontrolkirina qaîdeyên iptables linux

Ji bo ku qaîdeyek taybetî jêbirin, emrê bikar bînin:

iptables -D chain rule_number

Mînakî, heke hûn dixwazin qaîdeya jimare 1 ji zincîra INPUT jêbirin, ferman dê wiha xuya bike:

iptables -D INPUT 1

Ji bo jêbirina hemî qaîdeyan bi yek fermanê:

iptables -F

Girîng e: Rêbazên iptables piştî ji nû ve destpêkirina pergalê an karûbar bixweber nayê hilanîn. Ji bo tomarkirina qaîdeyan, pêdivî ye ku ew li pelek vesazkirinê werin zêdekirin û piştî ji nû ve destpêkirinê werin sererast kirin. Ew iptables- xilas bike û iptables-restore karûbar dikarin bi vê yekê re bibin alîkar. Ji bo tomarkirina rêbazan, emrê binivîse:

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

Ev qaîdeyên iptables yên heyî di pelê rule.v4 de hilîne. Ji bo vegerandina piştî ji nû ve destpêkirinê, têkevin:

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

Ev ferman qaîdeyên ji pelê rule.v4 vedigire.

Xelasî

Veavakirina Firewall-ê li ser Linux-ê bi karanîna firewalld an iptables vebijarkek girîng e ku ewlehiya serverê peyda bike. Her du amûr rêgezên pêbawer ên birêvebirina seyrûsefera torê û parastina pergalê ji gihîştina bêdestûr û êrîşên sîber pêşkêşî dikin. Hilbijartina di navbera firewalld û iptables de bi hewcedarî û vebijarkên taybetî yên bikarhêner ve girêdayî ye, li gorî fonksiyon û hêzên wan ên cihêreng.

❮ Gotara berê Server Load Diagnostics
Nivîsa din ❯ Bikarhênerên Linux: Rêvebir û Destûr

Li ser VPS-ê ji me bipirsin

Em her dem amade ne ku di her wextê rojê û şevê de bersiva pirsên we bidin.