[[oktatas:linux:tűzfal:burkolóprogramok|< Burkolóprogramok]]
====== Ufw ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2017, 2018
* [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: http://szit.hu
===== Bevezetés =====
Az ufw a **Uncomplicated Firewall** rövidítése. Az iptables burkolóprogramja.
Az ufw azt ígéri, hogy a tűzfal beállítások leegyszerűsödnek.
===== Telepítés =====
apt install ufw
===== Beállítások =====
A működéshez nem szükséges hozzányúlni a beállításokhoz,
de nézzük meg a hol találhatók beállítások.
Egy beállító állományt a következő helyen találunk:
/etc/default/ufw
Alapvető beállításokat találunk itt:
IPV6=yes
DEFAULT_INPUT_POLICY="DROP"
DEFAULT_OUTPUT_POLICY="ACCEPT"
DEFAULT_FORWARD_POLICY="DROP"
DEFAULT_APPLICATION_POLICY="SKIP"
MANAGE_BUILDINS=no
Ha nincs szükségünk az IPv6 kezelésére, itt ki is kapcsolhatjuk.
Bővebb beállítások:
/etc/ufw/
Ezek közül a szolgáltatások a következő helyen vannak konfigurálva:
/etc/ufw/applications.d/
===== Indulás =====
Telepítés után kapunk egy ufw parancsot. Az alábbiakban néhány szintaktikai szabályt láthatunk:
Szintaxis:
ufw [--dry-run] enable|disable|reload
ufw [--dry-run] default allow|deny|reject [incoming|outgoing]
ufw [--dry-run] logging on|off|LEVEL
ufw [--dry-run] status [verbose|numbered]
ufw [--dry-run] show [raw]
ufw [--dry-run] [delete] [insert NUM] allow|deny|reject|limit [in|out]
[log|log-all] PORT[/protocol]
ufw [--dry-run] [delete] [insert NUM] allow|deny|reject|limit
[in|out on INTERFACE] [log|log-all] [proto protocol] [from ADDRESS [port PORT]]
[to ADDRESS [port PORT]]
ufw [--dry-run] app list|info|default|update
Amit az a szintaktikából kiderül, az ufw számára újabb parancsokat kell megadni kötelezően,
amelyek megmondják, mit is szeretnénk tenni a tűzfallal.
Parancsok:
enable Tűzfal engedélyezése
disable Tűzfal tiltása
default ARG Az alapértelmezett szabályok beállítása
logging LEVEL Naplózási szint beállítása
allow ARGS Megengedő szabály hozzáadása
deny ARGS Tiltó szabály hozzáadása
reject ARGS Visszautasító szabály hozzáadása
limit ARGS Limitáló szabály hozzáadása
delete RULE Szabály törlése
insert NUM RULE Szabály beszúrása adott sorszámnál
status A tűzfal státuszát mutatja
status numbered A tűzfal státusza, a szabályok számozott listaként
status verbose A tűzfal állapotának bőbeszédű megjelenítése
show ARG A tűzfalról jelentés készítése
version Verzió információk megjelenítése
app list Támogatott alkalmazásprofilok listázása
app info PROFILE Információ egy alkalmazásprofilról
app update PROFILE Alkalmazásprofil frissítése
app default ARG Az alkalmazások alapértelmezett szabályának beállítása
Kezdhetjük a tűzfal állapotának lekérdezésével:
ufw status
Status: inactive
Az ufw aktiválása:
ufw enable
Az ufw enable parancs hatására minden bejövő forgalom tiltásra kerül.
Az ufw leállítása:
ufw disable
===== Alapszabályok megváltoztatása =====
Általában nem kell változtatnunk az alapértelmezett szabályokon, ha mégis ezt szeretnénk,
az alábbiakban látjuk a lehetőségeket:
ufw default deny incoming
ufw default allow outgoing
A példában az egyébként is érvényes alapbeállítások megadását láthatjuk.
===== Szolgáltatások engedélyezése =====
Megadható szolgáltatások listázása:
ufw app list
A valóságban ennél jóval több szolgáltatás adható meg, mivel
az ufw /etc/services fájl tartalmát veszi figyelembe.
Az SSH engedése a gépünkre:
ufw allow ssh
Az SSH természetesen megadható portszámmal is:
ufw allow 22
Ha más portra, például 22333-ra tettük az SSH portot:
ufw allow 22333
Ellenőrizzük az status paranccsal:
ufw status
Az szabályok listája, csak bekapcsolt tűzfal mellett jelenik meg!
A lehetséges kimenet, például:
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
A státuszt lekérdezhetjük bőbeszédű üzemmódban:
ufw status verbose
A --dry-run kapcsolóval tesztelhetjük a parancsot, de végrehajtásra nem kerül.
ufw --dry-run allow http
Webszerver engedélyezése a TCP kapcsolatot is megadva:
ufw status
ufw allow 80/tcp
ufw allow 443/tcp
ufw reload
Ha a tűzfal nincs engedélyezve, tegyük meg:
ufw enable
===== Porttartományok megadása =====
ufw allow 7000:7008/tcp
ufw allow 7000:7008/udp
===== IP címek megadása =====
Engedés IP cím alapján:
ufw allow from 192.168.5.5
Az adott IP címről, csak a 22 porton:
ufw allow from 192.168.5.5 to any port 22
Egész hálózatok is megadhatók:
ufw allow from 192.168.5.0/24
Egész hálózat, porttal:
ufw allow from 192.168.5.0/24 to any port 22
===== Interfészek megadása =====
A hálózati interfészek megtekintése:
ip a s
Ilyen hálózati interfészeket láthatunk mint:
* enp0s3
* enp1s0
Az ufw parancsban:
ufw allow in on enp0s3 to any port 22
===== Csatlakozás megtagadása =====
Tagadjuk meg a HTTP kapcsolatokat:
ufw deny http
Megtagadjuk a forgalmat a 192.168.5.10 IP című gépről:
ufw deny from 192.168.5.10
===== Szabályok törlése =====
A törlés előtt nézzük meg hogyan sorszámozhatjuk a kiírt szabályokat:
ufw status numbered
Ez segít abban, hogy szám alapján hivatkozzak egy szabályra.
Ha szeretnénk törölni például a 2-es szabályt:
ufw delete 2
A törlés lehetséges szabály megadásával is:
ufw delete allow ssh
Az ssh helyett természetesen portot is megadhatunk:
ufw delete allow 22
===== gufw =====
Az ufw-nek van grafikus kezelőfelülete is.
Ez persze nem szerverre lett kitalálva.
Grafikus felületű tűzfalbeállító program.
apt install gufw
Indítás például:
gksu gufw
===== Irodalom =====
* http://www.basicconfig.com/security/setup_firewall_ubuntu_using_ufw
* http://1000umbrellas.com/2010/04/29/how-to-set-up-the-firewall-using-ufw-on-ubuntu-lucid-lynx-server
* http://linuxhogyanok.wordpress.com/2008/09/15/grafikus-felulet-telepitese-az-ufw-tuzfalhoz/ (2018)