Firewall op Linux spillt eng vital Roll fir e Computersystem ze sécheren. Et handelt als Barrière, kontrolléiert a filtert Netzwierkverkéier fir de System virun onerlaabten Zougang, Attacken an aner Geforen ze schützen. Ouni eng richteg konfiguréiert Firewall kéint de Server vulnerabel sinn fir verschidden Aarte vu Cyberattacken, wat zu eeschte Konsequenze fir Datesécherheet a Vertraulechkeet féiert.
An dësem Artikel kucke mir zwee Haaptinstrumenter fir d'Linux Firewall ze konfiguréieren: Firewalld an iptables. Mir maachen eng komparativ Analyse vun hire Funktiounen, Funktionalitéit a Virdeeler. Zousätzlech wäerte mir detailléiert Instruktioune fir d'Opstellung an d'Benotzung vun all eenzel vun dësen Tools ubidden, souwéi iwwer bescht Praktiken diskutéieren fir Äre System mat enger Firewall op der Linux Plattform ze sécheren. All Aktiounen ginn op engem demonstréiert virtuellen Server mat root Zougang.
Firewalld op Linux konfiguréieren
Firewalld (Firewall Daemon) ass e Programm fir d'Firewall an Linux Betribssystemer ze managen. Et bitt e User-Interface fir Firewall-Regelen ze konfiguréieren, d'Verbindunge vun Netzwierkapplikatiounen z'erméiglechen oder ze blockéieren. Et ass par défaut virinstalléiert an de meeschte Serververdeelungen. Wann Firewalld net virinstalléiert ass, kann et onofhängeg vun den offiziellen Repositories vun der Verdeelung installéiert ginn.
Fir Red Hat Systemer (wéi RHEL, CentOS, Fedora) gëtt d'Installatioun mam Kommando ausgefouert:
yum install firewalld
Fir Debian/Ubuntu:
apt-get install firewalld
No der Installatioun kann et direkt mat dem Kommando gestart an aktivéiert ginn:
systemctl start firewalld
Als nächst musst Dir de Service fir de Startup addéieren:
systemctl enable firewalld
Zu dësem Zäitpunkt recommandéiere mir ufw auszeschalten, well d'simultan Notzung vun dësem Tool mat Firewalld oder iptables net recommandéiert ass. Kontrolléiert de Status:
systemctl status ufw
Fir et ze stoppen, gitt de Kommando:
systemctl stop ufw
Fir komplett Deaktivéierung:
ufw disable
No dësen Aktiounen kënnt Dir weidergoen fir Firewalld ze konfiguréieren.
Als éischt ass et néideg Vertrauenszonen ze definéieren. Firewalld benotzt d'Konzept vun Zonen fir den Niveau vum Vertrauen fir Netzwierkschnëttplazen ze bestëmmen. All Interface gëtt eng Zone zougewisen, a Firewall Regele ginn op Basis vun der Zone applizéiert. D'Lëscht vun all verfügbare Zonen gëtt mam Kommando opgemaach:
firewall-cmd --get-zones
Typesch gi 4 Haaptzonen benotzt:
- ëffentlech: Dës Zone ass fir Netzwierker déi Dir als onsécher betruecht;
- private: Gëllt fir Heemnetzwierker oder aner zouverléisseg Netzwierkverbindungen;
- Intern: Benotzt fir intern Netzwierker, wéi déi bannent enger Organisatioun oder Firmennetz;
- DMZ: Dës Zone ass wou Serveren normalerweis plazéiert sinn, déi vum Internet zougänglech sinn.
Allerdéngs ass dëst nëmmen ee Beispill. Dir kënnt Är eege Zone mat dem Kommando addéieren:
firewall-cmd --permanent --new-zone=nameyourzone
Nodeems Dir derbäigesat hutt, ass eng Reload erfuerderlech:
firewall-cmd --reload
Fir eng Zone ze läschen, gëtt eng ähnlech Method benotzt
firewall-cmd --permanent --delete-zone=nameyourzone
Nodeems Dir Zonen definéiert hutt, ass et néideg fir de Verkéier fir déi néideg Servicer an Häfen z'erméiglechen. Fir e bestëmmte Service z'erméiglechen, benotzt de Kommando:
firewall-cmd --zone=public --add-service=name
wou Numm ass den Numm vum Service. Zum Beispill, fir de Verkéier fir Apache z'erméiglechen:
firewall-cmd --zone=public --add-service=http
Fir zulässlech Ports ze definéieren, benotzt de Kommando:
firewall-cmd --zone=public --add-port=number/protocol
Zum Beispill, de Standard 22 Port fir SSH géif esou ausgesinn:
firewall-cmd --zone=public --add-port=22/tcp
Op dëser Etapp sinn d'Haaptregele scho geschaf. Als nächst, bestëmmen wéi de Verkéier veraarbecht gëtt ofhängeg vun der Quell, Destinatioun, Hafen an aner Critèren. Fir eng Regel ze addéieren (mat der ëffentlechen Zone als Beispill):
firewall-cmd --zone=public rule
Zum Beispill, fir Entréeën Traffic vun all Quell op den Hafen 80 (HTTP) z'erméiglechen:
firewall-cmd --zone=public --add-port=80/tcp --permanent
Fir eng Regel ze läschen:
firewall-cmd --permanent --remove-rule=rule_specification
wou Regel ass d'Zort vun der Regel (zB Hafen, Service, Räich-Regel, etc.), an Regel_Spezifikatioun ass d'Spezifikatioun vun der Regel selwer.
Nodeems Dir Ännerunge vun der Firewalld Konfiguratioun gemaach hutt, ass et néideg se ze späicheren an ëmzesetzen. Fir Ännerungen ze späicheren, benotzt de Kommando:
firewall-cmd --runtime-to-permanent
Fir Ännerungen z'applizéieren:
firewall-cmd --reload
Wann Dir de Setup ofgeschloss hutt, kënnt Dir déi gewielte Parameter verifizéieren andeems Dir d'Lëscht vun alle Regelen opmaacht:
firewall-cmd --list-all
Wann Probleemer entstinn, kontrolléiert d'Firewalld Logbicher mam Kommando:
journalctl -u firewalld
Bemierkung: Mir hunn nëmmen den allgemenge Algorithmus fir d'Verbindung opzestellen ofgedeckt. D'Instrument huet extensiv Funktionalitéit. Fir voll Informatiounen iwwert all sinn Optiounen, Dir kënnt de offiziell Dokumentatioun oder oppen Hëllef:
firewall-cmd --help
Konfiguréieren iptables op Linux
Am Géigesaz zu Firewalld ass iptables en eeler awer nach ëmmer wäit benotzt Tool an Linux fir d'Firewall ze managen. Et bitt eng méi direkt a flexibel Approche fir Paketfilterregelen um Linux Kernel Niveau. Wéi och ëmmer, iptables erfuerdert méi fortgeschratt Wëssen an Erfarung am Verglach zum Firewalld, wat et manner zougänglech mécht fir Ufänger. Kontrolléiert déi virinstalléiert Versioun vum Tool mam Kommando:
iptables -V
Wann de Tool net installéiert ass, muss et installéiert ginn. De Kommando fir Installatioun op Ubuntu, Debian:
apt install iptables
Fir Red Hat Systemer (zB CentOS, Fedora):
yum install iptables
De Kommando fir d'Aktivatioun no der Installatioun:
systemctl start iptables
Fir un de Startup ze addéieren, fuert aus:
systemctl enable iptables
Ier Dir d'iptables Konfiguratioun ufänkt, ass et wichteg ze verstoen wéi et funktionnéiert. Dëst gëtt vun der Syntax vum Programm gehollef. Et gesäit wéi follegt aus:
iptables -t table action chain additional_parameters
Loosst eis méi déif an all Element verdéiwen.
Iptables huet véier Haapttabellen: filter, nat, mangle, a raw. Jiddereen ass entwéckelt fir verschidden Aarte vu Päck ze veraarbecht an huet seng eege Ketten vu Reegelen:
- filter: Dëst ass déi meescht benotzt Tabell, mat Paketfilterregelen. Et gëtt benotzt fir Entscheedungen ze treffen ob d'Päck erlaabt oder ze refuséieren.
- nat: Dës Tabell gëtt benotzt fir Netzwierkadressen a Ports a Paketen z'änneren. Et gëtt dacks benotzt fir Masquerading (NAT) opzestellen.
- kraachen: An dëser Tabell kënnt Dir Packet Header änneren. Et gëtt fir spezialiséiert Paketoperatioune benotzt, sou wéi Marquage.
- rau: Dës Tabell gëtt benotzt fir Regelen ze konfiguréieren déi gëllen ier se duerch d'Verbindungsverfolgungssystem goen. Et gëtt typesch benotzt fir Reegelen opzestellen déi net vum Tracking System geännert ginn, sou wéi Päckelcher vu bestëmmten Adressen erofsetzen.
All Dësch enthält eng Rei vu Ketten. Ketten sinn eng Sequenz vu Reegelen déi sequenziell gepréift ginn. Et ginn dräi virdefinéiert Ketten:
- INPUT (Entrée). D'Regele an dëser Kette bestëmmen wat mat erakommende Päck ze maachen.
- OUTPUT (ausgaang). Dës Kette gëlt fir all Päck déi Äre Computer un aner Apparater oder Computeren am Netz schéckt.
- FORWARD (Forward). D'Regele an dëser Kette spezifizéieren wat mat fortgeschrattene Päckchen ze maachen.
Endlech huet all Kette eng Handlung (Zil). An der Praxis gi 5 Haaptaktiounen benotzt:
- AKZEPTÉIEREN: Loosst de Paket duerch d'Firewall passéieren.
- EROP: Refuséiert de Pak an entlooss et ouni Äntwert.
- Refuséieren: Refuséiert de Paket a schéckt dem Sender eng ICMP Fehlermeldung.
- LOG: Log de Paket am System Log a maacht eng aner Aktioun (zB ACCEPT oder DROP).
- RETURN: Stop d'Regelen an der aktueller Kette z'iwwerpréiwen an zréck an d'Uruffkette (wann zoutreffend).
Fir de Setup unzefänken, öffnen d'Lëscht vun existente Regelen mam Kommando:
iptables -L
Als Guide fir Iptables ze konfiguréieren, kucke mer praktesch Beispiller vun de meescht benotzte Kommandoen. Fir d'Bequemlechkeet wäerte mir d'Beispiller an 3 Gruppen opdeelen, jee no der spezifescher Kette.
Kette Doduerch fällt et:
- Erlaabt Entréeën Traffic iwwer TCP Protokoll um Hafen 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
2. Erlaabt erakommen Traffic iwwer UDP Protokoll um Hafen 22:
iptables -A INPUT -p udp --dport 22 -j ACCEPT
3. Block inkommende Traffic vun enger spezifescher IP Adress:
iptables -A INPUT -s 192.168.1.100 -j DROP
Kette Däischterheet:
- Erlaabt erausginn Traffic iwwer TCP Protokoll um Hafen 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
2. Erlaabt erausginn Traffic iwwer UDP Protokoll um Hafen 80:
iptables -A OUTPUT -p udp --dport 80 -j ACCEPT
3. Spär erausginn Traffic zu engem spezifeschen port (zum Beispill, 21):
iptables -A OUTPUT -p tcp --dport 21 -j DROP
Kette vir:
- Block Forward Traffic vun enger spezifescher Palette vun IP Adressen:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP
2. Blockéiert d'Forwarding vu Päck vun enger spezifescher Netzwierk-Interface:
iptables -A FORWARD -i eth1 -j DROP
3. Limitéiert d'Zuel vun de simultane Verbindunge fir e spezifesche Hafen (an dësem Beispill 10 Verbindungen pro Minutt um Hafen 80):
iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT
Wéi Dir kënnt gesinn, gëtt an all eenzelne Fall en zousätzlech Argument (Kommando) benotzt. Fir eng komplett Lëscht vu méiglechen Argumenter an allgemeng Ënnerstëtzung fir d'Funktionalitéit vum Tool ze kréien, gitt:
iptables -h
Fir sécherzestellen datt d'Astellunge richteg sinn, gitt de Kommando nei fir d'Lëscht vun de Regelen ze gesinn:
iptables -L
Fir eng spezifesch Regel ze läschen, benotzt de Kommando:
iptables -D chain rule_number
Zum Beispill, wann Dir d'Regel Nummer 1 vun der INPUT Kette wëllt läschen, da gesäit de Kommando esou aus:
iptables -D INPUT 1
Fir all Regele mat engem Kommando ze läschen:
iptables -F
Wichteg: iptables Regelen ginn net automatesch gespäichert nodeems de System oder de Service nei gestart gouf. Fir d'Regelen ze späicheren, musse se an eng Konfiguratiounsdatei bäigefüügt ginn a restauréiert ginn nom Neistart. Déi iptables-späicheren an iptables-Restauréieren Utilities kënne mat dësem hëllefen. Fir d'Regele ze späicheren, gitt de Kommando:
iptables-save > /etc/iptables/rules.v4
Dëst späichert déi aktuell iptables Regelen an der rules.v4 Datei. Fir nom Restart ze restauréieren, gitt:
iptables-restore < /etc/iptables/rules.v4
Dëse Kommando restauréiert d'Regele vun der rules.v4 Datei.
Conclusioun
Firewall op Linux konfiguréieren mat Firewalld oder iptables ass e wichtegen Aspekt fir d'Serversécherheet ze garantéieren. Béid Tools bidden zouverlässeg Mëttel fir den Netzverkéier ze managen an de System virun onerlaabten Zougang a Cyberattacken ze schützen. D'Wiel tëscht Firewalld an iptables hänkt vun de spezifesche Bedierfnesser a Virléiften vum Benotzer of, andeems se hir verschidde Funktionalitéit a Stäerkten berücksichtegen.