[[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)