Hoe configureer je in Ubuntu en Centos Iptables met UFW

Deze handleiding beschrijft hoe je een Iptables Firewall opzet onder Ubuntu en Centos met UFW om deze te beheren. 

De Uncomplicated Firewall (UFW) is een frontend voor Iptables en is met name geschikt voor HOST-gebaseerde Firewalls. UFW biedt een management laag voor het beheren van uw Firewall en streeft naar een eenvoudig te gebruiken interface voor mensen die niet bekend zijn met het gebruik van Iptables.

Voorwaarden

UFW is standaard al geinstalleerd in Ubuntu 18.04, maar als deze nog niet is geinstalleerd.

sudo apt-get install ufw

Voor gebruik met Centos

yum install ufw

Deze handleiding dient als leidraad en advies in hoe u uw Systeem moet beveiligen, echter word hier verder geen ondersteuning op geboden.

Pas op dat u met deze handelingen niet de toegang naar uw Systeem verliest en nog wel Console toegang heeft. Of test dit eerst uit op een test systeem en niet in productie.

Basis Operationele handelingen

Om UFW goed te configureren en te managen zijn er een aantal basis handelingen die handig zijn om vooraf kennis van te nemen.

Om uw Firewall te Stoppen/Starten of Herstarten

service ufw stop
service ufw start
service ufw restart

 

Als u een wijziging aanbrengt in de configuratie van uw firewall dient u deze wijziging actief te zetten. Dit is een BELANGRIJKE stap omdat anders uw firewall wel is geconfigureerd maar de aanpassing nog niet werkt.

sudo ufw enable

 

Basis instellingen

Standaard staat een Firewall afgesloten voor de buitenwereld voor inkomende verbindingen. En volledig open voor verbindingen vanuit uw systeem naar de buitenwereld. Dit is een default Policy voor uw Firewall, die bepaald hoe deze moet omgaan met verkeer dat we niet hebben gespecificeerd in de Firewall Configuratie. Als een Applicatie niet staat opgegeven in de Firewall met een RULE heeft deze geen toegang naar binnen, naar de Server toe.

Weiger Netwerk verkeer van buitenaf naar binnen.

sudo ufw default deny incoming

Sta Netwerk verkeer van binnen naar buiten toe.

sudo ufw default allow outgoing

Hierna kunt u RULES instellen die connecties naar binnen toelaten voor bijvoorbeeld SSH (port22), HTTP/S (port80/443), FTP ( port 21 ) etc.

Toelaten van SSH

Het is verstandig om toegang voor het management van uw Systeem als eerste in te stellen en goed na te denken of u deze wil beperken tot een aantal management Systemen die toegang hebben, bijvoorbeeld vanuit uw kantoor omgeving of huis verbinding. U kunt SSH ook openzetten zonder beperking waardoor u vanuit de hele wereld SSH toegang heeft tot uw systeem, echter is dit niet aan te raden.

  • Om SSH toegang te geven vanaf een enkel IP address, een /32 netwerk bestaat uit 1 ip address
sudo ufw allow from 1.2.3.4/32 to any port 22
  • Om SSH toegang te geven vanaf een Netwerk range, in dit geval een /24 netwerk dat bestaat uit 254 ip adressen
sudo ufw allow from 1.2.3.4/24 to any port 22
  • Om SSH toegang te geven zonder verdere IP restrictie
sudo ufw allow 22

 

Het is altijd verstandig om te kijken naar hoe u de toegang naar het Management van uw Systeem beter kunnen Beveiligen en af kunt schermen van de rest van de wereld. Eventueel als extra beveiliging kunt u de SSH configuratie aanpassen zodat deze luistert op een alternatieve Port. Hierdoor vergroot u de beveiliging van uw systeem.

  • Open hiervoor de SSH configuratie
nano /etc/ssh/sshd_config
  • Zoek vervolgens de volgende Paramenter op
#Port 22
  • Uncomment deze vervolgens en pas deze aan naar een alternatieve Port boven de 1024
Port 8439
  • Pas hierna de Firewall aan zodat deze Port 8439 accepteerd
sudo ufw allow from 1.2.3.4/32 to any port 8439
  • Herstart SSH en log daarna opnieuw in met de nieuwe Port voor SSH
systemctl ssh restart

 

Verwijder eventueel na afloop oude RULES die zijn aangemaakt voor SSH toegang op de oude Port 22. Onderaan deze Handleiding staat beschreven hoe u dit kunt doen.

 

    Toelaten van overige services

    Voor het toelaten van bijvoorbeeld HTTP/HTTPS of een andere dienst

    • HTTP en HTTPS
    sudo ufw allow http     /   sudo ufw allow 80
    sudo ufw allow https    /   sudo ufw allow 443
    • FTP
    sudo ufw allow ftp      /   sudo ufw allow 21
    • Een overzicht met overige Porten en Services

    https://nl.wikipedia.org/wiki/TCP-_en_UDP-poorten

     

    Toelaten van specifieke port ranges

    U kunt ook een specifieke Port-range instellen. 
    In dit voorbeeld doen we dat voor Port range 2000 tot en met 4000, daarbij kunnen we dan ook specificeren of het voor enkel TCP verkeer of ook UDP verkeer moet worden toegelaten.

    • Voor enkel TCP verkeer
    sudo ufw allow 2000:4000/tcp

    Voor het toelaten van UDP verkeer

    sudo ufw allow 2000:4000/udp

     

    Toelaten van IP adressen

    U kunt ook IP adressen en IP ranges ( Subnets ) opgeven voor toegang naar uw systeem.

    • Om 1 specifiek IP volledige toegang te geven
    sudo ufw allow from 1.2.3.4
    • Om een subnet / IP range toegang te geven tot uw systeem
    sudo ufw allow from 1.2.3.4/24

     

    Specificeren van services op specifieke netwerk interfaces

    U kunt specificeren op welke interface welke service mag worden toegelaten. Bijvoorbeeld SSH verkeer enkel op een Netwerk Interface naar uw interne Netwerk en HTTP verkeer enkel naar uw publieke Netwerk Interface.

    • Om SSH verkeer toe te laten op eth0
    sudo ufw allow in on eth0 to any port 22

    Om HTTP verkeer toe te laten op eth1

    sudo ufw allow in on eth1 to any port 80

     

    Het weigeren van connecties naar uw systeem

    U kunt verkeer van buiten naar binnen weigeren en Droppen. Dit kan nuttig zijn als u word aangevallen door een specifieke Host of op een specifieke dienst zoals HTTP.

    Om een specifieke dienst dicht te zetten

    sudo ufw deny http

    Om een specifiek IP te blokkeren

    sudo ufw deny from 1.2.3.4

     

    Het verwijderen van RULES uit de Firewall

    U kunt ook RULES weer verwijderen uit de Firewall. Het voorbeeld hieronder laat zien hoe u dit kunt uitvoeren.

    • RULES uit de Firewall weergeven
    sudo ufw status numbered

    Output is als hieronder

    Status: active
    
         To                         Action      From
         --                         ------      ----
    [ 1] 22                         ALLOW IN    Anywhere                  
    [ 2] 80/tcp                     ALLOW IN    Anywhere                  
    [ 3] 22 (v6)                    ALLOW IN    Anywhere (v6)             
    [ 4] 8439 (v6)                  ALLOW IN    Anywhere (v6)             
    [ 5] 22/tcp (v6)                ALLOW IN    Anywhere (v6)             
    [ 6] 80/tcp (v6)                ALLOW IN    Anywhere (v6)         
    • Om bijvoorbeeld de Firwall RULE te verwijderd voor Port 8439
    sudo ufw delete 4

     

    IPV6

    Standaard zou de optie voor IPV6 aan moeten staan, verstandig is om dit te controleren wanneer u gebruik wilt maken van IPV6.

    • Open eerst de Default UFW configuratie
    nano /etc/default/ufw
    • Schakel IPV6 in door de onderstaande configuratie instelling op te zoeken
    IPV6=no
    • Pas deze aan naar
    IPV6=yes

     

    Helpcenter

    Algemene FAQ

    Bekijk alle vragen

    OpenStack FAQ

    Bekijk alle vragen

    Knowledgebase

    Bekijk alle vragen