Cara Menjelajahi Konfigurasi Firewall Shorewall di Linux


Pada artikel saya sebelumnya, kita mempelajari instalasi Shorewall, pengaturan file konfigurasi, dan konfigurasi penerusan port melalui NAT. Pada artikel ini, kami akan mempelajari kesalahan umum yang terkait dengan Shorewall, memberikan solusi, dan memperkenalkan opsi baris perintahnya.

Shorewall menawarkan beragam perintah yang dapat dijalankan pada baris perintah. Melihat man shorewall akan memberi Anda banyak hal untuk dilihat, namun tugas pertama yang akan kita lakukan adalah memeriksa file konfigurasi kita.

sudo shorewall check

Shorewall akan mencetak tanda centang untuk semua file konfigurasi Anda, dan opsi yang ada di dalamnya.

Outputnya akan terlihat seperti ini.

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

Baris ajaib yang kita cari adalah baris di bawah yang bertuliskan: “Konfigurasi Shorewall terverifikasi ”. Jika Anda menerima kesalahan apa pun, kemungkinan besar kesalahan tersebut disebabkan oleh hilangnya modul dalam konfigurasi kernel Anda.

Saya akan menunjukkan kepada Anda cara mengatasi dua kesalahan yang lebih umum, tetapi Anda perlu mengkompilasi ulang kernel Anda dengan semua modul yang diperlukan jika Anda berencana menggunakan mesin Anda sebagai firewall.

Kesalahan pertama, dan yang paling umum, adalah kesalahan tentang NAT.

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)

Jika Anda melihat sesuatu seperti ini, kemungkinan besar Kernel Anda saat ini tidak dikompilasi dengan dukungan untuk NAT. Hal ini biasa terjadi pada sebagian besar Kernel out-of-the-box. Silakan baca tutorial saya tentang “Cara mengkompilasi Kernel Debian” untuk memulai.

Kesalahan umum lainnya yang dihasilkan oleh pemeriksaan ini adalah kesalahan tentang iptables dan logging.

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

Ini juga merupakan sesuatu yang dapat Anda kompilasi ke dalam Kernel baru, namun ada perbaikan cepat jika Anda ingin menggunakan ULOG. ULOG adalah mekanisme logging yang berbeda dari syslog. Ini cukup mudah digunakan.

Untuk mengaturnya, Anda harus mengubah setiap instance dari “info ” menjadi “ULOG ” di semua file konfigurasi Anda di /etc/shorewall . Perintah berikut dapat melakukannya untuk Anda.

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

Setelah itu, edit file /etc/shorewall/shorewall.conf dan atur barisnya.

LOGFILE=

Ke tempat Anda ingin log Anda disimpan. Milik saya ada di /var/log/shorewall.log.

LOGFILE=/var/log/shorewall.log

Menjalankan perintah berikut lagi akan memberi Anda status kesehatan yang bersih.

shorewall check

Antarmuka baris perintah Shorewall hadir dengan banyak kalimat praktis untuk administrator sistem. Salah satu perintah yang sering digunakan, terutama ketika banyak perubahan dilakukan pada firewall, adalah menyimpan status konfigurasi saat ini sehingga Anda dapat melakukan roll back jika ada komplikasi.

Sintaksnya sederhana.

sudo shorewall save <filename>

Memutar kembali sama mudahnya:

sudo shorewall restore <filename>

Shorewall juga dapat dimulai dan dikonfigurasi untuk menggunakan direktori konfigurasi alternatif. Anda dapat menentukan ini sebagai perintah mulai, tetapi Anda ingin memeriksanya terlebih dahulu.

sudo shorewall check <config-directory>

Jika Anda hanya ingin mencoba konfigurasinya, dan jika berhasil, mulailah, Anda dapat menentukan opsi coba.

sudo shorewall try <config-directory> [  ]

Shorewall hanyalah salah satu dari banyak solusi firewall tangguh yang tersedia di sistem Linux. Tidak peduli di ujung spektrum jaringan mana Anda berada, banyak yang menganggapnya sederhana dan berguna.

Ini hanyalah permulaan kecil, dan dapat membantu Anda tanpa terlalu mendalami konsep jaringan. Seperti biasa, harap teliti dan lihat halaman manual dan sumber daya lainnya. Milis Shorewall adalah tempat yang mengagumkan dan terkini serta terpelihara dengan baik.