Ang firewall na naka-install sa operating system ay ginagamit upang maiwasan ang hindi awtorisadong trapiko sa pagitan ng mga network ng computer. Manu-manong o awtomatikong lumilikha ng mga espesyal na panuntunan para sa firewall, na responsable para sa kontrol ng access. Sa OS, na binuo sa Linux kernel, CentOS 7 mayroong built-in firewall, at ito ay kinokontrol ng firewall. Ang default na firewalld ay kasangkot, at nais naming pag-usapan ito ngayon.
Ipasadya ang firewall sa CentOS 7.
Tulad ng nabanggit sa itaas, ang karaniwang firewall sa CentOS 7 ay itinalaga ng firewalld utility. Iyon ang dahilan kung bakit ang setting ng firewall ay isasaalang-alang sa halimbawa ng tool na ito. Maaari mong itakda ang mga panuntunan sa pag-filter na may parehong mga iptables, ngunit ito ay ginagawang bahagyang naiiba. Inirerekumenda namin ang iyong sarili sa pagsasaayos ng nabanggit na utility sa pamamagitan ng pag-click sa sumusunod na link, at sisimulan namin ang disassembly ng firewalld.Kung minsan ay pansamantala o permanenteng huwag paganahin ang firewall, pinapayo namin sa iyo na gamitin ang mga tagubilin na ipinakita sa iba pang artikulo sa pamamagitan ng sumusunod na link.
Magbasa nang higit pa: Huwag paganahin ang firewall sa CentOS 7.
Tingnan ang mga default na panuntunan at abot-kayang zone.
Kahit na ang regular na firewall ay may sariling tiyak na mga panuntunan at naa-access na mga zone. Bago simulan ang pag-edit ng politiko, pinapayo namin sa iyo na maging pamilyar sa kasalukuyang configuration. Ginagawa ito gamit ang mga simpleng utos:
- Matutukoy ng default zone ang firewall-cmd -get-default-zone command.
- Matapos ang pag-activate nito, makikita mo ang isang bagong string kung saan ipapakita ang nais na parameter. Halimbawa, ang "pampublikong" zone ay isinasaalang-alang sa screenshot sa ibaba.
- Gayunpaman, ang ilang mga zone ay maaaring aktibo kaagad, bukod sa, sila ay nakatali sa isang hiwalay na interface. Alamin ang impormasyong ito sa pamamagitan ng firewall-cmd --get-active-zone.
- Ang Firewall-CMD - lahat ng utos ay magpapakita ng mga panuntunan na itinakda para sa default na zone. Bigyang-pansin ang screenshot sa ibaba. Nakikita mo na ang aktibong zone na "Public" ay itinalaga sa "default" na panuntunan - ang default na function, ang interface ng ENP0S3 at dalawang serbisyo ay idinagdag.
- Kung kailangan mong malaman ang lahat ng magagamit na mga zone ng firewall, ipasok ang firewall-cmd --get-zone.
- Ang mga parameter ng partikular na zone ay tinukoy sa pamamagitan ng firewall-cmd --zone = pangalan - lahat, kung saan ang pangalan ay ang pangalan ng zone.
Matapos matukoy ang mga kinakailangang parameter, maaari kang lumipat sa kanilang pagbabago at karagdagan. Pag-aralan natin ang ilan sa mga pinakasikat na kumpigurasyon nang detalyado.
Pag-set up ng mga zone ng interface
Tulad ng alam mo mula sa impormasyon sa itaas, ang iyong default zone ay tinukoy para sa bawat interface. Ito ay nasa ito hanggang baguhin ng mga setting ang user o programming. Posible na manu-manong ilipat ang interface sa zone sa bawat sesyon, at ito ay isinasagawa sa pamamagitan ng pag-activate ng sudo firewall-cmd --zone = home command --change-interface = eth0. Ang resulta ng "tagumpay" ay nagpapahiwatig na ang paglipat ay matagumpay. Alalahanin na ang mga naturang setting ay agad na i-reset pagkatapos mag-reboot ng firewall.
Sa ganitong pagbabago sa mga parameter, dapat itong isipin na ang pagpapatakbo ng mga serbisyo ay maaaring i-reset. Ang ilan sa kanila ay hindi sumusuporta sa paggana sa ilang mga zone, sabihin nating, ssh bagaman naa-access sa "bahay", ngunit sa gumagamit o espesyal na serbisyo ay gagana. Siguraduhin na ang interface ay matagumpay na nakatali sa bagong sangay, sa pamamagitan ng pagpasok ng firewall-cmd --get-active-zone.
Kung nais mong i-reset ang mga naunang ginawa setting, patakbuhin lamang ang restart ng firewall: sudo systemctl restart firewalld.service.
Minsan hindi laging maginhawa upang baguhin ang interface zone sa isang sesyon lamang. Sa kasong ito, kakailanganin mong i-edit ang configuration file upang ang lahat ng mga setting ay enameled sa isang permanenteng batayan. Upang gawin ito, ipinapayo namin sa iyo na gamitin ang Nano Text Editor, na naka-install mula sa opisyal na imbakan ng Sudo Yum I-install ang Nano. Susunod ay nananatiling tulad ng mga pagkilos:
- Buksan ang configuration file sa pamamagitan ng editor sa pamamagitan ng pagpasok ng sudo nano / etc / sysconfig / network-script / IFCFG-eth0, kung saan ang et0 ay ang pangalan ng kinakailangang interface.
- Kumpirmahin ang pagpapatunay ng iyong account upang magsagawa ng karagdagang mga pagkilos.
- Layout ang parameter na "Zone" at baguhin ang halaga nito sa ninanais, halimbawa, pampubliko o tahanan.
- Hawakan ang CTRL + O key upang i-save ang mga pagbabago.
- Huwag baguhin ang pangalan ng file, ngunit i-click lamang sa Enter.
- Lumabas sa text editor sa pamamagitan ng Ctrl + X.
Ngayon ang interface zone ay ang isa na iyong tinukoy, hanggang sa susunod na pag-edit ng configuration file. Para sa na-update na mga parameter, magpatakbo ng sudo systemctl restart network.service at sudo systemctl restart firewalld.service.
Pagtatakda ng default na zone
Sa itaas, nagpakita na kami ng isang koponan na nagbibigay-daan sa iyo upang malaman ang default na zone. Maaari rin itong mabago sa pamamagitan ng pagtatakda ng parameter sa iyong pinili. Upang gawin ito, sa console, sapat na upang magrehistro ng sudo firewall-cmd --sset-default-zone = pangalan, kung saan ang pangalan ay ang pangalan ng kinakailangang zone.
Ang tagumpay ng utos ay evidenced sa pamamagitan ng inskripsiyon "tagumpay" sa isang hiwalay na linya. Pagkatapos nito, ang lahat ng mga kasalukuyang interface ay ipanganak sa tinukoy na zone, kung ang iba ay hindi tinukoy sa mga configuration file.
Paglikha ng mga panuntunan para sa mga programa at mga kagamitan
Sa pinakadulo simula ng artikulo, pinag-usapan namin ang pagkilos ng bawat zone. Ang pagtukoy ng mga serbisyo, mga kagamitan at mga programa sa naturang mga sangay ay magpapahintulot na mag-aplay ng mga indibidwal na parameter para sa bawat isa sa kanila para sa bawat kahilingan ng gumagamit. Upang magsimula, ipinapayo namin sa iyo na maging pamilyar sa buong listahan ng mga serbisyo na magagamit sa sandaling ito: Firewall-CMD --get-serbisyo.
Ang resulta ay ipapakita nang direkta sa console. Ang bawat server ay nahahati sa isang puwang, at madali mong mahanap ang tool na interesado ka. Kung nawawala ang kinakailangang serbisyo, dapat itong dagdagan. Sa mga panuntunan sa pag-install, basahin sa opisyal na dokumentasyon ng software.
Ang utos sa itaas ay nagpapakita lamang ng mga pangalan ng mga serbisyo. Ang detalyadong impormasyon para sa bawat isa sa kanila ay nakuha sa pamamagitan ng indibidwal na file sa landas / USR / lib / firewalld / serbisyo. Ang ganitong mga dokumento ay may isang XML na format, ang landas, halimbawa, sa SSH ay ganito ang hitsura nito: /usr/lib/firewalld/services/ssh.xml, at ang dokumento ay may mga sumusunod na nilalaman:
Ssh.
Ang Secure Shell (SSH) ay isang protocol para sa pag-log in at pagsasagawa ng mga utos sa mga remote machine. Nagbibigay ito ng mga naka-encrypt na komunikasyon. Kung plano mong i-access ang iyong machine remotenet sa pamamagitan ng ssh sa isang firewalled interface, paganahin ang pagpipiliang ito. Kailangan mo ang package ng OpenSSH-Server na naka-install para sa pagpipiliang ito upang maging kapaki-pakinabang.
Ang suporta sa serbisyo ay aktibo sa isang partikular na zone nang manu-mano. Sa terminal, dapat mong itakda ang sudo firewall-cmd --zone = public --dd-service = http command, kung saan --zone = pampubliko ay isang activation zone, at --dd-service = http - service name. Tandaan na ang ganitong pagbabago ay may bisa lamang sa loob ng isang sesyon.
Ang permanenteng karagdagan ay isinasagawa sa pamamagitan ng sudo firewall-cmd --zone = public --permanent --dd-service = http, at ang resulta na "tagumpay" ay nagpapahiwatig ng matagumpay na pagkumpleto ng operasyon.
Maaari mong tingnan ang isang kumpletong listahan ng mga permanenteng panuntunan para sa isang tukoy na zone sa pamamagitan ng pagpapakita ng isang listahan sa isang hiwalay na linya ng console: sudo firewall-cmd --zone = pampublikong - opisyal - mga serbisyo.
Problema sa desisyon na may kakulangan ng access sa serbisyo
Ang mga panuntunan ng Standard Firewall ay ipinahiwatig ng pinakasikat at ligtas na mga serbisyo na pinahihintulutan, ngunit ang ilang mga pamantayan o mga third-party na application na ito ay mga bloke. Sa kasong ito, ang manu-manong gumagamit ay kailangang baguhin ang mga setting upang malutas ang problema sa pag-access. Maaari mong gawin ito sa dalawang magkaibang pamamaraan.
Portes port.
Tulad ng alam mo, ang lahat ng mga serbisyo ng network ay gumagamit ng isang partikular na port. Madali itong makita ng isang firewall, at maaaring isagawa ang mga bloke. Upang maiwasan ang mga naturang pagkilos mula sa firewall, kailangan mong buksan ang nais na port ng sudo firewall-cmd --zone = public - portd-port = 0000 / tcp, kung saan --zone = pampubliko ay isang port area, --dd- port = 0000 / tcp - port number at protocol. Ang pagpipiliang Firewall-CMD -List-port ay magpapakita ng isang listahan ng mga bukas na port.
Kung kailangan mong buksan ang mga port na kasama sa saklaw, gamitin ang sudo firewall-cmd string --zone = public --dd-port = 0000-9999 / udp, kung saan - Magdagdag ng port = 0000-9999 / UDP - hanay ng port at ang kanilang protocol.
Ang mga utos sa itaas ay nagpapahintulot lamang sa iyo na subukan ang paggamit ng mga katulad na parameter. Kung matagumpay na ito ay lumipas, dapat mong idagdag ang parehong mga port sa mga pare-pareho ang mga setting, at ito ay ginagawa sa pamamagitan ng pagpasok ng sudo firewall-cmd --zone = pampublikong - permanent -add-port = 0000 / tcp o sudo firewall-cmd - Zone = Public --Permanent --add-port = 0000-9999 / UDP. Ang listahan ng mga bukas na permanenteng port ay tiningnan bilang mga sumusunod: sudo firewall-cmd --zone = public --permanent - port.
Kahulugan ng serbisyo
Tulad ng makikita mo, ang pagdaragdag ng mga port ay hindi nagiging sanhi ng anumang mga paghihirap, ngunit ang pamamaraan ay kumplikado kapag ang mga application ay gumagamit ng malaking halaga. Upang masubaybayan ang lahat ng mga ginamit na port ay nagiging mahirap, dahil sa kung saan ang pagpapasiya ng serbisyo ay magiging mas tamang pagpipilian:
- Kopyahin ang configuration file sa pamamagitan ng pagsulat sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml, kung saan ang Service.xml ay ang pangalan ng file ng serbisyo, at ang example.xml ay ang Pangalan ng mga kopya nito.
- Buksan ang isang kopya upang baguhin sa pamamagitan ng anumang editor ng teksto, halimbawa, sudo nano /etc/firewalld/services/example.xml.
- Halimbawa, lumikha kami ng isang kopya ng HTTP Service. Sa dokumento, karaniwang nakikita mo ang iba't ibang metadata, halimbawa, isang maikling pangalan at paglalarawan. Nakakaapekto ito sa server upang gumana lamang ang pagbabago ng port number at protocol. Sa itaas ng string "" ay dapat idagdag upang buksan ang port. TCP - Ginamit na protocol, isang 0000 - port number.
- I-save ang lahat ng mga pagbabago (Ctrl + O), isara ang file (Ctrl + X), at pagkatapos ay i-restart ang firewall upang ilapat ang mga parameter sa pamamagitan ng sudo firewall-cmd --reload. Pagkatapos nito, lilitaw ang serbisyo sa listahan ng magagamit, na maaaring matingnan sa pamamagitan ng firewall-cmd --get-services.
Kailangan mo lamang piliin ang pinaka-angkop na solusyon sa problema sa serbisyo na may access sa serbisyo at isakatuparan ang mga tagubilin na ibinigay. Tulad ng makikita mo, ang lahat ng mga aksyon ay ginaganap nang madali, at hindi dapat maging walang kahirapan.
Paglikha ng mga pasadyang zone.
Alam mo na sa simula ng isang malaking bilang ng magkakaibang zone na may tinukoy na mga panuntunan ay nilikha sa firewalld. Gayunpaman, ang mga sitwasyon ay nangyayari kapag kailangan ng administrator ng system na lumikha ng isang user zone, tulad ng "PublicWeb" para sa naka-install na web server o "privatedns" - para sa DNS server. Sa dalawang halimbawa, susuriin natin ang pagdaragdag ng mga sanga:
- Lumikha ng dalawang bagong permanenteng zone sa pamamagitan ng sudo firewall-cmd --Permanent --New-zone = publicweb at sudo firewall-cmd --Permanent --New-zone = privatedns.
- Magiging available sila pagkatapos mag-reboot ng sudo firewall-cmd --reload tool. Upang magpakita ng mga permanenteng zone, ipasok ang sudo firewall-cmd --permanent --get-zone.
- Magtalaga sa kanila ng mga kinakailangang serbisyo, tulad ng "ssh", "http" at "https". Ang mga ito ay ginagawa ng sudo firewall-cmd --zone = PublicWeb --Add-service = ssh, sudo firewall-cmd --zone = PublicWeb --Do-Service = PublicWeb - Firewall-CMD - PublicWeb - PublicWeb - Add- Service = https, kung saan --zone = PublicWeb ay ang pangalan ng zone upang idagdag. Maaari mong tingnan ang aktibidad ng mga serbisyo sa pamamagitan ng nakabinbing firewall-cmd --zone = publicweb --list-all.
Mula sa artikulong ito, natutunan mo kung paano lumikha ng mga pasadyang zone at magdagdag ng mga serbisyo sa kanila. Sinabi na namin sa kanila bilang default at nagtatalaga ng mga interface sa itaas, maaari mo lamang tukuyin ang mga tamang pangalan. Huwag kalimutang i-restart ang firewall pagkatapos gumawa ng anumang permanenteng pagbabago.
Tulad ng makikita mo, ang Firewalld Firewall ay isang medyo volumetric tool na nagbibigay-daan sa iyo upang gawin ang pinaka-kakayahang umangkop configuration ng firewall. Ito ay nananatiling lamang upang matiyak na ang utility ay naglulunsad ng system at ang tinukoy na mga patakaran ay agad na nagsisimula sa kanilang trabaho. Gawin ito sa sudo systemctl paganahin ang firewalld command.