- 1. Firewalld installeren en beheren op Linux
- 2. Zones beheren in Firewalld CentOS en Ubuntu
- 3. Poorten blokkeren of openen in Firewalld Linux CentOS en Ubuntu
- 4. Services blokkeren of openen in Firewalld CentOS en Ubuntu
- 5. IP-masquerading in- en uitschakelen via Firewalld Linux
- 6. Hoe IMCP-bericht in en uit te schakelen in Firewalld Linux
- 7. Hoe de paniekmodus in Firewalld Linux CentOS en Ubuntu in of uit te schakelen?
- 8. Hoe Firewalld op Linux CentOS en Ubuntu te blokkeren?
Beveiliging is een van de acties die altijd aanwezig moet zijn, niet alleen in organisaties maar ook op persoonlijk niveau wanneer we met een besturingssysteem werken, en dat wil zeggen, hoewel er verschillende hulpmiddelen zijn om de beveiliging en privacy te vergroten tijdens het gebruik van een systeem, de bediening systeem zelf bevat een extra functie zoals de firewall.
De essentiële functie van een firewall is het creëren en beheren van inkomende en uitgaande regels om het hele netwerkverbindingsproces te beschermen. Zo wordt voorkomen dat verdachte of onbetrouwbare pakketten onze computer binnenkomen en enige vorm van schade veroorzaken, zoals het inbrengen van malware of het kapen van informatie.
Als we met Linux-systemen werken, een van de veiligste, hebben we open source-hulpprogramma's die ons helpen dit beveiligingsproces veel completer te maken en een van deze hulpprogramma's is Firewalld. Solvetic zal uitleggen wat Firewalld is en hoe we het kunnen installeren en gebruiken in twee van de meest gebruikte distributies van dit moment, zoals CentOS en Ubuntu.
OpmerkingHet configuratieproces is identiek voor beide systemen
Wat is Firewalld?Firewalld (firewall-daemon), is een hulpprogramma dat tot doel heeft een dynamisch beheerde firewall te leveren die ondersteuning biedt voor netwerkzones waarin het vertrouwensniveau van de te gebruiken netwerkverbindingen of interfaces is gedefinieerd. Firewalld is compatibel met de IPv4-adressen, IPv6-firewallinstellingen, Ethernet-bridges en IP-adrespools.
Firewalld biedt ons een interface voor services of applicaties om firewallregels direct toe te voegen, waardoor controletaken worden vergemakkelijkt. Een van de belangrijkste voordelen van het gebruik van Firewalld is dat alle wijzigingen die moeten worden aangebracht in realtime kunnen worden gedaan in de uitvoeringsomgeving zonder dat de service of Daemon opnieuw hoeft te worden gestart, zoals bij veel hulpprogramma's gebeurt.
Firewalld integreert een D-Bus-interface die geschikt is voor het beheer van de services, applicaties en het beheer van de firewallconfiguratie.Deze interface kan worden geïntegreerd met de configuratietools zoals firewall-cmd, firewall-config en firewall-applet.
Firewalld-functiesEnkele van de functies die we tegenkomen bij het gebruik van Firewalld zijn:
- Ondersteuning voor IPv4, IPv6, bridging en ipset.
- IPv4- en IPv6 NAT-ondersteuning.
- Firewall of firewallzones.
- Volledige D-Bus API.
- Eenvoudige service, poort, protocol, bronpoort, maskering, poortdoorschakeling, icmp-filter, rich rule, interface en bronadresbeheer in gebruikte zones.
- Directe interface voor beheer.
- Blokkeringsfunctie die een witte lijst maakt van applicaties die de firewall kunnen wijzigen.
- Automatisch laden van Linux-kernelmodules.
- Integratie met Puppet.
- Getimede firewallregels in zones.
- Eenvoudige registratie van geweigerde pakketten.
- Grafische configuratietool met gtk3.
- Applet met behulp van Qt4.
DistributiesDe basisdistributies waarin Firewalld kan worden geïmplementeerd zijn:
- RHEL 7, CentOS 7
- Fedora 18 en hoger
ToepassingenDe toepassingen en bibliotheken die firewalld als hulpprogramma voor firewallbeheer ondersteunen, zijn onder meer:
- Netwerkmanager
- libvirt
- havenarbeider
- fail2ban
Het is belangrijk dat we, voordat we in detail treden over het installeren en gebruiken van Firewalld, er iets meer over weten. Firewalld bestaat uit drie lagen, namelijk:
- Hoofdlaag (kernlaag) die verantwoordelijk is voor het beheer van de configuratie en services zoals iptables, ip6tables, ebtables, ipset en de modulelader.
- D-Bus-interface: dit is het belangrijkste middel voor het wijzigen en maken van firewall-instellingen.
- Backends die interactie met netfilter mogelijk maken (de native kernelmodule die wordt gebruikt voor firewall) en sommige worden geteld als iptables, ip6tables, ebtables, ipset, nft, linnftables, enz.
De firewalld D-Bus-interface is de belangrijkste manier om firewall-instellingen te maken en te bewerken. Deze interface wordt gebruikt door alle online tools die in firewalld zijn ingebouwd, zoals firewall-cmd, firewall-config en firewall-applet, de firewall-offline-cmd-regel praat niet rechtstreeks met firewalld, maar het bewerkt en maakt de configuratiebestanden van firewalld rechtstreeks via de firewalld-kernel met de IO-stuurprogramma's.
Het globale configuratiebestand voor firewalld bevindt zich in /etc/firewalld/firewalld.conf en de firewallfuncties zijn geconfigureerd in XML-indeling.
Firewalld maakt gebruik van zones die het niveau van vertrouwen bepalen dat de te gebruiken netwerkverbinding, de interface of bronadreslink zal hebben, en dezelfde zone kan voor veel netwerkverbindingen, interfaces en bronnen worden gebruikt.
De beschikbare zones in Firewalld zijn:
AfzettenDit is de zone met het laagste betrouwbaarheidsniveau omdat alle inkomende pakketten automatisch worden geweigerd en alleen uitgaande pakketten kunnen worden ingeschakeld.
BlokBij gebruik van deze zone is het vertrouwensniveau vergelijkbaar met Drop, maar het verschilt alleen doordat inkomende pakketten worden afgewezen met icmp-host-prohibited voor IPv4 en icmp6-adm-prohibited voor IPv6-berichten.
OpenbaarMet deze zone verwijst het vertrouwensniveau naar niet-vertrouwde openbare netwerken, dus het accepteert alleen vertrouwde verbindingen.
ExternHet is het niveau dat wordt gedefinieerd wanneer we de firewall als gateway gebruiken en de maskering ervan wordt ingeschakeld door de routers.
DMZHet is een zone waar het vertrouwensniveau van toepassing is op apparatuur die zich in een DMZ (Gedemilitariseerde) zone bevindt, dit betekent dat de openbare toegang beperkt is tot het interne netwerk. Het accepteert alleen geaccepteerde verbindingen.
WerkZoals de naam al aangeeft, wordt dit niveau gebruikt in werkgebieden waar netwerkcomputers toegang hebben.
thuisDoor dit niveau te gebruiken hebben we het over een thuisomgeving en worden de meeste computers op het netwerk geaccepteerd
internDit type niveau is van toepassing op interne netwerken, zodat alle computers op het lokale netwerk worden geaccepteerd.
vertrouwdHet staat voor Trust, wat inhoudt dat het het hoogste niveau is en alle inkomende verbindingen vertrouwt.
Om zones te configureren of toe te voegen, kunnen we een van de volgende beschikbare firewalld-configuratie-interfaces gebruiken:
- Grafische configuratietool firewall-config.
- Firewall-cmd opdrachtregelprogramma.
- D-BUS programmatische interface.
- Maak, kopieer of bewerk een zonebestand in een van de configuratiemappen, zoals: / etc / firewalld / zones voor aangepaste en door de gebruiker gemaakte configuratiebestanden of / usr / lib / firewalld / zones voor standaard- en terugvalconfiguraties .
1. Firewalld installeren en beheren op Linux
Stap 1
In het geval dat CentOS 7 wordt gebruikt, is het firewalld-pakket vooraf geïnstalleerd en kan dit worden geverifieerd met de volgende opdracht:
rpm -qa firewalldIn het geval van Ubuntu moeten we het installeren met de volgende opdracht:
sudo apt firewalld installeren
VERGROTEN
We voeren de letter S in om de download en installatie van Firewalld te bevestigen.
Stap 2
Firewalld is een reguliere systemd-service die als volgt kan worden beheerd via de opdracht systemctl:
sudo systemctl start firewalld (hiermee kunt u de service starten) sudo systemctl firewalld inschakelen (schakelt de service in tijdens het opstarten van het systeem) sudo systemctl status firewalld (hiermee kunt u de status van de service zien)
VERGROTEN
Stap 3
Na het starten van de firewalld-service kunnen we controleren of de daemon al dan niet in Linux draait, hiervoor moeten we de firewall-cmd-tool gebruiken, we voeren het volgende uit:
sudo firewall-cmd -state
VERGROTEN
2. Zones beheren in Firewalld CentOS en Ubuntu
Stap 1
Om een lijst van alle beschikbare firewallservices en zones te krijgen, moeten we de volgende opdrachten uitvoeren:
Om de zones te zien:
sudo firewall-cmd --get-zones
VERGROTEN
Stap 2
Om de services te zien die we zullen uitvoeren:
sudo firewall-cmd --get-services
VERGROTEN
Stap 3
De standaardzone is de zone die is geïmplementeerd voor elke firewallfunctie die niet is gekoppeld aan een andere zone. Het is mogelijk om de standaardzoneset voor netwerkverbindingen en interfaces te verkrijgen door het volgende uit te voeren:
sudo firewall-cmd --get-default-zone
VERGROTEN
Stap 4
Als we een andere standaardzone willen instellen, moeten we het volgende commando gebruiken, moet worden opgemerkt dat als we de optie --permanent toevoegen, de configuratie permanent tot stand wordt gebracht, we elk van de volgende opties kunnen uitvoeren:
sudo firewall-cmd --set-default-zone = externof
sudo firewall-cmd --set-default-zone = extern -permanentStap 4
Vervolgens passen we de wijzigingen toe door het volgende uit te voeren:
sudo firewall-cmd -reload
VERGROTEN
Stap 5
Als het doel is om bijvoorbeeld een interface aan een zone toe te voegen, kunnen we het volgende uitvoeren:
sudo firewall-cmd --zone = home --add-interface = enp0s3In dit geval hebben we de enp0s3 (LAN) interface toegevoegd aan de thuiszone.
VERGROTEN
Stap 6
Opgemerkt moet worden dat een interface alleen aan een enkele zone kan worden toegevoegd, in plaats daarvan kan deze naar een andere zone worden verplaatst, hiervoor zullen we de --change-interface-schakelaar gebruiken of uit de vorige zone verwijderen met de -remove-interface-schakelaar en voeg het dan toe aan de nieuwe zone, bijvoorbeeld:
sudo firewall-cmd --zone = openbaar --add-interface = enp0s3 sudo firewall-cmd --zone = openbaar --change-interface = enp0s3Met Firewalld is het mogelijk om veel zones tegelijkertijd te gebruiken. Als we een lijst willen krijgen van alle actieve zones met de functies ingeschakeld, zoals interfaces, services, poorten, protocollen, voeren we het volgende uit:
sudo firewall-cmd --get-active-zones
VERGROTEN
Stap 7
Om meer informatie te krijgen over de zones, zoals wat er is ingeschakeld of uitgeschakeld, kunnen we een van deze commando's gebruiken:
sudo firewall-cmd --zone = home --list-allOF
sudo firewall-cmd --info-zone public
VERGROTEN
Stap 8
Een andere handige optie om te gebruiken met Firewalld is --get-target, dit toont het doel van een permanente zone, de doelen kunnen standaard zijn, ACCEPT, DROP, REJECT, om het doel van verschillende zones te controleren kunnen we een van de volgende commando's gebruiken :
sudo firewall-cmd --permanent --zone = public --get-target sudo firewall-cmd --permanent --zone = block --get-target sudo firewall-cmd --permanent --zone = dmz --get- target sudo firewall-cmd --permanent --zone = extern --get-target sudo firewall-cmd --permanent --zone = drop --get-target
3. Poorten blokkeren of openen in Firewalld Linux CentOS en Ubuntu
Om een poort via firewalld te openen, voegt u deze toe aan de zone met de optie --add-port. Als de zone niet expliciet is opgegeven, wordt deze ingeschakeld in de standaardzone.
Stap 1
Om bijvoorbeeld poorten 80 en 443 toe te voegen die inkomend webverkeer via de HTTP- en HTTPS-protocollen toestaan, gaan we het volgende uitvoeren:
sudo firewall-cmd --zone = public --permanent --add-port = 80 / tcp --add-port = 443 / tcp
VERGROTEN
Stap 2
Nu gaan we de firewalld opnieuw laden en de functies controleren die in de openbare zone zijn ingeschakeld:
sudo firewall-cmd --herlaad sudo firewall-cmd --info-zone public
VERGROTEN
Stap 3
Als we een poort in firewalld willen blokkeren, moeten we de --remove-port optie gebruiken, in dit voorbeeld als volgt:
sudo firewall-cmd --zone = public --permanent --remove-port = 80 / tcp --remove-port = 443 / tcp
4. Services blokkeren of openen in Firewalld CentOS en Ubuntu
Voor het inschakelen van een service in Firewalld moeten we deze inschakelen met de optie --add-service, onthoud dat, als we de zone weglaten, de standaardzone wordt gebruikt.
Stap 1
Om bijvoorbeeld de http-service in een openbare zone in te schakelen, voeren we het volgende uit:
sudo firewall-cmd --zone = public --permanent --add-service = http sudo firewall-cmd -reload
VERGROTEN
Stap 2
Met de parameter -remove-service kunnen we de service uit de toegewezen zone verwijderen:
sudo firewall-cmd --zone = public --permanent --remove-service = http sudo firewall-cmd -reload
VERGROTEN
5. IP-masquerading in- en uitschakelen via Firewalld Linux
IP-masquerading, of IPMASQ / MASQ) is een NAT-mechanisme waarmee hosts op een netwerk met privé-IP-adressen met internet kunnen communiceren via het openbare IP-adres dat is toegewezen aan de Linux-server met behulp van de IPMASQ-gateway.
Met deze maskering zal het verkeer van de onzichtbare hosts op andere computers op internet verschijnen alsof het rechtstreeks van de Linux-server komt.
Om te controleren of de maskering actief is of niet, voeren we het volgende uit:
sudo firewall-cmd --zone = public --query-masqueradeDan kunnen we een zone als deze toevoegen:
sudo firewall-cmd --zone = public --add-masqueradeOm een zone uit dit type functie te verwijderen, moeten we het volgende uitvoeren:
sudo firewall-cmd --zone = public --remove-masquerade
6. Hoe IMCP-bericht in en uit te schakelen in Firewalld Linux
Het ICMP-protocol (Internet Control Message Protocol) is een protocol dat is ontwikkeld om verzoeken om informatie of antwoorden op die verzoeken om informatie of onder foutcondities gedurende het hele communicatieproces in het net te genereren.
Stap 1
In Firewalld is het mogelijk om ICMP-berichten in of uit te schakelen, maar het wordt aanbevolen om alle compatibele ICMP-typen te valideren, hiervoor voeren we uit:
sudo firewall-cmd --get-icmptypes
VERGROTEN
Stap 2
We kunnen een ICMP als volgt toevoegen of blokkeren:
sudo firewall-cmd --zone = home --add-icmp-block = echo-antwoord sudo firewall-cmd --zone = home --remove-icmp-block = echo-antwoord
VERGROTEN
Stap 3
We kunnen alle ICMP-typen zien die in een zone zijn toegevoegd met behulp van de schakeloptie --list-icmp-blocks:
sudo firewall-cmd --zone = home --list-icmp-blocks
7. Hoe de paniekmodus in Firewalld Linux CentOS en Ubuntu in of uit te schakelen?
Paniekmodus is een speciale modus geïntegreerd in Firewalld waarin alle inkomende en uitgaande pakketten worden geëlimineerd en actieve verbindingen verlopen zodra deze is geactiveerd. We kunnen deze modus inschakelen in noodsituaties waar er een bedreiging voor het systeem is en dus zullen we vermijden enige verbinding.
Stap 1
Om de paniekmodus te controleren, gebruiken we de --query-panic optie en we kunnen deze activeren met de sudo firewall-cmd --panic-on optie:
VERGROTEN
Stap 2
Om te begrijpen hoe deze modus werkt, kunnen we een website pingen als deze is uitgeschakeld en zullen we alle verzonden verzoeken ontvangen, maar wanneer deze is geactiveerd, zien we een bericht dat een tijdelijke verbindingsfout aangeeft:
VERGROTEN
Stap 3
Om deze modus uit te schakelen voeren we uit:
sudo firewall-cmd --panic-off
8. Hoe Firewalld op Linux CentOS en Ubuntu te blokkeren?
Stap 1
In Firewalld kunnen lokale applicaties of services de firewallconfiguratie wijzigen als ze met root-privileges worden uitgevoerd, we kunnen bepalen welke applicaties wijzigingen in de firewall kunnen aanvragen en deze aan de witte lijst voor blokkeren kunnen toevoegen. Deze functie is standaard uitgeschakeld en we kunnen deze in- of uitschakelen met de --lockdown-on of -lockdown-off schakelaar:
sudo firewall-cmd --lockdown-onOF
sudo firewall-cmd --lockdown-offStap 2
Een veiligere methode is om deze functie rechtstreeks in de editie van het hoofdconfiguratiebestand in of uit te schakelen, aangezien firewall-cmd soms niet bestaat in de blokkerende witte lijst, hiervoor openen we het configuratiebestand:
sudo nano /etc/firewalld/firewalld.conf
VERGROTEN
Daar vinden we de regel Lockdown = geen regel en stellen de status in op Lockdown = ja, sla de wijzigingen op met de Ctrl + O-toetsen en verlaat de editor met Ctrl + X.
Firewalld is een complete oplossing om verschillende regels en zones toe te voegen aan onze Linux-distributies en zo betere algemene beveiligingsopties aan het systeem toe te voegen.