Rumah > Operasi dan penyelenggaraan > CentOS > Bagaimana Melaksanakan Peraturan Firewall Lanjutan dengan Firewalld di CentOS?

Bagaimana Melaksanakan Peraturan Firewall Lanjutan dengan Firewalld di CentOS?

Karen Carpenter
Lepaskan: 2025-03-11 16:59:19
asal
901 orang telah melayarinya

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

Bagaimana Melaksanakan Peraturan Firewall Lanjutan dengan Firewalld di CentOS?

Melaksanakan Peraturan Firewall Lanjutan dengan Firewalld di CentOS

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

Anda boleh melihat peraturan semasa anda menggunakan:

 <code class="bash">sudo firewall-cmd --list-all sudo firewall-cmd --list-rich-rules</code>
Salin selepas log masuk

Amalan terbaik untuk mendapatkan pelayan CentOS menggunakan ciri canggih Firewalld

Mengamankan pelayan CentOS anda dengan berkesan dengan firewalld memerlukan pendekatan berlapis:

  1. Prinsip keistimewaan paling sedikit: Hanya membenarkan perkhidmatan dan pelabuhan yang diperlukan. Elakkan pembukaan pelabuhan tidak perlu.
  2. Keselamatan berasaskan zon: Menggunakan zon yang berbeza (contohnya, public , internal , dmz ) untuk memisahkan trafik rangkaian dan menggunakan peraturan yang sesuai untuk setiap zon. Ini meningkatkan keselamatan dengan mengehadkan kesan pelanggaran.
  3. Peraturan yang kaya untuk kawalan berbutir: Menggunakan rich rules untuk menentukan kawalan akses yang sangat spesifik berdasarkan alamat IP sumber, pelabuhan, protokol, dan kriteria lain.
  4. Pengauditan biasa: Secara berkala mengkaji peraturan firewall anda menggunakan sudo firewall-cmd --list-all dan sudo firewall-cmd --list-rich-rules untuk memastikan mereka masih sesuai dan belum dikompromikan.
  5. Penapisan input: Mengutamakan penapisan input. Sekat semua sambungan masuk secara lalai, dan secara eksplisit hanya membenarkan yang diperlukan.
  6. Lumpuhkan perkhidmatan yang tidak perlu: Berhenti dan lumpuhkan sebarang perkhidmatan yang anda tidak perlukan secara aktif. Ini mengurangkan permukaan serangan.
  7. Kata Laluan dan Pengesahan yang kuat: Melaksanakan kata laluan yang kuat dan gunakan mekanisme pengesahan yang teguh seperti kekunci SSH. Peraturan firewall sahaja tidak mencukupi untuk keselamatan lengkap.
  8. Kemas kini tetap: Pastikan sistem CentOS anda dan firewalld terkini dengan patch keselamatan terkini.
  9. Analisis log: Pantau log firewall untuk aktiviti yang mencurigakan. Ini dapat membantu mengesan dan bertindak balas terhadap pencerobohan yang berpotensi.
  10. Fail2ban: Pertimbangkan menggunakan Fail2ban bersempena dengan firewalld . Fail2ban secara automatik mengharamkan alamat IP yang cuba log masuk kekerasan.

Membenarkan pelabuhan dan protokol tertentu melalui firewalld di CentOS untuk aplikasi atau perkhidmatan tertentu

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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.

Langkah penyelesaian masalah biasa untuk menyelesaikan masalah dengan peraturan firewalld yang kompleks pada sistem centOS

Peraturan firewalld kompleks memerlukan pendekatan yang sistematik:

  1. Mengesahkan Kewujudan Peraturan: Gunakan sudo firewall-cmd --list-all dan sudo firewall-cmd --list-rich-rules untuk mengesahkan bahawa peraturan anda ditambah dengan betul dan aktif.
  2. Periksa Tugasan Zon: Pastikan peraturan dikaitkan dengan zon yang betul (misalnya, public , internal ). Gunakan sudo firewall-cmd --get-active-zones untuk menyenaraikan zon aktif dan antara muka mereka.
  3. Periksa log: periksa log firewalld untuk kesilapan atau amaran. Lokasi fail log mungkin berbeza -beza bergantung pada konfigurasi sistem anda tetapi sering dijumpai dalam /var/log/firewalld/ .
  4. Sambungan Ujian: Gunakan alat seperti ping , telnet , netstat , dan nc untuk menguji sambungan ke perkhidmatan yang terjejas oleh peraturan anda.
  5. Memudahkan peraturan: Jika anda mempunyai banyak peraturan yang kompleks, cuba buat sementara waktu untuk mengasingkan peraturan yang bermasalah.
  6. Mulakan semula Firewalld: Selepas membuat perubahan pada peraturan anda, selalu tambah semula firewalld menggunakan sudo firewall-cmd --reload . Dalam kes -kes yang degil, restart penuh ( sudo systemctl restart firewalld ) mungkin diperlukan.
  7. Gunakan 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 .
  8. Rujuk Dokumentasi: Rujuk dokumentasi rasmi 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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan