„Ubuntu bástyagép tűzfal (Fossa)” változatai közötti eltérés
a (→UFW alapbeállítások) |
a (→UFW alapbeállítások) |
||
31. sor: | 31. sor: | ||
IPV6=no | IPV6=no | ||
[...]</pre> | [...]</pre> | ||
+ | ===A bejövő forgalom engedélyezése=== | ||
Alapértelmezésben az ''ufw'' inaktív, és az ''iptables'' nem tartalmaz szabályokat: | Alapértelmezésben az ''ufw'' inaktív, és az ''iptables'' nem tartalmaz szabályokat: | ||
<pre>ufw status # inactive | <pre>ufw status # inactive | ||
40. sor: | 41. sor: | ||
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. | 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 | + | Ezután bekapcsolhatjuk a csomagszűrést: |
<pre>ufw enable | <pre>ufw enable | ||
ufw status verbose # Status: active | ufw status verbose # Status: active |
A lap 2020. május 2., 23:39-kori változata
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 [...]
A bejövő forgalom engedélyezése
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 bekapcsolhatjuk a csomagszűrést:
ufw enable ufw status verbose # Status: active iptables -n -L # A létrehozott iptables beállítások
A kimenő forgalom szigorítása
Alapértelmezetten a kimenő forgalomra az ACCEPT policy van beállítva, azaz a kimenő forgalmat nem szűrjük. Opcionálisan de javasoltan érdemes lehet kifelé csak a DNS lekérés, a traceroute, a levélküldés SMTP-vel (+SMTPs, MSA), az időszinkron NTP protokollal, PGP kulcsszerverek elérése (HKP), a web és az FTP forgalmakat engedélyezni. Opcionálisan az SSH is engedélyezett lehet.
Tűzfalnapló átirányítása
Érdemes elkülöníteni a terjedelmes tűzfal naplót a kernel naplójától. Ehhez készítsünk egy overlay állományt a syslog-ng konfigurációjához:
-rw-r--r-- /etc/syslog-ng/conf.d/ufw.conf # Separate UFW logging destination d_ufw { file ("/var/log/ufw.log" owner(root) group(adm)); }; filter f_ufw { match ("[UFW " value ("MESSAGE")); }; log { source (s_src); filter (f_ufw); destination (d_ufw); flags(final); };
A beállítás érvényesítéséhet indítsuk újra a syslog-ng-t:
systemctl restart syslog-ng
Mivel a /etc/logrotate.d már tartalmazza a vonatkozó konfigurációs állományt, az új log rotálásáról külön gondoskodni nem kell.