Terug naar blog

Een firewall configureren met UFW op Ubuntu 18.04

Een firewall configureren met UFW op Ubuntu 18.04

Een firewall is een van de kerncomponenten van het beveiligen van een systeem. Het is verantwoordelijk voor het beheren van de inkomende en uitgaande verbindingen over het netwerk. Het is de primaire verdedigingslinie voor je servers en gegevens. Daarom is het van cruciaal belang om een goed geconfigureerde firewall te hebben. In deze handleiding leiden we je door de stappen voor het instellen van een firewall met UFW op Ubuntu 18.04.

UFW op Ubuntu

De term UFW staat voor “Uncomplicated Firewall.” Het is een standaard firewallprogramma dat vooraf is geïnstalleerd op Ubuntu. UFW is in feite een interface voor iptables. Het doel van UFW is om het configureren en beheren van een firewall eenvoudiger te maken. Hoewel iptables op zichzelf een solide en flexibele optie is, is het niet erg toegankelijk voor beginners. UFW maakt het gemakkelijker voor zowel beginners als ervaren gebruikers.

Bekijk eerst onze allesomvattende gids die je helpt vertrouwd te raken met de basisfunctionaliteiten van UFW. Je kunt ook deze handleiding volgen om je Ubuntu-server te installeren. Laten we nu aan de slag gaan!

Om te beginnen, als je UFW om een of andere reden niet is geïnstalleerd, installeer het dan meteen:

UFW configureren

  • IPv6 gebruiken

Momenteel is IPv4 nog steeds de dominante kracht. Met dat in gedachten richt het grootste deel van deze handleiding zich ook op IPv4. Gelukkig biedt UFW ook ondersteuning voor IPv6. Het enige wat je hoeft te doen is de functie in te schakelen in het UFW-configuratiebestand.

Open eerst het UFW-configuratiebestand in een teksteditor. Om de wijzigingen op te slaan, moet de teksteditor worden uitgevoerd met sudo-rechten:

Zoek naar “IPV6” en zorg ervoor dat dit is ingesteld op “yes”.

  • Standaardbeleid

Als dit de eerste keer is dat je met een firewall aan de slag gaat, is het aan te raden om eerst het standaardbeleid te definiëren. Deze regels bepalen hoe verkeer wordt beheerd dat niet aan een expliciete regel voldoet. Standaard is UFW geconfigureerd om alle inkomende verbindingen te weigeren, maar alle uitgaande verbindingen toe te staan. Dit houdt in dat niemand de server kan bereiken, terwijl een applicatie die op de server draait wel naar buiten kan communiceren.

De volgende commando's herdefiniëren simpelweg het standaardgedrag van UFW. Let op: dit verandert het gedrag van UFW als dit eerder was gewijzigd:

Voor een persoonlijke computer zouden deze firewallregels alleen al voldoende zijn. Servers hebben echter meer nodig om hun beveiliging goed te optimaliseren.

SSH-verbindingen toestaan

Zoals UFW nu is geconfigureerd, weigert het alle inkomende verbindingen. Voor een externe server is dat onacceptabel. Zonder toegang tot de server kan er niets worden gedaan. Om dit probleem te voorkomen, kan UFW worden geconfigureerd om inkomende SSH of HTTP-verbindingen toe te staan.

Voer het volgende commando uit om SSH-verbindingen naar de server toe te staan. Dit vertelt UFW in feite om alle verbindingen op poort 22 toe te staan. Dit is de poort waarop de SSH-daemon standaard luistert:

In plaats van dit commando is het mogelijk om rechtstreeks in te stellen dat verbindingen met poort 22 worden toegestaan. Deze poort is gedefinieerd in het bestand /etc/services:

Omdat poort 22 de standaardpoort is voor de SSH-daemon, kan deze ook vatbaar zijn voor aanvallen. Wat als de SSH-server is geconfigureerd om op een andere poort te luisteren? In zo'n situatie moet UFW verbindingen met die poort toestaan. Ervan uitgaande dat de SSH-server luistert op poort 1234, gebruik dan het volgende commando:

UFW inschakelen

Hoewel de UFW-regels zijn ingesteld, doen ze niets tenzij UFW is geactiveerd. Standaard is UFW uitgeschakeld, wat betekent dat de regels ondanks het declareren ervan niet worden afgedwongen. Voer het volgende commando uit om UFW in te schakelen:

UFW kan een waarschuwingsbericht weergeven over het verstoren van de bestaande SSH-verbindingen. Omdat SSH-verbindingen zijn geconfigureerd om te worden toegestaan, zal het inschakelen van UFW geen verstoring veroorzaken. Voer het volgende commando uit om te zien welke regels zijn ingesteld:

Verschillende verbindingen toestaan

Op dit punt moet UFW worden uitgerust met andere regels om een stabiele ervaring te hebben. De verbindingen die moeten worden toegestaan, hangen af van uw specifieke behoeften. Er is al gedemonstreerd hoe u UFW kunt opdragen verbindingen toe te staan op basis van de naam van een service of poortnummer.

Hier zijn enkele andere poorten die zeer gebruikelijk zijn om open te hebben:

  • SSH (poort 22): Dit is de standaardpoort die is geconfigureerd voor SSH-verbindingen.
  • HTTP (poort 80): Dit is de standaardpoort die onversleutelde webservers gebruiken.
  • HTTPS (poort 443): Dit is de standaardpoort die versleutelde webservers gebruiken.

Om SSH-verbindingen in te schakelen, voert u een van de volgende opdrachten uit:

Voer vervolgens een van de volgende opdrachten uit om HTTP-verbindingen in te schakelen:

Voer een van de volgende opdrachten uit om HTTPS-verbindingen in te schakelen:

Poortbereik

Tot nu toe hebben we gedemonstreerd hoe u een bepaalde poort kunt toestaan. Wat als er behoefte is aan een bereik van poorten? Elke poort declareren aan UFW is vrij inefficiënt. Sommige toepassingen gebruiken meerdere poorten. Gelukkig maakt UFW het mogelijk om een bereik van poorten te declareren. Gebruik hiervoor de volgende opdrachtstructuur:

Het volgende voorbeeld schakelt X11-verbindingen in die poorten 6000 tot 6007:

Het wordt aanbevolen om protocollen te declareren wanneer dat mogelijk is. In de meeste gevallen is het echter niet nodig en werkt alles prima.

Specifieke IP-adressen

Bij het gebruik van UFW is het ook mogelijk om verbindingen te filteren op specifieke IP-adressen. Standaard blokkeert UFW verbindingen van elk IP-adres. Het is mogelijk om te declareren dat verbindingen van bepaalde IP-adressen zijn toegestaan. Gebruik de volgende opdrachtstructuur om verbinding vanaf een IP-adres toe te staan:

U kunt ook de specifieke poorten declareren waarmee het IP-adres verbinding mag maken. Voeg hiervoor to any port gevolgd door het poortnummer toe aan de opdracht:

Subnetten

Als u een subnet van IP-adressen moet toestaan, is dat mogelijk met behulp van CIDR-notatie. In dit voorbeeld staat UFW verbindingen toe van IP-adressen variërend van 203.0.113.1 tot 203.0.113.254:

Vergelijkbaar met de vorige stap is het ook mogelijk om de poort op te geven waarmee deze IP-adressen verbinding kunnen maken:

Verbinding maken met een specifieke netwerkinterface

In een serveromgeving kunnen er meerdere netwerkinterfaces op het systeem zijn aangesloten. Met behulp van UFW is het mogelijk om te beschrijven dat een bepaalde regel alleen van toepassing is op een specifieke netwerkinterface. Controleer eerst alle netwerkinterfaces die op de server zijn aangesloten. De naam van de doelnetwerkinterface is het belangrijkste aandachtspunt:

 firewall with UFW on Ubuntu 18.04. 4

In ons geval is er slechts één netwerkinterface ens3 die verbinding maakt met het openbare internet. Gebruik de volgende opdrachtstructuur om inkomende verbindingen vanaf deze netwerkinterface toe te staan:

Het is ook mogelijk om de poort te definiëren waar verkeer naartoe kan gaan dat afkomstig is van de netwerkinterface:

Verbinding weigeren

Volgens de standaardconfiguratie weigert UFW verbindingen van elke bron (behalve de gedeclareerde uitzonderingen). Dit is de aanbevolen manier om UFW te gebruiken. Het kan echter nodig zijn om specifieke verbindingen van een bepaald bron-IP-adres of subnet te blokkeren. Misschien is het standaardgedrag van UFW ingesteld om alle verbindingen toe te staan (niet aanbevolen).

Om een verbinding van bepaalde IP-adressen te weigeren, heeft UFW weigeringsregels nodig. Het schrijven van weigeringsregels is vrij eenvoudig. Neem een willekeurige toestemmingsregel, vervang de term “allow” door “deny” en voilà! Het wordt een weigeringsregel.

Bekijk het volgende voorbeeld. Om elke HTTP-verbinding te weigeren, gebruikt u de volgende weigeringsregel:

Om verbindingen te weigeren van 203.0.113.1, gebruikt u de volgende weigeringsregel:

Regels verwijderen

Alles wat we tot nu toe hebben geleerd, is hoe we regels moeten maken. Net zoals regels worden gemaakt, kunnen ze ook worden verwijderd. In het geval van UFW zijn er twee specifieke manieren om een regel te verwijderen.

  • Een regel verwijderen op regelnummer

Dit is de eenvoudigste manier om een UFW-regel te verwijderen. Elke regel in UFW heeft een regelnummer. De volgende opdracht toont alle UFW-regels samen met het regelnummer:

 firewall with UFW on Ubuntu 18.04. 3

De volgende opdracht verwijdert de regel die door het regelnummer wordt gespecificeerd:

  • Regel verwijderen op basis van de feitelijke regel

Dit is de moeilijkere methode om een regel te verwijderen. Hiervoor moet u handmatig de feitelijke regel opgeven om deze te verwijderen. In het volgende voorbeeld verwijdert UFW de regel die is gespecificeerd door allow http:

De regel had ook gespecificeerd kunnen worden door allow 80. In dat geval zal de volgende opdracht deze verwijderen:

Het verwijderen van een regel verwijdert deze voor zowel IPv4 als IPv6.

UFW-status en -regels controleren

Het is essentieel om te controleren of UFW actief is of niet. Voer de volgende opdracht uit om de status van UFW te bepalen:

 firewall with UFW on Ubuntu 18.04. 2

Als de status “inactive” is, activeer deze dan door de stap Enabling UFW hierboven te volgen. Als deze actief is, meldt UFW de status “active” en toont een lijst met alle actieve regels.

UFW uitschakelen

Als u UFW om een of andere reden niet wilt gebruiken, schakel het dan uit met de volgende opdracht:

Als UFW is uitgeschakeld, zijn alle gemaakte regels niet langer actief. De regels worden echter niet verwijderd. Wanneer UFW opnieuw wordt geactiveerd, worden alle regels weer actief. Wat als de huidige UFW-configuratie een puinhoop is? In plaats van de regels één voor één te verwijderen, is het mogelijk om ze allemaal met één enkele opdracht te verwijderen. Voer de volgende opdracht uit om UFW te resetten:

 firewall with UFW on Ubuntu 18.04. 1

Houd er rekening mee dat dit het standaardgedrag van UFW dat aan het begin is geconfigureerd, niet zal veranderen.

Conclusie

Een juiste firewallconfiguratie is noodzakelijk om de veiligheid en functionaliteit te garanderen. Deze moet zo worden geconfigureerd dat alleen de noodzakelijke inkomende verbindingen worden toegestaan, terwijl onnodige verbindingen worden beperkt.

Als u kennis wilt maken met meer firewall-oplossingen, bekijk dan onze blog voor meer informatie:

Veel computerplezier!

author

Hark Labs

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.