Butiran artikel ini melaksanakan peraturan firewall canggih menggunakan Firewalld pada CentOS. Ia menekankan pendekatan berasaskan zon, menggunakan peraturan yang kaya untuk kawalan berbutir (misalnya, menentukan sumber IP, port, protokol). Amalan terbaik termasuk prinsip
Bahagian ini memperincikan bagaimana untuk melaksanakan peraturan firewall canggih menggunakan firewalld
pada sistem CentOS. firewalld
menawarkan cara yang mantap dan fleksibel untuk menguruskan firewall anda, melampaui pembukaan pelabuhan mudah. Kekuatannya terletak pada seni bina berasaskan zonnya dan keupayaan untuk menentukan peraturan kompleks menggunakan sintaks yang kaya.
Pertama, pastikan firewalld
dipasang dan berjalan:
<code class="bash">sudo yum install firewalld sudo systemctl start firewalld sudo systemctl enable firewalld</code>
Peraturan lanjutan biasanya ditambah dalam zon tertentu. Zon default
biasanya untuk antara muka awam, manakala yang lain seperti internal
atau dmz
dicipta untuk rangkaian dalaman atau zon demiliter. Katakan kami mahu membenarkan akses SSH hanya dari alamat IP tertentu (192.168.1.100) pada zon default
. Kita boleh mencapai ini menggunakan alat baris arahan firewall-cmd
:
<code class="bash">sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept' sudo firewall-cmd --reload</code>
Perintah ini menambah peraturan tetap (menggunakan --permanent
) ke zon default
. Pilihan --add-rich-rule
membolehkan peraturan kompleks yang ditentukan dalam sintaks seperti XML. Peraturan ini secara khusus mensasarkan trafik IPv4 ( family="ipv4"
) yang berasal dari 192.168.1.100
dan menerimanya ( accept
). Ingatlah untuk memuatkan semula firewalld
menggunakan --reload
untuk perubahan yang berlaku. Anda boleh menambah keadaan yang lebih kompleks seperti julat pelabuhan, protokol (TCP/UDP), dan kriteria lain dalam rich rule
. Sebagai contoh, untuk membenarkan hanya SSH (port 22) dari ip:
<code class="bash">sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept' sudo firewall-cmd --reload</code>
Anda boleh melihat peraturan semasa anda menggunakan:
<code class="bash">sudo firewall-cmd --list-all sudo firewall-cmd --list-rich-rules</code>
Mengamankan pelayan CentOS anda dengan berkesan dengan firewalld
memerlukan pendekatan berlapis:
public
, internal
, dmz
) untuk memisahkan trafik rangkaian dan menggunakan peraturan yang sesuai untuk setiap zon. Ini meningkatkan keselamatan dengan mengehadkan kesan pelanggaran.rich rules
untuk menentukan kawalan akses yang sangat spesifik berdasarkan alamat IP sumber, pelabuhan, protokol, dan kriteria lain.sudo firewall-cmd --list-all
dan sudo firewall-cmd --list-rich-rules
untuk memastikan mereka masih sesuai dan belum dikompromikan.firewalld
terkini dengan patch keselamatan terkini.Fail2ban
bersempena dengan firewalld
. Fail2ban
secara automatik mengharamkan alamat IP yang cuba log masuk kekerasan.Membenarkan pelabuhan dan protokol tertentu untuk aplikasi melibatkan mengenal pasti pelabuhan dan protokol yang digunakan oleh aplikasi dan membuat peraturan firewall yang sesuai. Sebagai contoh, untuk membolehkan trafik HTTP (port 80) dan trafik HTTPS (port 443):
<code class="bash">sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload</code>
Untuk senario yang lebih kompleks yang melibatkan alamat IP tertentu atau kriteria lain, gunakan rich rules
:
<code class="bash">sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="8080" accept' sudo firewall-cmd --reload</code>
Ini membolehkan trafik TCP di port 8080 dari alamat IP 192.168.1.100. Ingat untuk menggantikan nilai ini dengan port, protokol, dan alamat IP yang sesuai untuk aplikasi khusus anda. Sentiasa nyatakan protokol (TCP atau UDP) secara eksplisit.
Peraturan firewalld
kompleks memerlukan pendekatan yang sistematik:
sudo firewall-cmd --list-all
dan sudo firewall-cmd --list-rich-rules
untuk mengesahkan bahawa peraturan anda ditambah dengan betul dan aktif.public
, internal
). Gunakan sudo firewall-cmd --get-active-zones
untuk menyenaraikan zon aktif dan antara muka mereka.firewalld
untuk kesilapan atau amaran. Lokasi fail log mungkin berbeza -beza bergantung pada konfigurasi sistem anda tetapi sering dijumpai dalam /var/log/firewalld/
.ping
, telnet
, netstat
, dan nc
untuk menguji sambungan ke perkhidmatan yang terjejas oleh peraturan anda.firewalld
menggunakan sudo firewall-cmd --reload
. Dalam kes -kes yang degil, restart penuh ( sudo systemctl restart firewalld
) mungkin diperlukan.iptables
(Advanced): Untuk senario yang sangat kompleks, anda boleh memanipulasi peraturan iptables
yang mendasari, walaupun ini umumnya tidak digalakkan kecuali anda sangat akrab dengan iptables
. Walau bagaimanapun, ingatlah bahawa perubahan yang dibuat secara langsung kepada iptables
akan ditimpa oleh firewalld
.firewalld
untuk maklumat terperinci mengenai sintaks, pilihan, dan tip penyelesaian masalah. Dengan mengikuti langkah -langkah dan amalan terbaik ini, anda dapat mengurus dan menyelesaikan masalah firewall lanjutan dengan berkesan menggunakan firewalld
pada pelayan CentOS anda, meningkatkan keselamatan dan kestabilannya.
Atas ialah kandungan terperinci Bagaimana Melaksanakan Peraturan Firewall Lanjutan dengan Firewalld di CentOS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!