3. fejezet · 3.4
Tűzfal ufw (vagy nftables) segítségével
A WebOké hálózatán minden bejövő forgalom szabadon eléri a VPS-ét. Azt, hogy mi juthat be, Ön határozza meg a szerverén futó tűzfallal. Így csak azt engedélyezi, amire valóban szükség van, például az SSH-t és a weboldalát.
Figyelem: Mielőtt bekapcsolja a tűzfalat, nyissa meg az SSH-t. Ha ezt elmulasztja, kizárja saját magát. Ha mégis megtörténik, a tűzfalat a konzolon keresztül kapcsolhatja ki (lásd: Kizárta magát: nem tud belépni a szerverére).
ufw Debian és Ubuntu rendszeren
Az ufw egy egyszerű réteg a Linux tűzfala fölött. Ubuntun már telepítve van, Debianon Önnek kell telepítenie:
anna@web1:~$ sudo apt install ufw
anna@web1:~$ sudo ufw allow OpenSSH
anna@web1:~$ sudo ufw allow 80,443/tcp
anna@web1:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
anna@web1:~$ sudo ufw status verbose
Status: active
Default: deny (incoming), allow (outgoing), disabled (routed)
To Action From
-- ------ ----
22/tcp (OpenSSH) ALLOW IN Anywhere
80,443/tcp ALLOW IN Anywhere
22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)
80,443/tcp (v6) ALLOW IN Anywhere (v6)
Minden, amit nem engedélyez, elutasításra kerül. A szabályok automatikusan az IPv6-ra is vonatkoznak. A 80-as és a 443-as portra csak weboldalhoz van szükség (5. fejezet). Ha Caddyt használ HTTP/3-mal, nyissa meg a sudo ufw allow 443/udp portot is.
Hasznos ufw-parancsok
| Parancs | Mit csinál? |
|---|---|
sudo ufw status numbered | A szabályok sorszámmal |
sudo ufw delete 3 | A 3. szabály törlése |
sudo ufw allow from 198.51.100.7 to any port 22 proto tcp | Egy port megnyitása csak egyetlen IP-cím számára |
sudo ufw limit OpenSSH | Ideiglenesen elutasít egy címet, amely 30 másodpercen belül 6 vagy több kapcsolatot kezdeményez |
sudo ufw disable | A tűzfal kikapcsolása (például a konzolon keresztül, ha kizárta magát) |
ufw nélkül: nftables
Debianon az nftables a tűzfal a háttérben. Ha nem szeretne ufw-t használni, a szabályokat saját maga írhatja meg a /etc/nftables.conf fájlban. Egy kis alapkonfiguráció az IPv4-hez és az IPv6-hoz együtt:
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority filter; policy drop;
ct state established,related accept
iif "lo" accept
meta l4proto { icmp, ipv6-icmp } accept
tcp dport { 22, 80, 443 } accept
}
}
anna@web1:~$ sudo nft -c -f /etc/nftables.conf
anna@web1:~$ sudo systemctl enable --now nftables
A nft -c paranccsal előbb ellenőrizheti a fájlt. Az ufw-t vagy az nftablest használja, ne a kettőt egyszerre.
AlmaLinux és Rocky Linux rendszeren a firewalld már telepítve van: sudo firewall-cmd --permanent --add-service=http --add-service=https és sudo firewall-cmd --reload. Az SSH ott alapértelmezés szerint nyitva van.
Tipp: Docker-t használ? A Dockerrel közzétett portok megkerülik az ufw-t. Ezért olvassa el a következő cikket: Docker és a tűzfal: portok biztonságos közzététele.
