„Ubuntu bástyagép tűzfal (Fossa)” változatai közötti eltérés

Innen: AdminWiki
Ugrás a navigációhoz Ugrás a kereséshez
45. sor: 45. sor:
iptables -n -L      # A létrehozott iptables beállítások</pre>
iptables -n -L      # A létrehozott iptables beállítások</pre>
==Tűzfalnapló átirányítása==
==Tűzfalnapló átirányítása==
xx
É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:
<pre>-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); };
</pre>
A beállítás érvényesítéséhet indítsuk újra a syslog-ng-t:
<pre>systemctl restart syslog-ng</pre>
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.

A lap 2020. május 2., 20:45-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.

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

É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.