Android

Kako konfigurirati i upravljati vatrozidom na centos 8

Daljinsko upravljanje kompjuterom, WinRM – Powershell

Daljinsko upravljanje kompjuterom, WinRM – Powershell

Sadržaj:

Anonim

Vatrozid je metoda praćenja i filtriranja dolaznog i odlaznog mrežnog prometa. Djeluje definiranjem skupa sigurnosnih pravila koja određuju treba li dopustiti ili blokirati određeni promet. Ispravno konfiguriran vatrozid jedan je od najvažnijih aspekata cjelokupne sigurnosti sustava.

CentOS 8 isporučuje demon sa zaštitnim zidom nazvan firewalld. To je cjelovito rješenje s D-Bus sučeljem koje vam omogućuje dinamično upravljanje vatrozidom sustava.

U ovom ćemo vodiču govoriti o tome kako konfigurirati i upravljati vatrozidom na CentOS 8. Također ćemo objasniti osnovne koncepte FirewallD-a.

Preduvjeti

Za konfiguriranje usluge vatrozida morate biti prijavljeni kao root ili korisnik s povlasticama sudo.

Osnovni Firewalld koncepti

firewalld koristi koncepte zona i usluga. Na temelju zona i usluga koje konfigurirate možete kontrolirati koji je promet dopušten ili blokiran u sustav i iz njega.

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

U CentOS-u 8 iptables zamjenjuju nftables kao zadani podupirač vatrozida za zaštitni demon.

Zone Firewalld

Zone su unaprijed definirani skupovi pravila koji određuju razinu 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. Usluge vam omogućuju jednostavno izvršavanje nekoliko zadataka u jednom koraku.

Na primjer, usluga može sadržavati definicije o otvaranju portova, prosljeđivanju prometa i još mnogo toga.

Runtime i Firewalld trajne postavke

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

Konfiguracija vremena izvođenja je stvarna konfiguracija koja se pokreće i ne postoji pri ponovnom pokretanju. Kad se pokrene vatrogasni demon, 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 bi promjene --permanent trajne, dodajte --permanent opciju --permanent .

Za primjenu promjena u oba skupa konfiguracija možete koristiti jednu od sljedeće dvije metode:

  1. Promijenite konfiguraciju izvođenja i učinite je trajnom:

    sudo firewall-cmd sudo firewall-cmd --runtime-to-permanent

    Promijenite stalnu konfiguraciju i ponovno učitajte zaštitni demon:

    sudo firewall-cmd --permanent sudo firewall-cmd --reload

Omogućavanje FirewallD-a

Na CentOS 8 instaliran je firewalld i omogućen je prema zadanim postavkama. Ako iz nekog razloga nije instaliran na vašem sustavu, možete instalirati i pokrenuti demon tako da upišete:

sudo dnf install firewalld sudo systemctl enable firewalld --now

Status zaštitnog zida možete provjeriti pomoću:

sudo firewall-cmd --state

Ako je vatrozid omogućen, naredba bi trebala ispisati running . Inače, vidjet ćete da se not running .

Zone Firewalld

Zadana zona je ona koja se koristi za sve ono što nije izričito dodijeljeno drugoj zoni.

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

Da biste vidjeli aktivne zone i dodijeljena im mrežna sučelja:

sudo firewall-cmd --get-active-zones

Izlaz ispod pokazuje da su sučelja eth0 i eth1 dodijeljena public zoni:

public interfaces: eth0 eth1

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 koristi zadani cilj, a to je REJECT . Izlaz također pokazuje da se zona koristi sučeljima eth0 i eth1 i omogućuje DHCP klijent i SSH promet.

sudo firewall-cmd --list-all-zones

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

Promjena cilja zone

Cilj definira zadano ponašanje zone za dolazni promet koje nije specificirano. Može se postaviti na jednu od sljedećih opcija: default , ACCEPT , REJECT i DROP .

Za postavljanje cilja zone odredite zonu s opcijom --zone a cilj s --set-target .

Na primjer, za promjenu cilja public zone u DROP pokrenuli biste:

sudo firewall-cmd --zone=public --set-target=DROP

Dodjeljivanje sučelja drugoj zoni

Možete stvoriti određene skupove pravila za različite zone i dodijeliti im različita sučelja. Ovo je posebno korisno kada na računalu imate više sučelja.

Da biste sučelje dodijelili drugoj zoni, odredite zonu opcijom --zone i sučelje s --change-interface .

Na primjer, sljedeća naredba eth1 sučelje work 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 home pokrenuli biste sljedeću naredbu:

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

Provjerite promjene pomoću:

sudo firewall-cmd --get-default-zone

home

Stvaranje novih zona

Firewalld vam također omogućuje stvaranje vlastitih zona. To je korisno kada želite stvoriti pravila po aplikaciji.

U sljedećem ćemo primjeru stvoriti novu zonu nazvanu memcached , otvoriti priključak 11211 i omogućiti pristup samo s IP adrese 192.168.100.30 :

  1. Stvorite zonu:

    sudo firewall-cmd --new-zone=memcached --permanent

    Dodajte pravila u zonu:

    sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent

    Ponovo učitajte zaštitni demon da biste aktivirali promjene:

    sudo firewall-cmd --reload

Firewalld usluge

Pomoću firewalld-a možete dopustiti promet za određene luke i / ili izvore na temelju unaprijed definiranih pravila koje 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

Da bi port 80 bio otvoren nakon ponovnog pokretanja, ponovo pokrenite istu naredbu s --permanent opcijom ili izvršite:

sudo firewall-cmd --runtime-to-permanent

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. Jednostavno koristite --remove-service umjesto zastave --add-service :

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

Gornja naredba uklanja http uslugu iz trajne konfiguracije javne zone.

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, da biste stvorili definiciju usluge za Plex Media Server, možete koristiti 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.

Otvaranje portova i IP izvora

Firewalld vam također omogućava da brzo omogućite sav promet s pouzdane IP adrese ili s određenog porta bez stvaranja definicije usluge.

Otvaranje izvora IP

Da biste omogućili sav dolazni promet s određene IP adrese (ili raspona), navedite zonu s opcijom --zone i izvorni IP s --add-source .

Na primjer, da biste omogućili sav dolazni promet od 192.168.1.10 u public zoni, pokrenite:

sudo firewall-cmd --zone=public --add-source=192.168.1.10

Neka novo pravilo bude trajno:

sudo firewall-cmd --runtime-to-permanent

Provjerite promjene pomoću sljedeće naredbe:

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

192.168.1.10

Sintaksa za uklanjanje izvornog IP-a ista je kao i kod dodavanja. Samo koristite --remove-source umjesto opcije --add-source :

sudo firewall-cmd --zone=public --remove-source=192.168.1.10

Otvaranje izvora izvora

Da biste omogućili sav dolazni promet na određenom portu, odredite zonu s opcijom --zone a port i protokol s --add-port .

Na primjer, za otvaranje priključka 8080 u javnoj zoni za trenutnu sesiju koju pokrećete:

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

Protokol može biti tcp , udp , sctp ili dccp .

Provjerite promjene:

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

8080

Da bi port bio otvoren nakon ponovnog pokretanja, dodajte pravilo stalnim postavkama izvođenjem iste naredbe pomoću - --permanent zastave ili izvršavanjem:

sudo firewall-cmd --runtime-to-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=8080/tcp

Portovi za prosljeđivanje

Za prosljeđivanje prometa s jednog do drugog ulaza prvo omogućite maskiranje željene zone pomoću opcije --add-masquerade . Na primjer, da biste omogućili maskiranje external zone, upišite:

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

Proslijediti promet s jednog porta na drugi na IP adresi

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

Proslijediti promet na drugu IP adresu

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

Da biste pravilo naprijed ustrajali, koristite:

sudo firewall-cmd --runtime-to-permanent

Zaključak

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

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

sigurnost firewalld firewall centos