Android

Slik setter du opp en brannmur med brannmur på centos 7

How to Back up and Restore Your Windows Systems Using Active Backup for Business | Synology

How to Back up and Restore Your Windows Systems Using Active Backup for Business | Synology

Innholdsfortegnelse:

Anonim

En riktig konfigurert brannmur er en av de viktigste aspektene ved generell systemsikkerhet.

FirewallD er en komplett brannmurløsning som administrerer systemets iptables-regler og gir et D-Bus-grensesnitt for å operere på dem. Fra og med CentOS 7, erstatter FirewallD iptables som standard brannmuradministrasjonsverktøy.

I denne opplæringen viser vi deg hvordan du konfigurerer en brannmur med FirewallD på CentOS 7-systemet ditt og forklarer de grunnleggende FirewallD-konseptene.

Forutsetninger

Før du begynner med denne opplæringen, må du sørge for at du er logget inn på serveren din med en brukerkonto med sudo-rettigheter eller med rotbrukeren. Den beste fremgangsmåten er å kjøre administrative kommandoer som sudo-bruker i stedet for root. Hvis du ikke har en sudo-bruker på CentOS-systemet ditt, kan du opprette en ved å følge disse instruksjonene.

Grunnleggende brannmur-konsepter

FirewallD bruker konseptene soner og tjenester, i stedet for iptables-kjeden og regler. Basert på sonene og tjenestene du konfigurerer, kan du kontrollere hvilken trafikk som er tillatt eller ikke tillatt til og fra systemet.

BrannmurD kan konfigureres og administreres ved å bruke kommandolinjeprogrammet firewall-cmd .

Brannmursoner

Soner er forhåndsdefinerte sett med regler som spesifiserer hvilken trafikk som skal tillates, basert på tillitsnivået på nettverkene datamaskinen din er koblet til. Du kan tilordne nettverksgrensesnitt og kilder til en sone.

Nedenfor er sonene levert av FirewallD bestilt i henhold til tillitsnivået til sonen fra ikke tillit til klarert:

  • slipp: Alle innkommende tilkoblinger slettes uten varsel. Bare utgående forbindelser er tillatt. blokk: Alle innkommende tilkoblinger avvises med en icmp-host-prohibited melding for IPv4 og icmp6-adm-prohibited for IPv6n. Bare utgående forbindelser er tillatt. offentlig: For bruk i ikke-betrodde offentlige områder. Du stoler ikke på andre datamaskiner i nettverket, men du kan tillate valgte innkommende tilkoblinger. ekstern: For bruk i eksterne nettverk med NAT-maskering aktivert når systemet ditt fungerer som en gateway eller ruter. Bare valgte innkommende tilkoblinger er tillatt. intern: For bruk i interne nettverk når systemet fungerer som en gateway eller ruter. Andre systemer i nettverket er generelt klarert. Bare valgte innkommende tilkoblinger er tillatt. dmz: Brukes til datamaskiner i din demilitariserte sone som har begrenset tilgang til resten av nettverket. Bare valgte innkommende tilkoblinger er tillatt. arbeid: Brukes til arbeidsmaskiner. Andre datamaskiner i nettverket er generelt klarert. Bare valgte innkommende tilkoblinger er tillatt. hjemme: Brukes til hjemmemaskiner. Andre datamaskiner i nettverket er generelt klarert. Bare valgte innkommende tilkoblinger er tillatt. klarert: Alle nettverkstilkoblinger godtas. Stol på alle datamaskiner i nettverket.

Brannmur-tjenester

Brannmur-tjenester er forhåndsdefinerte regler som gjelder innenfor en sone og definerer de nødvendige innstillingene for å tillate innkommende trafikk for en bestemt tjeneste.

Brannmur Runtime og Permanente innstillinger

Firewalld bruker to separate konfigurasjonssett, runtime og permanent konfigurasjon.

Runtidskonfigurasjonen er den aktuelle løpekonfigurasjonen, og den er ikke vedvarende på omstarter. Når Firewalld-tjenesten starter, laster den inn den permanente konfigurasjonen, som blir runtime-konfigurasjonen.

Når du gjør endringer i Firewalld-konfigurasjonen ved å bruke firewall-cmd verktøyet, blir standardene som standard brukt på runtime-konfigurasjonen. For å gjøre endringene permanent må du bruke --permanent alternativet.

Installere og aktivere brannmurD

  1. Firewalld er installert som standard på CentOS 7, men hvis den ikke er installert på systemet ditt, kan du installere pakken ved å skrive:

    sudo yum install firewalld

    Brannmur-tjenesten er deaktivert som standard. Du kan sjekke brannmurstatusen med:

    sudo firewall-cmd --state

    Slik starter du FirewallD-tjenesten og aktiverer den på starttype:

    sudo systemctl start firewalld sudo systemctl enable firewalld

Arbeide med brannmursoner

Etter å ha aktivert FirewallD-tjenesten for første gang, er den public sonen satt som en standardsone. Du kan se standardsonen ved å skrive:

sudo firewall-cmd --get-default-zone

public

For å få en liste over alle tilgjengelige soner, skriver du:

sudo firewall-cmd --get-zones

block dmz drop external home internal public trusted work

Som standard er alle nettverksgrensesnitt tildelt standardsonen. Slik sjekker du hvilke soner som brukes av nettverksgrensesnittet / typene:

sudo firewall-cmd --get-active-zones

public interfaces: eth0 eth1

Utdataene ovenfor forteller oss at både grensesnitt eth0 og eth1 er tilordnet den offentlige sonen.

Du kan skrive ut sonekonfigurasjonsinnstillingene med:

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:

Fra utgangen over kan vi se at den offentlige sonen er aktiv og satt som standard, brukt av både eth0 og eth1 grensesnitt. Forbindelsene relatert til DHCP-klienten og SSH er også tillatt.

sudo firewall-cmd --list-all-zones

Kommandoen skriver ut en enorm liste med innstillingene for all tilgjengelig sone.

Endre sone for et grensesnitt

Du kan enkelt endre grensesnittområdet ved å bruke alternativet - --zone i kombinasjon med alternativet - --change-interface . Følgende kommando tilordner eth1 grensesnittet til arbeidssonen:

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

Bekreft endringene ved å skrive:

sudo firewall-cmd --get-active-zones

work interfaces: eth1 public interfaces: eth0

Endre standardsonen

Hvis du vil endre standardsonen, bruker du alternativet - --set-default-zone etterfulgt av navnet på sonen du vil angi standard.

For å endre standardsonen til hjemmet, bør du for eksempel kjøre følgende kommando:

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

Bekreft endringene med:

sudo firewall-cmd --get-default-zone

home

Åpne en havn eller tjeneste

Med FirewallD kan du tillate trafikk for bestemte porter basert på forhåndsdefinerte regler kalt tjenester.

Slik får du en liste over alle tilgjengelige standardtjenester:

sudo firewall-cmd --get-services

Du kan finne mer informasjon om hver tjeneste ved å åpne den tilknyttede.xml-filen i katalogen /usr/lib/firewalld/services . For eksempel er HTTP-tjenesten definert slik:

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

For å tillate innkommende HTTP-trafikk (port 80) for grensesnitt i den offentlige sonen, bare for gjeldende økt (runtime-konfigurasjon) type:

sudo firewall-cmd --zone=public --add-service=http Hvis du endrer standardsonen, kan du utelate alternativet - --zone .

Bruk alternativet - --list-services å bekrefte at tjenesten ble lagt til.

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

ssh dhcpv6-client

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

Bruk - --list-services sammen med --permanent alternativet for å bekrefte endringene dine:

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

ssh dhcpv6-client

Syntaksen for å fjerne tjenester er den samme som når du legger til en tjeneste. Bare bruk - --remove-service stedet for alternativet - --add-service :

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

Kommandoen over fjerner http-tjenesten fra den permanente konfigurasjonen for offentlig sone.

Hva om du kjører et program som Plex Media Server som det ikke er noen passende tjeneste tilgjengelig for?

I situasjoner som disse har du to alternativer. Du kan enten åpne de aktuelle portene eller definere en ny FirewallD-tjeneste.

For eksempel lytter Plex Server på port 32400 og bruker TCP, for å åpne porten i den offentlige sonen for den nåværende økten, bruk alternativet --add-port= :

sudo firewall-cmd --zone=public --add-port=32400/tcp Protokoller kan være enten tcp eller udp .

For å bekrefte at porten ble lagt til vellykket, bruk alternativet - --list-ports :

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

32400/tcp

For å holde porten 32400 åpen etter omstart, legger du regelen til de permanente innstillingene ved å kjøre den samme kommandoen ved å bruke --permanent alternativet.

Syntaksen for å fjerne en port er den samme som når du legger til en port. Bare bruk - --remove-port stedet for alternativet - --add-port .

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

Oppretter en ny brannmurD-tjeneste

Som vi allerede har nevnt, er standardtjenestene lagret i katalogen /usr/lib/firewalld/services . Den enkleste måten å opprette en ny tjeneste er å kopiere en eksisterende tjenestefil til katalogen /etc/firewalld/services , som er stedet for brukeropprettede tjenester og endre filinnstillingene.

For å lage en tjenestedefinisjon for Plex Media Server, kan vi for eksempel bruke SSH-tjenestefilen:

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

Åpne den nyopprettede filen plexmediaserver.xml og endre kortnavnet og beskrivelsen for tjenesten i og tags. Den viktigste koden du trenger å endre er portkoden, som definerer portnummeret og protokollen du vil åpne.

I det følgende eksemplet åpner vi portene 1900 UDP og 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.

Lagre filen og last inn FirewallD-tjenesten på nytt:

sudo firewall-cmd --reload

Du kan nå bruke plexmediaserver tjenesten i sonene dine, som alle andre tjenester.

Videresending havn med brannmur

For å videresende trafikk fra en port til en annen port eller adresse, må du først aktivere maskering for ønsket sone ved å bruke - --add-masquerade . For eksempel for å aktivere maskering for external sonetype:

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

  • Videresend trafikk fra en port til en annen på samme server

I det følgende eksemplet videresender vi trafikken fra port 80 til port 8080 på samme server:

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

  • Videresend trafikk til en annen server

I det følgende eksemplet videresender vi trafikken fra port 80 til port 80 på en server med IP 10.10.10.2 :

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

  • Videresend trafikk til en annen server i en annen port

I det følgende eksemplet videresender vi trafikken fra port 80 til port 8080 på en server med IP 10.10.10.2 :

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

Opprette et regelsett med brannmurD

I eksemplet nedenfor viser vi hvordan du konfigurerer brannmuren hvis du kjørte en webserver. Vi antar at serveren din bare har ett grensesnitt eth0 , og du vil tillate innkommende trafikk bare på SSH-, HTTP- og

  1. Endre standardsonen til dmz

    Vi vil bruke dmz (demilitarisert) sonen fordi den som standard bare tillater SSH-trafikk. Kjør følgende kommandoer for å endre standardsonen til dmz og tilordne den til eth0 grensesnittet:

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

    Åpne HTTP- og

    For å åpne HTTP- og HTTPS-porter legger du til permanente servicegler i dmz-sonen:

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

    Gjør endringene effektive umiddelbart ved å laste brannmuren på nytt:

    sudo firewall-cmd --reload

    Bekreft endringene

    Slik kontrollerer du konfigurasjonsinnstillingene for dmz-sonen:

    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:

    Utgangen ovenfor forteller oss at dmz er standardsonen, brukes på eth0 grensesnittet og ssh (22) http (80) og https (443) portene er åpne.

Konklusjon

Du har lært hvordan du konfigurerer og administrerer FirewallD-tjenesten på CentOS-systemet.

Sørg for å tillate alle innkommende tilkoblinger som er nødvendige for at systemet ditt skal fungere ordentlig, mens du begrenser alle unødvendige tilkoblinger.

brannmur brannmur iptables centos sikkerhet