Android

Paano mag-set up ng isang firewall na may firewall sa sentimo 7

Setting up FirewallD on CentOS 7 How-to Video Tutorial

Setting up FirewallD on CentOS 7 How-to Video Tutorial

Talaan ng mga Nilalaman:

Anonim

Ang isang maayos na na-configure na firewall ay isa sa pinakamahalagang aspeto ng pangkalahatang seguridad ng system.

Ang FirewallD ay isang kumpletong solusyon sa firewall na namamahala sa mga patakaran ng iptables ng system at nagbibigay ng interface ng D-Bus para sa pagpapatakbo sa kanila. Simula sa CentOS 7, pinapalitan ng FirewallD ang mga iptable bilang default na tool sa pamamahala ng firewall.

Sa tutorial na ito, ipinapakita namin sa iyo kung paano mag-set up ng isang firewall na may FirewallD sa iyong CentOS 7 system at ipaliwanag sa iyo ang mga pangunahing konsepto ng FirewallD.

Mga kinakailangan

Bago ka magsimula sa tutorial na ito, siguraduhing naka-log in ka sa iyong server gamit ang isang account sa gumagamit na may mga pribilehiyo ng sudo o sa root user. Ang pinakamahusay na kasanayan ay upang magpatakbo ng mga utos ng administratibo bilang isang gumagamit ng sudo sa halip na ugat. Kung wala kang isang gumagamit ng sudo sa iyong CentOS system, maaari kang lumikha ng isa sa pamamagitan ng pagsunod sa mga tagubiling ito.

Mga Pangunahing Konsepto sa Firewalld

Ginagamit ng FirewallD ang mga konsepto ng mga zone at serbisyo, sa halip na mga chain at mga panuntunan ng iptable. Batay sa mga zone at serbisyo na iyong mai-configure, maaari mong kontrolin kung ano ang pinapayagan o pinapayagan ang trapiko at mula sa system.

Ang FirewallD ay maaaring mai-configure at pinamamahalaang gamit ang utility na linya ng command- firewall-cmd .

Mga Firewalld Zones

Ang mga zone ay tinukoy na mga hanay ng mga patakaran na tinukoy kung ano ang dapat pahintulutan ang trapiko batay sa antas ng tiwala sa mga network na konektado sa iyong computer. Maaari kang magtalaga ng mga interface ng network at mga mapagkukunan sa isang zone.

Nasa ibaba ang mga zone na ibinigay ng FirewallD na iniutos ayon sa antas ng tiwala ng zone mula sa hindi mapagkakatiwalaan hanggang sa pinagkakatiwalaan:

  • drop: Ang lahat ng mga papasok na koneksyon ay bumaba nang walang anumang abiso. Ang mga papalabas na koneksyon lamang ang pinapayagan. block: Ang lahat ng mga papasok na koneksyon ay tinatanggihan ng isang icmp-host-prohibited mensahe para sa IPv4 at icmp6-adm-prohibited para sa IPv6n. Ang mga papalabas na koneksyon lamang ang pinapayagan. pampubliko: Para magamit sa hindi mapagkakatiwalaang mga pampublikong lugar. Hindi ka nagtitiwala sa ibang mga computer sa network, ngunit maaari mong payagan ang mga napiling papasok na koneksyon. panlabas: Para sa paggamit sa mga panlabas na network na may NAT masquerading pinagana kapag ang iyong system ay kumikilos bilang isang gateway o router. Pinapayagan lamang ang mga napiling papasok na koneksyon. panloob: Para magamit sa mga panloob na network kapag ang iyong system ay kumikilos bilang isang gateway o router. Ang iba pang mga system sa network ay karaniwang pinagkakatiwalaan. Pinapayagan lamang ang mga napiling papasok na koneksyon. dmz: Ginamit para sa mga computer na matatagpuan sa iyong demilitarized zone na may limitadong pag-access sa natitirang bahagi ng iyong network. Pinapayagan lamang ang mga napiling papasok na koneksyon. trabaho: Ginamit para sa mga makina sa trabaho. Ang iba pang mga computer sa network ay karaniwang pinagkakatiwalaan. Pinapayagan lamang ang mga napiling papasok na koneksyon. tahanan: Ginamit para sa mga makina sa bahay. Ang iba pang mga computer sa network ay karaniwang pinagkakatiwalaan. Pinapayagan lamang ang mga napiling papasok na koneksyon. pinagkakatiwalaang: Lahat ng mga koneksyon sa network ay tinatanggap. Tiwala sa lahat ng mga computer sa network.

Mga serbisyo ng Firewall

Ang mga serbisyo ng Firewalld ay mga paunang natukoy na mga patakaran na nalalapat sa loob ng isang zone at tukuyin ang mga kinakailangang setting upang payagan ang papasok na trapiko para sa isang tiyak na serbisyo.

Mga Setting ng Firewalld Runtime at Permanenteng

Ang Firewalld ay gumagamit ng dalawang hiwalay na mga hanay ng pagsasaayos, runtime, at permanenteng pagsasaayos.

Ang pagsasaayos ng runtime ay ang aktwal na pagsasaayos ng pagpapatakbo, at hindi ito paulit-ulit sa mga reboot. Kapag nagsimula ang serbisyo ng Firewalld, naglo-load ito ng permanenteng pagsasaayos, na nagiging isang pagsasaayos ng runtime.

Bilang default, kapag gumagawa ng mga pagbabago sa pagsasaayos ng Firewalld gamit ang utility na firewall-cmd , ang mga pagbabago ay inilalapat sa pagsasaayos ng runtime. Upang gawing permanenteng ang mga pagbabago ay kailangan mong gamitin ang opsyon na --permanent .

Pag-install at Paganahin ng FirewallD

  1. Ang Firewalld ay naka-install nang default sa CentOS 7, ngunit kung hindi ito mai-install sa iyong system, maaari mong mai-install ang package sa pamamagitan ng pag-type:

    sudo yum install firewalld

    Ang serbisyo ng Firewalld ay hindi pinagana sa default. Maaari mong suriin ang katayuan ng firewall na may:

    sudo firewall-cmd --state

    Upang simulan ang serbisyo ng FirewallD at paganahin ito sa uri ng boot:

    sudo systemctl start firewalld sudo systemctl enable firewalld

Nagtatrabaho sa Firewalld Zones

Matapos mapapagana ang serbisyo ng FirewallD sa kauna-unahang pagkakataon, ang public sona ay nakatakda bilang isang default na zone. Maaari mong tingnan ang default na zone sa pamamagitan ng pag-type:

sudo firewall-cmd --get-default-zone

public

Upang makakuha ng isang listahan ng lahat ng magagamit na mga zone, uri:

sudo firewall-cmd --get-zones

block dmz drop external home internal public trusted work

Bilang default, ang lahat ng mga interface ng network ay itinalaga ang default na zone. Upang suriin kung anong mga zone ang ginagamit ng iyong (mga) interface ng network:

sudo firewall-cmd --get-active-zones

public interfaces: eth0 eth1

Ang output sa itaas ay nagsasabi sa amin na ang parehong mga interface ng eth0 at eth1 ay itinalaga sa pampublikong sona.

Maaari mong i-print ang mga setting ng pagsasaayos ng zone sa:

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

public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

Mula sa output sa itaas, makikita natin na ang pampublikong sona ay aktibo at itinakda bilang default, na ginagamit ng parehong mga interface ng eth1 at eth1 . Gayundin, ang mga koneksyon na may kaugnayan sa DHCP client at SSH ay pinapayagan.

sudo firewall-cmd --list-all-zones

Ang utos ay nag-print ng isang malaking listahan kasama ang mga setting ng lahat ng magagamit na zone.

Ang Pagbabago ng Zone ng isang Interface

Madali mong baguhin ang Interface Zone sa pamamagitan ng paggamit ng pagpipilian na --zone pagpipilian na --change-interface . Ang sumusunod na utos ay magtatalaga ng interface ng eth1 sa work zone:

sudo firewall-cmd --zone=work --change-interface=eth1

Patunayan ang mga pagbabago sa pamamagitan ng pag-type:

sudo firewall-cmd --get-active-zones

work interfaces: eth1 public interfaces: eth0

Pagbabago ng Default Zone

Upang mabago ang default na zone, gamitin ang --set-default-zone sinusundan ng pangalan ng zone na nais mong gawing default.

Halimbawa, upang baguhin ang default na zone sa bahay dapat mong patakbuhin ang sumusunod na utos:

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

Patunayan ang mga pagbabago sa:

sudo firewall-cmd --get-default-zone

home

Pagbubukas ng Port o Serbisyo

Sa FirewallD maaari mong payagan ang trapiko para sa mga tukoy na port batay sa paunang natukoy na mga patakaran na tinatawag na mga serbisyo.

Upang makakuha ng isang listahan ng lahat ng mga default na magagamit na uri ng serbisyo:

sudo firewall-cmd --get-services

Maaari kang makahanap ng karagdagang impormasyon tungkol sa bawat serbisyo sa pamamagitan ng pagbubukas ng nauugnay na.xml file sa loob ng /usr/lib/firewalld/services direktoryo ng mga /usr/lib/firewalld/services . Halimbawa, ang serbisyo ng HTTP ay tinukoy tulad nito:

/usr/lib/firewalld/services/http.xml

WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages. WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.

Upang payagan ang papasok na trapiko ng HTTP (port 80) para sa mga interface sa pampublikong sona, para lamang sa kasalukuyang session (runtime configuration):

sudo firewall-cmd --zone=public --add-service=http Kung binabago mo ang default na zone maaari mong iwanan ang pagpipilian na --zone .

Upang mapatunayan na ang serbisyo ay matagumpay na naidagdag na gumamit ng pagpipilian ng --list-services :

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

ssh dhcpv6-client

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

Gamitin ang mga --list-services --permanent --list-services kasama ang - --permanent pagpipilian upang mapatunayan ang iyong mga pagbabago:

sudo firewall-cmd --permanent --zone=public --list-services

ssh dhcpv6-client

Ang syntax para sa pag-alis ng serbisyo ay pareho tulad ng kapag nagdaragdag ng isang serbisyo. Gumamit lamang ng --remove-service halip na ang --add-service pagpipilian:

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

Ang utos sa itaas ay nag-aalis ng serbisyo sa http mula sa pampublikong zone permanenteng pagsasaayos.

Paano kung nagpapatakbo ka ng isang application tulad ng Plex Media Server kung saan walang naaangkop na serbisyo na magagamit?

Sa mga sitwasyong tulad nito, mayroon kang dalawang pagpipilian. Maaari mong buksan ang naaangkop na mga port o tukuyin ang isang bagong serbisyo ng FirewallD.

Halimbawa, nakikinig ang Plex Server sa port 32400 at gumagamit ng TCP, upang buksan ang port sa pampublikong sona para sa kasalukuyang sesyon gamitin ang --add-port= :

sudo firewall-cmd --zone=public --add-port=32400/tcp Ang mga protocol ay maaaring maging tcp o udp .

Upang mapatunayan na ang port ay matagumpay na naidagdag na gumamit ng - --list-ports opsyon:

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

32400/tcp

Upang panatilihing bukas ang port 32400 pagkatapos ng pag-reboot, idagdag ang panuntunan sa permanenteng mga setting sa pamamagitan ng pagpapatakbo ng parehong utos gamit ang --permanent opsyon.

Ang syntax para sa pag-alis ng isang port ay pareho tulad ng kapag nagdaragdag ng isang port. Gumamit lamang ng --remove-port halip ng pagpipilian na --add-port .

sudo firewall-cmd --zone=public --remove-port=32400/tcp

Paglikha ng isang bagong Serbisyo ng FirewallD

Tulad ng nabanggit na natin, ang mga default na serbisyo ay naka-imbak sa direktoryo /usr/lib/firewalld/services . Ang pinakamadaling paraan upang lumikha ng isang bagong serbisyo ay ang kopyahin ang isang umiiral na file ng serbisyo sa /etc/firewalld/services direktoryo ng /etc/firewalld/services , na kung saan ay ang lokasyon para sa mga serbisyo na nilikha ng gumagamit at baguhin ang mga setting ng file.

Halimbawa, upang lumikha ng isang kahulugan ng serbisyo para sa Plex Media Server maaari naming magamit ang file ng SSH service:

sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml

Buksan ang bagong nilikha na file ng plexmediaserver.xml at baguhin ang maikling pangalan at paglalarawan para sa serbisyo sa loob ng at mga tag. Ang pinakamahalagang tag na kailangan mong baguhin ay ang port tag, na tumutukoy sa numero ng port at protocol na nais mong buksan.

Sa sumusunod na halimbawa, binubuksan namin ang mga port 1900 UDP at 32400 TCP.

/etc/firewalld/services/plexmediaserver.xml

plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere. plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.

I-save ang file at i-reload ang serbisyo ng FirewallD:

sudo firewall-cmd --reload

Maaari mo na ngayong gamitin ang serbisyo ng plexmediaserver sa iyong mga zone na katulad ng anumang iba pang serbisyo..

Pagpapasa Port na may Firewalld

Upang maipasa ang trapiko mula sa isang daungan patungo sa isa pang port o address, unang paganahin ang --add-masquerade para sa nais na zone gamit ang --add-masquerade switch. Halimbawa upang paganahin ang pagmamason para sa external uri ng zone:

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

  • Ipasa ang trapiko mula sa isang port papunta sa isa pang server sa parehong server

Sa sumusunod na halimbawa ay isinasulong namin ang trapiko mula sa port 80 hanggang port 8080 sa parehong server:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080

  • Ipasa ang trapiko sa isa pang server

Sa sumusunod na halimbawa ay isinasulong namin ang trapiko mula sa port 80 hanggang port 80 sa isang server na may IP 10.10.10.2 :

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2

  • Ipasa ang trapiko sa ibang server sa ibang port

Sa sumusunod na halimbawa ay isinasulong namin ang trapiko mula sa port 80 hanggang port 8080 sa isang server na may IP 10.10.10.2 :

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2

Paglikha ng isang Ruleset na may FirewallD

Sa sumusunod na halimbawa, ipapakita namin kung paano i-configure ang iyong firewall kung nagpapatakbo ka ng isang web server. Ipinagpalagay namin na ang iyong server ay may isang interface lamang eth0 , at nais mong payagan ang papasok na trapiko lamang sa SSH, HTTP, at HTTPS port.

  1. Baguhin ang default na zone sa dmz

    Gagamitin namin ang dmz (demilitarized) zone dahil sa default ay pinapayagan lamang ang trapiko ng SSH. Upang baguhin ang default na zone sa dmz at italaga ito sa interface ng eth0 , patakbuhin ang sumusunod na mga utos:

    sudo firewall-cmd --set-default-zone=dmz sudo firewall-cmd --zone=dmz --add-interface=eth0

    Buksan ang mga port ng HTTP at

    Upang buksan ang mga port ng HTTP at HTTPS magdagdag ng permanenteng mga patakaran sa serbisyo sa dmz zone:

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

    Gawing epektibo ang mga pagbabago sa pamamagitan ng pag-reload ng firewall:

    sudo firewall-cmd --reload

    Patunayan ang mga pagbabago

    Upang suriin ang uri ng mga setting ng pagsasaayos ng dmz zone:

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

    dmz (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

    Ang output sa itaas ay nagsasabi sa amin na ang dmz ay ang default na zone, ay inilalapat sa interface ng eth0 at ssh (22) http (80) at https (443) na mga port ay bukas.

Konklusyon

Nalaman mo kung paano i-configure at pamahalaan ang serbisyo ng FirewallD sa iyong CentOS system.

Siguraduhing pahintulutan ang lahat ng mga papasok na koneksyon na kinakailangan para sa tamang paggana ng iyong system, habang nililimitahan ang lahat ng mga hindi kinakailangang koneksyon.

seguridad ng firewall iptables sentimo seguridad