Ubuntu nftables kullanıyor mu?
Ubuntu’da nftables nasıl kurulur
Şekil 1: NFTables TCP/IP modeli
Nftables ile başlayın
Estamos Tradiciendo Nuestros Guías y Öğretimleri Al Español. ES POZİK KURULUK ESTER Esté Viendo UNA Traducción Generada Automátiamente. Estamos Trabajando Con Tradanctores Profesyoneller Para Verificar Las Traducciones de Nuestro Sitio Web. Este proeyecto es un trabajo en curso.
Bu kılavuzu $ kredi ile denemek için bir linode hesabı oluşturun .
Bu kredi, ilk günleriniz boyunca kullanılan geçerli hizmetlere uygulanacaktır.
NFTables, başarılı iptables ve netfilter üzerine inşa edilmiş ilgili çerçevelerin yerini alır. NFTables ile performans ve kullanılabilirlikte iyileştirmeler, aynı zamanda sözdizimi ve kullanımda önemli değişiklikler. NFTables’ın ne olduğunu ve IPTables’dan nasıl farklı olduğunu öğrenmeye başlamak için bu kılavuzu kullanın. NFTables’da kendi kurallarınızı uygulamak ve ne yapabileceğine dair uygulamalı bir fikir edinmek için bu kılavuz örneğini takip edin.
Nftables nelerdir?
NFTables, IPTables, IP6tables, Arttables ve EBTables’ın arkasındaki NetFilter altyapısının yerini alan bir Linux Paket Sınıflandırma Çerçevesidir. Eski NetFilter altyapısını kullanan çerçeveler, büyük Linux dağıtımlarından aşamalı olarak kaldırılıyor. Bu çerçeveler, varsayılan paket sınıflandırma çerçevesi olarak NFTables’ı benimsemeye başladı.
Iptables’ın yaygınlığına rağmen, mimarisinin birkaç temel sınırlaması ve verimsizlik vardır ve bunlar sadece temel bir yeniden tasarımla çözülebilir. Bu yeniden tasarım, NFTables’ın başarmak için belirlediği şeydir.
nftables vs. iptables
NFTables, NetFilter altyapısının ve IPTables’ın tanıdık kısımlarından bazılarını korur. IPTables’da olduğu gibi, NFTables hala tabloları, zincirleri ve kuralları kullanıyor hiyerarşisi – zincirler içeren tablolar ve kurallar içeren zincirleri. NFTables komut satırı sözdizimini değiştirirken, NFTables çekirdeğinin üzerinden iptables komutlarını çalıştırmanıza izin veren bir uyumluluk katmanı tutar.
NFTables ayrıca IPTables’tan kullanımda önemli değişiklikler sunar. Birincisi, yukarıda belirtildiği gibi, NFTables için komut satırı sözdizimi farklı. Aşağıda, NFTables ve IPTables arasındaki ek önemli farklılıklar.
- IPTables’ın aksine, NFTables’ın performansı artırmaya yönelik önceden tanımlanmış tabloları veya zincirleri yoktur.
- NFTables’da kurallar, iptables’ın kural başına tek bir eylemle sınırlandırılmasının aksine, kurallar birden fazla işlem yapabilir.
- NFTables, hem IPv4 hem de IPv6 için geçerli olan tablolar oluşturmanızı sağlayan bir Inet Adres Ailesi ile birlikte gelir.
- NFTables’ın kural seti, iptables’ın monolitik blob kural seti ile karşılaştırıldığında kural setinin sürdürülebilirliğini artıran dinamik bağlantılı bir liste ile temsil edilir.
Ayrıca, NFTables’ın genel set altyapısı, kural setinizi yapılandırmak için yeni seçenekler açar, hatta çok boyutlu “ağaç” yapılarına izin verir. Bir paket için uygun eylemi belirlemek için sorgulanan kural sayısını önemli ölçüde azaltmak için bunu kullanabilirsiniz.
Nftables nasıl kurulur
Aşağıdaki dağıtım sürümlerinden birini kullanıyorsanız NFTables’ı yüklemeniz gerekmez:
- Debian 10 (Buster)
- Ubuntu 20.10 (Groovy Gorilla)
- Centos 8
- Fedora 32
Aksi takdirde, aşağıdaki adımları kullanarak nftables’ı manuel olarak yükleyebilirsiniz. Bu adımlar Debian 9, Ubuntu 18 için çalışıyor.04 ve Centos 7 ve bu dağılımların daha sonraki sürümleri.
Sen başlamadan önce
- Henüz yapmadıysanız, bir Linode hesabı oluşturun ve örneği hesaplayın. Linode ile başladığımızı ve bir hesaplama örnek kılavuzları oluşturmamızı görün.
- Sisteminizi güncellemek için bir hesaplama örneği kılavuzunu kurmamızı ve güvence altına almamızı takip edin. Ayrıca saat dilimini ayarlamak, ana bilgisayar adınızı yapılandırmak, sınırlı bir kullanıcı hesabı oluşturmak ve SSH erişimini sertleştirmek isteyebilirsiniz.
Bu kılavuz kök dışı kullanıcılar için yazılmıştır. Yüksek ayrıcalıklar gerektiren komutlar sudo ile ön ekildi . Sudo komutuna aşina değilseniz, Linux Kullanıcıları ve Grupları Kılavuzuna bakın.
Kurulum adımları
- Nftables yükleyin.
- Debian ve Ubuntu dağıtımlarında şu komutu kullanın:
sudo apt yükleme nftables
sudo yum yükleme nftables
sudo systemctl nftables sudo systemctl start nftables
sudo apt kurulumu iptables-nftables-compat sudo iptables-save> iptables.Döküm sudo iptables-restore-translate -f iptables.Dökme> Kural Seti.nft sudo nft -f kural seti.NFT
Şimdi NFTables’da tabloların bir listesini alarak ithalatı doğrulayabilirsiniz.
sudo nft liste tabloları
Nftables nasıl kullanılır
Bu bölüm, en yararlı komutlarını sağlayarak NFTables’daki ana bileşenlerin her birini bozar. Bu kılavuzun sonunda, çalışan bir kural kümesinin nasıl kurulacağına dair bir gösteri bulabilir ve bunu eylemde görebilirsiniz.
Tablolar
Tablolar, NFTables hiyerarşisinin en yüksek seviyesidir. Belirli bir tablo tek bir adres ailesine karşılık gelir ve bu adres ailesindeki paketleri filtreleyen zincirler içerir.
- Bir tablo oluşturmak için örnek komutunu kullanın. Örnek_table’ı aşağıda ve sonraki örneklerde, tablo için tanımlayıcı bir adla değiştirin.
sudo nft tablo ekle inet örnek_table
sudo nft liste tabloları
sudo nft sil tablo inet örnek_table
sudo nft floş tablo inet örnek_table
Zincirler
Zincir
Ubuntu’da nftables nasıl kurulur
Şekil 1: NFTables TCP/IP modeli
Nftables ile başlayın
Estamos Tradiciendo Nuestros Guías y Öğretimleri Al Español. ES POZİK KURULUK ESTER Esté Viendo UNA Traducción Generada Automátiamente. Estamos Trabajando Con Tradanctores Profesyoneller Para Verificar Las Traducciones de Nuestro Sitio Web. Este proeyecto es un trabajo en curso.
Bu kılavuzu $ kredi ile denemek için bir linode hesabı oluşturun .
Bu kredi, ilk günleriniz boyunca kullanılan geçerli hizmetlere uygulanacaktır.
nftables NetFilter üzerine inşa edilmiş başarılı iptables ve ilgili çerçevelerin yerini alır. NFTables ile performans ve kullanılabilirlikte iyileştirmeler, aynı zamanda sözdizimi ve kullanımda önemli değişiklikler. NFTables’ın ne olduğunu ve IPTables’dan nasıl farklı olduğunu öğrenmeye başlamak için bu kılavuzu kullanın. Bu rehberle birlikte takip edin’NFTables’da kendi kurallarınızı uygulamak ve ne yapabileceğine dair uygulamalı bir fikir edinmek için örnek.
Nftables nelerdir?
NFTables, yerini alan bir Linux Paket Sınıflandırma çerçevesidir Netfilter IPTables, IP6tables, Arttables ve EBTables’ın arkasındaki altyapı. Eski NetFilter altyapısını kullanan çerçeveler, büyük Linux dağıtımlarından aşamalı olarak kaldırılıyor. Bu çerçeveler, varsayılan paket sınıflandırma çerçevesi olarak NFTables’ı benimsemeye başladı.
Iptables’ın yaygınlığına rağmen, mimarisinin birkaç temel sınırlaması ve verimsizlik vardır ve bunlar sadece temel bir yeniden tasarımla çözülebilir. Bu yeniden tasarım, NFTables’ın başarmak için belirlediği şeydir.
nftables vs. iptables
NFTables, NetFilter altyapısının ve IPTables’ın tanıdık kısımlarından bazılarını korur. IPTables’da olduğu gibi, NFTables hala tabloları, zincirleri ve kuralları kullanıyor hiyerarşisi – zincirler içeren tablolar ve kurallar içeren zincirleri. NFTables komut satırı sözdizimini değiştirirken, NFTables çekirdeğinin üzerinden iptables komutlarını çalıştırmanıza izin veren bir uyumluluk katmanı tutar.
NFTables ayrıca IPTables’tan kullanımda önemli değişiklikler sunar. Birincisi, yukarıda belirtildiği gibi, NFTables için komut satırı sözdizimi farklı. Aşağıda, NFTables ve IPTables arasındaki ek önemli farklılıklar.
- IPTables’ın aksine, NFTables’ın performansı artırmaya yönelik önceden tanımlanmış tabloları veya zincirleri yoktur.
- NFTables’da, kurallar iptables’ın aksine birden fazla işlem yapabilir’ Kural başına tek bir eylemle sınırlama.
- NFTables, hem IPv4 hem de IPv6 için geçerli olan tablolar oluşturmanızı sağlayan bir Inet Adres Ailesi ile birlikte gelir.
- nftables’ Kural seti, kural setini geliştiren dinamik bağlantılı bir liste ile temsil edilir’iptables ile karşılaştırıldığında sürdürülebilirlik’ monolitik blob kural seti.
Ayrıca, NFTables’ Jenerik set altyapısı, kural setinizi yapılandırmak için yeni seçenekler açar, hatta çok boyutlu olmasına izin verir “ağaç” yapılar. Bir paket için uygun eylemi belirlemek için sorgulanan kural sayısını önemli ölçüde azaltmak için bunu kullanabilirsiniz.
Nftables nasıl kurulur
Aşağıdaki dağıtım sürümlerinden birini kullanıyorsanız NFTables’ı yüklemeniz gerekmez:
- Debian 10 (Buster)
- Ubuntu 20.10 (Groovy Gorilla)
- Centos 8
- Fedora 32
Aksi takdirde, aşağıdaki adımları kullanarak nftables’ı manuel olarak yükleyebilirsiniz. Bu adımlar Debian 9, Ubuntu 18 için çalışıyor.04 ve Centos 7 ve bu dağılımların daha sonraki sürümleri.
Sen başlamadan önce
- Henüz yapmadıysanız, bir Linode hesabı oluşturun ve örneği hesaplayın. Linode ile başladığımızı ve bir hesaplama örnek kılavuzları oluşturmamızı görün.
- Sisteminizi güncellemek için bir hesaplama örneği kılavuzunu kurmamızı ve güvence altına almamızı takip edin. Ayrıca saat dilimini ayarlamak, ana bilgisayar adınızı yapılandırmak, sınırlı bir kullanıcı hesabı oluşturmak ve SSH erişimini sertleştirmek isteyebilirsiniz.
Bu kılavuz kök dışı kullanıcılar için yazılmıştır. Yüksek ayrıcalıklar gerektiren komutlar sudo ile ön ekildi . Eğer sen’Sudo komutuna aşina değil, Linux Kullanıcıları ve Grupları Kılavuzuna bakın.
Kurulum adımları
- Nftables yükleyin.
- Debian ve Ubuntu dağıtımlarında şu komutu kullanın:
sudo apt yükleme nftables
sudo yum yükleme nftables
sudo systemctl nftables sudo systemctl start nftables
sudo apt kurulumu iptables-nftables-compat sudo iptables-save> iptables.Döküm sudo iptables-restore-translate -f iptables.Dökme> Kural Seti.nft sudo nft -f kural seti.NFT
Şimdi NFTables’da tabloların bir listesini alarak ithalatı doğrulayabilirsiniz.
sudo nft liste tabloları
Nftables nasıl kullanılır
Bu bölüm, en yararlı komutlarını sağlayarak NFTables’daki ana bileşenlerin her birini bozar. Bu kılavuzun sonunda, çalışan bir kural kümesinin nasıl kurulacağına dair bir gösteri bulabilir ve bunu eylemde görebilirsiniz.
Tablolar
Tablolar, NFTables hiyerarşisinin en yüksek seviyesidir. Belirli bir tablo tek bir adres ailesine karşılık gelir ve bu adres ailesindeki paketleri filtreleyen zincirler içerir.
Bir tablo oluşturmak için örnek komutunu kullanın. Örnek_table’ı aşağıda ve sonraki örneklerde, tablo için tanımlayıcı bir adla değiştirin.
sudo nft tablo ekle inet örnek_table
sudo nft liste tabloları
sudo nft sil tablo inet örnek_table
sudo nft floş tablo inet örnek_table
Zincirler
Zincirler masaların altında yaşıyor ve paketlerin filtresi. Her nftablable kuralını bir zincire eklersiniz, böylece paketler “yakalanmış” zincirde’S filtresi daha sonra zincire aktarılır’S kuralları.
Zincirler iki çeşit olabilir. Temel Zincirler, ağ yığınından gelen paketler için giriş puanı görevi görür. Düzenli Zincirler filtre görevi görmez, ancak atlama hedefleri olarak hareket edebilir. NFT eşyalarınızın akışını ve organizasyonunu kontrol etmeye yardımcı olabilirler.
Bir temel zincir oluşturmak için aşağıdaki örnek komut gibi bir komut kullanın. Örnek_chain, burada ve daha sonra, tanımlayıcı bir zincir adıyla değiştirin.
sudo nft zincir ekle inet örnek_table example_chain ''
sudo nft zincir ekle inet örnek_table example_chain
sudo nft sil zinciri inet örnek_table example_chain
sudo nft floş zinciri inet örnek_table örnek_chain
Tüzük
Kurallar, zincirler tarafından filtrelenen paketleri alır ve belirli kriterlerle eşleşip eşleşmediklerine göre bunlara eylemlerde bulunur. Her kural, komuttaki tabloyu ve zinciri takip eden iki bölümden oluşur. İlk olarak, kural sıfır veya daha fazla ifade kural için kriterleri verir. İkincisi, kuralın bir veya daha fazlası var ifadeler bir paket kurala uyduğunda alınan eylemi veya eylemleri belirleyen’S ifadeleri. Hem ifadeler hem de ifadeler soldan sağa değerlendirilir. Bu iki bölümün dökümünü almak için bir kural eklemek için aşağıdaki örneğe bakın.
Bir kural oluşturmak için, örneğe benzer bir komut kullanın. Bu kural, örnek_chain’den paketleri alır ve bağlantı noktasında TCP trafiğini temsil edenlere izin verir 22:
sudo nft kural ekle inet örnek_table örnek_chain tcp dport 22 sayacı kabul
- Burada, TCP DPORT 22 porsiyonu kuralı içerir’s iki ifade. TCP paketleriyle eşleşir ve bu paketler 22 numaralı bağlantı noktasına yönlendirildiğinde eşleşir.
- Sayaç kabul kısmı kuralı içerir’s iki ifade. İlk olarak, eşleşen paketler kurala eklenir’sayacın, kuralla eşleşen paket sayısı tutma. İkincisi, eşleşen paketler daha sonra kabul edilir.
- Kabul ve bırakma, kuralın işlenmesi gibi karar komutlarının göründüğünü unutmayın, bu nedenle kurala yerleştirilmelidir’Göndermek.
sudo nft kural ekle inet örnek_table örnek_chain konumu 3 tcp dport 22 sayacı kabul
sudo nft listesi tablosu inet örnek_table
Benzer şekilde, örnek_table içinde örnek_chain içindeki tüm kuralları listelemek için örnek gibi bir komut kullanabilirsiniz .
sudo nft liste zinciri inet örnek_table örnek_chain
sudo nft Sil kural inet örnek_table example_chain tutamak 2
Burada, kol sildiğiniz kuralın bir tanımlayıcısıdır. Bir kural alabilirsiniz’S Liste Kuralları komutunu çalıştırırken aşağıdakilerde olduğu gibi -a seçeneğini kullanarak kullanın:
sudo nft listesi tablosu inet örnek_table -a
Örnek nftables kullanımı
Aşağıda, bir kural seti oluşturmak için takip edebilirsiniz. Örnek Kural kümesi, bir INET tablo kullanır, iki zincir – biri gelen paketler için, diğeri giden için – ve her zincir için bir kural kullanır.
Bir masa oluştur, Inet-masa .
sudo nft tablo ekle inet masa
sudo nft ekle zincir inet-tablo çıkış-filter zinciri '< type filter hook output priority 0; >'
sudo nft, kural ekle inet masa çıktı-filter zinciri ip daddr 8.8.8.8 Sayaç
sudo nft ekle zincir inet masalı giriş-filter zinciri '< type filter hook input priority 0; >'sudo nft, kural ekle Inet-tablo giriş-filter zinciri TCP DPORT 3030 Sayacı
sudo nft liste tablosu inet masa
Aşağıdakilere benzer çıktı almalısınız:
Tablo IP Inet Tase < chain output-filter-chain < type filter hook output priority 0; policy accept; ip daddr 8.8.8.8 counter packets 0 bytes 0 >zincir giriş filtresi zinciri < type filter hook input priority 0; policy accept; tcp dport 3030 counter packets 0 bytes 0 >>
NFTables’ı çalıştıran makineden, ilk kuralda belirtilen hedef adrese ping.
Ping -C 1 8.8.8.8
Curl 192.0.2.0: 3030
Tablo IP Inet Tase < chain output-filter-chain < type filter hook output priority 0; policy accept; ip daddr 8.8.8.8 counter packets 1 bytes 84 >zincir giriş filtresi zinciri < type filter hook input priority 0; policy accept; tcp dport 3030 counter packets 1 bytes 64 >>
Daha fazla bilgi
Bu konu hakkında ek bilgi için aşağıdaki kaynaklara danışmak isteyebilirsiniz. Bunlar yararlı olmaları umuduyla sağlanırken, harici olarak barındırılan malzemelerin doğruluğu veya zamanında kefil olamayacağımızı lütfen unutmayın.
- nftables
- NFTables Aileleri Adres
- NFTables’da Zincirleri Yapılandırma
Bu sayfa başlangıçta 9 Temmuz 2021 Cuma günü yayınlandı.
Ubuntu’da nftables nasıl kurulur
Bu makalede, bir Linux güvenlik duvarının IPTables’dan Ubuntu’daki NFTables’a nasıl değiştirileceğini öğreneceğiz. Linux Çekirdek Netfilter modülüne dayanan IPTables, şu anda birçok Linux dağıtımının varsayılan güvenlik duvarıdır. Birden fazla tehdit vektörüne karşı korur ve sunucunuzun belirli bir kural setine göre istenmeyen trafiği engellemesini sağlar.
NFTables, Linux çekirdeğinin, NetFilter çerçevesinin birkaç bölümünü değiştiren (IPTables’ın dayandığı) yeni bir alt sistemidir, bu da gelişmiş işlevselliğe izin veren. Bu değişiklikler çekirdek sürüm 3’te uygulandı.13. Bu modül, ağ trafiğini filtrelemek için netFilter’ın güvenlik duvarı benzeri işlevselliğini geliştirir. NFTables’ın gelişmiş çerçevesi, gruplandırılmış, karmaşık filtreleme kuralları oluşturmak için temel bir ifade kümesi kullanan Berkeley Paket Filtresi (BPF) sisteminden sonra modellenmiştir. BT’S’nin iptables için bir güncelleme değil, yerine bir yedek olduğunu belirtmeye değer. IPTables yakında, çoğu tüm sistemde NFTables tarafından tek bir birleşik platform olarak yerini alacak ve bir Terernel sanal makinesinin üstünde güvenlik duvarı yapılandırmasını sağlayacak.
NFTables IPTables’dan nasıl farklıdır?
IPTables’da, varsayılan olarak yüklenen birkaç zincir ve tablo vardır.
NFTables’da varsayılan zincirler veya tablolar yok.
Iptables’da kural başına sadece bir hedef var.
NFTables’da, tek bir kural içinde birden fazla eylem gerçekleştirebilirsiniz.
NFTables’da ipset adlı bir araç var. IPSET kullanma, tek bir kuralda eşleştirilebilen birden çok ağın veya adresin listelenmesine izin verir.
Iptables yapısında, aile başına dört araç vardır:
- iptables
- IP6tables
- arptables
- Ebtables
NFTables, eski IPTables kuralları sözdiziminin kullanılmasına izin veren tüm bu araçları kapsayan bir uyumluluk katmanı içerir.
NFTables’ın faydaları nelerdir?
NFTables’ın ana avantajları:
- Çekirdeğe yerleştirilmiş mimari
- IPTable araçlarını tek bir komut satırı aracında birleştiren bir sözdizimi
- IPTable kuralları sözdiziminin kullanılmasına izin veren bir uyumluluk katmanı.
- Yeni, Öğrenmesi Kolay Sözdizimi.
- Basitleştirilmiş güvenlik duvarı kuralları ekleme süreci.
- Geliştirilmiş hata raporlaması.
- Kod çoğaltmasında azalma.
- Kural filtrelemesinde daha iyi genel performans, elde tutma ve kademeli değişiklikler.
Kural karşılaştırması
.Tüm güvenlik duvarı bilgileri, NFT adlı tek bir komut satırı aracı kullanılarak görüntülenebilir. NFT, her görev için birden fazla kural kullanmak yerine hem IPv4 hem de IPv6 adresleri için tek bir kural kullanır. Güvenlik duvarının arka ucunun tam kontrolünü üstlenmez ve diğer araçlar veya kullanıcılar tarafından yüklenen güvenlik duvarı kurallarını silmez. NFT ayrıca, günlüğe kaydetme seçeneklerini ekleyerek ve aynı kuralda işlevleri reddederek güvenlik duvarı kural kümesini geliştirir. Son olarak, yeni NFT arka uç, önceden var olan güvenlik duvarı yapılandırmalarıyla yaklaşık% 100 uyumludur.
İşte NFTables’daki bir IP için basit bir damla kuralı:
NFT Kural IP Filtre Çıktı IP Daddr 10.10.10.10 Drop
Iptables’da kural:
Iptables -A çıktı -d 10.10.10.10 -J Drop
Aşağıdaki bu örnekler, çeşitli bağlantı noktası hizmetlerine IPv6 trafiğini sağlayan bir güvenlik duvarı kural seti oluşturur.
root@host [~# nft Kural IP6 filtre girişi tcp dport root@host [~]# nft ekle IP6 filtre girişi ICMPV6 Türü < nd-echo-request, nd-router-advert, neighbor-solicit, nd-neighbor-advert >kabul etmek
İşte birkaç örnek:
#Review Geçerli yapılandırma: root@host [~]# nft liste kural seti #Add yeni bir tablo, aile "inet" ve tablo "filtre" ile yeni bir tablo [~]# nft ekle tablo inet filtresi ekle# yeni bir zincir kabul etmek için: root@host [~]# nft ekleme zinciri inet filtre girişi \ < type filter hook input priority 0 \; policy accept \># Yeni bir kural, birkaç tcp bağlantı noktası kabul etmek için: root@host [~]# nft Kural Inet Filtre girişi TCP DPORT \ < ssh, telnet, https, http \># KURALLARI KABUL EDİN: Root@Host [~] # NFT -HANDLE -sayısal Liste Zinciri Aile Tablo Zinciri # Bir Kural Silmin: Kök@Host [~] # Nft Sil Kuralı Inet Filtre Giriş Tutma Tutucu 3 # Geçerli yapılandırmayı kaydetmek için: root@host [~ # nft Liste Kuralları> /etc /nftables.conf
Bu, kullanılan düşme değiştirmelere hızlı bir bakış:
Debian/Ubuntu kurulumu
.NFTables’ı bir Debian/Ubuntu sunucusuna yükleme yöntemi çok basittir. Aşağıdaki bölümde, mevcut IPTable kural setini bir .TXT dosyası, dosyayı gözden geçirdi, NFT okunabilir bir formata çevirdi ve ardından yeni NFT kural setine aktardı.
root@host: ~# iptables-save> fwrules.txt root@host: ~# kedi fwrules.txt root@host: ~# iptables-restore-translate -f fwrules.txt root@host: ~# iptables-restore-translate -f fwrules.TXT> Kural Seti.NFT
Sürecin ikinci bölümünde, NFTables ve iptables-nftables-compat aracı (kuralları nf_tables çekirdek alt sistemine yükleyen) yükleriz ve son olarak hizmeti etkinleştiririz.
root@host: ~# apt yükleme nftables root@host: ~# apt yükleme iptables-nftables-compat root@host: ~# systemctl nftables'ı etkinleştir.hizmet
Son bölümde, önceki kural setini kural setinden çekiyoruz.NFT Dosyası. Daha sonra kural setini ‘liste’ bayrak.
root@host: ~# nft -f kural seti.nft root@host: ~# nft Liste Kural seti Tablo IP Nat < chain PREROUTING < type nat hook prerouting priority 0; policy accept; >zincir girişi < type nat hook input priority 0; policy accept; >zincir çıkışı < type nat hook output priority 0; policy accept; >Zincir Yozlanması < type nat hook postrouting priority 0; policy accept; >> Masa IP Mangle < chain PREROUTING < type filter hook prerouting priority 0; policy accept; >zincir girişi < type filter hook input priority 0; policy accept; >İleri zincir < type filter hook forward priority 0; policy accept; >zincir çıkışı < type filter hook output priority 0; policy accept; >Zincir Yozlanması < type filter hook postrouting priority 0; policy accept; >> Masa IP RAW < chain PREROUTING < type filter hook prerouting priority 0; policy accept; >zincir çıkışı < type filter hook output priority 0; policy accept; >> Tablo IP filtresi < chain INPUT < type filter hook input priority 0; policy accept; >İleri zincir < type filter hook forward priority 0; policy accept; >zincir çıkışı < type filter hook output priority 0; policy accept; >> Tablo Inet Filtresi < chain input < type filter hook input priority 0; policy accept; >İleri zincir < type filter hook forward priority 0; policy accept; >zincir çıkışı < type filter hook output priority 0; policy accept; >> root@host: ~#
NFT komutu özeti
#nft komut seçenekleri ve sözdizimi root@host [~]# nft [-nnscAesupyj] [-i dizin] [-f dosya adı | -i | cmd…] root@host [~]# nft -h kullanımı: nft [seçenekler] [cmds. ] Seçenekler: -h, --help Bu yardımı göster -v, --version show sürüm bilgilerini göster -c, -değişiklikleri gerçekten uygulamadan komutları kontrol edin geçerliliği kontrol edin. -F, -I, -i, -interteraktif okuma girişi interaktif CLI -n, -sayısal olarak belirtildiğinde, bir kez belirtildiğinde, ağ adreslerini sayısal olarak gösterin (varsayılan davranış). İnternet hizmetlerini (bağlantı noktası numaralarını) sayısal olarak göstermek için iki kez belirtin. Protokolleri, kullanıcı kimliklerini ve grup kimliklerini sayısal olarak göstermek için üç kez belirtin. -S, -Durum Kılavuz Setinin Durumsal Bilgilerini Atla. -N IP adreslerini isimlere çevirin. -A, -Çıktı Kural Kulp. -e, --cho echo eklenen, eklenen veya değiştirilen şey. -I, -Includepath Arayan yollara ekleyin Dosyalar ekleyin. Varsayılan: /etc - -debug hata ayıklama seviyesini belirleyin (tarayıcı, ayrıştırıcı, değer, netlink, mnl, proto -cctx, segtree, all) root@host [~]# nft -v nftables v0.8.2 (Joe btfsplk)
Firewalld ve nftables
Peki ya firewalld? Neyse ki, Firewalld, NFT komutunun kendisi aracılığıyla NFTables ile kolayca etkileşime girer. Aşağıdaki Firewalld resminde, iPtables ve Firewalld’ın şu anda birbirleriyle nasıl etkileşime girdiğini görüyoruz.
Iptables ve Firewalld ile ilgili erken bir sorun, Firewalld’ın sunucudaki güvenlik duvarının tam kontrolünü üstlenmesiydi. Şimdi, NFTables’ı arka uç olarak kullanırken, NFTables birden fazla ad alanına izin vereceğinden, bu artık doğru değil ve Firewalld kuralları, setleri ve zincirleri Firewalld tablosuna kapsamınacak. Bu, doğrudan firewalld ile doğrudan etkileşime girmeyen diğer yazılımlarla karşılaşılabilecek birçok çatışmayı önler. Yaklaşan sürümlerde, NFTables yeni libnftables kullanacak şekilde güncellenecek.
Eski haline getirmek
Herhangi bir nedenle, eski iptables arka ucuna geri dönmeniz gerekiyorsa, bunu sıfırlayarak kolayca yapabilirsiniz ‘firewallbackend‘ giriş /etc/firewalld/firewalld.conf geri dönmek ‘iptables‘, Ve sonra firewalld’ı yeniden başlatın.
Bu yeni hizmetin sunucunuz için genel güvenlik planınıza nasıl uyabileceğini öğrenin. Bunu Ubuntu sunucunuza nasıl uygulayacağınızdan veya ek sorularınız hakkında hala emin değilim? Destek teknisyenlerimiz, bunları ve bu teknoloji hakkında sahip olabileceğiniz diğer soruları cevaplamada yardımımızı sunmak için uğraşıyorlar.
İlgili Makaleler:
- Nasıl düzeltilir “Bu site olabilir’t Güvenli bir bağlantı sağlayın” Hata
- Almalinux’a MongoDB nasıl yüklenir
- Almalinux’a Postgresql nasıl yüklenir
- WordPress’i güvence altına almak ve güncellemek için WP araç setini nasıl kullanılır
- Almalinux’a Ansible nasıl kurulur ve yapılandırılır
- CPanel’de bir Easyapache 4 konteynerinin içine Redis nasıl kurulur
Yazar Hakkında: David Singer
Ben bir G33K, Linux blog yazarı, geliştirici, öğrenci ve Liquidweb için eski teknoloji yazarıyım.com. Tech’in her şeye olan tutkum tüm Coolz için avımı yönlendiriyor. Tatilden döndükten sonra sık sık tatile ihtiyacım var.
İşletmenizi büyütmek için ihtiyacınız olan haberler, ipuçları, stratejiler ve ilham almak için posta listemize katılın
Ne’Ubuntu 22 için güvenlik alanında yeni.04 LTS?
Kanonik Ubuntu 22.04 LTS, dünyadan biri olan Ubuntu’nun en son uzun vadeli destek sürümüdür’en popüler linux dağıtımları. Uzun vadeli bir destek sürümü olarak Ubuntu 22.04 LTS 10 yıl boyunca desteklenecek ve hem genişletilmiş güvenlik güncellemeleri hem de bir Ubuntu avantajı aboneliği (kişisel kullanım için ücretsizdir) aracılığıyla çekirdeğer canlı olarak alınacaktır. Bu, Linux uygulamalarını ve hizmetlerini hem geliştirmek ve dağıtmak için en güvenli temel olarak hizmet veren Ubuntu LTS sürümlerinin ölçütünü devam ettirir. Bu blog yazısında, Ubuntu 20’den bu yana bu yeni sürüme giren çeşitli güvenlik özelliklerine ve geliştirmelere bir göz atıyoruz.04 LTS Sürümü. Bu özelliklerin bazılarının daha ayrıntılı bir incelemesi için, son 2 yıl içinde Ubuntu’nun her geçici sürümünde sağlanan iyileştirmeleri kapsayan bu serideki önceki makalelere göz atmayı unutmayın.04 LTS ve 22.04 LTS.
Optimize edilmiş Linux çekirdekleri
Ubuntu 22.04 LTS, farklı platformlar için optimize edilmiş çekirdek sürümleri sunar. OEM sertifikalı masaüstü cihazlar için, Upstream V5.17 Çekirdek taban çizgisi olarak kullanılırken, diğer tüm masaüstü ve sunucu platformları V5’e dayanmaktadır.15 Çekirdek. V5’ten bu yana çok sayıda değişiklik ve güvenlik artışı Linux çekirdeğine girdi.4 çekirdek ubuntu 20.04 LTS,:
Donanıma özgü güvenlik geliştirmeleri
İntel’S Yazılım Koruma Uzantıları (SGX), uygulamaların güvenilir verileri depolamak veya güvenilmeyen bileşenlerden gelen parazit riski olmadan hassas hesaplama yapmak için kullanabileceği donanım destekli güvenli çevreler sağlar. Ubuntu 22.04 LTS, birkaç yıldır Intel işlemcilerde bulunan bu özellik için destek sağlar. ARM platformları için Armv8 desteği.5 Bellek etiketleme uzantısı artık ARM64 cihazlarında mevcut. Bu özellik, bellek adreslerini kolayca dövülemeyen bir anahtarla etiketleyerek bellek güvenliği sorunlarını önlemeyi ve böylece arabellek taşmaları gibi ortak bellek güvenliği saldırılarını önlemeyi amaçlamaktadır. Kullanıcı alanı süreçleri artık bellek yolsuzluk saldırılarının önlenmesine yardımcı olmak için seçilen bellek bölgelerinin bellek etiketlemesini etkinleştirebilir. Son olarak, konuk sanal makine kayıtlarına ana bilgisayar işletim sistemi tarafından erişilmesini önlemek için AMD güvenli şifreli sanallaştırma (SEV) de KVM sanallaştırma alt sistemi tarafından desteklenmektedir.
Genel Çekirdek Güvenlik Geliştirmeleri
Çekirdek çizelgeleme gibi yeni güvenlik özellikleri ve çeşitli sertleştirme iyileştirmeleri de dahil olmak üzere, diğer jenerik, platformdan bağımsız, çekirdek güvenlik özellikleri de mevcuttur. Mikro mimari yan kanal güvenlik açıklarının ilk örneklerinden beri (yani. Spectre vb.) İlk olarak 4 yıl önce keşfedildi, geliştiriciler simetrik çok işlem (SMT) çekirdeklerinde nasıl planlandıklarını kontrol etmek için süreçler için bir araç üzerinde çalışıyorlar. SMT kardeşler kendi aralarında CPU donanım kaynaklarını paylaşıyor ve bu nedenle sonuç olarak çeşitli donanım yan kanal saldırılarından kaçınmak oldukça zor olabilir. SMT kardeşler arasında hangi iş parçacıklarının planlanacağını kontrol etmesini sağlayan ve bu nedenle hassas bilgileri sistemdeki diğer güvenilmeyen süreçlere karşı korumalarına izin verebilir.
Çekirdek yığını randomizasyonu, çekirdek içinde hafıza yolsuzluk saldırıları yapmak isteyen saldırganları hayal kırıklığına uğratmak için sertleştirici bir önlem sağlar. Çekirdek yığınını sonraki sistem çağrılarında farklı bir ofsete yerleştirerek, saldırganlar önce bir çekirdek yığın adresini sızdırarak ve daha sonra bu belleğin daha sonraki bir sistem çağrısında üzerine yazarak saldırılar gerçekleştiremezler. Bu potansiyel saldırı vektörü Ubuntu 22’yi kapatarak.04 LTS, çekirdek saldırılarına karşı daha savunmacı bir platform sağlar.
BPF alt sistemi ayrıca, kullanımını yalnızca ayrıcalıklı süreçlerle sınırlamak ve imzalı BPF programlarını desteklemek için ilk çabaları da dahil etmek de dahil olmak üzere bir dizi güvenlik geliştirme gördü. Bu önlemlerin her ikisi de, bu özellikli alt sistemin çekirdeğe saldırmak için kullanılma şansını en aza indirmeye yardımcı olurken, yine de geliştiriciler ve sistem yöneticileri tarafından gerektiği gibi kullanılmasına izin verir.
Son olarak, yeni Landlock Linux Güvenlik Modülünün dahil edilmesi, uygulama sanal alanının Apparmor veya Selinux aracılığıyla daha geleneksel yöntemlerle birlikte gitmesi için başka bir mekanizma sağlar. Landlock, sistem yöneticisinin bir dizi uygulamada küresel sistem politikalarını yapılandırmasına izin vermek için tasarlanmış Apparmor ve Selinux’un aksine, uygulamaların kendi politikalarını belirtmelerine izin verir (ve bu nedenle SECComp filtrelerine daha da benzer). LSM istifleme ile birleştirildiğinde, Landlock, uygulama izolasyonuna derinlemesine bir yaklaşım sağlamak için Apparmor ile birlikte kullanılabilir.
Kullanıcı alanı güvenlik geliştirmeleri
Her yeni Ubuntu sürümü ile, Ubuntu arşivinde sağlanan yazılım paketlerinin en son yukarı akış sürümlerine göre yenilenme fırsatı var. Ubuntu 22.04 LTS, OpenSSL, OpenSSH, NFTables, GCC ve hatta Humble Bash Shell dahil olmak üzere bir dizi güvenlik ile ilgili pakete güncellemeler getiren bir istisna değildir.
Openssl 3
Ubuntu 22.04 LTS Gemiler Saygıde. OpenSSL 3’te, birçok eski algoritma varsayılan olarak kullanımdan kaldırıldı ve devre dışı bırakıldı – MD2 ve DES dahil. Bu ve diğer kullanımdan kaldırılan diğer algoritmalar, bir yapılandırma değişikliği veya programlı olarak gerektiğinde etkinleştirilebilen eski sağlayıcıda mevcuttur. Bunları varsayılan olarak devre dışı bırakarak, kullanıcılar ve uygulamalar bu daha az güvenli algoritmalara karşı şifreleme saldırılarına karşı korunur.
Fido/U2F tokenleri için openssh ux iyileştirmeleri
Linux güvenlik ekosisteminin bir başka dayanak noktası, Linux sistemlerine güvenli uzaktan kabuk erişimi sağlayan OpenSSH’dir. Sürüm 8’den beri yedi openssh sürümü meydana geldi.2 önceki ubuntu 20’ye dahil edildi.04 LTS sürümü, sistem yöneticileri, geliştiriciler ve kullanıcılar için bir dizi iyileştirme getiren. Özellikle, OpenSsh 8’de U2F/FIDO donanım güvenlik belirteçlerinin kullanımı büyük ölçüde geliştirildi.9, uzaktan erişim için bu ikinci faktörlü kimlik doğrulama cihazlarını kullanırken önemli kullanıcı deneyimi avantajları getirmek.
Varsayılan güvenlik duvarı arka uç olarak nftables
Linux’ta güvenlik duvarı iki bileşenden oluşur – Linux çekirdeğindeki güvenlik duvarı mekanizması ve bunu Userspace’den yapılandırmak için kullanılan araçlar. Linux çekirdeği, güvenlik duvarı politikaları için geleneksel olarak iki farklı alt sistem desteklemiştir – IPTables / XTables ve yeni NFTables. NFTables, özellikle çift yığın IPv4/IPv6 sistemleri için güvenlik duvarı kuralları oluştururken ve dağıtarken hem performans hem de esneklik açısından önemli faydalar sağlar. Geleneksel iptables Userspace yönetim aracı artık nftables Çekirdek arka uç, yeni NFT Geleneksel tarafından desteklenmeyen daha esnek kuralların oluşturulmasına izin vermek için kullanıcı alanı aracı da mevcuttur iptables paradigma.
GCC 11 ve Bash 5.1
GCC 11.2, geliştiricilerin geliştirme döngüsü sırasında potansiyel yazılım güvenlik açıklarını ve diğer sorunları tespit etmesine ve düzeltmelerine olanak tanıyan gelişmiş statik analiz yetenekleri getirir. Bu, olası kullanımdan sonraki, null işaretçisi derimini, bellek sızıntısını ve sinyal işleyici koşullarından güvenli olmayan çağrıları tespit etme desteğini içerir. Ubuntu 22’yi kullanarak.04 LTS Geliştirme platformlarının temeli olarak, yazılım geliştiricileri yazdıkları kodun mümkün olduğunca doğru ve kusurlu olmasını sağlamaya yardımcı olabilir.
Geliştiriciler ve Sistem Administerleri, Bash 5’in dahil edilmesinden de faydalanacak.1. Saygıdeğer kabuğun bu sürümü, $ srandom değişkeni aracılığıyla gelişmiş sahte rastgele sayı üretimi için yerel destek içerir. Tarihsel $ rastgele değişkenin aksine, $ srandom çekirdekten türetilmiştir’S /dev /urrandom güvenli rastgele kaynak cihazı, çıktısının potansiyel saldırganlar tarafından kolayca tahmin edilememesini sağlar.
Özel ev dizinleri
Geleneksel olarak Ubuntu sistemleri, kullanıcıya paylaşılan erişimin rahatlığını seçti’s Ev dizinleri, üniversite ve ev ortamlarında paylaşılan PC’ler gibi kullanım durumlarını destekleyen. Bununla birlikte, teknoloji manzarası geliştikçe ve Ubuntu, bulut bilişim ve Nesnelerin İnterneti (IoT) gibi diğer alanlarda baskın hale geldikçe, kullanıcıları ve verilerini korumak için daha savunmacı bir yaklaşım olarak kabul edilmektedir. Ubuntu 22.04 LTS artık varsayılan olarak özel ev dizinlerini mümkün kılar ve bir kullanıcı verisinin açık izni olmadan başkaları tarafından erişilememesini sağlar.
Toplamda, Ubuntu 22’de güvenlik iyileştirmeleri aralığı.04 LTS, Ubuntu’nun temel bir parçası olan diğer çeşitli sertleştirme ve güvenlik özelliklerinden yararlanarak ve inşa ederek bugüne kadarki en güvenli Ubuntu sürümü yapar. Ayrıca, güvenlik güncellemeleri ve 22 için çekirdek canlıpatching.04 LTS, bir Ubuntu Avantaj Aboneliği aracılığıyla on yıl boyunca sağlanır ve Ubuntu LTS sürümlerinin ölçütüne devam eder, Linux uygulamalarını ve hizmetlerini hem geliştirmek hem de dağıtmak için en güvenli temel olarak hizmet vermektedir.
Bugün bizimle konuşun
Kuruluşunuzda Ubuntu çalıştırmakla ilgilenmek?
NFTables Güvenlik Duvarı Ayarlama
Tarafından: Jeroen van Kessel | 1 Haziran 2020 | 10 dk okuma
NFTables (NetFilter), tabloları yeni bir çekirdek tabanlı Linux güvenlik duvarı olarak birleştirir. Çoğu Linux dağıtımının varsayılan güvenlik duvarı çerçevesi olarak IPTables’tan NFTables’a kayması. NFTables artık Debian 10, Ubuntu 20’de varsayılan.04, Rhel 8, Suse 15 ve Fedora 32. Göç etme zamanı!
Bu blog yazısı, resim 1’de mecazi olarak görselleştirilen bir çevre modeline göre NFTables’ın nasıl kurulacağına dair ayrıntılı bilgi vermektedir. Çevre tabanlı bir yaklaşımın boşluklarını doldurmak istiyorsanız, sıfır tröst ağ modeline bakın. Ayrıca, ağınızın kenarında sağlam bir güvenlik duvarı çözümüne ihtiyacınız varsa PF’ye göz atın.
Resim 1: Fort Bourtange, Hollanda (Fotoğraf Elise Van Heck)
Nftables ile başlamak
Önce nftables yükliyoruz:
$ sudo apt -get install nftables -y
$ nft -v nftables v0.9.3 (Topsy)
Sonra bagajda NFTables’ı etkinleştiririz ve arka planı başlatırız:
$ sudo systemctl etkinleştir NFTables $ sudo systemctl start nftables $ sudo systemctl durumu nftables nftables.Servis - nftables yüklendi: yüklendi (/lib/systemd/system/nftables.hizmet; engelli; Satıcı Ön Ayar: Etkin) Etkin: Aktif (çıkışlı); 1s önce Dokümanlar: Man: NFT (8) http: // wiki.nftables.Org Süreci: 16565 Execstart =/usr/sbin/nft -f/etc/nftables.Conf (kod = çıkış, durum = 0/başarı) Ana PID: 16565 (kod = çıkış, durum = 0/başarı)
Nftables nasıl çalışır
NFTables özünde, ağ veri akışlarını kontrol etmenizi sağlayan Ağ Erişim Kontrol Listesi (ACL) olarak da adlandırılan bir ağ filtresidir. Bu ağ filtreleri hiyerarşik ve sıraya bağlı. Şekil 1, NFTables’ın TCP/IP modeline göre nasıl işlev gördüğünü göstermektedir:
Şekil 1: NFTables TCP/IP modeli
TCP/IP modelinde alttan başlayalım. Veri bağlantısı, gelen VNIC (IIFName) ve yaklaşan VNIC’e (OIFNAME) göre belirli (sanal) NIC’ler (ağ arayüz kartları) için trafiği düzene aktarabileceğiniz noktadır. Bu şekilde veri trafiğini bölümlere ayırabilirsiniz (e.G. Https) yönetim trafiğinden (e.G. SSH veya VNC).
Veri bağlantısında, bir IP adresini bir MAC adresine çözmek için ARP (Adres Çözünürlük Protokolü) protokolü kullanılır. İlk ARP yayını sırasında, kötü niyetli bir varlık, MAC adresini talep edilen ana bilgisayar IP adresinin IP adresi ile ilişkilendirmeye çalışabilir ve bunun yerine bu IP adresinin saldırganın ana bilgisayarına gönderilmesine neden olabilir. ARP filtresi bölümünde ARP trafiğini kontrol edebilirsiniz (1).
Sırada IP filtresi ve IP6 filtreli TCP/IP internet çalışması ve taşıma katmanı (2). Bu filtreler, ağ trafiğini ana bilgisayar IP’mizden (SADDR) ağ segmentlerine veya başka bir ana bilgisayar (DADDR) olarak şekillendirmemize yardımcı olur. NFTables, paketleri ağ protokolü, hedef bağlantı noktası (DPORT), kaynak bağlantı noktası (Sport) ve oturum durumu (CT durumu) temelinde filtreleyebilir. Küçük Not – ICMP protokolü aslında IP protokolünün bir parçasıdır ve bu nedenle teknik olarak internet çalışması katmanında çalışır. İdeal olarak, IP ve IP6 tablolarınız, açıkça izin verilmedikçe herhangi bir ağ trafiğini (düşme) engellemelidir (kabul edin).
NFTables, Native Katman 7 (L7) Uygulama Güvenlik Duvarı (3) değil bir ağ filtresidir. Ağ bağlantı noktaları genellikle uygulama ağ kontrolleri ile karıştırılır. Kötü niyetli bir aktörün TCP bağlantı noktası 443 (HTTPS) veya UDP bağlantı noktası 53 (DNS) üzerinden ters bir kabuk tünel atabileceğini unutmayın. Uygulama (L7) Filtreleme, HTTPS trafiği için bir Web Proxy’den yararlanarak bu boşlukları ve ICMP üzerinden bile diğer ağ protokolleri üzerinden kötü niyetli tünelli trafiği düşürmek için saldırı önleme sistemleri (IPS) doldurabilir. DPI (derin paket denetimi) buradaki anahtar kelime.
Nftables nasıl yapılandırılır
/Etc /nftables’ı doğrudan düzenleyeceğiz.NFT CLI (NFT ADD) ve (NFT DELETE) kullanmak yerine conf yapılandırma dosyası. Bu yapılandırma dosyası varsayılan olarak önyükleme üzerine yüklenir. 1024’ün altındaki bağlantı noktalarına güvenlik duvarı filtrelerini ayarlamak için kök (sudo) olmalısınız.
$ sudo cp /etc /nftables.Conf /etc /nftables.conf.Bak $ sudo vi /etc /nftables.conf
İlk olarak kural setimizde daha sonra kullanabileceğimiz değişkenleri tanımlarız:
NIC_NAME = "ETH0" DEFINE NIC_MAC_GW = "DE: AD: BE: EF: 01: 01" DEFINE NIC_IP = "192.168.1.12 "Local_inetw = tanımla = < 192.168.0.0/16 >Local_inetwv6 = < fe80::/10 >DNS_SERVERS = < 1.1.1.1, 8.8.8.8 >ntp_servers = tanımla < time1.google.com, time2.google.com, time3.google.com, time4.google.com >DHCP_SERVER = "192'yi tanımla.168.1.1 "
NFTables, ağ protokol adlarını otomatik olarak bağlantı noktası numaralarıyla eşleştirir (e.G. Https <> 443). Örneğimizde, yalnızca geçici bağlantı noktalarından (DPORT 32768-65535) başlattığımız (CT Eyaleti kabul edildiğimiz) gelen oturumlara izin veriyoruz. Bir uygulamanın veya web sunucusunun yeni başlatılan oturumlara izin vermesi gerektiğini unutmayın (CT State New).
Tablo IP filtresi < 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 DEVLET KABUL IIFNAME $ NIC_NAME IP SADDR $ NTP_SERVERS IP DADDR $ NIC_IP UDP Sport NTP DPORT 32768-65535 CT Eyalet 32768-65535 CT Eyalet Yerleşik Iifname $ NIC_NAME IP SADP UDP UDP UDP UDP UDP UDP UDP DHCP_SERVER IP DAD İP Saddd $ DHCP_SERVER IP DAD İP SADDC $ DHCP_SERVER IP DAD İP Saddr $ Dhcp_ser IP IP Saddr $ DHCP_SERVER IP DAD SADYS DONUN 5535 CT Durumu Yerleşik Günlük Kabul IIFNAME $ NIC_NAME IP SADDR $ DNS_SERVERS IP DADDR $ NIC_IP UDP Spor Alanı UDP DPORT 32768-65535 CT DEVLETİ KABUL IIFNAME NIC_NAME IP IP SADDR $ Local_inetw Ip IP DADDRE $ NIC_IP ICMP Tip Türü Kabul Edin < 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; >>
Bir sonraki kod bloğu, ping istekleri (ICMPV6 tipi yankı) ve IPv6 ağ keşfi (ND-Router-ADVERT, ND-Neighbor-Solicit, ND-Neighbor-Advert) hariç, gelen ve giden IPv6 trafiğini engellemek için kullanılır. VNICS genellikle IPv6 adresleriyle otomatik olarak sağlanır ve el değmemiş kalır. Bu arayüzler, gizli verileri veya hatta bir kabuğu tünel yapmak için kötü niyetli varlıklar tarafından istismar edilebilir.
Tablo IP6 Filtresi < 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 >CT Durumu Yerleşik Kabul> Zincir Çıktısı < 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 >İleri zincir < type filter hook forward priority 0; policy drop; >>
Son kod bloğu, ARP yayın ağı çerçevelerini sınırlayan ARP trafiği için kullanılır:
Masa ARP Filtresi < chain input < type filter hook input priority 0; policy accept; iif $NIC_NAME limit rate 1/second burst 2 packets accept >zincir çıkışı < type filter hook output priority 0; policy accept; >>
$ sudo systemctl yeniden başlatma nftables && systemctl durumu nftables && nft liste kural seti
Husus
Portlarınızın gerçekten açık veya kapalı olduğunu test ettiğinizden emin olun. Bunun için NC, Telnet veya TCPDUMP kullanabilirsiniz.
NFTables/var/log/syslog’da işlemleri günlüğe kaydedebilir . Ağınız hakkında daha iyi bir kavram elde etmek için günlükleri en sevdiğiniz SIEM çözümüne yönlendirmek için RSYSLOG’dan yararlanmalısınız.
Doğru iskeletle, NFTables, DevOps mühendislerinin mikro segmentasyon güvenlik duvarı uygulamasını kolaylaştırır. DevOps Mühendisleri, Ansible gibi bir yapılandırma yönetimi aracı kullanarak Linux tabanlı ana bilgisayarlara modüler güvenlik duvarı kurallarını sağlayabilir. Bu güvenlik duvarı kural setleri daha sonra VM veya kapsayıcının temel işlevine göre itilir ve yüklenir. Örneğin, veritabanı sunucuları yalnızca sınırlı bir web sunucuları alt kümesiyle konuşmalıdır. Ev sahibi düzeyde güvenlik duvarı kurallarını sağlama yolu, kötü niyetli bir aktör tarafından yanal hareket için saldırı yüzeyini azaltmalıdır.
Bu blog yazısı sadece NFTables’ın temel güvenlik duvarı özelliklerine değindi. Daha fazla güvenlik duvarı teknikleri için nftables wiki sayfasına göz atın. Bir güvenlik duvarı çözümünün başka bir şekilde değiştirilmediğini unutmayın. Ayrıca sıfır tröst ağ alan adınız yoksa bir kenar güvenlik duvarına da bakın.
Tartışma ve Sorular
Telif Hakkı 2019 – 2023 Cryptsus. Her hakkı saklıdır.
Kod, daha açık bir dünya inşa etmeyi önemsediğimiz için yeni Berkeley Yazılım Dağıtım (BSD) lisansı altında.