Hoe UFW te installeren en configureren - Een ongecompliceerde FireWall in Debian/Ubuntu
Omdat computers met elkaar verbonden zijn, groeien de diensten snel. E-mail, Sociale media, Online winkel, Chat tot Webconferenties zijn diensten die gebruikt door gebruiker. Maar aan de andere kant houdt deze connectiviteit gewoon van een dubbelzijdig mes. Het is ook mogelijk om slechte berichten naar computers te sturen, zoals Virus, malware en trojan-apps.
Het internet, het grootste computernetwerk, is niet altijd gevuld met goede mensen. Om ervoor te zorgen dat onze computers/servers veilig zijn, moeten we deze beschermen.
Een van de componenten die u op uw computer/servers moet hebben, is Firewall. Uit Wikipedia is een definitie:
Bij computers is een firewall een software- of hardwaregebaseerd netwerkbeveiligingssysteem dat het inkomende en uitgaande netwerkverkeer controleert door de datapakketten te analyseren en te bepalen of ze wel of niet mogen worden doorgelaten, op basis van de toegepaste regelset.
Iptables is een van de firewalls die veel door servers wordt gebruikt. Het is een programma dat wordt gebruikt om inkomend en uitgaand verkeer op de server te beheren op basis van een reeks regels. Over het algemeen mag alleen een vertrouwde verbinding de server betreden. Maar IPTables draait in de consolemodus en het is ingewikkeld. Degenen die bekend zijn met de regels en opdrachten van iptables, kunnen het volgende artikel lezen waarin wordt beschreven hoe u de iptables-firewall gebruikt.
- Basishandleiding voor IPTables (Linux Firewall).
Installatie van UFW Firewall in Debian/Ubuntu
Om de complexiteit van het instellen van IPTables te verminderen, is er veel fronted. Als je Ubuntu Linux gebruikt, zul je ufw als standaard firewalltool aantreffen. Laten we beginnen met het verkennen van de ufw firewall.
Wat is ufw
De ufw (Ongecompliceerde Firewall) is een frontend voor de meest gebruikte iptables firewall en is zeer geschikt voor host-gebaseerde firewalls. ufw biedt een raamwerk voor het beheren van netfilter, en biedt ook een opdrachtregelinterface voor het besturen van de firewall. Het biedt een gebruiksvriendelijke en eenvoudig te gebruiken interface voor Linux-nieuwkomers die niet zo bekend zijn met firewallconcepten.
Terwijl aan de andere kant dezelfde ingewikkelde opdrachten beheerders helpen bij het instellen van ingewikkelde regels met behulp van de opdrachtregelinterface. De ufw is een upstream voor andere distributies zoals Debian, Ubuntu en Linux Mint.
Basisgebruik ufw
Controleer eerst of ufw is geïnstalleerd met behulp van de volgende opdracht.
sudo dpkg --get-selections | grep ufw
ufw install
Als het niet is geïnstalleerd, kunt u het installeren met de opdracht apt, zoals hieronder wordt weergegeven.
sudo apt-get install ufw
Voordat u het programma gebruikt, moet u controleren of ufw actief is of niet. Gebruik de volgende opdracht om dit te controleren.
sudo ufw status
Als je Status: inactief hebt gevonden, betekent dit dat deze niet actief is of is uitgeschakeld.
NIEUW! Een onmisbaar e-boek voor elke Linux-beheerder!Download het gratis e-boek van 696 pagina's
ufw in-/uitschakelen
Om dit in te schakelen, hoeft u alleen maar de volgende opdracht op de terminal te typen.
sudo ufw enable
Firewall is active and enabled on system startup
Om het uit te schakelen, typt u gewoon.
sudo ufw disable
Maak een lijst van de huidige ufw-regels
Nadat de firewall is geactiveerd, kunt u uw regels eraan toevoegen. Als u wilt zien wat de standaardregels zijn, kunt u typen.
sudo ufw status verbose
Voorbeelduitvoer
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
$
Hoe u ufw-regels kunt toevoegen
Zoals u ziet, wordt standaard elke inkomende verbinding geweigerd. Als u uw machine op afstand wilt gebruiken, moet u de juiste poort toestaan. U wilt bijvoorbeeld een ssh-verbinding toestaan. Hier is het commando om het toe te staan.
Toegang te verlenen
sudo ufw allow ssh
[sudo] password for pungki :
Rule added
Rule added (v6)
$
Als u de status opnieuw controleert, ziet u een uitvoer zoals deze.
sudo ufw status
To Action From
-- ----------- ------
22 ALLOW Anywhere
22 ALLOW Anywhere (v6)
Als u veel regels heeft en u wilt alle regels direct van een nummer voorzien, gebruik dan parameter genummerd.
sudo ufw status numbered
To Action From
------ ----------- ------
[1] 22 ALLOW Anywhere
[2] 22 ALLOW Anywhere (v6)
De eerste regel zegt dat inkomende verbindingen naar poort 22 vanaf Overal, zowel tcp als udp pakketten zijn toegestaan. Wat als u alleen tcp-pakketten wilt toestaan? Vervolgens kunt u de parameter tcp toevoegen na het poort nummer. Hier is een voorbeeld met voorbeelduitvoer.
sudo ufw allow ssh/tcp
To Action From
------ ----------- ------
22/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere (v6)
De toegang ontzeggen
Dezelfde trucs worden toegepast op de Weigeren-regel. Stel dat u de ftp-regel wilt weigeren. Je hoeft dus alleen maar te typen.
sudo ufw deny ftp
To Action From
------ ----------- ------
21/tcp DENY Anywhere
21/tcp DENY Anywhere (v6)
Specifieke poort toevoegen
Soms hebben we een aangepaste poort die niet aan alle normen voldoet. Laten we zeggen dat we de ssh-poort op onze machine veranderen van 22 naar 2290. Om poort 2290 toe te staan, kunnen we deze vervolgens op deze manier toevoegen.
sudo ufw allow
To Action From
-- ----------- ------
2290 ALLOW Anywhere
2290 ALLOW Anywhere (v6)
Het is ook mogelijk dat u poortbereik aan de regel toevoegt. Als we de poort van 2290 – 2300 met het tcp-protocol willen openen, zal het commando als volgt zijn.
sudo ufw allow 2290:2300/tcp
To Action From
------ ----------- ------
2290:2300/tcp ALLOW Anywhere
2290:2300/tcp ALLOW Anywhere (v6)
terwijl als je udp wilt gebruiken, je gewoon de volgende opdracht gebruikt.
sudo ufw allow 2290:2300/udp
To Action From
------ ----------- ------
2290:2300/udp ALLOW Anywhere
2290:2300/udp ALLOW Anywhere (v6)
Houd er rekening mee dat u ‘tcp’ of ‘udp’ expliciet moet invoeren, anders krijgt u een foutmelding zoals hieronder.
ERROR: Must specify ‘tcp’ or ‘udp’ with multiple ports
Specifiek IP-adres toevoegen
Eerder hebben we regels toegevoegd op basis van service of poort. Met Ufw kunt u ook regels toevoegen op basis van IP-adres. Hier is de voorbeeldopdracht.
sudo ufw allow from 192.168.0.104
U kunt ook een subnetmasker gebruiken om het bereik te vergroten.
sudo ufw allow form 192.168.0.0/24
To Action From
-- ----------- ------
Anywhere ALLOW 192.168.0.104
Anywhere ALLOW 192.168.0.0/24
Zoals u kunt zien, beperkt de parameter alleen de verbindingsbron. Terwijl de bestemming – die wordt weergegeven door de kolom Naar – Overal is. U kunt de bestemming ook beheren met de parameter ‘Naar’. Laten we eens kijken naar het voorbeeld om toegang tot poort 22 (ssh) toe te staan.
sudo ufw allow to any port 22
Met het bovenstaande commando kunt u overal en vanuit elk protocol toegang krijgen tot poort 22.
Parameters combineren
Voor meer specifieke regels kunt u ook IP-adres, protocol en poort combineren. Laten we zeggen dat we een regel willen maken die de verbinding alleen beperkt tot IP 192.168.0.104, alleen protocol tcp en tot poort 22. Dan ziet het commando eruit zoals hieronder.
sudo ufw allow from 192.168.0.104 proto tcp to any port 22
De syntaxis voor het maken van een weigeringsregel is vergelijkbaar met de toestemmingsregel. U hoeft alleen de parameter te wijzigen van allow in deny.
Regels verwijderen
Soms moet u mogelijk uw bestaande regel verwijderen. Ook hier is het met ufw eenvoudig om regels te verwijderen. Uit het bovenstaande voorbeeld heeft u een onderstaande regel en u wilt deze verwijderen.
To Action From
-- ----------- ------
22/tcp ALLOW 192.168.0.104
21/tcp ALLOW Anywhere
21/tcp ALLOW Anywhere (v6)
Er zijn twee methoden om regels te verwijderen.
Methode 1
Met het onderstaande commando verwijdert regels die overeenkomen met de service ftp. Dus de 21/tcp, wat betekent dat de ftp-poort wordt verwijderd.
sudo ufw delete allow ftp
Methode 2
Maar toen u probeerde de eerste regel in het bovenstaande voorbeeld te verwijderen met behulp van de onderstaande opdracht.
sudo ufw delete allow ssh
Or
sudo ufw delete allow 22/tcp
Mogelijk vindt u een foutmelding zoals.
Could not delete non-existent rule
Could not delete non-existent rule (v6)
Dan kun je dit trucje doen. Zoals we hierboven vermeldden, kunt u het aantal regels weergeven om aan te geven welke regel we willen verwijderen. Laten we het je laten zien.
sudo ufw status numbered
To Action From
-- ----------- ------
[1] 22/tcp ALLOW 192.168.0.104
[2] 21/tcp ALLOW Anywhere
[3] 21/tcp ALLOW Anywhere (v6)
Vervolgens kunt u de eerste regel verwijderen met. Als u op “y” drukt, wordt de regel definitief verwijderd.
sudo ufw delete 1
Deleting :
Allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y
Van die methoden zul je het verschil zien. Methode 2 vraagt om gebruikersbevestiging voordat de regel wordt verwijderd, terwijl dat bij methode 1 niet het geval is.
Regels opnieuw instellen
In bepaalde situaties wilt u wellicht alle regels verwijderen/opnieuw instellen. U kunt dit doen door te typen.
sudo ufw reset
Resetting all rules to installed defaults. Proceed with operation (y|n)? y
Als u op “y” drukt, maakt ufw een back-up van alle bestaande regels voordat u uw ufw opnieuw instelt. Als u de regels opnieuw instelt, wordt ook uw firewall uitgeschakeld. U moet het opnieuw inschakelen als u het wilt gebruiken.
Geavanceerde functionaliteit
Zoals ik hierboven al zei, kan de ufw-firewall alles doen wat iptables ook kunnen doen. Dit wordt bereikt door verschillende sets regelbestanden te gebruiken, die niets meer zijn dan de geschikte iptables-restore tekstbestanden. Het fijn afstemmen van ufw en/of het plaatsen van extra iptables-opdrachten die niet zijn toegestaan via het ufw-commando is een kwestie van meerdere tekstbestanden bewerken.
- /etc/default/ufw: de hoofdconfiguratie voor standaardbeleid, IPv6-ondersteuning en kernelmodules.
- /etc/ufw/before[6].rules: regels in deze bestanden worden berekend voordat er regels worden toegevoegd via het ufw-commando.
- /etc/ufw/after[6].rules: regels in deze bestanden worden berekend op basis van regels die zijn toegevoegd via het ufw-commando.
- /etc/ufw/sysctl.conf: kernelnetwerktunables.
- /etc/ufw/ufw.conf: stelt in of ufw wel of niet is ingeschakeld bij het opstarten en stelt het LOGLEVEL in.
Conclusie
UFW als front-end voor iptables vormt zeker een gemakkelijke interface voor de gebruiker. De gebruiker hoeft geen ingewikkelde iptables-syntaxis te onthouden. UFW gebruikt ook ‘plain english‘ als parameter.
Toestaan, weigeren en reset zijn daar één van. Ik geloof dat er nog veel meer front-end iptables zijn. Maar ufw is zeker een van de beste alternatieven voor gebruikers die hun firewall snel, gemakkelijk en natuurlijk veilig willen instellen. Bezoek de ufw-handleiding door man ufw te typen voor meer informatie.