Jak nainstalovat nftables v Ubuntu

Obrázek 1: Model TCP/IP NFTABLES

Začněte s nftables

Estamos Traduciendo Nuestros Guías y Tutorialles Al Español. Es Positeble Que Usted Esté Viendo una Tradección Generada Automaticamente. Estamos Trabajando con Tradeuctores Profesionales para ověr las tractucciones de Nuestro Sitio web. Estecto es un trabajo en curso.

Vytvořte si účet Linode a vyzkoušejte tuto příručku s kreditem $ .

Tento kredit bude použit na všechny platné služby použité během vašich prvních dnů.

NFTABLES nahrazuje úspěšné iptables a jeho související rámce postavené na NetFilter. S nfTables přicházejí zlepšení výkonu a použitelnosti, ale také významné změny syntaxe a použití. Pomocí této příručky se začněte učit o tom, co je nftables a jak se liší od iptables. Sledujte spolu s příkladem této příručky a implementujte svá vlastní pravidla v nftables a získejte praktickou představu o tom, co může dělat.

Co jsou to nftables?

NFTABLES je klasifikační rámec Linux Paket, který nahrazuje infrastrukturu NetFilter za Iptables, IP6Tables, Arptables a Ebtables. Rámce používající starší infrastrukturu NetFilter jsou vyřazovány z hlavních distribucí Linuxu. Tyto rámce začaly přijímat nftables jako výchozí klasifikační rámec pro klasifikaci paketů.

Navzdory všudypřítomnosti iptables má jeho architektura několik základních omezení a neefektivnosti, a to lze vyřešit pouze základní redesign. Že přepracování je to, čeho se NFTABLEBABLE uskutečnil.

nfTables vs. iptables

NFTBABLES udržuje některé ze známých částí infrastruktury a iptables. Stejně jako u iptables i nftables stále používá tabulky, řetězy a hierarchie pravidel – tabulky obsahující řetězy a řetězy obsahující pravidla. Zatímco NFTABLES mění syntaxi příkazové linie, udržuje vrstvu kompatibility, která vám umožní spustit příkazy iptables přes jádro NFTABLES.

NFTABLES také zavádí významné změny v používání z iptables. Za prvé, jak je uvedeno výše, syntaxe příkazového řádku pro NFTABLES je jiná. Následují další pozoruhodné rozdíly mezi nftables a iptables.

  • Na rozdíl od iptables nemá nftables předdefinované tabulky nebo řetězy, které směřují ke zlepšení výkonu.
  • V NFTABLES mohou pravidla podniknout více kroků, na rozdíl od omezení Iptables na jednu akci na pravidlo.
  • NFTABLES přichází s rodinou INET Address, která vám umožňuje snadno vytvářet tabulky, které se vztahují na IPv4 i IPv6.
  • Pravidla pro pravidla NFTABLES je reprezentována dynamickým propojeným seznamem, který zlepšuje udržovatelnost pravidel ve srovnání s monolitickým pravidlem Iptables ‘.

Kromě toho infrastruktura NFTABLEBABLES ‘Obecné sady otevírá nové možnosti pro strukturování vaší sady pravidel, dokonce umožňuje vícerozměrný „stromový“ struktury. Můžete to použít k výraznému snížení počtu dotazovaných pravidel k určení vhodné akce pro paket.

Jak nainstalovat nftables

Pokud používáte jedno z následujících distribučních vydání nebo novějších, nemusíte nainstalovat NFTABLES

  • Debian 10 (Buster)
  • Ubuntu 20.10 (Groovy Gorilla)
  • CENTOS 8
  • Fedora 32

Jinak můžete ručně nainstalovat NFTABLEBABLES pomocí následujících kroků. Tyto kroky fungují pro Debian 9, Ubuntu 18.04 a CentOS 7 a později vydání těchto distribucí.

Než začnete

  1. Pokud jste tak ještě neučinili, vytvořte si účet Linode a výpočetní instanci. Podívejte se na náš začátek s Linode a vytvoření výpočetních průvodců instancí.
  2. Postupujte podle našeho nastavení a zajištění průvodce výpočetní instance a aktualizujte svůj systém. Možná budete také chtít nastavit časové pásmo, nakonfigurovat název hostitele, vytvořit omezený uživatelský účet a zatvrdit přístup SSH.

Tato příručka je napsána pro uživatele bez rootu. Příkazy, které vyžadují zvýšená privilegia, jsou předponou se sudo . Pokud nejste obeznámeni s příkazem sudo, viz příručka pro uživatele a skupiny Linux.

Kroky instalace

  1. Nainstalujte nftables.
  2. Na distribucích Debian a Ubuntu použijte příkaz:

 sudo apt instalace nftables 

 sudo yum nainstalujte nftables 

 sudo systemctl povolit nftables sudo SystemCtl START NFTABLES 

 sudo apt instalace iptables-nftables-compat sudo iptables-save> iptables.Vykládat sudo iptables-restore-translate -f iptables.skládka> pravidla.NFT sudo nft -f pravidla.nft 

Import můžete ověřit získání seznamu tabulek nyní v nftables.

 Tabulky seznamu NFT SUDO 

Jak používat nftables

Tato část rozkládá každou z hlavních součástí v nftables a poskytuje jejich nejužitečnější příkazy. Na konci této příručky najdete demonstraci, jak nastavit pracovní pravidla a vidět ji v akci.

Tabulky

Tabulky jsou nejvyšší úroveň hierarchie nftables. Daná tabulka odpovídá rodině jedné adresy a obsahuje řetězy, které filtrační pakety v této adrese rodiny.

  • Chcete -li vytvořit tabulku, použijte příkaz příkazu. Nahraďte příklad_table níže a v následujících příkladech popisným názvem pro tabulku.

 sudo nft přidat tabulku INET PŘÍKLAD_TABLE 

 Tabulky seznamu NFT SUDO 

 sudo nft smazat tabulku INET PŘÍKLAD_TABLE 

 sudo nft splachovací tabulka inet příklad_table 

Řetězy

Řetěz

Jak nainstalovat nftables v Ubuntu

Obrázek 1: Model TCP/IP NFTABLES

Začněte s nftables

Estamos Traduciendo Nuestros Guías y Tutorialles Al Español. Es Positeble Que Usted Esté Viendo una Tradección Generada Automaticamente. Estamos Trabajando con Tradeuctores Profesionales para ověr las tractucciones de Nuestro Sitio web. Estecto es un trabajo en curso.

Vytvořte si účet Linode a vyzkoušejte tuto příručku s kreditem $ .

Tento kredit bude použit na všechny platné služby použité během vašich prvních dnů.

nftables Nahrazuje úspěšné iptables a jeho související rámce postavené na NetFilter. S nfTables přicházejí zlepšení výkonu a použitelnosti, ale také významné změny syntaxe a použití. Pomocí této příručky se začněte učit o tom, co je nftables a jak se liší od iptables. Sledujte spolu s tímto průvodcem’Příklad pro implementaci svých vlastních pravidel v nftables a získání praktické představy o tom, co může dělat.

Co jsou to nftables?

NFTABLES je klasifikační rámec Linux, který nahrazuje Netfilter Infrastruktura za Iptables, IP6Tables, Arptables a Ebtables. Rámce používající starší infrastrukturu NetFilter jsou vyřazovány z hlavních distribucí Linuxu. Tyto rámce začaly přijímat nftables jako výchozí klasifikační rámec pro klasifikaci paketů.

Navzdory všudypřítomnosti iptables má jeho architektura několik základních omezení a neefektivnosti, a to lze vyřešit pouze základní redesign. Že přepracování je to, čeho se NFTABLEBABLE uskutečnil.

nfTables vs. iptables

NFTBABLES udržuje některé ze známých částí infrastruktury a iptables. Stejně jako u iptables i nftables stále používá tabulky, řetězy a hierarchie pravidel – tabulky obsahující řetězy a řetězy obsahující pravidla. Zatímco NFTABLES mění syntaxi příkazové linie, udržuje vrstvu kompatibility, která vám umožní spustit příkazy iptables přes jádro NFTABLES.

NFTABLES také zavádí významné změny v používání z iptables. Za prvé, jak je uvedeno výše, syntaxe příkazového řádku pro NFTABLES je jiná. Následují další pozoruhodné rozdíly mezi nftables a iptables.

  • Na rozdíl od iptables nemá nftables předdefinované tabulky nebo řetězy, které směřují ke zlepšení výkonu.
  • V nfTables mohou pravidla podniknout více kroků, na rozdíl od iptables’ omezení na jednu akci na pravidlo.
  • NFTABLES přichází s rodinou INET Address, která vám umožňuje snadno vytvářet tabulky, které se vztahují na IPv4 i IPv6.
  • nftables’ Pravidla je reprezentována dynamickým propojeným seznamem, který zlepšuje sadu pravidel’S udržovatelnost ve srovnání s iptables’ Monolitic Blob pravidla.

Navíc nftables’ Generic Set Infrastructure otevírá nové možnosti pro strukturování vaší pravidla, a to dokonce umožňující vícerozměrný “strom” struktury. Můžete to použít k výraznému snížení počtu dotazovaných pravidel k určení vhodné akce pro paket.

Jak nainstalovat nftables

Pokud používáte jedno z následujících distribučních vydání nebo novějších, nemusíte nainstalovat NFTABLES

  • Debian 10 (Buster)
  • Ubuntu 20.10 (Groovy Gorilla)
  • CENTOS 8
  • Fedora 32

Jinak můžete ručně nainstalovat NFTABLEBABLES pomocí následujících kroků. Tyto kroky fungují pro Debian 9, Ubuntu 18.04 a CentOS 7 a později vydání těchto distribucí.

Než začnete

  1. Pokud jste tak ještě neučinili, vytvořte si účet Linode a výpočetní instanci. Podívejte se na náš začátek s Linode a vytvoření výpočetních průvodců instancí.
  2. Postupujte podle našeho nastavení a zajištění průvodce výpočetní instance a aktualizujte svůj systém. Možná budete také chtít nastavit časové pásmo, nakonfigurovat název hostitele, vytvořit omezený uživatelský účet a zatvrdit přístup SSH.

Tato příručka je napsána pro uživatele bez rootu. Příkazy, které vyžadují zvýšená privilegia, jsou předponou se sudo . jestli ty’Neznáte příkaz sudo, viz příručka pro uživatele a skupiny Linux.

Kroky instalace

  1. Nainstalujte nftables.

  2. Na distribucích Debian a Ubuntu použijte příkaz:

 sudo apt instalace nftables 

 sudo yum nainstalujte nftables 

 sudo systemctl povolit nftables sudo SystemCtl START NFTABLES 

 sudo apt instalace iptables-nftables-compat sudo iptables-save> iptables.Vykládat sudo iptables-restore-translate -f iptables.skládka> pravidla.NFT sudo nft -f pravidla.nft 

Import můžete ověřit získání seznamu tabulek nyní v nftables.

 Tabulky seznamu NFT SUDO 

Jak používat nftables

Tato část rozkládá každou z hlavních součástí v nftables a poskytuje jejich nejužitečnější příkazy. Na konci této příručky najdete demonstraci, jak nastavit pracovní pravidla a vidět ji v akci.

Tabulky

Tabulky jsou nejvyšší úroveň hierarchie nftables. Daná tabulka odpovídá rodině jedné adresy a obsahuje řetězy, které filtrační pakety v této adrese rodiny.

    Chcete -li vytvořit tabulku, použijte příkaz příkazu. Nahraďte příklad_table níže a v následujících příkladech popisným názvem pro tabulku.

 sudo nft přidat tabulku INET PŘÍKLAD_TABLE 

 Tabulky seznamu NFT SUDO 

 sudo nft smazat tabulku INET PŘÍKLAD_TABLE 

 sudo nft splachovací tabulka inet příklad_table 

Řetězy

Řetězy žijí pod stoly a filtračními pakety. Připojte každé pravidlo nftables k řetězci tak, aby pakety “chycen” v řetězci’filtr S je následně předán do řetězce’s pravidla.

Řetězy mohou mít dva druhy. Základna Řetězy fungují jako vstupní body pro pakety pocházející ze síťového zásobníku. Pravidelný Řetězy nechodily jako filtry, ale mohou působit jako skokové cíle. Mohou pomoci s ovládáním toku a organizace vašich nfTables.

    Chcete -li vytvořit základní řetězec, použijte příkaz, jako je příkaz příkladu níže. Vyměňte příklad_chain, zde a později, popisným názvem řetězu.

 sudo nft přidat řetězec inet příkladem_table příklady_chain '' 

 sudo nft přidat řetězec inet příkladem_table příklad_chain 

 sudo nft smazat řetězec inet příkladem_table příklad_chain 

 sudo nft flush řetězec inet příklad_table příklad_chain 

Pravidla

Pravidla dostávají pakety filtrované podle řetězců a podniknou na ně opatření na základě toho, zda odpovídají konkrétním kritériím. Každé pravidlo se skládá ze dvou částí, které sledují tabulku a řetězec v příkazu. Za prvé, pravidlo má nulu nebo více výrazy které dávají kritéria pro pravidlo. Za druhé, pravidlo má jeden nebo více Prohlášení které určují opatření nebo opatření přijaté, když se paket shoduje s pravidlem’S výrazy. Výrazy i prohlášení jsou hodnoceny zleva doprava. Další příklad pro přidání pravidla naleznete v následujícím příkladu, abyste získali rozpis těchto dvou částí.

    Chcete -li vytvořit pravidlo, použijte příkaz podobný příkladu. Toto pravidlo bere pakety z příkladu_chain a umožňuje těm, kteří reprezentují provoz TCP na přístavu 22:

 sudo nft přidat pravidlo INET PŘÍKLAD_TABLE PŘÍKLAD_CHAIN ​​TCP DPORT 22 COUNter Accep 

  • Zde část TCP DPORT 22 obsahuje pravidlo’s dva výrazy. Odpovídá paketům TCP a poté se shoduje, když jsou tyto pakety nasměrovány do portu 22.
  • Část přijímá čítač obsahuje pravidlo’s dvě příkazy. Nejprve se shodované pakety přidá k pravidlu’s pult, udržování běžného počtu paketů odpovídajících pravidlu. Za druhé, pak jsou přijata odpovídající pakety.
  • Uvědomte si, že příkazy verdiktu, jako je přijetí a pokles, ukončení zpracování pravidla, takže by měly být zařazeny na pravidlo’S koncem.

 sudo nft přidat pravidlo INET PŘÍKLAD_TABLE PŘÍKLAD_CHAIN ​​Pozice 3 TCP DPORT 22 Counter Accep 

 SUDO NFT SEZNAM TABULKA INET Příklad_table 

Podobně můžete použít příkaz, jako je příklad k uvedení všech pravidel v příkladu_chain v příkladu_table .

 sudo nft list Chain inet příkladem_table příklady_chain 

 sudo nft smazat pravidlo INET PŘÍKLAD_TABLE PŘÍSTUPE_Chain Handle 2 

Zde je rukojeť identifikátorem pro pravidlo, které smazáváte. Můžete získat pravidlo’S pobídka pomocí možnosti -A při spuštění příkazu pro pravidla seznamu, jako v:

 SUDO NFT SEZNAM TABULKA INET Příklad_table -a 

Příklad použití nftables

Níže můžete sledovat a pro vytvoření pravidel. Příklad pravidel používá tabulku INET, dva řetězce – jeden pro příchozí pakety a druhý pro odchozí – a pravidlo pro každý řetězec.

    Vytvořte stůl, inet stolek .

 sudo nft přidat tabulku INET TABLE 

 sudo nft přidat řetězec INET INET-TABLE Output-Filter-Chain '< type filter hook output priority 0; >' 

 sudo nft přidat pravidlo INET INET-TABLE Output-Filter-Chain IP Daddr 8.8.8.8 Counter 

 sudo nft přidat řetězec INET INET-TABLE vstupní filtr jako řetězec '< type filter hook input priority 0; >'sudo nft přidat pravidlo INET INET-TABLE Vstupní-filtr řetězec TCP DPORT 3030 Counter 

 SUDO NFT SEZNAM TABULKA INET TABLE 

Měli byste získat výstup podobný následujícímu:

Tabulka IP INETTABLE < chain output-filter-chain < type filter hook output priority 0; policy accept; ip daddr 8.8.8.8 counter packets 0 bytes 0 >řetězový vstupní filtr < type filter hook input priority 0; policy accept; tcp dport 3030 counter packets 0 bytes 0 >> 

    Ze stroje spuštěného nftables, ping cílovou adresu uvedenou v prvním pravidle.

 Ping -C 1 8.8.8.8 

 CURL 192.0.2.0: 3030 

Tabulka IP INETTABLE < chain output-filter-chain < type filter hook output priority 0; policy accept; ip daddr 8.8.8.8 counter packets 1 bytes 84 >řetězový vstupní filtr < type filter hook input priority 0; policy accept; tcp dport 3030 counter packets 1 bytes 64 >> 

Více informací

Možná budete chtít konzultovat s následujícími zdroji další informace o tomto tématu. I když jsou poskytovány v naději, že budou užitečné, uvědomte si, že nemůžeme ručit za přesnost nebo včasnost externě hostovaných materiálů.

  • nftables
  • NFTABLES se zabývají rodinami
  • Konfigurace řetězců v nftables

Tato stránka byla původně zveřejněna v pátek 9. července 2021.

Jak nainstalovat nftables v Ubuntu

V tomto článku se naučíme, jak přepnout firewall Linux z iptables na nftables na Ubuntu. IPTABLES, který je založen na modulu Netfilter jádra Linux, je v současné době výchozím firewallem pro mnoho distribucí Linuxu. Chrání před více vektory hrozeb a umožňuje vašemu serveru blokovat nežádoucí provoz na základě konkrétního pravidla.

NFTABLES je nový subsystém jádra Linux, který nahrazuje několik částí rámce NetFilter (na kterém je založen iptables), což umožňuje zlepšenou funkčnost. Tyto změny byly implementovány do jádra verze 3.13. Tento modul zvyšuje firewall funkčnost NetFilter pro filtrování síťového provozu. Pokročilý rámec NFTABLES je modelován podle systému Berkeley Packet Filter (BPF), který používá základní sadu výrazů k vytváření seskupených, složitých pravidel pro filtrování. To&rsquo;stojí za to poukázat na to, že se nejedná o aktualizaci iptables, ale spíše náhrada. IPTABLES bude brzy nahrazen NFTABLES na většině všech systémů jako jediná sjednocená platforma, která poskytne konfiguraci brány firewall na horní části virtuálního stroje v Kernelu.

Jak se liší nftables od iptables?

V iptables je několik řetězců a stolů, které jsou ve výchozím nastavení načteny.
V nftables neexistují žádné výchozí řetězce nebo tabulky.

V iptables existuje pouze jeden cíl na pravidlo.
V nfTables můžete provádět více akcí v rámci jednoho pravidla.

V nftables je nástroj s názvem IPSet. Použití IPSet umožňuje seznam více sítí nebo adres, které lze porovnat v jednom pravidle.

Ve struktuře iptables existují čtyři nástroje na rodinu:

  • iptables
  • IP6Tables
  • ARPTABLES
  • ebtables

NFTBABLES obsahuje vrstvu kompatibility, která zahrnuje všechny tyto nástroje, což umožňuje použití staré syntaxe pravidel Iptables.

Jaké jsou výhody nftables?

Hlavní výhody NFTABLES jsou:

  • Architektura, která je postavena přímo do jádra
  • Syntaxe, která konsoliduje nástroje Iptables do jediného nástroje příkazového řádku
  • Vrstva kompatibility, která umožňuje použití syntaxe pravidel Iptables.
  • Nová, snadno se naučí syntaxe.
  • Zjednodušený proces přidávání pravidel brány firewall.
  • Vylepšené hlášení chyb.
  • Snížení replikace kódu.
  • Lepší celkový výkon, retence a postupné změny filtrování pravidel.

Porovnání pravidel

.Všechny informace firewall jsou viditelné pomocí jediného nástroje příkazového řádku s názvem NFT. NFT používá jediné pravidlo pro adresy IPv4 a IPv6 místo použití více pravidel pro každý úkol. Nepředpokládá úplnou kontrolu nad backendem firewall a neodstraní pravidla brány firewall nainstalovaná jinými nástroji nebo uživateli. NFT také zlepšuje řádek pravidel brány firewall přidáním možností pro protokolování a zamítnutí funkcí ve stejném pravidle. A konečně, nový backend NFT je téměř 100% kompatibilní s již existujícími konfiguracemi brány firewall.

Zde je jednoduché pravidlo poklesu pro IP v nftables:

nft přidat pravidlo ip filtr výstup ip tatín 10.10.10.10 kapky

V iptables by pravidlem bylo:

iptables -a výstup -d 10.10.10.10 -J Drop

Tyto příklady níže vytvářejí pravidla firewall, která umožňuje provoz IPv6 pro různé přístavní služby.

root@host [~]# nft Přidat pravidlo IP6 Filtr vstup TCP DPORT ACCORT root@host [~]# nft Přidat pravidlo IP6 Filtr vstup ICMPV6 typ < nd-echo-request, nd-router-advert, neighbor-solicit, nd-neighbor-advert >akceptovat

Zde je několik dalších příkladů:

#Review CONFIGURACE: Root@HOST [~]# NFT Seznam pravidel #ADD Nová tabulka s rodinou &bdquo;INET&ldquo; a tabulkou &bdquo;Filtr&ldquo;: root@hostitel [~]# nft přidat filtr INET Filter #Add nový řetěze < type filter hook input priority 0 \; policy accept \>#Add Nové pravidlo, přijmout několik portů TCP: root@host [~]# nft Přidat pravidlo INET FILTRE Vstup TCP DPORT \ < ssh, telnet, https, http \>Přijměte #to zobrazení držadla pravidel: root@host [~] # nft -řídí - -numerický řetězec seznamu řetězce Family Table Chain #TO Odstranit pravidlo: root@hostitel [~] # nft Odstranit pravidlo INET FILTR INPUT HANDY 3 #TO Uložit aktuální konfiguraci: root@hostitel [~] # NFT Seznam pravidla> /etc /nfTables.conf

Jedná se o rychlý přehled o použitých výměnách, které se používají:

překladatelé nftables

Instalace debian/ubuntu

Kybernetický útok

.Metoda instalace nftables na serveru Debian/Ubuntu je velmi jednoduchá. V níže uvedené části jsme uložili aktuální pravidla Iptables na a .Soubor TXT, zkontroloval soubor, přeložil jej do čitelného formátu NFT a poté jej importoval do nového NFT pravidla.

root@host: ~# iptables-save> fwrule.txt root@hostitel: ~# cat fwrule.txt root@host: ~# iptables-restore-translate -f fwrule.txt root@host: ~# iptables-restore-translate -f fwrule.TXT> Pravidla.nft

překladatelé nftables

Ve druhé části procesu nainstalujeme NFTABLES a nástroj Iptables-nftables-Compat (který načte pravidla do subsystému jádra NF_TABLES) a nakonec povolíme službu.

root@hostitel: ~# apt instalace nftables root@host: ~# apt instalace iptables-nftables-compa root@hostitel: ~# SystemCtl Enable nftables.servis

V závěrečné části vytáhneme předchozí sadu pravidel z pravidel.soubor NFT. Poté zkontrolujeme řádek pravidel s &lsquo;seznam&rsquo; vlajka.

root@hostitel: ~# nft -f pravidla.nft root@hostitel: ~# nft seznam pravidel Tabulka IP nat < chain PREROUTING < type nat hook prerouting priority 0; policy accept; >vstup řetězce < type nat hook input priority 0; policy accept; >Výstup řetězce < type nat hook output priority 0; policy accept; >Potrouting řetězce < type nat hook postrouting priority 0; policy accept; >> Tabulka IP Mangle < chain PREROUTING < type filter hook prerouting priority 0; policy accept; >vstup řetězce < type filter hook input priority 0; policy accept; >řetěz vpřed < type filter hook forward priority 0; policy accept; >Výstup řetězce < type filter hook output priority 0; policy accept; >Potrouting řetězce < type filter hook postrouting priority 0; policy accept; >> Tabulka IP Raw < chain PREROUTING < type filter hook prerouting priority 0; policy accept; >Výstup řetězce < type filter hook output priority 0; policy accept; >> Filtr IP tabulky < chain INPUT < type filter hook input priority 0; policy accept; >řetěz vpřed < type filter hook forward priority 0; policy accept; >Výstup řetězce < type filter hook output priority 0; policy accept; >> Filtr stolu INET < chain input < type filter hook input priority 0; policy accept; >řetěz vpřed < type filter hook forward priority 0; policy accept; >Výstup řetězce < type filter hook output priority 0; policy accept; >> root@hostitel: ~# 

Synopse příkazu NFT

#nft příkaz Možnosti a syntaxe root@host [~]# nft [-nnscaeSupyj] [-i adresář] [-f název souboru | -i | cmd…] root@host [~]# nft -h použití: nft [možnosti] [CMDS. ] Možnosti: -H, -Help Zobrazit tuto nápovědu -V, -Version Zobrazit informace o verzi -c, -Check Control Commands Platnost, aniž byste ve skutečnosti použili změny. -F, - -File Read vstup z -i, -interaktivní čtení vstup z interaktivního CLI -n, - -numerického, když jednou zadáte, zobrazíte síťové adresy numericky (výchozí chování). Určete dvakrát a také numericky zobrazit také internetové služby (čísla portů). Určete třikrát také pro zobrazení protokolů, uživatelských ID a skupinových ID. -S, -bezstatovatelné vynechat stavové informace o pravidlech. -N Přeložit IP adresy na jména. -a, -ruchou pravidla pro výstup. -e, --echo echo to, co bylo přidáno, vloženo nebo nahrazeno. -I, - -includePath Přidat k hledaným cestám zahrnout soubory. Výchozí hodnota je: /etc - -debug Určete úroveň ladění (skener, analyzátor, eval, netlink, mnl, proto -ctx, segtree, all) root@host [~]# nft -v nftables v0.8.2 (Joe BTFSPLK)

Firewalld a nftables

A co Firewalld? Naštěstí Firewalld snadno interaguje s nftables prostřednictvím samotného příkazu NFT. Na obrázku firewalld níže vidíme, jak Iptables a Firewalld v současné době vzájemně interagují.

Firewalldová struktura nftables

Včasný problém s iptables a firewalld byl, že Firewalld převzal plnou kontrolu firewallu na serveru. Nyní, když používáte nftables jako backend, již to není pravdivé, protože NFTABLES umožní více jmenných prostorů a Firewalld rozsáhne pravidla, nastavuje a řetězy do firewalddového stolu. Tím se vyhýbá mnoha konfliktům, s nimiž se lze setkat s jiným softwarem, který přímo neinteraguje s firewalld. V nadcházejících vydáních bude NFTABLES aktualizován tak, aby používal nové libnftables.

Obnovit

Pokud z nějakého důvodu se musíte vrátit ke starému backendu iptables, můžete tak snadno udělat resetováním &lsquo;Firewallbackend&lsquo; vstup do /etc/firewalld/firewalld.conf zpět k &lsquo;iptables&lsquo;, a poté restartujte firewalld.

Zjistěte, jak se tato nová služba vejde do vašeho celkového bezpečnostního plánu pro váš server. Stále si jist, jak to implementovat na serveru Ubuntu nebo mít další otázky? Naši podpůrné technici stojí, aby nabídli naši pomoc při zodpovězení těchto a dalších otázek, které můžete mít o této technologii.

Související články:

  • Jak opravit &ldquo;Tento web může&rsquo;t Poskytuje bezpečné připojení&rdquo; Chyba
  • Jak nainstalovat MongoDB na Almalinux
  • Jak nainstalovat PostgreSQL na Almalinux
  • Jak používat nástroj WP Toolkit k zabezpečení a aktualizaci WordPress
  • Jak nainstalovat a konfigurovat Ansible na Almalinux
  • Jak nainstalovat redis do kontejneru EasyAPache 4 v cPanelu

O autorovi: David Singer

Jsem G33K, Linux Blogger, vývojář, student a bývalý technický spisovatel pro LiquidWeb.com. Moje vášeň pro všechny věci řídí můj lov pro všechny coolz. Poté, co se vrátím z dovolené, často potřebuji dovolenou.

Dopřejte příteli

Připojte se k našemu seznamu adresátů a dostávejte zprávy, tipy, strategie a inspiraci, kterou potřebujete k růstu svého podnikání

Co&rsquo;je nové v zabezpečení pro Ubuntu 22.04 LTS?

Canonical Ubuntu 22.04 LTS je nejnovější dlouhodobé vydání podpory Ubuntu, jednoho ze světa&rsquo;s nejoblíbenější distribuce Linuxu. Jako dlouhodobé podpůrné vydání, Ubuntu 22.04 LTS bude podporováno po dobu 10 let a obdrží jak rozšířené aktualizace zabezpečení, tak i živé předávání jádra prostřednictvím předplatného Ubuntu Advantage (což je zdarma pro osobní použití). To pokračuje v benchmarku vydání Ubuntu LTS sloužící jako nejbezpečnější základ, na kterém vyvíjí a nasazují aplikace a služby Linux. V tomto blogovém příspěvku se podíváme na různé bezpečnostní funkce a vylepšení, která se dostala do této nové vydání od Ubuntu 20.04 LTS Release. Pro podrobnější zkoumání některých z těchto funkcí si ujistěte, že se podívejte na předchozí články v této sérii, které pokrývají vylepšení dodaná během každého prozatímního vydání Ubuntu za poslední 2 roky mezi 20.04 LTS a 22.04 LTS.

Optimalizovaná jádra Linux

Ubuntu 22.04 LTS představuje optimalizované verze jádra pro různé platformy. U počítače s certifikací OEM certifikovaná v5.17 jádro se používá jako základní linie, zatímco všechny ostatní plochy a serverové platformy jsou založeny na V5.15 jádro. Od V5 se do jádra Linux dostalo obrovské množství změn a vylepšení zabezpečení.4 jádro Ubuntu 20.04 LTS, včetně:

Vylepšení zabezpečení specifické pro hardware

Intel&rsquo;Rozšíření softwarového strážce S (SGX) poskytuje zabezpečené enklávy podporované hardwarem, které mohou aplikace použít k ukládání citlivých dat nebo pro provádění citlivých výpočtů bez rizika rušení z nedůvěryhodných komponent. Ubuntu 22.04 LTS umožňuje podporu pro tuto funkci, která byla přítomna v procesorech Intel již několik let. Zatímco pro platformy ARM, podpora pro ARMV8.5 Prodloužení označování paměti je nyní k dispozici na zařízeních ARM64. Cílem této funkce je zabránit problémům s bezpečností paměti označováním adres paměti pomocí klíče, který nelze snadno vytvořit, a tak zabránit útokům na bezpečnost běžné paměti, jako je přetečení vyrovnávací paměti. Procesy uživatelského prostoru mohou nyní umožnit označování paměti pro vybrané oblasti paměti, aby pomohly při prevenci útoků na korupci paměti. Nakonec je AMD Secure Encrypted Virtualization (SEV) také podporována subsystémem KVM Virtualization, aby chránila registry virtuálních strojů pro hosta před přístupem k operačnímu systému hostitele.

Generická vylepšení bezpečnosti jádra

K dispozici je také řada dalších obecných, nezávislých funkcí pro bezpečnosti jádra, včetně nových bezpečnostních funkcí, jako je plánování základních. Od prvních případů zranitelnosti mikroarchitekturálních bočních kanálů (tj. Spectre atd.) Byli poprvé objeveni před více než 4 lety, vývojáři pracují na prostředcích pro procesy, aby kontrolovali, jak jsou naplánovány přes symetrické multiprocesování (SMT) jádra. Sourozenci SMT sdílejí hardwarové zdroje CPU mezi sebou, a proto může být docela obtížné se vyhnout různým útokům na postranní kanály hardwaru v důsledku. Nyní je poskytována podpora pro plánování základního plánování, což umožňuje procesům kontrolovat, která vlákna budou naplánována přes sourozence SMT, a proto jim může umožnit chránit citlivé informace před únikem do jiných nedůvěryhodných procesů v systému.

Randomizace zásobníku jádra poskytuje opatření k frustrování útočníků, kteří chtějí provést útoky na korupci paměti v jádru. Umístěním zásobníku jádra na jiný posun při následných systémových hovorech nejsou útočníci schopni provést útoky nejprve únikem adresy zásobníku jádra a poté následně přepsat tuto paměť při pozdějším systémovém volání. Uzavřením tohoto potenciálního útoku vektor ubuntu 22.04 LTS poskytuje defenzivnější platformu proti útokům jádra.

Subsystém BPF také zaznamenal řadu vylepšení zabezpečení, včetně omezení jeho použití pouze na privilegované procesy ve výchozím nastavení a také zahrnutí počátečního úsilí o podporu podepsaných programů BPF také. Cílem obě těchto opatření je pomoci minimalizovat šanci, že tento funkční subsystém lze použít k útoku na jádro, přičemž to stále umožňuje, aby byly vývojáři a správci systému používány podle potřeby.

A konečně, zahrnutí nového modulu Linux Linux Linux poskytuje další mechanismus pro aplikační karanténu, který bude spolu s tradičnějšími metodami prostřednictvím AppArmor nebo Selinux. Landlock umožňuje aplikacím specifikovat jejich vlastní politiku (a tak se více podobá filtrům Seccomp) na rozdíl od AppArmor a Selinux, které jsou navrženy tak, aby umožnily správci systému konfigurovat zásady globálního systému napříč řadou aplikací. Při kombinaci se stohováním LSM lze vnitrozemský spojin ve spojení s AppArmorem k zajištění přístupu k izolaci aplikací defence v hloubce.

Vylepšení zabezpečení uživatelského prostoru

S každým novým vydáním Ubuntu je možnost obnovit řadu softwarových balíčků poskytovaných v archivu Ubuntu k jejich nejnovějším upstream vydání. Ubuntu 22.04 LTS není výjimkou, která přináší aktualizace do řady balíčků relevantních zabezpečení, včetně OpenSSL, OpenSSH, NFTABLES, GCC a dokonce pokorné bash skořápky.

OpenSSL 3

Ubuntu 22.04 LTS lodí s nejnovějším hlavním vydáním úctyhodné sady nástrojů Cryptography, OpenSSL. V OpenSSL 3 bylo ve výchozím nastavení přestalo mnoho dědických algoritmů a deaktivováno – včetně MD2 a DES. Tyto a další zastaralé algoritmy jsou místo toho přítomny u poskytovatele dědictví, které lze podle potřeby povolit buď změnou konfigurace nebo programově. Ve výchozím nastavení je deaktivace je chráněna před kryptografickými útoky proti těmto méně zabezpečeným algoritmům.

OpenSSH UX vylepšení pro tokeny fido/u2f

Dalším základem bezpečnostního ekosystému Linux je OpenSSH, který poskytuje bezpečný vzdálený přístup ke systémům Linux. Od verze 8 došlo k sedmi vydáním OpenSSH.2 byl zahrnut do předchozího Ubuntu 20.04 Vydání LTS, přináší řadu vylepšení pro správce systému, vývojáře i uživatele. Zejména použití žetonů zabezpečení hardwaru U2F/FIDO se v OpenSSH 8 výrazně zlepšilo.9, přináší významné výhody uživatele při používání těchto dvoufaktorových ověřovacích zařízení pro vzdálený přístup.

NFTABLES jako výchozí backend firewall

Firewalling na Linuxu se skládá ze dvou složek – mechanismu brány firewall v jádru Linux a nástrojů používané k konfiguraci tohoto z uživatelského prostoru. Jádro Linux tradičně podporovalo dva různé subsystémy pro politiky firewall – iptables / xtables a novější nftables. Při vytváření a nasazení pravidel brány firewall, zejména pro systémy duálního zásobníku IPv4/IPv6, přináší významné výhody jak z hlediska výkonu, tak flexibility. Tradiční iptables Nástroj pro správu uživatelského prostoru nyní konfiguruje nftables jádro backendu, zatímco nové nft Je také přítomen nástroj uživatelského prostoru, který umožňuje vytvoření flexibilnějších pravidel, která nejsou podporována tradičními iptables paradigma.

GCC 11 a Bash 5.1

GCC 11.2 přináší vylepšené schopnosti statické analýzy, což umožňuje vývojářům detekovat a sanizovat potenciální zranitelnosti softwaru a další problémy během vývojového cyklu. To zahrnuje podporu pro detekci možných dereferencí bez ukazatele bez ukazatele bez použití, únik paměti a nebezpečná volání z podmínek obsluhy signálu. Použitím Ubuntu 22.04 LTS Jako základ pro jejich vývojové platformy, vývojáři softwaru mohou pomoci zajistit, aby kód, který píší, je co nejsprávné a bez vady bez vady.

Vývojáři i správníci systémů budou také těžit z zahrnutí Bash 5.1. Toto vydání ctihodné skořápky zahrnuje nativní podporu pro zlepšenou generaci čísel pseudo-náhodného prostřednictvím proměnné $ Srandom. Na rozdíl od historické $ náhodné proměnné je $ Srandom odvozen z jádra&rsquo;S /Dev /Urandom zabezpečené zařízení s náhodným zdrojem, které zajišťuje, že jeho výstup nelze snadno předvídat potenciálními útočníky.

Soukromé domácí adresáře

Systémy Ubuntu se tradičně rozhodly pro pohodlí sdíleného přístupu k uživateli&rsquo;s domácí adresáře, podporující případy použití, jako jsou sdílené PC v univerzitním a domácím prostředí. Jak se však technologické prostředí vyvinulo a Ubuntu se stal dominantním v jiných oblastech, jako je cloud computing a internet věcí (IoT), nyní se defenzivnější přístup považuje za nezbytný k ochraně uživatelů a jejich dat. Ubuntu 22.04 LTS nyní ve výchozím nastavení umožňuje soukromé domácí adresáře, což zajišťuje, že data uživatelů nejsou přístupná ostatním bez jejich explicitního povolení.

Celkem je rozsah vylepšení zabezpečení v Ubuntu 22.04 LTS z něj činí nejbezpečnější vydání Ubuntu dosud využitím a stavíním na různých dalších kaleních a bezpečnostních prvcích, které jsou již dlouho hlavní součástí Ubuntu. Kromě toho, aktualizace zabezpečení a živé přehled o jádru pro 22.04 LTS jsou poskytovány po dobu deseti let prostřednictvím předplatného Ubuntu Advantage, které pokračují v benchmarku vydání Ubuntu LTS sloužící jako nejbezpečnější základ, na kterém lze vyvinout a nasazovat aplikace a služby Linux.

Promluvte si s námi dnes

Zájem o spuštění Ubuntu ve vaší organizaci?

Nastavení firewallu nftables

Autor: Jeroen Van Kessel LinkedIn cvrlikání GitHub | 1. června 2020 | 10 minut čtení

NFTABLES (NetFilter) konsoliduje tabulky do nového firewallu Linux na bázi jádra. Většina linuxových distribucí se přesouvá z iptables do nftables jako jejich výchozí rámec brány firewall. NFTABLES je nyní výchozí v Debian 10, Ubuntu 20.04, Rhel 8, Suse 15 a Fedora 32. Čas na migraci!

Tento blogový příspěvek rozpracovává, jak nastavit nftables na základě obvodového modelu, který je vizualizován metaforicky na obrázku 1. Podívejte se na síťový model nulové důvěry, pokud chcete zaplnit mezery přístupu založeného na obvodu. Podívejte se také na PF, pokud potřebujete robustní řešení brány firewall na okraji své sítě.

Obrázek 1: Fort Bourtange, Nizozemsko (foto Elise Van Heck)

Začínáme s nftables

Nejprve nainstalujeme nftables:

$ sudo apt -get instalace nftables -y 

$ nft -v nftables v0.9.3 (topsy) 

Dále povolíme nftables na boot a spustíme démona:

$ sudo systemctl povolit nftables $ sudo systemctl start nftables $ sudo systemctl status nftables nftables.Service - NFTABLEBLES FALED: Načteno (/lib/systemd/System/nfTables.servis; postižené; Předvolba dodavatele: Povoleno) Aktivní: Aktivní (ukončen); Před 1S Docs: Man: NFT (8) http: // wiki.nftables.Org Proces: 16565 execstart =/usr/sbin/nft -f/etc/nftables.conf (kód = ukončený, stav = 0/úspěch) hlavní PID: 16565 (kód = ukončen, stav = 0/úspěch) 

Jak fungují nfTables

NFTABLES je v podstatě síťovým filtrem, také označovaným jako seznam řízení přístupu k síťovému přístupu (ACL), který vám umožňuje řídit toky dat sítě. Tyto síťové filtry jsou hierarchické a závislé na pořadí. Obrázek 1 ukazuje, jak funguje NFTABLES na základě modelu TCP/IP:

nftables-tcpip-model

Obrázek 1: Model TCP/IP NFTABLES

Začněme zdola v modelu TCP/IP. Datový odkaz je bod, kde můžete zefektivnit provoz pro konkrétní (virtuální) NIC (karty síťového rozhraní) na základě jejich příchozího VNIC (IIFNAME) a ​​Overcoming VNIC (OIFNAME). Tímto způsobem můžete segmentovat datový provoz (E.G. Https) z řízení managementu (e.G. SSH nebo VNC).
Na datovém spojení se protokol protokolu ARP (protokol rozlišení adresy) používá k vyřešení IP adresy na adresu MAC. Během počátečního vysílání ARP se mohla škodlivá entita pokusit spojit svou MAC adresu s IP adresou na požadovanou hostitelskou IP adresu, což způsobilo, že provoz určený k odeslání této IP adresy místo toho hostitele útočníka namísto toho. Provoz ARP můžete ovládat v části ARP Filter (1).

Další nahoře je TCP/IP Internetwork a Transport Layer s IP filtrem a IP6 filtrem (2). Tyto filtry nám pomáhají tvarovat síťový provoz z naší hostitelské IP (SADDR) do síťových segmentů nebo jiného hostitele (Daddr). NFTBABLES mohou filtrovat pakety na základě síťového protokolu, cílového portu (DPORT), zdrojového portu (Sport) a jeho stavu relace (stav CT). Malá poznámka – Protokol ICMP je ve skutečnosti součástí protokolu IP, a proto technicky pracuje ve vrstvě internetu. V ideálním případě by vaše tabulky IP a IP6 měly blokovat jakýkoli síťový provoz (pokles), pokud to není výslovně povoleno (přijmout).

NFTABLES je síťový filtr a ne nativní vrstva 7 (L7) Aplikační firewall (3). Síťové porty se často zaměňují za ovládací prvky sítě aplikací. Uvědomte si, že škodlivý herec může tunel reverzní skořápku nad portem TCP 443 (HTTPS) nebo port UDP 53 (DNS). Aplikace (L7) filtrování může vyplnit tyto mezery využitím webového proxy pro provoz HTTPS a systémy prevence narušení (IPS) pro zrušení škodlivého tunelového provozu přes jiné síťové protokoly, dokonce i přes ICMP. Klíčové slovo je zde DPI (inspekce hlubokého paketu).

Jak nakonfigurovat nfTables

Přímo upravíme /etc /nftables.Konfigurační soubor conf místo použití NFT CLI (NFT ADD) a (NFT DELETE). Tento konfigurační soubor je ve výchozím nastavení načteno na boot. Musíte být root (sudo) pro nastavení filtrů brány firewall na portech do 1024.

$ sudo cp /etc /nftables.conf /etc /nftables.conf.Bak $ sudo vi /etc /nftables.conf 

Nejprve definujeme proměnné, které můžeme později použít v naší pravidlech:

Definovat NIC_NAME = "Eth0" Definujte NIC_MAC_GW = "DE: AD: BE: EF: 01: 01" Define NIC_IP = "192.168.1.12 "Definujte local_inetw = < 192.168.0.0/16 >Definujte local_inetwv6 = < fe80::/10 >Definujte dns_servers = < 1.1.1.1, 8.8.8.8 >Definujte ntp_servers = < time1.google.com, time2.google.com, time3.google.com, time4.google.com >Definujte dhcp_server = "192.168.1.1 " 

NFTABLES Automaticky mapuje názvy síťových protokolů na čísla portu (E.G. Https <> 443). V našem příkladu povolujeme pouze příchozí relace, která jsme zahájili (CT State State zavedené přijetí) z pomíjivých portů (DPORT 32768-65535). Uvědomte si, že aplikace nebo webový server by měly umožnit nově zahájené relace (stav CT New).

Filtr IP tabulky < chain input < type filter hook input priority 0; policy drop; iifname "lo" accept iifname "lo" ip saddr != 127.0.0.0/8 drop iifname $NIC_NAME ip saddr 0.0.0.0/0 ip daddr $NIC_IP tcp sport < ssh, http, https, http-alt >TCP DPORT 32768-65535 CT Stav zavedený přijmout iifName $ Nic_name ip saddr $ ntp_servers ip daddr $ nik_ip udp sportovní ntp dport 32768-65535 ct State ustanovení přijmout iifname $ nic_name Ip ip ip ip ip saddr $ dhcp_server ipp ipt ipt ipt ipt ipt. -65535 ct Stav zavedený log Přijmout iifName $ Nic_name IP saddr $ dns_servers ip taddr $ nik_ip udp sportovní doména udp dport 32768-65535 ct Stav zavedení < type filter hook output priority 0; policy drop; oifname "lo" accept oifname "lo" ip daddr != 127.0.0.0/8 drop oifname $NIC_NAME ip daddr 0.0.0.0/0 ip saddr $NIC_IP tcp dport < ssh, http, https, http-alt >tcp sport 32768-65535 ct state new,established accept oifname $NIC_NAME ip daddr $NTP_SERVERS ip saddr $NIC_IP udp dport ntp udp sport 32768-65535 ct state new,established accept oifname $NIC_NAME ip daddr $DHCP_SERVER ip saddr $NIC_IP udp dport bootpc udp sport 32768-65535 ct state new,established log accept oifname $NIC_NAME ip daddr $DNS_SERVERS ip saddr $NIC_IP udp dport domain udp sport 32768-65535 ct state new,established accept oifname $NIC_NAME ip daddr $LOCAL_INETW ip saddr $NIC_IP icmp type echo-request ct state new,established accept > chain forward < type filter hook forward priority 0; policy drop; >> 

Další kódový blok se používá k blokování příchozího a odchozího provozu IPv6, s výjimkou požadavků Ping (ICMPV6 typu Echo-Request) a IPv6 Network Discovery (ND-Router-Advert, ND-Neighbor-Solicity, ND-Neighbor-Advert). VNIC jsou často automaticky zajištěny adresami IPv6 a ponechány nedotčeny. Tato rozhraní mohou být zneužívána škodlivými entitami k tomu, aby tunel vyšla důvěrná data nebo dokonce shell.

filtr IP6 tabulky < chain input < type filter hook input priority 0; policy drop; iifname "lo" accept iifname "lo" ip6 saddr != ::1/128 drop iifname $NIC_NAME ip6 saddr $LOCAL_INETWv6 icmpv6 type < destination-unreachable, packet-too-big, time-exceeded, parameter-problem, echo-reply, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert >Stav CT zavedený přijmout> Výstup řetězce < type filter hook output priority 0; policy drop; oifname "lo" accept oifname "lo" ip6 daddr != ::1/128 drop oifname $NIC_NAME ip6 daddr $LOCAL_INETWv6 icmpv6 type echo-request ct state new,established accept >řetěz vpřed < type filter hook forward priority 0; policy drop; >> 

Poslední blok kódu se používá pro provoz ARP, který omezuje síťové rámce ARP:

Filtr tabulky ARP < chain input < type filter hook input priority 0; policy accept; iif $NIC_NAME limit rate 1/second burst 2 packets accept >Výstup řetězce < type filter hook output priority 0; policy accept; >> 

$ sudo SystemCtl Restart nftables && SystemCtl Status nftables && nft list pravidla 

Úvahy

Ujistěte se, že vaše porty jsou skutečně otevřené nebo uzavřené. K tomu můžete použít NC, Telnet nebo TCPDUMP.

nftables může protokolovat akce v/var/log/syslog . Měli byste využít Rsyslog k předávání protokolů do svého oblíbeného řešení SIEM, abyste získali lepší představu o vaší síti.

Se správnou kostru, nftables usnadňuje život inženýrům DevOps, aby aplikovali mikro segmentaci firewalling. Inženýři DevOps mohou zajistit modulární pravidla brány firewall pro hostitele založené na Linuxu pomocí nástroje pro správu konfigurace, jako je Ansible. Tato pravidla brány firewall jsou poté tlačena a naložena na základě základní funkce VM nebo kontejneru. Například databázové servery by měly mluvit pouze s omezenou podmnožinou webových serverů. Tento způsob poskytování pravidel brány firewall na úrovni hostitele by měl snížit povrch útoku na postranní pohyb škodlivým hercem.

Tento blogový příspěvek se pouze dotkl základních schopností brány firewall. Další techniky brány firewall najdete na stránce nftables. Mějte na paměti, že jedno řešení brány firewall nemusí nutně nahradit jiné. Také se podívejte do okrajové brány, pokud nemáte síťovou doménu s nulovou kondicí.

Diskuse a otázky

banner_cryptsus

Copyright 2019 – 2023 Cryptsus. Všechna práva vyhrazena.

Kód je pod novou licenci Berkeley Software Distribution (BSD), protože nám záleží na budování otevřenějšího světa.