Linux'ta Shorewall Güvenlik Duvarı Yapılandırması Nasıl Keşfedilir?


Bir önceki yazımda Shorewall kurulumunu, konfigürasyon dosyası kurulumunu ve NAT üzerinden port yönlendirme konfigürasyonunu öğrenmiştik. Bu makalede Shorewall ile ilgili yaygın hataları inceleyeceğiz, çözümler sunacağız ve komut satırı seçeneklerini tanıtacağız.

Shorewall, komut satırında çalıştırılabilecek çok çeşitli komutlar sunar. Man shorewall'a bir göz atmak size görecek çok şey verecektir, ancak gerçekleştireceğimiz ilk görev, yapılandırma dosyalarımızı kontrol etmektir.

sudo shorewall check

Shorewall, tüm yapılandırma dosyalarınızın ve bunların içindeki seçeneklerin bir kontrolünün çıktısını alacaktır.

Çıktı buna benzer bir şeye benzeyecek.

Determining Hosts in Zones...
Locating Actions Files...
Checking /usr/share/shorewall/action.Drop for chain Drop...
Checking /usr/share/shorewall/action.Broadcast for chain Broadcast...
Checking /usr/shrae/shorewall/action.Invalid for chain Invalid...
Checking /usr/share/shorewall/action.NotSyn for chain NotSyn..
Checking /usr/share/shorewall/action.Reject for chain Reject...
Checking /etc/shorewall/policy...
Adding Anti-smurf Rules
Adding rules for DHCP
Checking TCP Flags filtering...
Checking Kernel Route Filtering...
Checking Martian Logging...
Checking Accept Source Routing...
Checking MAC Filtration -- Phase 1...
Checking /etc/shorewall/rules...
Checking /usr/share/shorewall/action.Invalid for chain %Invalid...
Checking MAC Filtration -- Phase 2...
Applying Policies...
Checking /etc/shorewall/routestopped...
Shorewall configuration verified

Aradığımız sihirli satır altta yazan satırdır: "Shorewall yapılandırması doğrulandı". Herhangi bir hata alırsanız, bunlar büyük olasılıkla çekirdek yapılandırmanızdaki eksik modüllerden kaynaklanmaktadır.

Size en yaygın iki hatayı nasıl çözeceğinizi göstereceğim, ancak makinenizi güvenlik duvarı olarak kullanmayı planlıyorsanız çekirdeğinizi gerekli tüm modüllerle yeniden derlemeniz gerekir.

İlk ve en yaygın hata NAT ile ilgili hatadır.

Processing /etc/shorewall/shorewall.conf...
Loading Modules...
Checking /etc/shorewall/zones...
Checking /etc/shorewall/interfaces...
Determining Hosts in Zones...
Locating Actions Files...
Checking /usr/share/shorewall/action.Drop for chain Drop...
Checking /usr/share/shorewall/action.Broadcast for chain Broadcast...
Checking /usr/shrae/shorewall/action.Invalid for chain Invalid...
Checking /usr/share/shorewall/action.NotSyn for chain NotSyn..
Checking /usr/share/shorewall/action.Reject for chain Reject...
Checking /etc/shorewall/policy...
Adding Anti-smurf Rules
Adding rules for DHCP
Checking TCP Flags filtering...
Checking Kernel Route Filtering...
Checking Martian Logging...
Checking Accept Source Routing...
Checking /etc/shorewall/masq...
    ERROR: a non-empty masq file requires NAT in your kernel and iptables /etc/shorewall/masq (line 15)

Buna benzer bir şey görüyorsanız büyük olasılıkla mevcut Çekirdeğiniz NAT desteğiyle derlenmemiştir. Bu, kullanıma hazır Çekirdeklerin çoğunda yaygındır. Başlamak için lütfen "Debian Çekirdeği nasıl derlenir" konulu eğitimimi okuyun.

Denetimin neden olduğu diğer bir yaygın hata da iptables ve günlüğe kaydetme ile ilgili hatadır.

shorewall check
Checking...
Processing /etc/shorewall/params...
Processing /etc/shorewall/shorewall.conf
Loading Modules..
   ERROR: Log level INFO requires LOG Target in your kernel and iptables

Bu aynı zamanda yeni bir Çekirdeğe derleyebileceğiniz bir şeydir, ancak ULOG'u kullanmak istiyorsanız bunun için hızlı bir düzeltme vardır. ULOG, sistem günlüğünden farklı bir günlük kaydı mekanizmasıdır. Kullanımı oldukça kolaydır.

Bunu ayarlamak için, /etc/shorewall dosyasındaki tüm yapılandırma dosyalarınızdaki "info " ifadesinin her örneğini "ULOG " olarak değiştirmeniz gerekir. . Aşağıdaki komut bunu sizin için yapabilir.

cd /etc/shorewall
sudo sed –i ‘s/info/ULOG/g’ *

Bundan sonra /etc/shorewall/shorewall.conf dosyasını düzenleyin ve satırı ayarlayın.

LOGFILE=

Günlüğünüzü saklamak istediğiniz yere. Benimki /var/log/shorewall.log'da.

LOGFILE=/var/log/shorewall.log

Aşağıdaki komutu tekrar çalıştırmak size temiz bir sağlık raporu verecektir.

shorewall check

Shorewall'un komut satırı arayüzü, sistem yöneticileri için birçok kullanışlı tek satırlık komutla birlikte gelir. Özellikle güvenlik duvarında çok sayıda değişiklik yapılırken sık kullanılan komutlardan biri, herhangi bir sorun olması durumunda geri dönebilmeniz için mevcut yapılandırma durumunu kaydetmektir.

Bunun sözdizimi basittir.

sudo shorewall save <filename>

Geri dönmek de aynı derecede kolaydır:

sudo shorewall restore <filename>

Shorewall ayrıca alternatif bir yapılandırma dizini kullanacak şekilde başlatılabilir ve yapılandırılabilir. Bunun başlatma komutu olduğunu belirtebilirsiniz, ancak önce onu kontrol etmek isteyeceksiniz.

sudo shorewall check <config-directory>

Yapılandırmayı denemek istiyorsanız ve çalışıyorsa başlatın, try seçeneğini belirleyebilirsiniz.

sudo shorewall try <config-directory> [  ]

Shorewall, Linux sistemlerinde bulunan birçok sağlam güvenlik duvarı çözümünden yalnızca biridir. Kendinizi ağ spektrumunun hangi ucunda bulursanız bulun, çoğu kişi bunu basit ve kullanışlı buluyor.

Bu sadece küçük bir başlangıçtır ve ağ oluşturma kavramlarına çok fazla girmeden sizi yolunuza çıkarabilecek bir başlangıçtır. Her zaman olduğu gibi lütfen araştırın ve man sayfalarına ve diğer kaynaklara bir göz atın. Shorewall'un e-posta listesi harika bir yerdir ve güncel ve bakımlıdır.