Ga naar inhoud

🔐 Hoofdstuk 15: Firewalls & Netwerkbeveiliging

In dit hoofdstuk leer je hoe je je Linux-systeem beveiligt met firewalls en tools voor netwerkbeveiliging. We behandelen de klassieke en moderne firewall-tools, laten voorbeeldconfiguraties zien en geven de sterke en zwakke punten van elke tool.


🔹 iptables

iptables is de klassieke Linux firewall-tool die netwerkpakketten filtert op basis van regels.

📥 Installatie / Update / Verwijderen

sudo apt install iptables
sudo apt update && sudo apt upgrade iptables
sudo apt remove iptables

which iptables
iptables --version

▶️ Gebruik

# Huidige regels tonen
sudo iptables -L -v -n

# Verkeer op poort 22 (SSH) toestaan
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Regel verwijderen
sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT

📊 Voorbeeldoutput

Chain INPUT (policy DROP 5 packets, 300 bytes)
 pkts bytes target     prot opt in     out     source               destination
   12   800 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0 tcp dpt:22

Uitleg

  • policy DROP: standaard wordt alles geblokkeerd tenzij toegestaan.
  • pkts/bytes: aantal pakketten en bytes die matchen.
  • target: actie (ACCEPT, DROP, REJECT).

Sterke punten

  • Zeer krachtig en flexibel.
  • Fijnmazige controle.
  • Breed ondersteund.

Zwakke punten

  • Complex voor beginners.
  • Regels verdwijnen bij reboot zonder extra configuratie.

🔹 ufw (Uncomplicated Firewall)

ufw is een vereenvoudigde interface bovenop iptables.

📥 Installatie / Update / Verwijderen

sudo apt install ufw
sudo apt update && sudo apt upgrade ufw
sudo apt remove ufw

which ufw
ufw --version

▶️ Gebruik

# Firewall activeren
sudo ufw enable

# SSH toestaan
sudo ufw allow ssh

# HTTP toestaan
sudo ufw allow 80/tcp

# Status controleren
sudo ufw status verbose

📊 Voorbeeldoutput

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)

Uitleg

  • ALLOW: verkeer wordt toegestaan.
  • Anywhere: regels gelden voor alle IP’s.

Sterke punten

  • Zeer gebruiksvriendelijk.
  • Ideaal voor snelle setup.
  • Goede defaults.

Zwakke punten

  • Minder flexibel dan iptables.
  • Niet geschikt voor zeer complexe omgevingen.

🔹 firewalld

firewalld is een moderne firewall-tool die zones en services gebruikt.

📥 Installatie / Update / Verwijderen

sudo apt install firewalld
sudo apt update && sudo apt upgrade firewalld
sudo apt remove firewalld

which firewall-cmd
firewall-cmd --version

▶️ Gebruik

# Firewall starten en activeren
sudo systemctl start firewalld
sudo systemctl enable firewalld

# Zone controleren
sudo firewall-cmd --get-active-zones

# HTTP toevoegen
sudo firewall-cmd --zone=public --add-service=http --permanent

# Reloaden
sudo firewall-cmd --reload

📊 Voorbeeldoutput

public
  interfaces: eth0
  services: ssh http

Uitleg

  • zones: bepalen regels per interface/netwerk (bijv. public, home).
  • services: voorgeconfigureerde regels voor veelgebruikte protocollen.

Sterke punten

  • Dynamische regels (geen reboot nodig).
  • Zone-gebaseerde configuratie.
  • Moderne standaard in RHEL/CentOS/Fedora.

Zwakke punten

  • Minder bekend op Debian/Ubuntu.
  • Complexer dan UFW voor beginners.

🔹 fail2ban

fail2ban beschermt tegen brute-force aanvallen door IP’s tijdelijk te blokkeren.

📥 Installatie / Update / Verwijderen

sudo apt install fail2ban
sudo apt update && sudo apt upgrade fail2ban
sudo apt remove fail2ban

which fail2ban-client
fail2ban-client --version

▶️ Gebruik

# Service starten
sudo systemctl enable --now fail2ban

# Status bekijken
sudo fail2ban-client status

# Status specifieke jail (bijv. sshd)
sudo fail2ban-client status sshd

📊 Voorbeeldoutput

Status
|- Number of jail: 1
`- Jail list: sshd

Status for the jail: sshd
|- Filter
|  |- Currently failed: 5
|  |- Total failed: 20
|  `- File list: /var/log/auth.log
`- Actions
   |- Currently banned: 2
   |- Total banned: 4
   `- Banned IP list: 192.168.1.101 192.168.1.102

Uitleg

  • jail: configuratie voor een service (bijv. sshd).
  • banned IP list: lijst met geblokkeerde IP-adressen.

Sterke punten

  • Bescherming tegen brute-force aanvallen.
  • Flexibel (kan ook webservers, mailservers beveiligen).
  • Werkt samen met iptables, ufw of firewalld.

Zwakke punten

  • Alleen reactief, geen proactieve beveiliging.
  • Vereist goede configuratie om false positives te voorkomen.