L4L.be

...because open source matters

  • Increase font size
  • Default font size
  • Decrease font size

Ubuntu Firewall: UFW

E-mail Print PDF

Ubuntu heeft lange tijd geen standaard firewall gehad, je moest je behelpen met scripts of met bijvoorbeeld Shorewall. Niet dat dit noodzakelijk slecht is, maar het is prettig dat sinds versie 8.04 er een eigen oplossing is meegeleverd in de vorm van UFW. Uiteraard is de firewall er niet alleen voor Ubuntu, maar voor alle leden van de Ubuntu familie zoals Xubuntu, Kubuntu etc.

Nu is het wel zo dat deze oplossing behoorlijk basic is, echt geavanceerde dingen kun je er beslist niet mee, maar voor de meeste toepassingen (zeker voor thuis) is het meer dan afdoende. Een grafische interface is er nog niet (wel in de maak: gUFW), maar nodig is dit zeker niet.

In dit document gaan we uit van een pc die zich bevind achter een router, met 1 netwerkkaart, die niet hoeft te functioneren als router. Dit is typerend de setup waar UFW geschikt voor is.

Van start

Normaal gezien is de firewall geinstalleerd, zo niet dan kun je volstaan met:

sudo apt-get install ufw

Overigens als je wilt controleren of het geinstalleerd is, kun je dit met:

aptitude show ufw

Bij de regel: "State" vind je als het goed is: installed.

Wel moet je de firewall nog aanzetten:

sudo ufw enable

Als het goed is krijg je dan het volgende te zien:

Firewall started and enabled on system startup

Ook willen we natuurlijk logging aanzetten:

sudo ufw logging on

De logs komen terecht in /var/log/messages

Configuratie

Eenmaal de boel gestart is het zaak de firewall te gaan configureren.

Een belangrijk commando is hierbij is:

sudo ufw status

Dan zie je namelijk precies wat de huidige status is, wat je hebt ingesteld hebt etc. Op dit moment zie je dat de firewall alleen maar geladen is, dus laten we maar eens van start gaan door alles dicht te zetten:

sudo ufw default deny

Maar ik zou wel graag met ssh er bij kunnen...:

sudo ufw allow ssh

UFW weet dat ssh gebruik maakt van poort 22, door te kijken in het bestand /etc/services

Even kijken of UFW zijn werk gedaan heeft, door opnieuw de status op te vragen:

sudo ufw status

Firewall loaded

To Action From
-- ------ ----
22:tcp ALLOW Anywhere
22:udp ALLOW Anywhere

Alles in orde, mocht je overigens het verbazen dat udp ook open gezet is: dit is de schuld van het bestand /etc/services. Ik had explicieter de opdracht kunnen geven, dus wissen we de regel en geven nu de opdracht dat tcp alleen voldoende is:

sudo ufw delete allow ssh
sudo ufw allow ssh/tcp

Voor mijn lokale netwerk wil ik ook mijn printer toegankelijk maken. Mijn printerserver gebruikt Cups, dus ipp:

sudo ufw allow from 192.168.1.0/24 to any port ipp

Je kunt ook instellen dat je naar buiten toe iets wil blokkeren, je wilt bijvoorbeeld dat alleen de mailserver van de provider gebruikt kan worden:

sudo ufw deny from 192.168.1.0/24 to any port smtp
sudo ufw allow from 192.168.1.0/24 to 83.98.255.13 port smtp

Bovenstaande situatie kun je natuurlijk ook uitstekend gebruiken voor bijv. implementaties met Squid...

Conclusie

Hoewel het geen hele complexe configuraties mogelijk maakt, is het een eenvoudig te configureren en voor de meeste gebruikers uitstekende firewall.