Sådan installeres Firewalld på Debian 12, 11 eller 10

Firewalld skiller sig ud med sin dynamiske tilgang til firewallstyring. Den tilbyder tilpasningsevne i realtid, en funktion, der adskiller den fra traditionelle værktøjer som iptables og ufw. Denne fleksibilitet i realtid placerer Firewalld som et foretrukket valg for brugere, der værdsætter sikkerhed og brugervenlighed.

Vigtigste fordele ved Firewalld:

  • Zonebaseret ledelse: Firewalld anvender et zonebaseret system, der fokuserer på brugercentreret forbindelsesstyring, en afvigelse fra iptables' per-packet operationer.
  • Øjeblikkelige opdateringer: Med Firewalld træder ændringer i kraft med det samme uden behov for genstart, i modsætning til iptables, som ofte kræver genindlæsning af tjenester, hvilket potentielt forstyrrer aktive forbindelser.
  • Brugervenlige kommandoer: Firewallds kommandostruktur er mere intuitiv end ufw, hvilket gør den utrolig brugervenlig for de nye til firewall-konfigurationer.
  • Omfattende dokumentation: Firewalld er understøttet af grundig dokumentation og et aktivt brugerfællesskab, der sikrer, at brugerne har rigelig support og ressourcer.
  • Sømløs integration med Debian: Kombinationen af ​​Firewallds dynamiske funktioner med Debians berømte stabilitet giver en uovertruffen oplevelse for både desktopbrugere og serveradministratorer.

Med den grundlæggende viden vil denne guide guide dig gennem problemfri integration af Firewalld i dit Debian-system.

Installer Firewalld via terminalkommandoer

Opdater Debian før Firewalld-installation

Før du går i gang med nogen ny softwareinstallation, er opdatering af Debians systempakkedatabase afgørende med følgende kommando:

sudo apt update

Denne kommando instruerer systemet i at hente de seneste pakkedata fra alle konfigurerede lagre.

Fortsæt med installationen af ​​firewalld via APT Command

Med systemets opdaterede pakkeoplysninger kan du nu installere Firewalld. Debians pakkehåndtering, også kendt som APT, forenkler denne opgave. For at starte installationen skal du køre følgende kommando:

sudo apt install firewalld

Denne kommando beder pakkehåndteringen om at downloade og installere Firewalld-softwarepakken.

Bekræft Firewalld-installation

Når du har installeret Firewalld, skal du kontrollere, at du har installeret det korrekt og indstillet det til at køre korrekt. For at se Firewalld-versionen på dit system skal du bruge:

firewall-cmd --version

Denne kommando viser Firewalld-versionsnummeret, hvilket bekræfter installationen.

Start nu Firewalld og indstil den til at køre, når systemet starter. Brug denne kommando:

sudo systemctl enable --now firewalld

Forstå Firewalld-zoner

I firewall-"zoner" dikteres netværkstrafikregler baseret på troværdigheden af ​​det tilsluttede netværk, lige fra offentlige ikke-pålidelige indstillinger til private hjemmenetværk.

Lad os gennemgå nogle af disse og hvad de betyder i detaljer:

Zoners rolle i Firewalld:

  • Firewalld fungerer ved at bruge konceptet "zoner".
  • En "zone" i Firewalld er i bund og grund et foruddefineret sæt regler. Disse regler dikterer den type netværkstrafik, der er tilladt eller nægtet baseret på troværdigheden af ​​det netværk, computeren er på.

Eksempler på, hvordan zoner fungerer:

  • Offentlig zone: Denne zone er designet til netværk på offentlige steder, såsom caféer eller lufthavne. Du kan ikke stole på de fleste andre enheder i disse indstillinger, så reglerne er mere restriktive for at beskytte dit system.
  • Hjemmezone: Denne zone forudsætter et sikrere miljø, ligesom dit hjem. Her er du sandsynligvis bekendt med alle enheder, så reglerne er mindre stringente, hvilket giver mulighed for mere kommunikation mellem enheder.

Liste over nogle almindelige foruddefinerede zoner i Firewalld:

  • Dråbe: Dropper alle indgående pakker uden noget svar. Mest restriktive.
  • Blok: Svarer til 'Drop', men sender et afvisningssvar til kilden.
  • Offentlig: Til offentlige, upålidelige netværk.
  • Eksternt: Bruges, når dit system fungerer som en gateway eller firewall.
  • DMZ (demilitariseret zone): For computere i din DMZ skal du tilbyde begrænset adgang til en isoleret computer fra internettet.
  • Arbejde: Til arbejdsmiljøer, hvor du stoler på mange brugere, men stadig har brug for beskyttelsesforanstaltninger.
  • Hjem: Afslappede regler for hjemmemiljøer.
  • Indre: Til interne dele af et offentligt eller privat netværk.
  • Pålidelig: Alle netværksforbindelser accepteres. Mindst restriktive.

Almindelige firewall-kommandoer

I dette afsnit dykker vi ned i de mest brugte Firewalld-kommandoer. Disse kommandoer er afgørende for at administrere og konfigurere din Firewalld-opsætning, så du kan sikre dit Debian-miljø effektivt.

Firewalld kommandosyntaks og indstillinger

Den generelle syntaks for Firewalld-kommandoer er relativt ligetil. Nedenfor vil vi diskutere syntaks og muligheder, så du bedre forstår, hvad de er.

For det første er syntaksen for firewalld-kommandoer som følger:

firewall-cmd [options] command

Her er en kort forklaring af syntakskomponenterne:

  • firewall-cmd: Dette er hovedkommandoen, der bruges til Firewalld-operationer.
  • options: Disse ændrer kommandoens adfærd. De er valgfrie og kan udelades.
  • command: Dette angiver, hvilken handling du vil udføre.

Når det kommer til muligheder, tilbyder Firewalld en række. Nogle få almindeligt anvendte inkluderer:

  • --zone=zone: Specificerer den zone, der skal opereres på. Hvis der ikke er angivet nogen zone, bruges standardzonen.
  • --add-service=service: Tilføjer den angivne tjeneste til zonen. Ændringen træder i kraft med det samme, men ikke vedvarende ved genstart, medmindre --permanent er tilføjet.
  • --get-active-zones: Viser alle aktuelt aktive zoner sammen med deres tilknyttede grænseflader.
  • --get-services: Viser alle tilgængelige tjenester kendt af Firewalld.
  • --reload: Genindlæser Firewalld-konfigurationen og implementerer eventuelle ændringer foretaget med --permanent uden at kræve systemgenstart.

For mere detaljeret information kan du altid konsultere Firewalld-man-siden ved at køre man firewall-cmd i din terminal.

Viser alle Active Firewalld-zoner

At forstå, hvilke zoner der er aktive på din Firewalld-installation, giver et solidt grundlag for at administrere dine firewall-konfigurationer. Du kan hente disse oplysninger med følgende kommando:

sudo firewall-cmd --get-active-zones

Denne kommando beder Firewalld om at liste alle aktive zoner, hver ledsaget af dens tilknyttede netværksgrænseflader.

Viser standardzone

For at se standardzonen, der er konfigureret i din Firewalld, skal du udføre følgende kommando:

sudo firewall-cmd --get-default-zone

Outputtet fra denne kommando specificerer standardzonen, som er afgørende for at forstå standardsikkerhedspolitikkerne og -tjenesterne, der anvendes på indgående netværksforbindelser.

Ændring af standardzone

For at ændre standardzonen skal du bruge følgende kommando:

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

Ved at udskifte your_zone_name med det faktiske zonenavn ændrer du standardzonen for din Firewalld-installation.

Listetjenester i en zone

Du skal ofte vide, hvilke tjenester en bestemt zone tillader. Du kan opnå dette ved at bruge:

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

Bare udskift your_zone_name med navnet på den zone, som du vil angive de tilladte tjenester for.

Tilføjelse af en tjeneste til en zone

For at tilføje en ny tjeneste til en zone skal du bruge følgende kommando:

sudo firewall-cmd --zone=your_zone_name --add-service=your_service_name

Med denne kommando, your_service_name er tilføjet your_zone_name. Sørg for at erstatte disse pladsholdere med dine faktiske tjeneste- og zonenavne.

Avancerede firewall-kommandoer og -scenarier

Firewalld tilbyder en omfattende pakke af avancerede kommandoer og funktioner, der giver detaljeret kontrol over dine firewallindstillinger. Lad os dykke ned i disse kommandoer og udstyre dig med den nødvendige viden til at håndtere komplekse scenarier, der kan opstå i dine netværksadministrationsopgaver.

Avanceret Firewall Management med Firewalld

Definition af en ny tjeneste

Hvis du kører en brugerdefineret applikation på en specifik port, der ikke er angivet i de foruddefinerede tjenester, kan du selv definere denne tjeneste.

Brug følgende kommando til at gøre dette:

sudo firewall-cmd --permanent --new-service=myservice

Efterfølgende kan du tilføje indstillinger for din tilpassede service. For at angive et kort og beskrivende navn for tjenesten:

sudo firewall-cmd --permanent --service=myservice --set-short="My Custom Service"

Justering af standardzone

Når en indgående forbindelse ikke har en bestemt zone defineret, bruger systemet standardzonen. Du kan ændre standardzonen, så den opfylder dine behov.

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

Denne kommando indstiller standardzonen til 'hjem'. Sørg for at udskifte 'hjem' med den ønskede zone baseret på dit netværksmiljø og sikkerhedskrav.

Oprettelse af en brugerdefineret zone

Hvis de foruddefinerede zoner ikke opfylder dine behov, kan du oprette en brugerdefineret zone:

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

Når du har oprettet zonen, kan du ændre den ved at tilføje eller fjerne tjenester, porte osv., så den matcher dine specifikationer.

Aktiverer Masquerading

Du bruger almindeligvis maskering, når dit system fungerer som en gateway eller router for andre systemer i dit netværk. For at aktivere maskering i en bestemt zone skal du bruge:

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

Husk at erstatte 'offentlig' med den zone, du vil aktivere maskering.

Videresendelsesporte

Firewalld giver dig også mulighed for at videresende en specifik port til en anden. Dette kan være fordelagtigt i adskillige scenarier, såsom når du kører tjenester på ikke-standardporte:

sudo firewall-cmd --zone=public --add-forward-port=port=5000:proto=tcp:toport=80

Denne kommando videresender alle indgående TCP-forbindelser fra port 5000 til port 80 i den 'offentlige' zone.

Disse eksempler repræsenterer kun en lille delmængde af Firewallds avancerede muligheder. Mange flere kommandoer og muligheder er tilgængelige afhængigt af dine specifikke netværks- og sikkerhedsbehov. For mere information, se Firewallds officielle dokumentation eller brug 'man'-kommandoen.

Fejlfinding af Firewalld-problemer

Administration af firewalls kan nogle gange være komplekst, og du kan støde på problemer. Firewalld tilbyder dog et omfattende sæt af fejlfindingsværktøjer og -teknikker til at hjælpe med at løse sådanne udfordringer. Dette afsnit vil guide dig til at diagnosticere og løse almindelige firewallproblemer.

Undersøgelse af Firewalld-problemer

Kontrollerer Firewalld-status

For at diagnosticere ethvert Firewalld-problem skal du først kontrollere tjenestestatus med følgende kommando:

sudo systemctl status firewalld

Denne kommando giver information om Firewalld-tjenestens status, om den er aktiv, og om den stødte på fejl under opstart.

Gennemgang af Firewalld-logfiler

Du kan finde uvurderlig information i Firewalld-logfilerne, når du fejlfinder problemer. Firewalld logger som standard hændelser til systemjournalen, som du kan få adgang til ved hjælp af:

sudo journalctl -u firewalld

Denne kommando udsender de Firewalld-relaterede logfiler og hjælper dig med at lokalisere fejl eller usædvanlig adfærd.

Bekræfter konfiguration

Firewalld vedligeholder sine konfigurationsfiler i /etc/firewalld/ vejviser. Hvis du støder på problemer, er det en god praksis at kontrollere disse konfigurationsfiler for eventuelle fejl eller uoverensstemmelser:

sudo less /etc/firewalld/firewalld.conf

Denne kommando giver dig mulighed for at se den primære Firewalld-konfigurationsfil.

Løsning af almindelige firewalld-problemer

Problem: Firewalld reagerer ikke på kommandoer

Nogle gange reagerer Firewalld muligvis ikke på dine kommandoer. En glimrende indledende handling er at genindlæse Firewalld. Du kan gøre dette med følgende kommando:

sudo firewall-cmd --reload

Denne kommando genindlæser Firewalld-konfigurationen fra disken og kasserer alle ikke-gemte midlertidige ændringer. Det fjerner dog ikke alle firewall-reglerne.

Problem: Skal nulstille Firewalld til standarder

Hvis du vil nulstille alle indstillingerne til standard og fjerne alle de brugerdefinerede regler, skal du bruge --complete-reload mulighed. Bemærk venligst, at brug af denne indstilling vil fjerne alle runtime og permanente konfigurationer og erstatte dem med standardsættet af regler.

sudo firewall-cmd --complete-reload

Problem: Skal fjerne en specifik regel

For at fjerne en bestemt regel skal du bruge --remove kommando. For eksempel, hvis du vil fjerne HTTP-tjenesten fra den offentlige zone i den permanente konfiguration, ville kommandoen være:

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

Problem: Firewall-reglen virker ikke

Hvis en firewall-regel ikke ser ud til at fungere, er årsagen ofte, at nogen ikke har indstillet reglen til at være permanent. En ikke-permanent regel virker kun for den aktuelle session. Når nogen genstarter systemet, forsvinder reglen. For at sikre, at reglen forbliver, skal du inkludere --permanent flag, når du opretter reglen.

Problem: Zonekonfiguration fungerer ikke som forventet

At forstå zoner og hvordan de interagerer med grænseflader og tjenester er afgørende, når du arbejder med Firewalld. Her er et par scenarier, der kan opstå, og hvordan man løser dem.

Scenarie: Du tildelte ikke grænsefladen til den korrekte zone

Forestil dig, at du opretter en ny zone kaldet 'intern' til dit interne netværk og opsætter specifikke regler og tjenester for det. Men systemet anvender ikke disse regler. En sandsynlig årsag kan være, at du ikke har tildelt den tilsigtede grænseflade til den 'interne' zone.

Brug denne kommando for at se, hvilke grænseflader der er knyttet til en zone:

sudo firewall-cmd --zone=internal --list-interfaces

Hvis outputtet ikke inkluderer din tilsigtede grænseflade, kan du tildele det ved hjælp af kommandoen:

sudo firewall-cmd --zone=internal --add-interface=eth1

Denne kommando tilføjer 'eth1'-grænsefladen til den 'interne' zone.

Scenarie: Zonen aktiverer ikke tjenesten

Forestil dig, at du har en 'dmz' zone og ønsker at tillade HTTP-trafik. Men trafikken passerer ikke. Dette kan ske, hvis du ikke har aktiveret HTTP-tjenesten i 'dmz' zone.

For at se, om en zone har en tjeneste aktiveret, skal du indtaste:

sudo firewall-cmd --zone=dmz --query-service=http

Hvis tjenesten ikke er aktiv, skal du aktivere den med:

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

Denne kommando aktiverer HTTP-tjenesten i 'dmz' zone.

Inkluder det –permanente flag i kommandoerne for at få disse ændringer til at vare efter genstart. Forbind altid dine grænseflader med de rigtige zoner og aktiver de nødvendige tjenester.

Konklusion

I denne omfattende guide har vi guidet dig gennem installationen af ​​Firewalld på Debian, inklusive version 12, 11 og 10. Vi har udforsket det grundlæggende i Firewalld, dets zone- og servicekonfigurationer og givet dig grundlæggende og avanceret kommando eksempler. Desuden har vi behandlet nogle almindelige fejlfindingsscenarier, du kan støde på, mens du arbejder med Firewalld. Ved at følge denne vejledning bør du være godt rustet til at bruge Firewalld til at administrere og sikre din servers firewall-indstillinger effektivt. Vi opfordrer dig til konstant at eksperimentere og forfine din viden, da mastering af Firewalld vil give dig et robust sæt værktøjer til at opretholde et sikkert og velorganiseret netværksmiljø.

nyttige links

Her er nogle værdifulde links relateret til brugen af ​​Firewalld:

  • Firewalld officielle hjemmeside: Besøg det officielle Firewalld-websted for at få oplysninger om den dynamiske firewall-manager, dens funktioner og downloadmuligheder.
  • Firewalld dokumentation: Få adgang til omfattende dokumentation for detaljerede vejledninger om installation, konfiguration og brug af Firewalld.
  • Firewalld-fællesskab: Tilmeld dig Firewalld-fællesskabet for at oprette forbindelse til andre brugere, deltage i diskussioner og få support.
  • Firewalld GitHub Repository: Udforsk Firewalld GitHub-lageret for at se kildekoden, rapportere problemer og bidrage til udviklingen.
Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)