RHCSA Series Firewall Essentials dan Kawalan Lalu Lintas Rangkaian Menggunakan Firewalld dan Iptables - Bahagian 11

RHCSA Series Firewall Essentials dan Kawalan Lalu Lintas Rangkaian Menggunakan Firewalld dan Iptables - Bahagian 11

Dengan kata -kata mudah, a Firewall adalah sistem keselamatan yang mengawal trafik masuk dan keluar dalam rangkaian berdasarkan satu set peraturan yang telah ditetapkan (seperti destinasi paket / sumber atau jenis lalu lintas, sebagai contoh).

RHCSA: Kawalan Trafik Rangkaian dengan FireWalld dan iptables - Bahagian 11

Dalam artikel ini kita akan mengkaji asas -asas Firewalld, daemon firewall dinamik lalai di Red Hat Enterprise Linux 7, dan IPTABLES perkhidmatan, perkhidmatan firewall warisan untuk linux, yang mana kebanyakan pentadbir sistem dan rangkaian berkenalan, dan juga terdapat di RHEL 7.

Perbandingan antara firewalld dan iptables

Di bawah tudung, kedua -duanya Firewalld dan juga IPTABLES Perkhidmatan bercakap dengan netfilter rangka kerja dalam kernel melalui antara muka yang sama, tidak menghairankan, perintah iptables. Walau bagaimanapun, berbanding dengan perkhidmatan iptables, firewalld boleh mengubah tetapan semasa operasi sistem normal tanpa sambungan yang ada hilang.

Firewalld harus dipasang secara lalai dalam sistem RHEL anda, walaupun mungkin tidak berjalan. Anda boleh mengesahkan dengan arahan berikut (Firewall-Config adalah alat konfigurasi antara muka pengguna):

# yum info firewalld firewall-config 
Semak maklumat firewalld

dan,

# Systemctl Status -L Firewalld.perkhidmatan 
Semak status firewalld

Sebaliknya, IPTABLES perkhidmatan tidak disertakan secara lalai, tetapi boleh dipasang melalui.

# yum update && yum pasang perkhidmatan iptables 

Kedua -dua daemon boleh dimulakan dan membolehkan untuk memulakan boot dengan yang biasa sistemd Perintah:

# Systemctl Mula Firewalld.Perkhidmatan | iptables-service.Perkhidmatan # Systemctl Dayakan Firewalld.Perkhidmatan | iptables-service.perkhidmatan 

Baca juga: Perintah yang berguna untuk menguruskan perkhidmatan Systemd

Bagi fail konfigurasi, perkhidmatan iptables menggunakan /etc/sysconfig/iptables (yang tidak akan wujud jika pakej tidak dipasang dalam sistem anda). Pada kotak RHEL 7 yang digunakan sebagai nod kluster, fail ini kelihatan seperti berikut:

Konfigurasi firewall iptables

Manakala Firewalld menyimpan konfigurasinya di dua direktori, /usr/lib/firewalld dan /etc/firewalld:

# ls/usr/lib/firewalld/etc/firewalld 
Konfigurasi Firewalld

Kami akan mengkaji fail konfigurasi ini kemudian dalam artikel ini, setelah kami menambah beberapa peraturan di sana sini. Sekarang sudah cukup untuk mengingatkan anda bahawa anda sentiasa dapat mencari lebih banyak maklumat mengenai kedua -dua alat.

# Man Firewalld.conf # man firewall-cmd # iptables man 

Selain daripada itu, ingatlah untuk melihat mengkaji semula arahan penting & dokumentasi sistem - bahagian 1 siri semasa, di mana saya menerangkan beberapa sumber di mana anda boleh mendapatkan maklumat mengenai pakej yang dipasang pada anda RHEL 7 sistem.

Menggunakan iptables untuk mengawal trafik rangkaian

Anda mungkin mahu merujuk untuk mengkonfigurasi iptables firewall - bahagian 8 Jurutera Bersertifikat Yayasan Linux (Lfce) siri untuk menyegarkan ingatan anda mengenai IPTABLES internals sebelum meneruskan lebih jauh. Oleh itu, kita akan dapat melompat masuk ke dalam contoh.

Contoh 1: Membenarkan lalu lintas web yang masuk dan keluar

Port TCP 80 dan 443 adalah port lalai yang digunakan oleh pelayan web Apache untuk mengendalikan normal (Http) dan selamat (Https) trafik web. Anda boleh membenarkan lalu lintas web yang masuk dan keluar melalui kedua -dua pelabuhan di ENP0S3 antara muka seperti berikut:

# iptables -a input -I ENP0S3 -P TCP -DPORT 80 -M Negeri -baru, ditubuhkan -J menerima # iptables -a output -O ENP0S3 -P TCP -SPORT 80 -M Negeri -State Ditubuhkan - j Terima # ippables -a input -I ENP0S3 -P TCP -DPORT 443 -M Negeri -baru, ditubuhkan -J menerima # iptables -a output -O ENP0S3 -P TCP - -SPORT 443 -M Negeri --STATE --STATE --STATE --STATE - Ditubuhkan -J Terima 
Contoh 2: Sekat semua (atau beberapa) sambungan masuk dari rangkaian tertentu

Mungkin ada masa apabila anda perlu menyekat semua (atau beberapa) jenis lalu lintas yang berasal dari rangkaian tertentu, katakan 192.168.1.0/24 sebagai contoh:

# iptables -I input -s 192.168.1.0/24 -J Drop 

akan menjatuhkan semua pakej yang datang dari 192.168.1.0/24 rangkaian, sedangkan,

# iptables -a input -s 192.168.1.0/24 -Dport 22 -J Terima 

hanya akan membenarkan trafik masuk melalui pelabuhan 22.

Contoh 3: Mengalihkan trafik masuk ke destinasi lain

Sekiranya anda menggunakan anda RHEL 7 Kotak bukan sahaja sebagai firewall perisian, tetapi juga sebagai yang berasaskan perkakasan sebenar, sehingga ia terletak di antara dua rangkaian yang berbeza, pemajuan IP mestilah telah diaktifkan dalam sistem anda. Sekiranya tidak, anda perlu mengedit /etc/sysctl.Conf dan tetapkan nilai jaring.IPv4.ip_forward ke 1, seperti berikut:

jaring.IPv4.ip_forward = 1 

Kemudian simpan perubahan, tutup editor teks anda dan akhirnya jalankan arahan berikut untuk memohon perubahan:

# sysctl -p /etc /sysctl.Conf 

Contohnya, anda mungkin memasang pencetak di kotak dalaman dengan IP 192.168.0.10, dengan Cawan perkhidmatan mendengar di port 631 (kedua -duanya di pelayan cetak dan di firewall anda). Untuk mengemukakan permintaan cetak dari pelanggan di seberang firewall, anda harus menambah peraturan iptables berikut:

# iptables -t nat -a prerouting -i enp0s3 -p tcp --dport 631 -j dnat -untuk 192.168.0.10: 631 

Sila ingat bahawa IPTABLES Membaca peraturannya secara berurutan, jadi pastikan dasar lalai atau peraturan yang kemudian tidak mengatasi yang digariskan dalam contoh di atas.

Bermula dengan Firewalld

Salah satu perubahan yang diperkenalkan dengan Firewalld adalah zon. Konsep ini membolehkan untuk memisahkan rangkaian ke zon yang berlainan tahap kepercayaan pengguna telah memutuskan untuk meletakkan pada peranti dan lalu lintas dalam rangkaian tersebut.

Untuk menyenaraikan zon aktif:

# Firewall-CMD-Zon-Zon-Aktif 

Dalam contoh di bawah, Zon Awam aktif, dan ENP0S3 antara muka telah diberikan kepadanya secara automatik. Untuk melihat semua maklumat mengenai zon tertentu:

# firewall-cmd-zone = awam-list-all 
Senaraikan semua zon firewalld

Oleh kerana anda boleh membaca lebih lanjut mengenai zon Dalam Panduan Keselamatan RHEL 7, kami hanya akan menyenaraikan beberapa contoh tertentu di sini.

Contoh 4: Membenarkan perkhidmatan melalui firewall

Untuk mendapatkan senarai perkhidmatan yang disokong, gunakan.

# Firewall-CMD-Gelang-perkhidmatan 
Senaraikan semua perkhidmatan yang disokong

Membenarkan http dan https Lalu lintas web melalui firewall, berkuatkuasa serta -merta dan pada kasut berikutnya:

# firewall-cmd --Zone = myZone --Add-Service = http # firewall-cmd --Zone = myZone --PerManent --Add-Service = http # firewall-cmd --Zone = myzone --Add-service = https # firewall-cmd --Zone = myzone --PerManent --Add-Service = https # Firewall-Cmd-Reload 

Sekiranya kod> -Zone ditinggalkan, zon lalai (anda boleh menyemak dengan Firewall-Cmd -get-Default-Zone) digunakan.

Untuk membuang peraturan, ganti perkataan tambah dengan keluarkan dalam arahan di atas.

Contoh 5: IP / Port Forwarding

Mula -mula, anda perlu mengetahui sama ada penyamaran didayakan untuk zon yang dikehendaki:

# firewall-cmd-zone = myzone-Quer-sisquerade 

Dalam gambar di bawah, kita dapat melihatnya menyamar didayakan untuk zon luaran, Tetapi bukan untuk awam:

Semak status penyamaran

Anda boleh membolehkan penyamaran untuk awam:

# firewall-cmd-zone = public --add-masquerade 

atau gunakan penyamaran di luaran. Inilah yang akan kita lakukan untuk meniru Contoh 3 dengan Firewalld:

# firewall-cmd --Zone = luaran --Add-forward-port = port = 631: proto = tcp: tOport = 631: toaddr = 192.168.0.10 

Dan jangan lupa untuk memuatkan semula firewall.

Anda boleh mencari contoh lebih lanjut mengenai bahagian 9 siri RHCSA, di mana kami menjelaskan cara membenarkan atau melumpuhkan port yang biasanya digunakan oleh pelayan web dan pelayan FTP, dan bagaimana mengubah peraturan yang sepadan apabila port lalai untuk perkhidmatan tersebut diubah. Di samping itu, anda mungkin mahu merujuk kepada wiki firewalld untuk contoh selanjutnya.

Baca juga: Contoh Firewalld Berguna Untuk Mengkonfigurasi Firewall di RHEL 7

Kesimpulan

Dalam artikel ini kita telah menjelaskan apa a Firewall adalah, apakah perkhidmatan yang ada untuk melaksanakannya RHEL 7, dan memberikan beberapa contoh yang dapat membantu anda memulakan tugas ini. Sekiranya anda mempunyai komen, cadangan, atau soalan, jangan ragu untuk memberitahu kami menggunakan borang di bawah. Terima kasih terlebih dahulu!