Linux güvenliği için iptables güvenlik duvarı nasıl yapılandırılır

Linux en güvenilir ve güvenli işletim sistemlerinden biri olmasına rağmen, özellikleri sayesinde, ister sistemin doğasında olsun, isterse kullanıcı tarafından istemeden olsun, her zaman bir tür güvenlik açığı olacaktır. Linux güvenliğini artırmak için hizmetleri, süreçleri, profilleri veya dosyaları korumak için tasarlanmış çeşitli araçlarımız var ve bugün Iptables adlı özel bir araç üzerinde odaklanacağız.

Iptables nedir?Iptables, netfilter adlı bir projenin parçası olan Linux çekirdeğine entegre edilmiş gelişmiş bir güvenlik duvarı aracıdır.

Iptables sayesinde sunucuya gelen ve giden tüm bağlantıları doğru ve doğrudan yönetebileceğiz. Iptables, IPv4 adresleme için geliştirilmiştir, IPv6 için ise Ip6tables vardır.

1. Linux'ta iptables yapısı


Iptables'da bulduğumuz yapı şudur:

ÇiğDiğer mevcut tablolardan önce paketleri filtrelemekten sorumludur.

FiltreBu, uygulamanın varsayılan tablosudur

NatAğ adresi çevirisi için kullanılır

MangrovÖzel ağ paketlerinin değiştirilmesi için kullanılır.

GüvenlikZorunlu Erişim Kontrolü ağ bağlantı kuralları için uygulanabilir

2. Linux'ta Iptables'da komut yapısı


Iptables'da her kural, ağ paket trafiğinin nasıl ele alınması gerektiğini gösteren bir komuttur.
Aşağıdaki yapıyı kullanabiliriz:
 -A GİRDİ -i eth0 -p tcp -m durumu - KURULDU, İLGİLİ --sport 80 -j KABUL
Kullanılan parametreler şunlardır:
  • -A: Kuralların Iptables'a ekleneceğini belirtir
  • -i: Kuralın uygulanacağı arayüzü belirtir.
  • -p: Kuralın uygulanacağı protokolü ifade eder.
  • -m: Kuralın uygulanabilmesi için yerine getirilmesi gereken bir koşul olduğunu ifade eder.
  • --state: Yeni bağlantıların kabulüne izin ver
  • --sport: Kaynak bağlantı noktasını gösterir
  • -j: (Atlama), verilen koşulları karşılayan tüm trafiği kabul edebileceklerini belirtir.

3. Linux'ta Iptables Kullanarak Kural Oluşturma


Kuralları manuel olarak ekleyebilmemize rağmen, bir kural dosyası oluşturup daha sonra içe aktarmak çok daha pratiktir. Bu durumda dosyayı / tmp / iptables-ip4 yolunda oluşturacağız ve ilgili ayarlaması için bir düzenleyici kullanabiliriz:
 sudo nano / tmp / iptables-ip4
Sözdizimi aşağıdaki gibi olacaktır:
 * filtre # COMMIT eklemek için kurallar
Şimdi söz konusu dosya içerisinde aşağıdaki kuralları oluşturacağız:

Loopback = Linux'un harici arayüzüdür

 -A GİRDİ -i lo -j KABUL -A ÇIKIŞ -o lo -j KABUL

Ping = Ağ bağlantılarını kontrol etmemizi sağlar

 -A GİRDİ -i eth0 -p icmp -m durum --durum YENİ --icmp-type 8 -j KABUL -A GİRDİ -i eth0 -p icmp -m durum --durum KURULDU, İLGİLİ -j KABUL -A ÇIKIŞ - o eth0 -p icmp -j KABUL

Web = Bu kurallar aracılığıyla gelen ve giden trafiği kontrol ediyoruz.

 -A GİRDİ -i eth0 -p tcp -m durum --durum KURULMUŞ, İLGİLİ --sport 80 -j KABUL -A GİRDİ -i eth0 -p tcp -m durum --durum KURULMUŞ, İLGİLİ --sport 443 -j KABUL ET -A ÇIKIŞ -o eth0 -p tcp -m tcp --dport 80 -j KABUL -A ÇIKIŞ -o eth0 -p tcp -m tcp --dport 443 -j KABUL

DNS eklenmesi durumunda aşağıdaki satırları kullanacağız:

 -A GİRİŞ -i ens3 -s 192.168.0.1 -p udp --sport 53 -m durum --durum KURULU, İLGİLİ -j KABUL -A ÇIKIŞ -o ens3 -d 192.168.0.1 -p udp --dport 53 -m udp -j KABUL

Not:Burada IP'yi gerektiği gibi değiştirmeliyiz

Zaman = Bu kurallar, doğru zaman senkronizasyonu için NTP'ye bağlantıya izin verir

 -A GİRDİ -i eth0 -p udp -m durum --durum KURULU, İLGİLİ --dport 123 -j KABUL -A ÇIKIŞ -o eth0 -p udp -m udp --sport 123 -j KABUL

Yazdırma = Yazıcıların bağlanması için USB bağlantı noktalarının etkinleştirilmesine izin verir

 -A GİRDİ -p udp -m udp --dport 631 -j KABUL -A GİRDİ -p tcp -m tcp --dport 631 -j KABUL -A ÇIKIŞ -p udp -m udp --sport 631 -j KABUL -A ÇIKTI -p tcp -m tcp --sport 631 -j KABUL

E-posta = Çeşitli e-posta protokollerini etkinleştirebiliriz

 # IMAP -A GİRDİ -i eth0 -p tcp -m durum --durum KURULU, İLGİLİ --sport 993 -j KABUL -A ÇIKIŞ -o eth0 -p tcp -m tcp --dport 993 -j KABUL
 # POP3 -A GİRDİ -i eth0 -p tcp -m durum --durum KURULU, İLGİLİ --sport 995 -j KABUL -A ÇIKIŞ -o eth0 -p tcp -m tcp --dport 995 -j KABUL
 # SMTP -A GİRDİ -i eth0 -p tcp -m durum --durum KURULU, İLGİLİ --sport 465 -j KABUL -A ÇIKIŞ -o eth0 -p tcp -m tcp --dport 465 -j KABUL

SSH = SSH protokolünü kullanarak bilgisayara güvenli bağlantıları etkinleştirin

 # Giriş -A GİRİŞ -i ens3 -p tcp -m durum --durum YENİ, KURULDU --dport 22 -j KABUL -A ÇIKIŞ -o ens3 -p tcp -m durum --durum KURULDU --sport 22 -j KABUL
 # Çıkış -A ÇIKIŞ -o ens3 -p tcp -m durum --durum YENİ, KURULDU --dport 22 -j KABUL -A GİRDİ -i ens3 -p tcp -m durum --durum KURULDU --sport 22 -j KABUL

DHCP: DHCP üzerinden IP adreslemeye yetki vermek için kurallar oluşturabiliriz

 -A GİRDİ -i eth0 -p udp -m durum --durum KURULU, İLGİLİ --sport 67:68 -j KABUL -A ÇIKIŞ -o eth0 -p udp -m udp --dport 67:68 -j KABUL

Tüm bağlantıları reddet: Yukarıdakilerin tümünü devre dışı bırakmak için aşağıdaki satırları ekleyebiliriz:

 -A GİRDİ -j REDDET -İLERİ -j REDDET -A ÇIKTI -j REDDET

Tüm bu satırlar belirtilen dosyaya eklenecektir:

BÜYÜT

Değişiklikleri kaydediyoruz

Ctrl + O

Editörü kullanarak bırakıyoruz

Ctrl + X

4. Iptables Linux kullanarak kuralları içe aktarma


Dosya düzenlendikten sonra, aşağıdaki komutu uygulayarak bu kuralları Iptable'a aktarabiliriz:
 sudo iptables -F && sudo iptables -X
Sudo iptables -S komutunu kullanarak kuralların durumunu görebiliriz:

BÜYÜT

Tüm kuralları geri yüklemek istediğimizde aşağıdaki satırı uygulayacağız:

 sudo iptables-restore </ tmp / itpables-ip4
Bu kuralların kalıcı olmasını istiyorsak aşağıdakileri uygulayacağız:
 sudo apt iptables kurulumu kalıcı
Bu şekilde Iptables, Linux ortamlarında güvenlik duvarını yapılandırırken en iyi müttefikimizdir.

wave wave wave wave wave