Ubuntu bástyagép tűzfal (Fossa)
A Hálózati házirend szerint valamennyi szervert bastion host-ként kell kialakítani, azaz saját (csomagszűrő) tűzfallal kell rendelkezzen. A gyakorlatban ez a Linux kernel netfilter (iptables) konfigurálását jelenti, amelyet ebben a leírásban az Ubuntu terjesztésben alapértelmezetten telepített UFW (Uncomplicated Firewall) parancssori frontend segítségével valósítunk meg.
- Ez a leírás a majdani publikus eléréshez szükséges, alapvető csomagszűrést valósít meg, egy darab hálózati interface-szel rendelkező szervergépen.
- Ez a leírás csak IPv4-re vonatkozik - IPv6 TODO!
A beállításokat rendszergazda konzolon (sudo -i) célszerű elvégezni.
Tartalomjegyzék
Hálózati segédeszközök
Elsősorban az ifconfig használatához szokott rendszergazdáknak opcionálisan célszerű a net-tools csomag telepítése:
apt install net-tools
Az IPv6 tiltása
Tisztán IPv4 környezetben opcionálisan érdemes teljesen letiltani az IPv6 forgalmat. Ehhez készítsünk egy overlay kernel paraméter beállító állományt:
-rw-r--r-- root root /etc/sysctl.d/local.conf # Disable IPv6 entirely net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1
Érvényesítsük a beállításokat:
systemctl restart systemd-sysctl
Ellenőrzés: az ifconfig vagy ip a parancsok kimenete már nem mutat IPv6 címeket. Ez a beállítás a rendszer újraindítása után is megmarad.
UFW alapbeállítások
Amennyiben az IPv6-ot fentebb letiltottuk, ezt a beállítást vezessük át a /etc/default/ufw állományban is:
-rw-r--r-- /etc/default/ufw [...] # Set to yes to apply rules to support IPv6 (no means only IPv6 on loopback # accepted). You will need to 'disable' and then 'enable' the firewall for # the changes to take affect. IPV6=no [...]
Alapértelmezésben az ufw inaktív, és az iptables nem tartalmaz szabályokat:
ufw status # inactive iptables -n -L # mindhárom chain üres
Mivel a /etc/default/ufw állományban előírt ufw policy a bejövő forgalom tiltása, mielőtt aktiválnánk a csomagszűrést, mindenképpen engedélyezzük a kívülről csatlakozást legalább az OpenSSH szolgáltatáshoz:
ufw app info OpenSSH # case-sensitive! - ellenőrizzük a portszámot ufw allow OpenSSH # állítsuk be a szabályt
A fenti parancsban az alkalmazással együtt települő alkalmazásleírásra (/etc/ufw/application.d alatti állomány) hivatkoztunk, így nem kellett közvetlenül portszámokat megadni. A létrehozott tűzfal szabályok megtekinthetőek a /etc/ufw/user.rules állományban.
Ezután kapcsoljuk be a csomagszűrést:
ufw enable ufw status verbose # Status: active iptables -n -L # A létrehozott iptables beállítások
Tűzfalnapló átirányítása
xx