Winkelwagen

/ VPS-Infrastructuur

Alles over de zelfontwikkelde VPS-infrastructuur

Register now

/ Up to date

/ Nieuws

Lancering PerformanceVPS

Meer info
Hulp nodig?

    Sorry, we konden geen resultaten vinden voor jouw zoekopdracht.

    Uncomplicated Firewall (UFW) in Debian 11

    UFW, of de Uncomplicated Firewall is een veel gebruikte firewall in Debian en Ubuntu. UFW is een beheerlaag / frontend voor iptables en heeft als doel het beheer van je firewall (i.e. iptables) eenvoudiger te maken.

    • Gebruik SSH / de vps-console voor de stappen in dit artikel en voer de commando's met sudo uit, of als root-gebruiker.
    • UFW voert configuratiewijzigingen in real-time door.

    UFW installeren

     

    Iptables komt doorgaans standaard bij een Debian 11-installatie, maar UFW niet. De installatie van de Uncomplicated Firewall is straight forward:

    apt -y install ufw

    Na de installatie start UFW niet automatisch. Je zet UFW aan met de commando's:

    ufw enable
    systemctl start ufw
    ufw logging on

    Met logging on zorg je dat UFW notities aanmaakt in een log (/var/log/messages), wat zeker aan te raden is. Zo heb je bij problemen meer informatie om mee te troubleshooten.


     

    De initiële configuratie

    UFW komt na de installatie zonder standaard configuratie. Het is aan te raden om te beginnen met een blokkade op al het inkomende verkeer en het toestaan van uitgaand verkeer, en daarna specifieke poorten services open te zetten. Het eerste doe je met de volgende commando's:

    ufw default deny incoming
    ufw default allow outgoing

    De status van UFW controleer je met:

    ufw status verbose

    Poorten openen

     

    Voor het openen van poorten zijn er drie opties:

    • tcp- en udp-poorten openen:
      ufw allow 22
      Vervang hier 22 door het gewenste poortnummer. Voor een poort-range gebruik je de syntax:
      ufw allow 1234:2345
      
    • een tcp-poort openen:
      ufw allow 22/tcp
      Vervang hier 22 door het gewenste poortnummer. Voor een poort-range gebruik je de syntax:
      ufw allow 1234:2345/tcp
    • een udp-poort openen:
      ufw allow 22/udp
      Vervang hier 22 door het gewenste poortnummer. Voor een poort-range gebruik je de syntax:
      ufw allow 1234:2345/udp

    Poorten sluiten

     

    Voor het sluiten van poorten zijn er eveneens drie opties:

    • tcp- en udp-poorten sluiten:
      ufw deny 22
      Vervang hier 22 door het gewenste poortnummer. Voor een poort-range gebruik je de syntax:
      ufw deny 1234:2345
      
    • een tcp-poort sluiten:
      ufw deny 22/tcp
      Vervang hier 22 door het gewenste poortnummer. Voor een poort-range gebruik je de syntax:
      ufw deny 1234:2345/tcp
    • een udp-poort sluiten :
      ufw deny 22/udp
      Vervang hier 22 door het gewenste poortnummer. Voor een poort-range gebruik je de syntax:
      ufw deny 1234:2345/udp

    IP's toestaan of weigeren

     

    Het kan wenselijk zijn om poorten te openen of sluiten per IP-adres, om zo een specifiekere beveiliging op te zetten. Dit is bijvoorbeeld een handige methode om enkel jezelf toegang te geven tot je SSH-poort.

    Je kunt toegang per IP reguleren per: IP-adres, subnet, poort en IP-adres, of IP-adres poort en protocol.

    Vervang in onderstaande voorbeelden 123.123.123.123 door het daadwerkelijke IP-adres,1234 door de gewenste poort en tcp door het gewenste protocol.

    • IP-adressen toestaan / weigeren
      Je geeft een IP-adres toegang met de syntax:
      ufw allow from 123.123.123.123
      
      Een IP-adres toegang weigeren werkt even eenvoudig:
      ufw deny from 123.123.123.123
    • IP-subnets toestaan / weigeren
      Je geeft een IP-subnet toegang met de syntax:
      ufw allow from 123.123.123.0/24
      Een IP-subnet weiger je toegang met:
      ufw deny from 123.123.123.0/24
    • Per poort en IP toestaan/weigeren
      Tip: in plaats van een specifiek IP kun je ook hier een subnet gebruiken.
      Je geeft een IP-adres toegang tot een specifieke poort met de syntax:
      ufw allow from 123.123.123.123 to any port 22
      Een IP-adres weiger je toegang tot een specifieke poort op praktisch dezelfde manier:
      ufw deny from 123.123.123.123 to any port 22
    • Per poort, IP en Protocol toestaan / weigeren:
      Tip: in plaats van een specifiek IP kun je ook hier een subnet gebruiken.
      Je geeft een IP-adres toegang tot een specifieke poort en protocol met de syntax:
      ufw allow from 123.123.123.123 to any port 22 proto tcp
      Een IP-adres weiger je toegang tot een specifieke poort op praktisch dezelfde manier:
      ufw deny from 123.123.123.123 to any port 22 proto tcp
      Vervang hier tcp door udp als je een udp poort wil openen / sluiten.

    Services toestaan

     

    Naast het openen van poorten kun je ook specifieke services openen met UFW. Je voegt de service toe in UFW en UFW opent vervolgens inkomend verkeer voor een of meerdere poorten. Er is hier wel een kanttekening bij:

    Je staat services in UFW toe met onderstaande commando's, waarbij je SSH vervangt door de betreffende service naam:

    ufw allow ssh

    UFW gebruikt configuratiebestanden (zie beschikbare services) waar de poorten van verschillende services in zijn vastgesteld. Verander je bijvoorbeeld je SSH-poort, dan zal dus als je de SSH-service hebt toegevoegd, de nieuwe poort niet open staan tenzij je de poort handmatig open zet.


    Beschikbare services 

    UFW haalt al zijn poortinformatie voor het toestaan of weigeren van services uit het bestand /less/services. De inhoud bekijk je bijvoorbeeld met:

    nano /less/services

    In onze nano- en vi-documentatie leggen we uit hoe je snel specifiek op woorden zoekt (i.e. in dit geval de namen van services).


    Services weigeren

     

    Services zet je in UFW net zo eenvoudig dicht als open:

    ufw deny ssh
    

    Alle inkomende verbindingen staan standaard dicht, dus het weigeren van een specifieke service is in principe niet nodig. In plaats daarvan kun je bij geopende services die je wil sluiten beter de betreffende regel verwijderen.


    Regels verwijderen

     

    In het begin van dit artikel hebben we als default actie een deny op alle inkomende verbindingen gezet. Ongeacht of je poorten of services daarna nog handmatig opent, of sluit, zijn in alle gevallen dit UFW-regels. Deze regels kun je verwijderen als volgt:

    ufw delete deny ssh
    ufw delete allow 22/tcp
    • Het eerste commando is een voorbeeld voor het verwijderen van een service regel, de tweede voor het verwijderen van een poort regel
    • gebruik deny of allow afhankelijk van of de poort/service open / dicht staat.
    • Vervang ssh door de naam van de service, of door het poortnummer en protocol zoals in het tweede voorbeeld: 22/tcp, of 22 voor tcp en udp.

    Ter verduidelijking: aangezien alle inkomende verbindingen standaard dicht staat, volstaat het om allow regels te maken voor poorten en services en eventueel die regels te verwijderen. Het sluiten van specifieke poorten / services is in principe dus niet nodig.


    IP's deblokkeren / specifieke regels verwijderen

     

    IP's deblokkeren werkt heel eenvoudig in UFW, en je kunt deze optie ook gebruiken als alternatief om specifieke regels te verwijderen (zie de vorige paragraaf). Controleer eerst alle huidige regels met het commando:

    ufw status numbered

    Je krijgt dan een output met alle regels keurig genummerd. Een specifieke regel verwijder je met het commando:

    ufw delete 1

    Vervang 1 door het regelnummer dat je wil verwijderen.

    Als je 'ufw delete 1' gebruikt, dan is voorheen regel 2 nu regel 1 geworden. Je kunt dan ook het beste na elke delete een nieuwe ufw status numbered gebruiken om te voorkomen dat je ongewild de verkeerde rule delete.

    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op