Die Uncomplicated Firewall - kurz ufw - ist ob ihrer Einfachheit und Leistungsfähigkeit sehr beliebt. Der Einsatz in einem virtuellen Debian/Ubuntu Server unter OpenVZ ist leider nicht einfach bzw. fast unmöglich. Die einfache Variante ist, eine andere Firewall wie die Advanced Policy Firewall (APF) zu verwenden. Die komplexere Weg ist, ein wenig zu tricksen um ufw lauffähig zu bekommen. Wir zeigen hier wie’s geht.

  1. ufw installieren
apt-get install ufw
  1. rsyslog

ufw kann nicht mit rsyslog, deshalb ersetzen wir es durch syslog-ng.

apt-get --purge rsyslog
apt-get install -y syslog-ng
  1. modprobe

Da ufw notwendige Kernelmodule überprüft oder nachladen will, was unter eine OpenVZ VE aber nicht wirklich geht ersetzen wir einfach ‘modprobe’ durch ’true’.

rm /sbin/modprobe
ln -s /bin/true /sbin/modprobe
  1. IPv6, SYSCTL

IPv6 Untersützung wird deaktiviert, ebenso Einstellungen für Kernelmodule und SYSCTL.

sed -i 's/IPV6/#IPV6/g' /etc/default/ufw
sed -i 's/IPT_MODULES/#IPT_MODULES/g' /etc/default/ufw
sed -i 's/IPT_SYSCTL/#IPT_SYSCTL/g' /etc/default/ufw
sed -i 's/ENABLED=no/ENABLED=yes/g' /etc/ufw/ufw.conf
  1. Anpassen der Standardregeln

Einige Regeln funktionieren nicht in der OpenVZ VPS, deswegen deaktivieren wir diese Regeln.

vi /etc/ufw/after.rules
# don’t log noisy broadcast
#-A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input
vi /etc/ufw/before.rules
# if LOCAL, RETURN
#-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN
# if MULTICAST, RETURN
#-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN
# if BROADCAST, RETURN
#-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN
  1. SSH und eigene IP freischalten

Damit wir uns nicht aussperren, wird der Zugang zu SSH erlaubt sowie die eigene IP. Wer dynamische IP’s hat sollte die Regel später dann wieder entfernen.

ufw allow from PUTyourIPhereNOW
ufw limit 22/tcp
  1. Firewall aktivieren
ufw enable
  1. ufw verwenden
ufw app list
ufw status verbose
ufw status numbered

Hinweis: dieser Artikel ist ursprünglich auf dem IT-Blog “copy/paste” (www.copypaste.at) erschienen.