Ubuntu bástyagép tűzfal (Fossa)

Innen: AdminWiki
A lap korábbi változatát látod, amilyen KZoli (vitalap | szerkesztései) 2020. május 2., 22:34-kor történt szerkesztése után volt. (UFW alapbeállítások)

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.

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