V tomto článku vám ukážu, jak nastavit UFW firewall na Ubuntu 18.04. V Ubuntu je výchozí firewall UFW, zkratka pro Uncomplicated FireWall . Existuje již od vydání Ubuntu 18.04 a byl vytvořen pro zjednodušení konfigurace iptables, která byla poměrně složitá.
Při používání jakékoli operace je firewall jednou z nejdůležitějších funkcí, kterou je třeba vzít v úvahu, pokud jde o bezpečnost vašeho systému. Firewall je štít nebo bariéra, která existuje mezi vaším počítačem a internetem a blokuje neoprávněný provoz, jako je vzdálený přístup k vašemu systému, a pomáhá chránit před škodlivým kódem, který neustále prochází internetem. Firewall může být hardwarový nebo softwarový. Hardwarový firewall je samostatný firewallový systém, který je umístěn v síti, aby přidal ochrannou vrstvu tím, že řídí tok provozu do a ze sítě a také blokuje nežádoucí stránky v přístupu uživatelů. Softwarová brána firewall je zabudována do operačních systémů jako Linux a Windows a pomáhá chránit váš systém před vnějšími útoky.
Čtěte také :
- Jak povolit, zakázat, povolit a odstranit pravidla na Ubuntu UFW Firewall
Instalace UFW
Ve výchozím nastavení je Ubuntu 18.04 dodáván s nainstalovaným ufw. U starších systémů však budete muset spustit níže uvedený příkaz
apt-get install ufw
Chcete-li zkontrolovat, zda ufw běží, spusťte
systemctl status ufw
Pokud běží, měli byste získat výstup níže
● ufw.service - Uncomplicated firewall
Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enab
Active: active (exited) since Tue 2018-04-10 22:03:30 UTC; 4min 1s ago
Process: 376 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SU
Main PID: 376 (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CPU: 0
CGroup: /system.slice/ufw.service
Apr 10 22:03:30 ip-172-31-41-251 systemd[1]: Started Uncomplicated firewall.
Warning: Journal has been rotated since unit was started. Log output is incomple
Chcete-li zkontrolovat, zda je aktivní nebo neaktivní, spusťte
ufw status
Pokud je neaktivní, dostanete výstup níže
Status: inactive
Chcete-li zapnout UFW s výchozí sadou pravidel, spusťte
ufw enable
Chcete-li zakázat spuštění brány firewall
ufw disable
Nastavení výchozích pravidel ufw
Chcete-li nastavit výchozí pravidla, která povolují všechny odchozí protokoly, přihlaste se jako root a spusťte
ufw default allow outgoing
Výstup
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)
Chcete-li odmítnout všechna příchozí připojení, spusťte
ufw default deny incoming
Výstup
Default outgoing policy changed to 'deny'
(be sure to update your rules accordingly)
Výše uvedené příkazy povolí všechna odchozí připojení a odmítnou nebo zablokují všechna příchozí připojení.
V tomto okamžiku možná budete chtít povolit firewall, ale než to uděláte, nejprve povolte ssh. To zabraňuje odpojení k serveru, protože jsme dříve zadali odmítnutí všech příchozích připojení.
Chcete-li povolit ssh, spusťte
ufw allow 22/tcp
Odchozí
Skipping adding existing rule
Skipping adding existing rule (v6)
Ssh přístup může být povolen také názvem služby,
ufw allow ssh
Pokud chcete pravidlo odstranit, spusťte
ufw delete allow 22/ssh
Chcete-li zakázat službu podle názvu, spusťte
ufw deny service-name
Například
ufw deny ssh
Chcete-li zobrazit všechny služby, které lze v systému povolit nebo zakázat, podívejte se na /etc/services
soubor.
cat /etc/services | less
Ukázkový výstup
ftp-data 20/tcp
ftp 21/tcp
fsp 21/udp fspd
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp
telnet 23/tcp
smtp 25/tcp mail
time 37/tcp timserver
time 37/udp timserver
rlp 39/udp resource # resource location
nameserver 42/tcp name # IEN 116
whois 43/tcp nicname
tacacs 49/tcp # Login Host Protocol (TACACS)
tacacs 49/udp
re-mail-ck 50/tcp # Remote Mail Checking Protocol
re-mail-ck 50/udp
domain 53/tcp # Domain Name Server
domain 53/udp
Spouštění brány firewall ufw
Pro aktivaci firewallu se přihlaste jako root a spusťte následující příkaz:
ufw enable
Může se zobrazit následující upozornění
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Pokud zvolíte ano, dostanete výstup níže
Firewall is active and enabled on system startup
Firewall je nyní aktivní a spustí se při každém spuštění. Můžeme se znovu podívat na pravidla brány firewall:
ufw status
Výstup nyní zobrazí stav brány firewall plus povolené služby/porty
Výstup
ufw status active
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22 ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)
Povolení připojení v ufw
V ufw můžete snadno povolit příchozí připojení na portu/rozsahu, názvu aplikace, ip adrese/podsíti.
Podívejte se na příklady níže.
a) Povolení aplikací podle názvu nebo čísla portu/rozsahu
ufw allow service-name
NEBO
ufw allow port/tcp
Například
ufw allow ssh or ufw allow 22/tcp
ufw allow ftp or ufw allow 21/tcp
sudo ufw povolit 1500:2000/tcp
b) Povolí IP adresu / podsítě
Níže uvedené příkazy umožňují připojení z konkrétní IP nebo podsítě a také můžeme použít konkrétní čísla portů.
Chcete-li povolit připojení z konkrétní adresy IP
ufw allow from 10.200.20.45
Chcete-li zadat adresu IP, která se může připojit ke konkrétnímu portu, spusťte
ufw allow from 10.200.20.45 to any port 22
Výše uvedené umožňuje IP adrese 10.200.20.45 pouze připojení přes ssh
Chcete-li povolit připojení určité podsítě IP k systému, použijte notaci CIDR pro určení masky sítě
ufw allow from 192.168.1.0/24
Výše uvedené umožňuje připojení IP adres od 192.168.1 do 192.168.1.254 k systému
Můžete také určit cílový port podsítě
ufw allow from 192.168.1.0/24 to any port 22
To znamená, že IP adresy od 192.168.1 do 192.168.1.254 se mohou připojit k systému přes port 22, což je ssh.
c) Povolit podle názvu rozhraní
Pokud potřebujeme povolit připojení přes název rozhraní, je to možné
ufw allow in on eth0 to any port 80
Jak odmítnout připojení v ufw
Ve výchozím nastavení je ufw nakonfigurováno tak, aby odmítalo všechna příchozí připojení.
a) IP adresa / podsíť
Pokud chceme zablokovat přístup k nějaké konkrétní IP adrese, můžeme to udělat následujícím příkazem:
ufw deny from 192.168.1.15
To zablokuje všechna příchozí připojení od hostitele s IP adresou 192.168.1.15
Dále zablokujeme celou podsíť:
ufw deny from 150.165.125.0/24
Tím zablokujete všechna připojení přicházející z této podsítě.
b) Zakázat porty a aplikace
Chcete-li odmítnout port nebo službu
ufw deny 80/tcp
NEBO
ufw deny http
sudo ufw deny 1500:2000/tcp *Toto zakáže rozsahy portů*
Odstranění a sledování pravidel
Když přidáte mnoho pravidel, můžete je lépe sledovat zobrazením jejich čísel. Čísla můžete získat následujícím příkazem:
ufw status numbered
Výstup
ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 22 ALLOW IN Anywhere
[ 3] 80/tcp ALLOW IN Anywhere
[ 4] 53/tcp ALLOW IN Anywhere
[ 5] 22/tcp (v6) ALLOW IN Anywhere (v6)
[ 6] 22 (v6) ALLOW IN Anywhere (v6)
[ 7] 80/tcp (v6) ALLOW IN Anywhere (v6)
[ 8] 53/tcp (v6) ALLOW IN Anywhere (v6)
Řekněme, že chceme smazat pravidla číslo 2. Uděláme to následujícím příkazem:
ufw delete 2
Poznámka:
Po smazání druhého pravidla ve firewallu bude nyní pravidlo 3 novým pravidlem 2. Pokud tedy chcete smazat aktuální pravidlo 3, smažete pomocí čísla 2.
ufw delete allow http
Resetování pravidel
Pokud nejste spokojeni se současnými pravidly a chcete začít znovu, můžete tak učinit spuštěním
ufw reset
Protokolování a opětovné načítání
Chcete-li povolit protokolování, použijte následující příkaz:
ufw logging on
Pokud chcete z nějakého důvodu zakázat protokolování (nedoporučuje se), můžete použít tento příkaz:
sudo ufw odhlášení
Protokoly jsou standardně v /var/log/ufw.log
Chcete-li je zobrazit v reálném čase, použijte tail -f takto:
tail -f /var/log/ufw.log /pre>
You will see all actions of firewall in that file. If you need to reload firewall for some reason, because you changed some config files manually, use following command.
ufw reload
Pokud chcete zobrazit pravidla, která byla přidána nedávno
ufw show added
Konfigurační soubory UFW
Pro většinu scénářů můžete použít terminálové příkazy, ale v některých případech budete chtít konfigurační soubory upravit přímo. ufw má více konfiguračních souborů, jmenovitě:
/etc/ufw/before.rules
/etc/ufw/before6.rules
Tyto dva soubory obsahují pravidla, která jsou vyhodnocena před všemi pravidly, která jste přidali pomocí příkazů ufw. Takže pokud chcete, aby se nějaké pravidlo použilo jako první, chcete to tam. První soubor je pro ipv4 a druhý je pro v6
/etc/ufw/after.rules
/etc/ufw/after6.rules
Ty se vyhodnocují podle pravidel příkazu ufw. Je dobré je použít, pokud chcete přepsat nějaké pravidlo a nechat je platit bez ohledu na to, co. Opět dva soubory pro dvě verze protokolu IP, které se aktuálně používají.
/etc/default/ufw
Zde máme moduly jádra, které ufw používá, a také další obecná nastavení. Kterýkoli z těchto konfiguračních souborů můžete upravovat pouze jako root a můžete použít libovolný textový editor.
Vyhněte se přidávání duplicitních pravidel
Dále umožňuje pozorovat mechanismus proti duplicitním pravidlům. Nejprve otevřeme port 101
sudo ufw allow 100
Všimněte si, že příkaz bez protokolu jako výše otevře port UDP i TCP. Spusťte tedy znovu stejný příkaz, abychom viděli, co se stane
ufw allow 100
Výstup
Skipping adding existing rule
Skipping adding existing rule (v6)
Neumožňuje nám přidat duplicitní pravidlo. To je dobré, ale stále existuje šance, že můžeme přidat duplicitní pravidlo pomocí této série příkazů:
ufw allow 101/udp
ufw allow 101/tcp
Po povolení TCP i UDP na portu 101 můžeme stále přidat otevřený port 101 pro všechny protokoly a toto je duplicitní pravidlo, protože port 101 je otevřen dvakrát, jednou pro každý protokol a jednou pro všechny.
ufw allow 101
To ponechává prostor pro chyby a obecně to není dobrá praxe. Pokud se chceme vrátit k výchozímu nastavení pro port 101, musíme všechny tři příkazy vrátit zpět pomocí příkazu ufw delete.
Pro uzavření některého portu spustíte stejné příkazy, jen místo toho povolíte a napíšete deny.
V tomto článku jsme pokryli použití UFW, což je nekomplikovaný firewall používaný k povolení nebo omezení provozu. Je to velmi výkonný firewall pro regulaci provozu do vašeho systému. Neváhejte a vyzkoušejte příkazy ve vašem systému.