Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Programet
  • Porta e hapur 80 e murit të zjarrit Centos 7. Çfarë duhet të bëni nëse shërbimi i kërkuar nuk është i disponueshëm

Porta e hapur 80 e murit të zjarrit Centos 7. Çfarë duhet të bëni nëse shërbimi i kërkuar nuk është i disponueshëm

Por komandat iptables janë komplekse dhe shumë përdorues e kanë të vështirë të mbajnë mend të gjitha opsionet dhe kur t'i përdorin ato. Prandaj, zhvilluesit e shpërndarjes krijojnë shtesat e tyre iptables që ndihmojnë në thjeshtimin e menaxhimit të murit të zjarrit. Në CentOS, shtesa e menaxhimit të iptables quhet Firewalld.

Firewalld ka disa ndryshime të rëndësishme në krahasim me iptables. Këtu, kontrolli i aksesit në rrjet kryhet në nivelin e zonave dhe shërbimeve, në vend të zinxhirëve dhe rregullave. Dhe gjithashtu rregullat përditësohen në mënyrë dinamike pa ndërprerë seancat e ekzekutimit. Ky artikull do të diskutojë konfigurimin e Firewall CentOS 7 duke përdorur Firewalld si shembull.

Siç thashë më lart, Firewalld nuk funksionon me zinxhirë rregullash, por me zona. Çdo ndërfaqe rrjeti mund t'i caktohet një zonë specifike. Një zonë është një grup rregullash, kufizimesh dhe lejesh që zbatohen për atë ndërfaqe rrjeti. Për ndërfaqe mund të zgjidhet vetëm një zonë. Zhvilluesit kanë krijuar disa zona të paracaktuara:

  • rënie- bllokoni të gjitha paketat hyrëse, lejoni vetëm ato dalëse
  • bllokoj- në ndryshim nga versioni i mëparshëm, dërguesit të paketës do t'i dërgohet një mesazh për bllokimin e paketës së tij;
  • publike- mbështeten vetëm lidhjet hyrëse ssh dhe dhclient;
  • e jashtme- mbështet NAT për të fshehur rrjetin e brendshëm;
  • e brendshme- Shërbimet ssh, samba, mdns dhe dhcp janë të lejuara;
  • dmz- përdoret për serverë të izoluar që nuk kanë akses në rrjet. Lejohet vetëm lidhja SSH;
  • puna- Shërbimet ssh dhe dhcp janë të lejuara;
  • në shtëpi- të ngjashme me të brendshme;
  • i besuar- gjithçka lejohet.

Kështu, për të aktivizuar ose çaktivizuar një shërbim, thjesht duhet ta shtoni ose hiqni atë nga zona aktuale ose të ndryshoni zonën e ndërfaqes në atë ku lejohet. Ju mund të vizatoni një analogji me politikën e paracaktuar të veprimit për paketat në iptables. Zona e besuar ka një politikë ACCEPT dhe i lejon të gjitha lidhjet, zona e bllokut ka një politikë MOHOJ që mohon të gjitha lidhjet dhe të gjitha zonat e tjera mund të konsiderohen trashëgimtare të zonës së bllokut, plus ato tashmë kanë rregulla të paracaktuara për lejimin e lidhjeve në rrjet për disa shërbime .

Firewalld gjithashtu ka dy lloje të konfigurimit:

  • koha e ekzekutimit- e vlefshme vetëm deri në rindezjen, të gjitha ndryshimet që nuk janë shprehur në mënyrë të qartë ndryshe zbatohen në këtë konfigurim;
  • të përhershme- Cilësimet e përhershme që do të funksionojnë pas një rindezjeje.

Tani e dini gjithçka që ju nevojitet, kështu që le të kalojmë te programi firewalld-cmd.

Sintaksa dhe opsionet e firewall-cmd

Mund të menaxhoni cilësimet e Firewalld duke përdorur si mjetin e konsolës firewall-cmd ashtu edhe ndërfaqen grafike. CentOS përdoret më shpesh në serverë, kështu që do t'ju duhet të punoni në terminal. Le të shohim sintaksën e mjetit:

opsionet cmd të murit të zjarrit

Sintaksa e mëposhtme përdoret për të menaxhuar zonat:

firewall-cmd --config --zone=zone opsioni

Si konfigurim, ju duhet të specifikoni opsionin --permanent për të ruajtur ndryshimet pas një rindezjeje, ose të specifikoni asgjë, atëherë ndryshimet do të jenë të vlefshme vetëm deri në një rindezje. Për zonën, përdorni emrin e zonës së dëshiruar. Le të shohim opsionet e shërbimeve:

  • --shtet- shfaq gjendjen e murit të zjarrit;
  • --ringarkoj- ringarkoni rregullat nga konfigurimi i përhershëm;
  • --kompleto-ringarko- rimbushje e vështirë e rregullave me thyerje të të gjitha lidhjeve;
  • --koha e funksionimit deri në të përhershme- zhvendosni cilësimet e konfigurimit të kohës së funksionimit në konfigurimin e përhershëm;
  • -- e përhershme- përdorni konfigurimin e përhershëm;
  • --get-default-zone- shfaq zonën e përdorur si parazgjedhje;
  • --vendos-default-zone- vendosni zonën e paracaktuar;
  • --merr-aktive-zona- shfaqja e zonave aktive;
  • --merr-zona- shfaq të gjitha zonat e disponueshme;
  • --merr-shërbime- shfaq shërbimet e paracaktuara;
  • --lista-të gjitha-zonat- shfaq konfigurimin e të gjitha zonave;
  • --zona e re- krijoni një zonë të re;
  • --delete-zone- fshini zonën;
  • --lista-të gjitha- hiqni gjithçka që është shtuar nga zona e zgjedhur;
  • --lista-shërbime- shfaq të gjitha shërbimet e shtuara në zonë;
  • --Shto-shërbim- shtoni një shërbim në një zonë;
  • -- heq-shërbim- hiqni shërbimin nga zona;
  • --lista-porte- shfaq portat e shtuara në zonë;
  • --add-port- shtoni një port në zonë;
  • --hiq-port- hiqni portin nga zona;
  • --query-port- tregoni nëse porti është shtuar në zonë;
  • --lista-protokolle- shfaq protokollet e shtuara në zonë;
  • --Shto protokoll- shtoni një protokoll në zonë;
  • -- hiq-protokollin- hiqni protokollin nga zona;
  • --lista-burim-portet- shfaq portat e burimit të shtuara në zonë;
  • --add-source-port- shtoni një port burim në zonë;
  • --remove-source-port- hiqni portin burim nga zona;
  • --list-icmp-blloqe- shfaq një listë të blloqeve icmp;
  • --add-icmp-block- shtoni icmp bllokuese;
  • --add-icmp-block- hiqni bllokimin icmp;
  • --add-forward-port- shtoni një port për të ridrejtuar në NAT;
  • --hiq-përpara-port- hiqni portin për të ridrejtuar në NAT;
  • --shtoj-maskaradë- aktivizoni NAT;
  • --heq-maskaradë- hiqni NAT.

Këto nuk janë të gjitha opsionet e shërbimeve, por për këtë artikull ato do të jenë të mjaftueshme për ne.

Konfigurimi i Firewall-it në CentOS 7

1. Statusi i murit të zjarrit

Hapi i parë është të kontrolloni statusin e murit të zjarrit. Për ta bërë këtë, ekzekutoni:

muri i zjarrit i statusit sudo systemctl

Nëse shërbimi Firewalld është i çaktivizuar, atëherë duhet ta aktivizoni:

sudo systemctl start firewalld
sudo systemctl aktivizoni murin e zjarrit

Tani duhet të shihni nëse Firewalld po funksionon duke përdorur komandën firewall-cmd:

sudo firewall-cmd --state

Nëse programi po funksionon dhe gjithçka është mirë, do të merrni një mesazh "punon".

2. Menaxhimi i zonës

Siç e keni kuptuar tashmë, zonat janë mjeti kryesor për menaxhimin e lidhjeve të rrjetit. Për të parë zonën e paracaktuar, ekzekutoni:

sudo firewall-cmd --get-default-zone

Në rastin tim, kjo është zona publike. Mund ta ndryshoni zonën aktuale me opsionin --set-default-zone:

sudo firewall-cmd --set-default-zone=public

Për të parë se cilat zona përdoren për të gjitha ndërfaqet e rrjetit, ekzekutoni:

sudo firewall-cmd --get-active-zones

Lista do të shfaqë zonat dhe ndërfaqet për të cilat ato janë caktuar. Me këtë komandë, ju mund të shikoni konfigurimin për një zonë specifike. Për shembull, për zonën publike:

3. Vendosja e shërbimeve

Ju mund të shikoni të gjitha shërbimet e paracaktuara me komandën:

sudo firewall-cmd --get-services

Komanda do të listojë të gjitha shërbimet e disponueshme, ju mund të shtoni ndonjë prej tyre në zonë për ta aktivizuar atë. Për shembull, le të lejojmë një lidhje me http:

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

Dhe për të hequr këtë shërbim, ekzekutoni:

sudo firewall-cmd --zone=public --remove-service=http --permanent

Në të dyja rastet, ne përdorëm opsionin --permanent në mënyrë që konfigurimi të vazhdojë gjatë rindezjeve. Pas ndryshimeve, duhet të përditësoni rregullat:

sudo firewall-cmd --ringarkoj

Pastaj, nëse shikoni konfigurimin e zonës, shërbimi i shtuar do të shfaqet atje:

sudo firewall-cmd --zone=public --list-all

4. Si të hapni një port në Firewalld

Nëse nuk ka shërbim për programin që ju nevojitet, mund ta hapni portin e tij manualisht. Për ta bërë këtë, thjesht shtoni portin e dëshiruar në zonë. Për shembull porti 8083:

sudo firewall-cmd --zone=public --add-port=8083/tcp --permanent

Për të hequr këtë port nga zona, ekzekutoni:

sudo firewall-cmd --zone=public --remove-port=8083/tcp --permanent

Ngjashëm me shërbimet, për të hapur një port në murin e zjarrit centos 7, duhet të rinisni murin e zjarrit.

sudo firewall-cmd --ringarkoj

5. Firewalld Port Forwarding

Përcjellja e portit në Firewalld është shumë më e lehtë për t'u konfiguruar sesa në iptables. Nëse keni nevojë, për shembull, të ridrejtoni trafikun nga porti 2223 në portin 22, thjesht shtoni një ridrejtim në zonë:

sudo firewall-cmd --zone=public --add-forward-port=port=2223:proto=tcp:toport=22

Këtu ridrejtimi kryhet vetëm në makinën aktuale. Nëse dëshironi të konfiguroni një rrjet NAT dhe të përcillni një port në një makinë tjetër, atëherë së pari duhet të aktivizoni mbështetjen e maskaradës:

sudo firewall-cmd --zone=public --add-masquerade

Pastaj mund të shtoni portin:

sudo firewall-cmd --zone=public --add-forward-port=port=2223:proto=tcp:toport=22:toaddr=192.168.56.4

6. Rregulla të zgjeruara

Nëse funksionaliteti i zonave nuk është i mjaftueshëm për ju, mund të përdorni rregulla të avancuara. Sintaksa e përgjithshme për rregullat e zgjeruara është:

familja e rregullave = "familja" e vlerës së burimit të vlerës së destinacionit të regjistrit të veprimit të auditimit

Këtu është kuptimi i parametrave kryesorë:

  • Si familjet e protokollit mund të specifikoni ipv4 ose ipv6 ose të mos specifikoni asgjë, atëherë rregulli do të zbatohet për të dy protokollet;
  • burimi dhe destinacion janë dërguesi dhe marrësi i paketës. Si këto parametra, mund të përdoret një adresë IP (adresa), shërbimi (emri i shërbimit), porti (porti), protokolli (protokolli) e kështu me radhë;
  • log- ju lejon të regjistroni kalimin e paketave, për shembull në syslog. Në këtë cilësim, mund të specifikoni prefiksin e linjës së regjistrit dhe nivelin e foljes së regjistrimit;
  • auditimitështë një mënyrë alternative për të regjistruar kur mesazhet do t'i dërgohen shërbimit të audituar.
  • Veprimiështë veprimi që do të kryhet në paketën e përputhur. Në dispozicion: pranoni, hidhni, refuzoni, shënoni.

Le të shohim disa shembuj. Ne duhet të bllokojmë hyrjen në server për një përdorues me IP 135.152.53.5:

sudo firewall-cmd --zone=public --add-rich-rule "rule family="ipv4" source address=135.152.53.5 reject"

Ose duhet të mohojmë vetëm hyrjen në portin 22 për të njëjtin përdorues:

sudo firewall-cmd --zone=public --add-rich-rule "rule family="ipv4" source address=135.152.53.5 port port=22 protocol=tcp reject"

Ju mund t'i shikoni të gjitha rregullat e zgjeruara me komandën:

sudo firewall-cmd --list-rich-rules

konkluzionet

Në këtë artikull, ne shqyrtuam se si është konfiguruar muri i zjarrit në CentOS 7 dhe cilat detyra mund të kryhen duke përdorur atë. Programi është shumë më i lehtë për t'u përdorur sesa iptables, por sipas mendimit tim, shtesa e murit të zjarrit të Ubuntu është edhe më e lehtë për t'u përdorur.

Firewall-i i instaluar në sistemin operativ përdoret për të parandaluar trafikun e paautorizuar ndërmjet rrjeteve kompjuterike. Me dorë ose automatikisht, krijohen rregulla të veçanta të murit të zjarrit, të cilat janë përgjegjëse për kontrollin e aksesit. Sistemi operativ i zhvilluar në kernelin Linux, CentOS 7, ka një mur zjarri të integruar dhe kontrollohet duke përdorur një mur zjarri. Si parazgjedhje, FirewallD është i aktivizuar dhe ne do të donim të flasim për konfigurimin e tij sot.

Siç u përmend më lart, mjeti FirewallD është caktuar si muri i zjarrit standard në CentOS 7. Kjo është arsyeja pse vendosja e murit të zjarrit do të konsiderohet duke përdorur këtë mjet si shembull. Ju gjithashtu mund të vendosni rregullat e filtrimit duke përdorur të njëjtat iptables, por kjo bëhet në një mënyrë paksa të ndryshme. Ne ju rekomandojmë që të njiheni me konfigurimin e mjetit të përmendur duke klikuar në lidhjen e mëposhtme dhe ne do të fillojmë analizën e FirewallD.

Konceptet bazë të mureve të zjarrit

Ekzistojnë disa zona - grupe rregullash për menaxhimin e trafikut bazuar në besimin në rrjete. Të gjithëve u janë caktuar politikat e tyre, kombinimi i të cilave formon konfigurimin e murit të zjarrit. Secilës zonë i është caktuar një ose më shumë ndërfaqe rrjeti, gjë që ju lejon gjithashtu të rregulloni filtrimin. Rregullat e aplikuara varen drejtpërdrejt nga ndërfaqja e përdorur. Për shembull, kur lidhet me Wi-Fi publik, një mur zjarri do të rrisë nivelin e kontrollit dhe në një rrjet shtëpiak, do të hapë akses shtesë për anëtarët e zinxhirit. Në murin e zjarrit të konsideruar ka zona të tilla:

  • besuar - niveli maksimal i besimit për të gjitha pajisjet e rrjetit;
  • shtëpia është një grup rrjeti lokal. Ekziston besim në mjedis, por lidhjet hyrëse janë të disponueshme vetëm për makina të caktuara;
  • punë - zona e punës. Ka besim në shumicën e pajisjeve dhe aktivizohen shërbime shtesë;
  • dmz është një zonë për kompjuterë të izoluar. Pajisjet e tilla janë shkëputur nga pjesa tjetër e rrjetit dhe lejojnë vetëm një trafik të caktuar në hyrje;
  • i brendshëm — zona e rrjeteve të brendshme. Besimi zbatohet për të gjitha makinat, hapen shërbime shtesë;
  • e jashtme - e kundërta e zonës së mëparshme. Në rrjetet e jashtme, maskimi i NAT është aktiv, duke mbyllur rrjetin e brendshëm, por duke mos bllokuar mundësinë e fitimit të aksesit;
  • publike - një zonë e rrjeteve publike me mosbesim ndaj të gjitha pajisjeve dhe pritje individuale të trafikut në hyrje;
  • bllok - të gjitha kërkesat hyrëse hidhen me një gabim të dërguar icmp-host-i ndaluar ose icmp6-adm-i ndaluar;
  • rënia është niveli minimal i besimit. Lidhjet hyrëse hiqen pa asnjë njoftim.

Vetë politikat janë të përkohshme dhe të përhershme. Kur parametrat shfaqen ose modifikohen, veprimi i murit të zjarrit ndryshon menjëherë pa pasur nevojë të rindizet. Nëse janë zbatuar rregulla të përkohshme, ato do të rivendosen pas rinisjes së FirewallD. Kështu quhet një rregull i përhershëm - ai do të ruhet përgjithmonë kur të zbatohet argumenti -permanent.

Aktivizo FirewallD

Së pari ju duhet të filloni FirewallD ose të siguroheni që është në gjendje aktive. Vetëm një demon që funksionon (programi që funksionon në sfond) do të zbatojë rregullat për murin e zjarrit. Aktivizimi bëhet me vetëm disa klikime:

  1. Ekzekutoni Classic "Terminal" me çdo metodë të përshtatshme, për shembull, përmes menysë "Aplikimet".
  2. Futni komandën sudo systemctl start firewalld.service dhe shtypni tastin Hyni.
  3. Shërbimi menaxhohet në emër të superpërdoruesit, kështu që do t'ju duhet të vërtetoni duke futur një fjalëkalim.
  4. Për të verifikuar që shërbimi po funksionon, specifikoni firewall-cmd --state .
  5. Ri-autentifikojeni në dritaren grafike që hapet.
  6. Një linjë e re do të shfaqet. Kuptimi vrapimi tregon se muri i zjarrit është duke punuar.

Nëse një ditë ju duhet të çaktivizoni përkohësisht ose përgjithmonë murin e zjarrit, ju rekomandojmë të përdorni udhëzimet e dhëna në artikullin tonë tjetër në lidhjen e mëposhtme.

Shikoni rregullat e paracaktuara dhe zonat e disponueshme

Edhe një mur zjarri që funksionon normalisht ka rregullat e veta specifike dhe zonat e disponueshme. Përpara se të filloni të redaktoni politikat, ju rekomandojmë që të njiheni me konfigurimin aktual. Kjo bëhet me komanda të thjeshta:

  1. Komanda firewall-cmd --get-default-zone do t'ju ndihmojë të përcaktoni zonën që funksionon si parazgjedhje.
  2. Pasi ta aktivizoni, do të shihni një linjë të re ku do të shfaqet parametri i kërkuar. Për shembull, në pamjen e mëposhtme të ekranit, zona konsiderohet aktive publike.
  3. Sidoqoftë, disa zona mund të jenë aktive menjëherë, përveç kësaj, ato janë të lidhura me një ndërfaqe të veçantë. Zbuloni këtë informacion përmes firewall-cmd --get-active-zones.
  4. Komanda firewall-cmd --list-all do të shfaqë rregullat e vendosura për zonën e paracaktuar. Kushtojini vëmendje pamjes së ekranit më poshtë. Ju shikoni se zona aktive publike rregulli i caktuar default- funksionimi i paracaktuar, ndërfaqja "enp0s3" dhe shtoi dy shërbime.
  5. Nëse keni nevojë të dini të gjitha zonat e disponueshme të murit të zjarrit, shkruani firewall-cmd --get-zones.
  6. Parametrat e një zone të caktuar përcaktohen nëpërmjet firewall-cmd --zone=name --list-all , ku emri- emri i zonës.

Pas përcaktimit të parametrave të nevojshëm, mund të vazhdoni me ndryshimin dhe shtimin e tyre. Le të hedhim një vështrim më të afërt në disa nga konfigurimet më të njohura.

Konfigurimi i zonave të ndërfaqes

Siç e dini nga informacioni i mësipërm, çdo ndërfaqe ka zonën e vet të paracaktuar. Do të mbetet në të derisa cilësimet të ndryshohen nga përdoruesi ose në mënyrë programore. Është e mundur transferimi manual i ndërfaqes në zonë për një seancë, dhe kjo kryhet duke aktivizuar komandën sudo firewall-cmd --zone=home --change-interface=eth0. Rezultati sukses tregon se transferimi ishte i suksesshëm. Kujtoni që cilësimet e tilla rivendosen menjëherë pas rindezjes së murit të zjarrit.

Me një ndryshim të tillë në parametra, duhet të kihet parasysh se funksionimi i shërbimeve mund të rivendoset. Disa prej tyre nuk e mbështesin funksionimin në zona të caktuara, për shembull, SSH, megjithëse është i disponueshëm në në shtëpi, por shërbimi do të refuzojë të punojë me porosi ose speciale. Mund të verifikoni që ndërfaqja është lidhur me sukses me degën e re duke shtypur firewall-cmd --get-active-zones .

Nëse dëshironi të rivendosni cilësimet që keni bërë më parë, thjesht rinisni murin e zjarrit: sudo systemctl rinisni firewalld.service.

Ndonjëherë nuk është gjithmonë e përshtatshme për të ndryshuar zonën e ndërfaqes vetëm për një seancë. Në këtë rast, do t'ju duhet të redaktoni skedarin e konfigurimit në mënyrë që të gjitha cilësimet të futen përgjithmonë. Ne ju rekomandojmë të përdorni një redaktues teksti për këtë. nano, e cila është instaluar nga depoja zyrtare nga sudo yum install nano. Tjetra, mbetet për të kryer veprimet e mëposhtme:

  1. Hapni skedarin e konfigurimit përmes një redaktuesi duke shtypur sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0, ku eth0— emri i ndërfaqes së kërkuar.
  2. Vërtetoni llogarinë tuaj për të përfunduar hapat e ardhshëm.
  3. Gjeni parametrin ZONË dhe ndryshoni vlerën e saj në çfarëdo që dëshironi, si p.sh. publike ose shtëpiake .
  4. Mbani të shtypur çelësat Ctrl+O për të ruajtur ndryshimet.
  5. Mos e ndryshoni emrin e skedarit, thjesht klikoni mbi Hyni.
  6. Dilni nga redaktori i tekstit me Ctrl + X.

Tani zona e ndërfaqes do të jetë ashtu siç e keni specifikuar deri në redaktimin tjetër të skedarit të konfigurimit. Ekzekutoni sudo systemctl rinisni network.service dhe sudo systemctl rinisni firewalld.service që cilësimet e përditësuara të hyjnë në fuqi.

Vendosja e zonës së paracaktuar

Më lart, ne kemi demonstruar tashmë një komandë që ju lejon të zbuloni zonën e paracaktuar. Mund të ndryshohet gjithashtu duke vendosur një parametër sipas dëshirës tuaj. Për ta bërë këtë, thjesht shkruani sudo firewall-cmd --set-default-zone=name në tastierë, ku emri- emri i zonës së kërkuar.

Suksesi i komandës do të tregohet nga mbishkrimi sukses në një linjë të veçantë. Pas kësaj, të gjitha ndërfaqet aktuale do të lidhen në zonën e specifikuar, përveç nëse specifikohet ndryshe në skedarët e konfigurimit.

Krijimi i rregullave për programet dhe shërbimet komunale

Në fillim të artikullit, ne folëm për efektin e secilës zonë. Përcaktimi i shërbimeve, shërbimeve dhe programeve në degë të tilla do të lejojë aplikimin e parametrave individualë për secilën prej tyre sipas kërkesave të secilit përdorues. Për të filluar, ju këshillojmë të njiheni me listën e plotë të shërbimeve aktualisht të disponueshme: firewall-cmd --get-services .

Rezultati do të shfaqet drejtpërdrejt në tastierë. Çdo server është i ndarë nga një hapësirë, dhe ju mund të gjeni lehtësisht mjetin që ju intereson në listë. Nëse shërbimi i kërkuar nuk është i disponueshëm, ai duhet të instalohet shtesë. Lexoni për rregullat e instalimit në dokumentacionin zyrtar të softuerit.

Komanda e mësipërme shfaq vetëm emrat e shërbimeve. Informacioni i detajuar për secilën prej tyre merret përmes një skedari individual të vendosur përgjatë rrugës /usr/lib/firewalld/services. Dokumentet e tilla janë në formatin XML, rruga për, për shembull, SSH duket kështu: /usr/lib/firewalld/services/ssh.xml, dhe dokumenti ka përmbajtjen e mëposhtme:

SSH
Secure Shell (SSH) është një protokoll për hyrjen dhe ekzekutimin e komandave në makinat e largëta. Ai siguron komunikime të sigurta të koduara. Nëse planifikoni të hyni në kompjuterin tuaj nga distanca nëpërmjet SSH përmes një ndërfaqe me mur zjarri, aktivizoni këtë opsion. Ju duhet të instaluar paketën openssh-server që ky opsion të jetë i dobishëm.

Mbështetja e shërbimit në një zonë të caktuar aktivizohet manualisht. V "Terminal" duhet të specifikoni komandën sudo firewall-cmd --zone=public --add-service=http , ku --zone=publike- zona për aktivizim, dhe --add-service=http- emri i shërbimit. Ju lutemi vini re se një ndryshim i tillë do të jetë i vlefshëm vetëm brenda një seance.

Shtimi i përhershëm bëhet përmes sudo firewall-cmd --zone=public --permanent --add-service=http , dhe rezultati është sukses tregon përfundimin me sukses të operacionit.

Ju mund të shikoni listën e plotë të rregullave të përhershme për një zonë të caktuar duke shfaqur listën në një linjë të veçantë konsole: sudo firewall-cmd --zone=public --permanent --list-services .

Zgjidhja e problemit me mungesën e aksesit në shërbim

Si parazgjedhje, rregullat e murit të zjarrit listojnë shërbimet më të njohura dhe më të sigurta si të lejuara, por ato bllokojnë disa aplikacione standarde ose të palëve të treta. Në këtë rast, përdoruesi do të duhet të ndryshojë manualisht cilësimet për të zgjidhur problemin e aksesit. Kjo mund të bëhet në dy mënyra të ndryshme.

Përcjellja e portit

Siç e dini, të gjitha shërbimet e rrjetit përdorin një port specifik. Ai zbulohet lehtësisht nga muri i zjarrit dhe bllokimi mund të kryhet në të. Për të shmangur veprime të tilla nga muri i zjarrit, duhet të hapni portin e nevojshëm me komandën sudo firewall-cmd --zone=public --add-port=0000/tcp , ku --zone=publike- zona për portin, --add-port=0000/tcp— numri i portit dhe protokolli. Opsioni firewall-cmd --list-ports do të shfaqë një listë portash të hapura.

Nëse keni nevojë të hapni portet brenda intervalit, përdorni linjën sudo firewall-cmd --zone=public --add-port=0000-9999/udp , ku --add-port=0000-9999/udp- gamën e porteve dhe protokollin e tyre.

Komandat e mësipërme do t'ju lejojnë vetëm të testoni përdorimin e këtyre parametrave. Nëse ishte i suksesshëm, duhet të shtoni të njëjtat porte në cilësimet e përhershme, dhe kjo bëhet duke shtypur sudo firewall-cmd --zone=public --permanent --add-port=0000/tcp ose sudo firewall-cmd -- zone=public --permanent --add-port=0000-9999/udp. Lista e porteve të hapura të përhershme shihet si kjo: sudo firewall-cmd --zone=public --permanent --list-ports .

Përkufizimi i shërbimit

Siç mund ta shihni, shtimi i porteve nuk shkakton ndonjë vështirësi, por procedura bëhet më e ndërlikuar kur përdoret një numër i madh aplikacionesh. Bëhet e vështirë të mbash gjurmët e të gjitha porteve në përdorim, kështu që një përkufizim shërbimi do të ishte një opsion më i mirë:


Thjesht duhet të zgjidhni metodën më të përshtatshme për zgjidhjen e problemit me aksesin në shërbim dhe të ndiqni udhëzimet e dhëna. Siç mund ta shihni, të gjitha veprimet kryhen mjaft lehtë dhe nuk duhet të shfaqen vështirësi.

Krijimi i zonave të personalizuara

Ju tashmë e dini se fillimisht FirewallD krijoi një numër të madh zonash të ndryshme me rregulla të caktuara. Megjithatë, ka situata kur administratori i sistemit duhet të krijojë një zonë të personalizuar, si p.sh "web publik" për një server të instaluar në internet, ose "DNS private"- për serverin DNS. Në këta dy shembuj, ne do të analizojmë shtimin e degëve:


Në këtë artikull, mësuat se si të krijoni zona të personalizuara dhe të shtoni shërbime në to. Ne kemi folur tashmë për vendosjen e tyre si parazgjedhje dhe caktimin e ndërfaqeve më lart, thjesht duhet të specifikoni emrat e saktë. Mos harroni të rinisni murin e zjarrit pasi të keni bërë ndonjë ndryshim të përhershëm.

Siç mund ta shihni, muri i zjarrit FirewallD është një mjet mjaft voluminoz që ju lejon të bëni konfigurimin më fleksibël të murit të zjarrit. Mbetet vetëm për t'u siguruar që programi të nisë së bashku me sistemin dhe që rregullat e specifikuara të fillojnë menjëherë punën e tyre. Bëni këtë me sudo systemctl enable firewalld.

FirewallD është një mjet i menaxhimit të murit të zjarrit i disponueshëm si parazgjedhje në serverët CentOS 7. Ai është në thelb një mbështjellës rreth IPTables dhe vjen me një mjet konfigurimi grafik të konfigurimit të murit të zjarrit dhe një mjet të linjës së komandës firewall-cmd. Me shërbimin IPtables, çdo ndryshim kërkon fshirjen e rregullave të vjetra dhe krijimin e rregullave të reja në skedarin ` /etc/sysconfig/iptables`, ndërsa me firewalld vlejnë vetëm dallimet.

Zonat e mureve të zjarrit

FirewallD përdor shërbime dhe zona në vend të rregullave dhe zinxhirëve në Iptables. Zonat e mëposhtme janë të disponueshme si parazgjedhje:

  • rënie– Hiqni të gjitha paketat hyrëse të rrjetit pa përgjigje, disponohen vetëm lidhjet dalëse të rrjetit.
  • bllokoj– Refuzoni të gjitha paketat hyrëse të rrjetit me një mesazh të ndaluar nga icmp-host, disponohen vetëm lidhjet dalëse të rrjetit.
  • publike– pranohen vetëm lidhjet e zgjedhura hyrëse, për përdorim në zona publike
  • e jashtme– Për rrjetet e jashtme me maskaradë, pranohen vetëm lidhjet hyrëse të zgjedhura.
  • dmz– DMZ, e aksesueshme publikisht me akses të kufizuar në rrjetin e brendshëm, pranohen vetëm lidhjet e zgjedhura hyrëse.
  • puna
  • në shtëpi– Për kompjuterët në zonën kryesore, pranohen vetëm lidhjet e zgjedhura hyrëse.
  • e brendshme– Për kompjuterët në rrjetin tuaj të brendshëm, pranohen vetëm lidhjet e zgjedhura hyrëse.
  • i besuar– Të gjitha lidhjet e rrjetit pranohen.

Për të marrë një listë të të gjitha zonave të disponueshme:

# firewall-cmd --get-zones work drop blloqe publike të brendshme të jashtme të besueshme të shtëpisë dmz

Për të parë një listë të zonave të paracaktuara:

# firewall-cmd --get-default-zone publike

Për të ndryshuar zonën e paracaktuar:

Shërbimet e mureve të zjarrit

Shërbimet FirewallD janë skedarë të konfigurimit XML, me informacion në lidhje me hyrjen e shërbimit për murin e zjarrit. Për të marrë një listë të të gjitha shërbimeve të disponueshme:

# firewall-cmd --merr-shërbime amanda-klient amanda-k5-klient bacula bacula-klient ceph ceph-mon dhcp dhcpv6 dhcpv6-klient dns docker-regjistri dropbox-lansync freeipa-ldap freeipa-ldaps freeipa-përsëritje e lartë HTTP HTTPS IMAP IPP IPP IPP-CLIES IPSEC ISCSI-TART KADMIN KERBEROS KASSWD LDAP LDPS MOUNTD MS-WBT MYSQL NFS NTP Openvpn PMCD PMWEBAPI PMWebapis POP3 POP3S PMWEBAPIS POP3 POPP3 klient i arsyeshëm smtp smtps snmp snmptrap kallamar ssh sinergji syslog syslog-tls telnet tftp tftp-klient tinc tor-çorape transmetim-klient vdsm vnc-server wbem-https xmpp-bosh xmpp-klient xmpp-server

Skedarët e konfigurimit XML ruhen në drejtori /usr/lib/firewalld/services/ dhe /etc/firewalld/services/.

Vendosja e një muri zjarri me FirewallD

Si shembull, ja se si mund të konfiguroni një mur zjarri me FirewallD nëse përdorni një server në internet, SSH në portin 7022 dhe një server poste.

Së pari do të vendosim zonën e paracaktuar për DMZ.

# firewall-cmd --set-default-zone=dmz # firewall-cmd --get-default-zone dmz

Për të shtuar rregullat e vazhdueshme të shërbimit për HTTP dhe HTTPS në DMZ, ekzekutoni komandën e mëposhtme:

# firewall-cmd --zone=dmz --add-service=http --permanent # firewall-cmd --zone=dmz --add-service=https --permanent

Hap portin 25 (SMTP) dhe portin 465 (SMTPS):

firewall-cmd --zone=dmz --add-service=smtp --firewall i përhershëm-cmd --zone=dmz --add-service=smtps --permanent

Portet e hapura, IMAP, IMAPS, POP3 dhe POP3S:

Firewall-cmd --zone=dmz --add-service=imap --firewall i përhershëm-cmd --zone=dmz --add-service=imaps --firewall i përhershëm-cmd --zone=dmz --add-service= pop3 -- firewall i përhershëm-cmd --zone=dmz --add-service=pop3s --permanent

Meqenëse porta SSH është ndryshuar në 7022, ne do të heqim shërbimin SSH (porta 22) dhe do të hapim portin 7022

firewall-cmd --remove-service=ssh --firewall i përhershëm-cmd --add-port=7022/tcp --permanent

Për të zbatuar ndryshimet, duhet të rinisim murin e zjarrit:

Firewall-cmd --ringarkoni

Dhe së fundi, ju mund të rendisni rregullat.

Për të mbrojtur serverin nga kërcënimet e jashtme, para së gjithash, ekziston një mur zjarri që filtron trafikun në hyrje dhe në dalje. Unë dua të merrem me konfigurimin e iptables - një rast i veçantë i një muri zjarri në CentOS në këtë artikull, si dhe të flas për instalimin dhe çaktivizimin e tij. Udhëzuesi im nuk do të jetë shterues, do të konsideroj vetëm ato aspekte që i konsideroj më të rëndësishmet dhe i përdor vetë në punën time.

Ky artikull është pjesë e një serie të vetme artikujsh rreth serverit.

Prezantimi

Iptables është aktualisht standardi de fakto për shpërndarjet moderne linux. Nuk mund të kujtoj menjëherë se çfarë tjetër përdorin si mur zjarri. Pra, çdo administrator Linux duhet të merret me vendosjen e këtij muri zjarri në punën e tij.

Ekzistojnë lidhje të ndryshme për këtë mur zjarri, të cilat përdoren për një mjedis më "të përshtatshëm". Ubuntu ka ufw, në cent - muri i zjarrit, jo i njohur me të tjerët. Personalisht, nuk shoh ndonjë lehtësi në përdorimin e këtyre mjeteve. Jam mësuar të konfiguroj murin e zjarrit Linux në mënyrën e vjetër, siç mësova që në fillim të punës sime. Më duket se kjo është mënyra më e thjeshtë dhe më e përshtatshme, të cilën do ta ndaj me ju. Thelbi i tij zbret në faktin se një skenar është krijuar me rregullat e murit të zjarrit. Ky skrip mund të modifikohet lehtësisht për t'iu përshtatur nevojave tuaja dhe të transferohet nga serveri në server.

Çaktivizimi i murit të zjarrit

Unë kam prekur tashmë çështjen e çaktivizimit të murit të zjarrit në temën në . Para së gjithash, çaktivizoni murin e zjarrit, i cili është i pranishëm në centos 7 si parazgjedhje menjëherë pas instalimit:

# systemctl ndaloni murin e zjarrit

Tani do ta heqim atë nga fillimi në mënyrë që të mos ndizet përsëri pas rinisjes:

# systemctl çaktivizon murin e zjarrit

Pas kësaj, cilësimet e murit të zjarrit në server hapen plotësisht. Ju mund të shikoni rregullat iptables me komandën:

Instalimi i iptables

Në fakt, muri i zjarrit në serverin tonë është tashmë në funksion, thjesht nuk ka rregulla, gjithçka është e hapur. Do të na duhet të instalojmë shërbime shtesë të menaxhimit, pa të cilat është e pamundur të konfigurosh iptables. Për shembull, nuk do të jetë e mundur të rindizni murin e zjarrit:

# systemctl rinis iptables.service Dështoi në lëshimin e thirrjes së metodës: ngarkimi i njësisë iptables.service dështoi: Nuk ka skedar ose drejtori të tillë.

Ose shtimi në autorun nuk do të funksionojë:

# systemctl enable iptables.service Dështoi në lëshimin e thirrjes së metodës: Nuk ka skedar ose drejtori të tillë

Për të shmangur gabime të tilla, instaloni paketën e nevojshme me shërbimet:

# yum -y instaloni iptables-services

Tani mund të shtoni iptables në ngarkim automatik dhe të ekzekutoni:

# systemctl aktivizo iptables.service # systemctl nis iptables.service

Cilësimet e murit të zjarrit

Unë përdor një skript për të menaxhuar rregullat e murit të zjarrit. Le ta krijojmë atë:

# mcedit /etc/iptables.sh

Më pas, do ta plotësojmë me rregullat e nevojshme. Unë do të analizoj të gjitha pjesët domethënëse të skenarit, dhe Do ta jap të plotë në formën e një skedari teksti në fund të artikullit. Rregullat janë bërë në formën e fotografive për të ndaluar kopjimin dhe ngjitjen. Kjo mund të çojë në gabime në funksionimin e rregullave, të cilat unë vetë kam hasur gjatë përgatitjes së artikullit.

Ne do të shqyrtojmë situatën kur serveri është porta e internetit për rrjetin lokal.

Para së gjithash, le të vendosim të gjitha variablat që do të përdorim në skript. Kjo nuk kërkohet, por rekomandohet sepse është i përshtatshëm për të transferuar cilësimet nga serveri në server. Do të jetë e mjaftueshme vetëm për të ricaktuar variablat.

Para se të aplikoni rregullat e reja, pastroni të gjithë zinxhirët:

Ne bllokojmë të gjithë trafikun që nuk përputhet me asnjë nga rregullat:

Lejo të gjithë trafikun localhost dhe localhost:

Ne lejojmë ping:

Nëse nuk ju nevojitet, atëherë mos shtoni rregullat e lejimit për icmp.

Ne hapim qasjen në internet në vetë serverin:

Nëse dëshironi të hapni të gjitha lidhjet hyrëse të serverit, atëherë shtoni rregullin e mëposhtëm:

Tani le të shtojmë mbrojtjen kundër sulmeve më të zakonshme të rrjetit. Le të hedhim së pari të gjitha paketat që nuk kanë status:

Bllokimi i paketave null:

Mbyllja nga sulmet syn-flood:

Nëse nuk vendosni kufizime për hyrjen nga rrjeti lokal, atëherë ne i lejojmë të gjithë të hyjnë në internet:

Tjetra, ne ndalojmë hyrjen nga interneti në rrjetin lokal:

Në mënyrë që rrjeti ynë lokal të përdorë internetin, ne aktivizojmë nat:

Për të mos humbur aksesin në server, pas zbatimit të rregullave, ne lejojmë lidhjet përmes ssh:

Dhe në fund ne shkruajmë rregullat në mënyrë që ato të zbatohen pas një rindezjeje:

Ne kemi përpiluar një konfigurim të thjeshtë që bllokon të gjitha lidhjet hyrëse përveç ssh dhe lejon hyrjen nga rrjeti lokal në internet. Gjatë rrugës, ne u mbrojtëm kundër disa sulmeve në rrjet.

Ruani skriptin, bëjeni të ekzekutueshëm dhe ekzekutoni:

# chmod 0740 /etc/iptables.sh # /etc/iptables.sh

Le të shqyrtojmë rregullat dhe të kontrollojmë nëse të gjitha rregullat janë në vend:

# iptables -L -v -n

Unë tërheq vëmendjen tuaj - duhet të zbatoni rregullat vetëm nëse keni akses në tastierën e serverit. Nëse bëni një gabim në cilësimet, mund të humbni aksesin. Sigurohuni që në një situatë urgjente mund të fikni murin e zjarrit dhe të rregulloni cilësimet.

Hapja e porteve

Tani le të zgjerojmë pak konfigurimin tonë dhe të hapim portat në iptables për disa shërbime. Le të themi se kemi një server në internet që funksionon dhe duhet të hapim akses në të nga Interneti. Shtoni rregulla për trafikun në internet:

Është shtuar leja për lidhjet hyrëse në portat e 80-të dhe 443-të, të cilat serveri në internet përdor në punën e tij.

Nëse keni të instaluar një server poste, atëherë duhet të lejoni lidhjet hyrëse me të në të gjitha portat e përdorura:

Për funksionimin e saktë të serverit DNS, duhet të hapni portin UDP 53

Përcjellja e portit

Konsideroni një situatë ku duhet të kryeni përcjelljen e portit nga një ndërfaqe e jashtme në një kompjuter në rrjetin lokal. Le të themi se duhet të merrni akses rdp në kompjuterin 10.1.3.50 nga Interneti. Përcjellja e portit TCP 3389:

Nëse nuk dëshironi të shkëlqeni jashtë me një port të njohur, atëherë mund të ridrejtoni nga një port jo standard në portin rdp të kompjuterit të synuar:

Nëse jeni duke përcjellë një port nga jashtë në brendësi të rrjetit lokal, atëherë sigurohuni që të komentoni rregullin që bllokon aksesin nga rrjeti i jashtëm në atë të brendshëm. Në shembullin tim, ky rregull është: $IPT -A PËRPARA -i $WAN -o $LAN1 -j REJECT

Ose, përpara këtij rregulli, krijoni një rregull lejimi për akses të jashtëm në shërbimin e brendshëm, për shembull si ky:

$IPT -A PËRPARA -i $WAN -d 10.1.3.50 -p tcp -m tcp --dport 3389 -j PRANO

Aktivizo regjistrat

Gjatë konfigurimit, është e dobishme të aktivizoni regjistrat për të monitoruar paketat e bllokuara dhe për të gjetur pse nuk ka qasje në shërbimet e nevojshme që duket se i kemi hapur tashmë. I dërgoj të gjitha paketat e bllokuara në zinxhirë të veçantë (block_in, block_out, block_fw) që korrespondojnë me drejtimin e trafikut dhe shënoj çdo drejtim në regjistrat. Pra, është më e përshtatshme për të bërë debriefing. Shtoni rregullat e mëposhtme në fund të skenarit, përpara se të ruani cilësimet:

Mund të gjurmoni të gjitha paketat e bllokuara në skedarin /var/log/messages.

Pasi të keni përfunduar konfigurimin, komentoni këto rreshta për të çaktivizuar regjistrimin. Duhet ta bëni patjetër këtë, pasi shkrimet rriten shumë shpejt. Unë personalisht nuk shoh ndonjë kuptim praktik në ruajtjen e një informacioni të tillë.

Si të çaktivizoni iptables

Nëse papritmas vendosni se nuk keni më nevojë për një mur zjarri, atëherë mund ta çaktivizoni si më poshtë:

# systemctl ndal iptables.service

Kjo komandë ndalon murin e zjarrit. Dhe sa vijon heq nga ngarkimi automatik:

# systemctl çaktivizoni iptables.service

Duke çaktivizuar murin e zjarrit, ne lejuam të gjitha lidhjet.

konkluzioni

Siç u premtova, po postoj një skenar të përfunduar me grupin kryesor të rregullave që kemi shqyrtuar

Dua të tërheq edhe një herë vëmendjen tuaj për faktin se kur vendosni iptables, duhet të jeni jashtëzakonisht të kujdesshëm. Mos e nisni këtë biznes nëse nuk keni akses në tastierën e serverit. Edhe në kohën e shkrimit të këtij artikulli, humba aksesin në server për shkak të një gabimi qesharak në rregulla. Ky gabim lindi për shkak të kopjimit dhe humbjes së një vize të dyfishtë - ai u zëvendësua nga një i vetëm.

Kursi online i Linux Administrator në OTUS. Kursi nuk është për fillestarët, për pranim ju nevojiten njohuri bazë të rrjeteve dhe instalimit të Linux në një makinë virtuale. Trajnimi zgjat 5 muaj, pas së cilës të diplomuarit e suksesshëm të kursit do të mund të intervistohen nga partnerët. Çfarë do t'ju japë ky kurs:

  • Njohuri të arkitekturës Linux.
  • Zotërimi i metodave dhe mjeteve moderne për analizën dhe përpunimin e të dhënave.
  • Aftësia për të zgjedhur një konfigurim për detyrat e nevojshme, për të menaxhuar proceset dhe për të siguruar sigurinë e sistemit.
  • Aftësi në mjetet bazë të punës së një administratori të sistemit.
  • Kuptimi i vendosjes, konfigurimit dhe mirëmbajtjes së rrjeteve të bazuara në Linux.
  • Aftësia për të zgjidhur shpejt problemet e shfaqura dhe për të siguruar funksionim të qëndrueshëm dhe të pandërprerë të sistemit.
Provoni veten në testin pranues dhe shikoni programin për më shumë detaje.

Zonat

Daemon firewalld menaxhon grupe rregullash duke përdorur të ashtuquajturat zona.

Zonat janë në thelb grupe rregullash që rregullojnë trafikun bazuar në nivelin e besimit në një rrjet të caktuar. Zonat u caktohen ndërfaqeve të rrjetit dhe kontrollojnë sjelljen e murit të zjarrit.

Kompjuterët që lidhen shpesh me rrjete të ndryshme (si laptopët) mund të përdorin zona për të ndryshuar grupet e rregullave bazuar në mjedisin e tyre. Për shembull, kur lidheni me një rrjet publik WiFi, muri i zjarrit mund të zbatojë rregulla më të rrepta, duke lehtësuar kufizimet në një rrjet shtëpiak.

Zonat e mëposhtme ekzistojnë në murin e zjarrit:

  • rënie: Niveli më i ulët i besimit në rrjet. I gjithë trafiku në hyrje hiqet pa përgjigje, mbështeten vetëm lidhjet dalëse.
  • bllok: Kjo zonë është e ngjashme me atë të mëparshme, por kërkesat hyrëse hidhen me një mesazh icmp-host-prohibited ose icmp6-adm-prohibited.
  • publike: Kjo zonë përfaqëson një rrjet publik që nuk mund t'i besohet, por pranon lidhjet hyrëse rast pas rasti.
  • e jashtme: zona e rrjeteve të jashtme. Mbështet maskimin NAT, i cili e mban rrjetin e brendshëm të mbyllur, por ende të aksesueshëm.
  • i brendshëm: ana e pasme e zonës së jashtme, rrjetet e brendshme. Kompjuterët në këtë zonë mund të besohen. Shërbimet shtesë janë në dispozicion.
  • dmz: përdoret për kompjuterët e vendosur në DMZ (kompjuterë të izoluar që nuk do të kenë akses në pjesën tjetër të rrjetit); mbështet vetëm disa lidhje hyrëse.
  • punë: zona e rrjetit të punës. Shumica e makinave në rrjet mund të besohen. Shërbimet shtesë janë në dispozicion.
  • shtëpia: zona e rrjetit të shtëpisë. Mjedisi mund të besohet, por mbështeten vetëm lidhjet hyrëse të përcaktuara nga përdoruesi.
  • besuar: Të gjitha makinat në rrjet mund të besohen.

Rregullat e ruajtjes

Rregullat e murit të zjarrit janë ose të përhershme ose të përkohshme. Nëse shfaqet ndonjë rregull ose ndryshon në grup, sjellja aktuale e murit të zjarrit ndryshon menjëherë. Megjithatë, pas një rindezjeje, të gjitha ndryshimet do të humbasin nëse nuk ruhen.

Shumica e komandave firewall-cmd mund të përdorin flamurin --permanent, i cili do të ruajë rregullin, pas së cilës ai do të përdoret përgjithmonë.

Aktivizimi i murit të zjarrit të murit të zjarrit

Së pari ju duhet të aktivizoni demonin. Skedari i njësisë systemd quhet firewalld.service. Për të nisur demonin, shkruani.

sudo systemctl start firewalld.service

Sigurohuni që shërbimi po funksionon:

firewall-cmd --state
vrapimi

Muri i zjarrit është tani dhe funksionon sipas konfigurimit të paracaktuar.

Shërbimi është aktivizuar aktualisht, por nuk do të fillojë automatikisht me serverin. Për të shmangur bllokimin aksidental të vetes në serverin tuaj, së pari krijoni një grup rregullash dhe më pas konfiguroni nisjen automatike.

Rregullat e parazgjedhura të murit të zjarrit

Shikoni rregullat e paracaktuara

Për të zbuluar se cila zonë është e paracaktuar, shkruani:

firewall-cmd --get-default-zone
publike

Për momentin, firewalld nuk ka marrë asnjë udhëzim në lidhje me zonat e tjera, përveç kësaj, asnjë ndërfaqe nuk është e lidhur me zona të tjera, kështu që tani zona publike është zona e paracaktuar, si dhe zona e vetme aktive.

Për të marrë një listë të zonave aktive, futni:


publike
ndërfaqet: eth0 eth1

Ekzistojnë dy ndërfaqe rrjeti të lidhura në zonën publike: eth0 dhe eth1. Ndërfaqet e lidhura me një zonë funksionojnë sipas rregullave të asaj zone.

Për të parë se cilat rregulla përdor një zonë si parazgjedhje, shkruani:

firewall-cmd --list-të gjitha
publike (e parazgjedhur, aktive)
ndërfaqet: eth0 eth1
burimet:
shërbimet: dhcpv6-klient ssh
portet:
maskaradë: jo
portet përpara:
blloqet icmp:
rregullat e pasura:

Pra, tani ju e dini se:

  • public është zona e paracaktuar dhe e vetmja zonë aktive.
  • Ndërfaqet eth0 dhe eth1 janë të lidhura me të.
  • Ai mbështet trafikun DHCP (caktimi i adresës IP) dhe SSH (administrimi në distancë).

Zona të tjera të murit të zjarrit

Tani duhet të njiheni me zona të tjera.

Për të marrë një listë të të gjitha zonave të disponueshme, shkruani:

firewall-cmd --get-zones

Për të marrë cilësimet për një zonë specifike, shtoni në komandë flamurin --zone=.

firewall-cmd --zone=home --list-të gjitha
në shtëpi
ndërfaqet:
burimet:
shërbimet: dhcpv6-klient ipp-klient mdns samba-klient ssh
portet:
maskaradë: jo
portet përpara:
blloqet icmp:
rregullat e pasura:

Për të renditur përkufizimet e të gjitha zonave të disponueshme, shtoni opsionin --list-all-zones. Për shikim më të përshtatshëm, dalja mund t'i kalohet pagerit:

firewall-cmd --list-të gjitha-zonat | më pak

Konfigurimi i zonave të ndërfaqes

Fillimisht, të gjitha ndërfaqet e rrjetit janë të lidhura me zonën e paracaktuar.

Ndryshimi i zonës së ndërfaqes për një seancë

Për të ndryshuar një ndërfaqe në një zonë tjetër për një sesion, përdorni opsionet --zone= dhe --change-interface=.

Për shembull, për të zhvendosur eth0 në zonën kryesore, duhet të shkruani:

sudo firewall-cmd --zone=home --change-interface=eth0
sukses

shënim: Kur transferoni një ndërfaqe në një zonë tjetër, kini parasysh se kjo mund të ndikojë në funksionimin e disa shërbimeve. Për shembull, zona kryesore mbështet SSH, kështu që lidhjet me këtë shërbim nuk do të hiqen. Por disa zona heqin të gjitha lidhjet, duke përfshirë SSH, dhe më pas ju mund të bllokoni aksidentalisht veten nga qasja në serverin tuaj.

Për të verifikuar që ndërfaqja është e lidhur me zonën e re, shkruani:

firewall-cmd --get-active-zones
në shtëpi
ndërfaqet: eth0
publike
ndërfaqet: eth1

Pas rinisjes së murit të zjarrit, ndërfaqja do të lidhet përsëri në zonën e paracaktuar.

sudo systemctl rinis firewalld.service
firewall-cmd --get-active-zones
publike
ndërfaqet: eth0 eth1

Ndryshimi i përhershëm i zonës së ndërfaqes

Nëse asnjë zonë tjetër nuk është specifikuar në cilësimet e ndërfaqes, pas rinisjes së murit të zjarrit, ndërfaqja do të lidhet përsëri në zonën e paracaktuar. Në CentOS, konfigurime të tilla ruhen në drejtorinë /etc/sysconfig/network-scripts, në skedarë të formatit ifcfg-interface.

Për të përcaktuar një zonë për një ndërfaqe, hapni skedarin e konfigurimit të ndërfaqes, për shembull:

Shtoni variablin ZONE= në fund të skedarit dhe specifikoni një zonë tjetër si vlerë, për shembull, home:

. . .
DNS1=2001:4860:4860::8844
DNS2=2001:4860:4860::8888
DNS3=8.8.8.8
ZONE=shtëpi

Ruani dhe mbyllni skedarin.

Për të përditësuar cilësimet, rinisni shërbimin e rrjetit dhe murin e zjarrit:

sudo systemctl rinis shërbimin e rrjetit
sudo systemctl rinis firewalld.service

Pas rinisjes, ndërfaqja eth0 do të lidhet me zonën kryesore.

firewall-cmd --get-active-zones
në shtëpi
ndërfaqet: eth0
publike
ndërfaqet: eth1

Cilësimi i zonës së parazgjedhur

Ju gjithashtu mund të zgjidhni një zonë tjetër të paracaktuar.

Kjo bëhet duke përdorur parametrin --set-default-zone=. Pas kësaj, të gjitha ndërfaqet do të lidhen në një zonë tjetër:

sudo firewall-cmd --set-default-zone=home
në shtëpi
ndërfaqet: eth0 eth1

Krijoni Rregullat e Aplikimit

Shtimi i një shërbimi në një zonë

Mënyra më e lehtë është të shtoni shërbimin ose portin në zonën që përdor muri i zjarrit. Shikoni shërbimet e disponueshme:

firewall-cmd --get-services
RH-Satellite-6 amanda-klient bacula bacula-klient dhcp dhcpv6 dhcpv6-klient dns ftp disponueshmëria e lartë http https imaps ipp ipp-klient ipsec kerberos kpasswd ldap ldaps libvirt libvirt mountpvpmsd postgresql proxy-dhcp rreze rpc-lidh samba samba-klient smtp ssh telnet tftp tftp-transmetim i klientit-klient vnc-server wbem-https

shënim: Më shumë informacion për çdo shërbim specifik mund të gjenden në skedarët .xml në drejtorinë /usr/lib/firewalld/services. Për shembull, informacioni rreth shërbimit SSH ruhet në /usr/lib/firewalld/services/ssh.xml dhe duket si ky:



SSH

Për të aktivizuar mbështetjen për një shërbim në një zonë të caktuar, përdorni opsionin --add-service=. Ju mund të specifikoni zonën e synuar me opsionin --zone=. Si parazgjedhje, këto ndryshime do të funksionojnë për një seancë. Për të ruajtur ndryshimet dhe për t'i përdorur ato përgjithmonë, shtoni flamurin --permanent.

Për shembull, për të nisur një server në internet për të shërbyer trafikun HTTP, së pari duhet të aktivizoni mbështetjen për këtë trafik në zonën publike për një seancë:

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

Nëse shërbimi duhet të shtohet në zonën e paracaktuar, flamuri --zone= mund të hiqet.

Verifikoni që operacioni ishte i suksesshëm:

firewall-cmd --zone=public --list-services
klienti dhcpv6 http ssh

Testoni funksionimin e shërbimit dhe murit të zjarrit. Nëse gjithçka funksionon si duhet, mund të ndryshoni grupin e rregullave të përhershme dhe t'i shtoni një rregull për të mbështetur këtë shërbim.

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

Për të parë një listë të rregullave të përhershme, shkruani:

sudo firewall-cmd --zone=public --permanent --list-services
klienti dhcpv6 http ssh

Zona publike tani mbështet HTTP dhe portin 80 përgjithmonë. Nëse serveri në internet mund të shërbejë trafikun SSL/TLS, mund të shtoni gjithashtu shërbimin https (për një seancë të vetme ose në një grup rregullash të përhershme):

sudo firewall-cmd --zone=public --add-service=https
sudo firewall-cmd --zone=public --permanent --add-service=https

Çfarë duhet të bëni nëse shërbimi i dëshiruar nuk është i disponueshëm?

Firewall-i i zjarrit përfshin shumë nga shërbimet më të zakonshme si parazgjedhje. Megjithatë, disa aplikacione kërkojnë shërbime që nuk mbështeten nga muri i zjarrit. Në këtë rast, ju mund ta bëni atë në dy mënyra.

Metoda 1: Vendosja e portit

Mënyra më e lehtë në këtë situatë është hapja e portës së aplikacionit në zonën e kërkuar të murit të zjarrit. Thjesht duhet të specifikoni portin ose gamën e porteve dhe protokollin.

Për shembull, një aplikacion që përdor portin 5000 dhe TCP duhet të shtohet në zonën publike. Për të aktivizuar mbështetjen e aplikacionit për sesion, përdorni parametrin --add-port= dhe specifikoni protokollin tcp ose udp.

sudo firewall-cmd --zone=public --add-port=5000/tcp

Verifikoni që operacioni ishte i suksesshëm:

firewall-cmd --list-portet
5000/tcp

Ju gjithashtu mund të specifikoni një gamë serike portash duke ndarë portin e parë dhe të fundit të diapazonit me një vizë. Për shembull, nëse aplikacioni përdor portat UDP 4990-4999, për t'i shtuar ato në zonën publike, do të shkruani:

sudo firewall-cmd --zone=public --add-port=4990-4999/udp

Pas testimit, mund t'i shtoni këto rregulla në cilësimet e përhershme të murit të zjarrit.

sudo firewall-cmd --zone=public --permanent --add-port=5000/tcp
sudo firewall-cmd --zone=public --permanent --add-port=4990-4999/udp
sudo firewall-cmd --zone=public --permanent --list-ports
sukses
sukses
4990-4999/udp 5000/tcp

Metoda 2: Përkufizimi i shërbimit

Shtimi i porteve në zona është i lehtë, por nëse keni shumë nga këto aplikacione, mund të jetë e vështirë të mbani gjurmët se për çfarë shërben secili port. Për të shmangur këtë situatë, mund të përcaktoni shërbime në vend të porteve.

Shërbimet janë thjesht koleksione portash me një emër dhe përshkrim specifik. Shërbimet janë më të lehta për të menaxhuar cilësimet, por ato janë më komplekse se vetë portet.

Hapi i parë është të kopjoni skriptin ekzistues nga drejtoria /usr/lib/firewalld/services në drejtorinë /etc/firewalld/services (këtu muri i zjarrit kërkon cilësimet e personalizuara).

Për shembull, mund të kopjoni përkufizimin e shërbimit SSH dhe ta përdorni për të përcaktuar shembullin e shërbimit të kushtëzuar. Emri i skriptit duhet të përputhet me emrin e shërbimit dhe të ketë një shtesë .xml.

sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml

Redaktoni skedarin e kopjuar.

sudo nano /etc/firewalld/services/shembull.xml

Skedari përmban përkufizimin SSH:



SSH
Secure Shell (SSH) është një protokoll për hyrjen dhe ekzekutimin e komandave në makinat e largëta. Ai siguron komunikime të sigurta të koduara. Nëse planifikoni të hyni në kompjuterin tuaj nga distanca nëpërmjet SSH përmes një ndërfaqe me mur zjarri, aktivizoni këtë opsion. Ju duhet të instaluar paketën openssh-server që ky opsion të jetë i dobishëm.

Një pjesë e madhe e përkufizimit të një shërbimi janë meta të dhënat. Ju mund të ndryshoni emrin e shkurtër të shërbimit në etiketa . Ky është emri i shërbimit të lexueshëm nga njeriu. Ju gjithashtu duhet të shtoni një përshkrim të shërbimit. Ndryshimi i vetëm që do të ndikojë në funksionimin e shërbimit është një ndryshim në numrin e portit dhe protokollin.

Le të kthehemi te shembulli i shërbimit; le të themi se kërkon që të hapet porta TCP 7777 dhe porta UDP 8888. Përkufizimi do të duket si ky:



Shembull Sherbimi
Ky është vetëm një shembull shërbimi. Ndoshta nuk duhet të përdoret në një sistem real.

Ruani dhe mbyllni skedarin.

Rinisni murin e zjarrit:

sudo firewall-cmd --ringarkoj

Shërbimi tani do të shfaqet në listën e shërbimeve të disponueshme:

firewall-cmd --get-services
RH-Satellite-6 amanda-klient bacula bacula-klient dhcp dhcpv6 dhcpv6-klient dns shembull ftp me disponueshmëri të lartë http https imaps ipp ipp-klient ipsec kerberos kpasswd ldap ldaps libdvirt-pmspntdt hapur pmwebapi pmwebapis pop3s postgresql proxy-dhcp rreze rpc-lidh samba samba-klient smtp ssh telnet tftp tftp-transmetim i klientit-klient vnc-server wbem-https

Krijimi i zonave

Firewall ofron shumë zona të paracaktuara, të cilat në shumicën e rasteve janë të mjaftueshme për të punuar. Por në disa situata, bëhet e nevojshme të krijohet një zonë me porosi.

Për shembull, mund të krijoni një zonë ueb publike për një server në internet dhe një zonë privateDNS për një shërbim DNS.

Kur krijoni një zonë, duhet ta shtoni atë në cilësimet e përhershme të murit të zjarrit.

Provoni të krijoni zonat e internetit publike dhe private DNS:

sudo firewall-cmd --permanent --new-zone=publicweb
sudo firewall-cmd --permanent --new-zone=privateDNS

Verifikoni që zonat ekzistojnë:

sudo firewall-cmd --permanent --get-zones

Në sesionin aktual, zonat e reja nuk do të jenë të disponueshme:

firewall-cmd --get-zones
bllok dmz rënie e jashtme në shtëpi punë e brendshme e besueshme publike

Për të hyrë në zonat e reja, duhet të rinisni murin e zjarrit:

sudo firewall-cmd --ringarkoj
firewall-cmd --get-zones
blloko dmz lësho shtëpinë e jashtme të brendshme privateDNS publike në ueb publike punë e besuar

Tani mund të caktoni shërbimet dhe portat e kërkuara në zonat e reja. Për shembull, mund të shtoni SSH, HTTP dhe HTTPS në zonën e uebit publik.

sudo firewall-cmd --zone=publicweb --add-service=ssh
sudo firewall-cmd --zone=publicweb --add-service=http
sudo firewall-cmd --zone=publicweb --add-service=https
firewall-cmd --zone=publicweb --list-all
ueb publik
ndërfaqet:
burimet:
shërbimet: http https ssh
portet:
maskaradë: jo
portet përpara:
blloqet icmp:
rregullat e pasura:

Ju mund të shtoni DNS në zonën privateDNS:

sudo firewall-cmd --zone=privateDNS --add-service=dns
firewall-cmd --zone=privateDNS --list-all
privateDNS
ndërfaqet:
burimet:
shërbimet: dns
portet:
maskaradë: jo
portet përpara:
blloqet icmp:
rregullat e pasura:

Më pas mund të lidhni ndërfaqet e rrjetit me zonat e reja:

sudo firewall-cmd --zone=publicweb --change-interface=eth0
sudo firewall-cmd --zone=privateDNS --change-interface=eth1

Tani mund të provoni konfigurimin. Nëse gjithçka funksionon si duhet, mund t'i shtoni këto rregulla në cilësimet e përhershme.

sudo firewall-cmd --zone=publicweb --permanent --add-service=ssh
sudo firewall-cmd --zone=publicweb --permanent --add-service=http
sudo firewall-cmd --zone=publicweb --permanent --add-service=https
sudo firewall-cmd --zone=privateDNS --permanent --add-service=dns

Më pas mund të konfiguroni ndërfaqet e rrjetit për t'u lidhur automatikisht me zonën e duhur.

Për shembull, eth0 do të lidhet me ueb-in publik:

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
. . .
IPV6_AUTOCONF=nr
DNS1=2001:4860:4860::8844
DNS2=2001:4860:4860::8888
DNS3=8.8.8.8
ZONE=ueb publik

Dhe ndërfaqja eth1 do të lidhet me privateDNS:

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth1
. . .
NETMASK=255.255.0.0
DEFROUTE = "jo"
NM_CONTROLLED="po"
ZONE=DNS private

Rinisni shërbimet e rrjetit dhe murin e zjarrit:

sudo systemctl rinisni rrjetin
sudo systemctl rinisni murin e zjarrit

Kontrolloni zonat:

firewall-cmd --get-active-zones
privateDNS
ndërfaqet: eth1
ueb publik
ndërfaqet: eth0

Verifikoni që shërbimet e kërkuara po funksionojnë në zonat:

firewall-cmd --zone=publicweb --list-services
http http ssh
firewall-cmd --zone=privateDNS --list-services
dns

Zonat e përdoruesve janë plotësisht funksionale. Ju mund ta bëni cilindo prej tyre zonën e paracaktuar. Për shembull:

sudo firewall-cmd --set-default-zone=publicweb

Fillimi automatik i murit të zjarrit

Tani që i keni kontrolluar të gjitha cilësimet dhe jeni siguruar që të gjitha rregullat po funksionojnë siç pritej, mund ta vendosni murin e zjarrit në autostart.

Për ta bërë këtë, futni:

sudo systemctl aktivizoni murin e zjarrit

Firewall tani do të fillojë me serverin.

konkluzioni

Firewall i firewalld është një mjet shumë fleksibël. Zonat ju lejojnë të ndryshoni shpejt politikën e murit të zjarrit.

Tani e dini se si funksionon muri i zjarrit, jeni njohur me konceptet bazë të një muri zjarri, mund të krijoni zona me porosi dhe të shtoni shërbime.

Etiketa: ,

Artikujt kryesorë të lidhur