Android

Kako postaviti vatrozid sa firewalld-om na centos 7

Disable The Local Windows Firewall on Windows 10

Disable The Local Windows Firewall on Windows 10

Sadržaj:

Anonim

Ispravno konfiguriran vatrozid jedan je od najvažnijih aspekata cjelokupne sigurnosti sustava.

FirewallD je cjelovito rješenje vatrozida koji upravlja iptables pravilima sustava i pruža D-Bus sučelje za rad na njima. Počevši od CentOS-a 7 FirewallD zamjenjuje iptables kao zadani alat za upravljanje firewall-om.

U ovom ćemo vam vodiču pokazati kako postaviti vatrozid sa FirewallD-om na vašem CentOS 7 sustavu i objasniti vam osnovne koncepte FirewallD-a.

Preduvjeti

Prije nego što započnete s ovim vodičem, provjerite jeste li prijavljeni na svoj poslužitelj s korisničkim računom s povlasticama sudo ili s korijenskim korisnikom. Najbolja praksa je pokretanje administrativnih naredbi kao sudo korisnik umjesto root. Ako na svom CentOS sustavu nemate sudo korisnika, možete ga stvoriti slijedeći ove upute.

Osnovni Firewalld koncepti

FirewallD koristi koncepte zona i usluga, umjesto lanca i pravila iptables. Na temelju zona i usluga koje ćete konfigurirati možete kontrolirati koji je promet dopušten ili onemogućen u sustav i iz njega.

FirewallD se može konfigurirati i upravljati pomoću uslužnog programa naredbenog retka firewall-cmd .

Zone Firewalld

Zone su unaprijed definirani skupovi pravila koja određuju koji promet treba biti dopušten na temelju razine povjerenja u mreže na koje je vaše računalo povezano. Mrežnom sučelju i izvorima možete dodijeliti zoni.

Ispod su prikazane zone koje pruža FirewallD prema stupnju pouzdanosti zone od nepouzdanog do pouzdanog:

  • drop: Sve dolazne veze padaju bez ikakve obavijesti. Dopuštene su samo izlazne veze. blok: Sve dolazne veze odbacuju se s icmp-host-prohibited porukom za IPv4 i icmp6-adm-prohibited za IPv6n. Dopuštene su samo izlazne veze. javno: Za upotrebu u nepouzdanim javnim površinama. Ne vjerujete drugim računalima u mreži, ali možete dopustiti odabrane dolazne veze. vanjski: Za uporabu u vanjskim mrežama s omogućenom NAT maskiranjem kad vaš sustav djeluje kao gateway ili usmjerivač. Dopuštene su samo odabrane dolazne veze. interni: za uporabu u internim mrežama kada vaš sustav djeluje kao gateway ili usmjerivač. Ostali sustavi na mreži općenito imaju povjerenja. Dopuštene su samo odabrane dolazne veze. dmz: koristi se za računala koja se nalaze u vašoj demilitariziranoj zoni i imaju ograničen pristup ostatku vaše mreže. Dopuštene su samo odabrane dolazne veze. rad: Koristi se za radne strojeve. Ostalim računalima u mreži uglavnom se vjeruje. Dopuštene su samo odabrane dolazne veze. kuća: koristi se za kućne strojeve. Ostalim računalima u mreži uglavnom se vjeruje. Dopuštene su samo odabrane dolazne veze. pouzdano: Prihvaćene su sve mrežne veze. Povjerite svim računalima u mreži.

Usluge vatrozida

Firewalld usluge su unaprijed definirana pravila koja se primjenjuju unutar zone i definiraju potrebne postavke kako bi se omogućio dolazni promet za određenu uslugu.

Runtime i Firewalld trajne postavke

Firewalld koristi dva odvojena skupa konfiguracija, vrijeme izvođenja i stalnu konfiguraciju.

Konfiguracija vremena izvođenja je stvarna pokretačka konfiguracija i nije postojana pri ponovnim pokretanjem. Kada se Firewalld usluga pokrene, učitava trajnu konfiguraciju, koja postaje konfiguracija vremena izvođenja.

Prema zadanim postavkama, prilikom izmjene konfiguracije Firewalld pomoću uslužnog programa firewall-cmd , promjene se primjenjuju na konfiguraciju vremena izvođenja. Da biste promjene učinili trajnim, morate koristiti opciju --permanent .

Instalacija i omogućavanje firewallD-a

  1. Firewalld je standardno instaliran na CentOS 7, ali ako nije instaliran na vašem sustavu, možete instalirati paket upisivanjem:

    sudo yum install firewalld

    Usluga Firewalld podrazumijevano je onemogućena. Status zaštitnog zida možete provjeriti pomoću:

    sudo firewall-cmd --state

    Da biste pokrenuli FirewallD uslugu i omogućili je na vrsti dizanja:

    sudo systemctl start firewalld sudo systemctl enable firewalld

Rad sa Firewalld zonama

Nakon što prvi put omogućite uslugu FirewallD, public zona postavljena je kao zadana zona. Zadanu zonu možete vidjeti ako upišete:

sudo firewall-cmd --get-default-zone

public

Da biste dobili popis svih dostupnih zona, upišite:

sudo firewall-cmd --get-zones

block dmz drop external home internal public trusted work

Prema mrežnim postavkama svim mrežnim sučeljima dodijeljena je zadana zona. Da biste provjerili koje se zone koriste prema vašem mrežnom sučelju:

sudo firewall-cmd --get-active-zones

public interfaces: eth0 eth1

Izlazni rezultat govori nam da su i sučelja eth0 i eth1 dodijeljena javnoj zoni.

Postavke konfiguracije zone možete ispisati s:

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:

Iz gornjeg izlaza vidimo da je javna zona aktivna i postavljena kao zadana, a koriste se i sučelja eth0 i eth1 . Također su dopuštene veze koje se odnose na DHCP klijent i SSH.

sudo firewall-cmd --list-all-zones

Naredba ispisuje ogroman popis s postavkama svih raspoloživih zona.

Promjena zone sučelja

Područje sučelja možete jednostavno promijeniti pomoću opcije --zone u kombinaciji s --change-interface . Sljedeća naredba dodijelit će eth1 sučelje radnoj zoni:

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

Promjene provjerite tipkanjem:

sudo firewall-cmd --get-active-zones

work interfaces: eth1 public interfaces: eth0

Promjena zadane zone

Da biste promijenili zadanu zonu, upotrijebite opciju --set-default-zone nakon koje slijedi naziv zone koju želite učiniti zadanu.

Na primjer, za promjenu zadane zone u dom trebali biste pokrenuti sljedeću naredbu:

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

Provjerite promjene pomoću:

sudo firewall-cmd --get-default-zone

home

Otvaranje porta ili usluge

Pomoću FirewallD-a možete dopustiti promet za određene portove na temelju unaprijed definiranih pravila koja se nazivaju usluge.

Da biste dobili popis svih zadanih vrsta dostupnih usluga:

sudo firewall-cmd --get-services

Više podataka o svakoj usluzi možete pronaći tako što otvorite pridruženu.xml datoteku u direktoriju /usr/lib/firewalld/services . Na primjer, usluga HTTP definirana je ovako:

/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.

Da biste dopustili dolazni HTTP promet (priključak 80) za sučelja u javnoj zoni, samo za trenutnu sesiju (konfiguracija vremena izvođenja) vrstu:

sudo firewall-cmd --zone=public --add-service=http Ako mijenjate zadanu zonu, možete izostaviti opciju --zone .

Da biste provjerili je li usluga uspješno dodana, koristite opciju --list-services :

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

ssh dhcpv6-client

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

Upotrijebite --list-services --permanent zajedno s opcijom --permanent za provjeru promjena:

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

ssh dhcpv6-client

Sintaksa za uklanjanje usluge ista je kao i kod dodavanja usluge. Samo koristite --remove-service umjesto opcije --add-service :

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

Gornja naredba uklanja http uslugu iz trajne konfiguracije javne zone.

Što ako pokrećete aplikaciju kao što je Plex Media Server za koju nema odgovarajuće usluge?

U situacijama poput ove, imate dvije mogućnosti. Možete otvoriti odgovarajuće portove ili definirati novu FirewallD uslugu.

Na primjer, Plex Server sluša na priključku 32400 i koristi TCP, za otvaranje porta u javnoj zoni za trenutnu sesiju koristite opciju --add-port=

sudo firewall-cmd --zone=public --add-port=32400/tcp Protokoli mogu biti tcp ili udp .

Da biste provjerili je li luka uspješno dodana, koristite opciju --list-ports :

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

32400/tcp

Da bi port 32400 otvoren nakon ponovnog pokretanja, dodajte pravilo stalnim postavkama izvođenjem iste naredbe pomoću opcije --permanent .

Sintaksa za uklanjanje porta ista je kao i kod dodavanja priključka. Jednostavno koristite --remove-port umjesto opcije --add-port .

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

Izrada nove usluge FirewallD

Kao što smo već spomenuli, zadane usluge pohranjuju se u imenik /usr/lib/firewalld/services . Najlakši način za stvaranje nove usluge je kopiranje postojeće servisne datoteke u direktorij /etc/firewalld/services , što je mjesto za usluge kreirane od strane korisnika, i izmjenu postavki datoteke.

Na primjer, za stvaranje definicije usluge za Plex Media Server možemo upotrijebiti SSH servisnu datoteku:

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

Otvorite novostvorenu datoteku plexmediaserver.xml i promijenite kratak naziv i opis usluge unutar i oznake. Najvažnija oznaka koju trebate promijeniti je oznaka port koja definira broj porta i protokol koji želite otvoriti.

U sljedećem primjeru otvaramo portove 1900 UDP i 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.

Spremite datoteku i ponovno učitajte FirewallD uslugu:

sudo firewall-cmd --reload

Sada možete koristiti uslugu plexmediaserver u svojim zonama isto kao i bilo koju drugu uslugu.

Luka za prosljeđivanje s Firewalldom

Da biste proslijedili promet s jednog porta na drugi ulaz ili adresu, najprije omogućite maskiranje željene zone pomoću prekidača --add-masquerade . Na primjer kako biste omogućili maskiranje za tip external zone:

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

  • Prosljeđivati ​​promet s jednog porta na drugi na istom poslužitelju

U sljedećem primjeru prosljeđujemo promet od priključka 80 do porta 8080 na istom poslužitelju:

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

  • Prosljeđivanje prometa na drugi poslužitelj

U sljedećem primjeru prosljeđujemo promet od priključka 80 do porta 80 na poslužitelju s IP 10.10.10.2 :

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

  • Prosljeđivanje prometa na drugi poslužitelj na drugom ulazu

U sljedećem primjeru prosljeđujemo promet od priključka 80 do porta 8080 na poslužitelju s IP 10.10.10.2 :

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

Izrada Rulet s FirewallD-om

U sljedećem ćemo primjeru pokazati kako konfigurirati vatrozid ako ste koristili web poslužitelj. Pretpostavljamo da vaš poslužitelj ima samo jedno sučelje eth0 i želite dopustiti dolazni promet samo na SSH, HTTP i HTTPS portovima.

  1. Promijenite zadanu zonu u dmz

    Koristit ćemo dmz (demilitariziranu) zonu jer po defaultu dopušta samo SSH promet. Da biste promijenili zadanu zonu u dmz i dodijelili je et0 sučelju, pokrenite sljedeće naredbe:

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

    Otvori HTTP i HTTPS portove:

    Da biste otvorili HTTP i HTTPS portove, dodajte trajna pravila usluge u dmz zonu:

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

    Učinite promjene odmah učinkovitim ponovnim učitavanjem vatrozida:

    sudo firewall-cmd --reload

    Provjerite promjene

    Za provjeru postavki konfiguracije 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:

    Izlazni rezultat govori nam da je dmz zadana zona, primjenjuje se na sučelje eth0 a ssh (22) http (80) i https (443) portovi su otvoreni.

Zaključak

Naučili ste kako konfigurirati i upravljati FirewallD uslugom na vašem CentOS sustavu.

Obavezno dopustite sve dolazne veze potrebne za pravilno funkcioniranje vašeg sustava, a pritom ograničite sve nepotrebne veze.

sigurnost firewalld firewall iptables centos sigurnost