Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Bagaimana saya menyediakan firewall di linux menggunakan firewalld atau iptables?

Bagaimana saya menyediakan firewall di linux menggunakan firewalld atau iptables?

Emily Anne Brown
Emily Anne Brownasal
2025-03-12 18:58:51933semak imbas

Menyiapkan firewall di linux menggunakan firewalld atau iptables

Menubuhkan firewall di Linux menggunakan sama ada firewalld atau iptables melibatkan pendekatan yang berbeza kerana perbezaan seni bina mereka. firewalld adalah daemon firewall yang dinamik yang menyediakan antara muka mesra pengguna untuk menguruskan peraturan firewall, sementara iptables adalah utiliti baris arahan yang secara langsung memanipulasi kerangka Netfilter kernel.

Menggunakan Firewalld:

  1. Pemasangan: Pastikan firewalld dipasang. Mengenai kebanyakan pengagihan, ini dilakukan menggunakan pengurus pakej (contohnya, apt install firewalld pada Debian/Ubuntu, dnf install firewalld di Fedora/Centos/RHEL).
  2. Mulakan dan aktifkan Firewalld: Mulakan perkhidmatan dengan systemctl start firewalld dan membolehkannya memulakan boot dengan systemctl enable firewalld .
  3. Konfigurasi Asas: firewalld menggunakan "zon" untuk menentukan konteks rangkaian yang berbeza (contohnya, "awam", "dalaman", "DMZ"). Setiap zon mempunyai set peraturan lalai. Anda boleh menyenaraikan zon dengan firewall-cmd --get-active-zones . Untuk menambah perkhidmatan, seperti SSH (port 22), ke zon lalai (biasanya "awam"), gunakan firewall-cmd --permanent --add-service=ssh . Untuk membuat perubahan kekal, gunakan bendera --permanent . Muat semula firewall dengan firewall-cmd --reload untuk memohon perubahan.
  4. Konfigurasi Lanjutan: Untuk lebih banyak kawalan berbutir, anda boleh menambah port khusus menggunakan firewall-cmd --permanent --add-port=80/tcp (untuk http) atau julat menggunakan firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'

Menggunakan iptables:

  1. Pemasangan: iptables biasanya dimasukkan secara lalai dalam kebanyakan pengagihan Linux.
  2. Konfigurasi Asas: iptables menggunakan rantai (contohnya, INPUT , OUTPUT , FORWARD ) untuk menguruskan peraturan. Setiap peraturan menentukan alamat IP sumber/destinasi, port, protokol, dan tindakan (menerima, jatuh, menolak). Sebagai contoh, untuk membolehkan sambungan SSH: iptables -A INPUT -p tcp --dport 22 -j ACCEPT .
  3. Peraturan Penjimatan: Peraturan iptables tidak berterusan merentasi reboot. Anda perlu menyimpannya menggunakan skrip atau utiliti seperti iptables-save dan memuatkannya pada masa boot menggunakan skrip permulaan. Kaedah yang tepat berbeza -beza bergantung kepada pengedaran anda.
  4. Konfigurasi Lanjutan: iptables menawarkan kawalan yang sangat halus, membolehkan set peraturan kompleks dengan pelbagai kriteria yang sepadan dan rantai adat. Walau bagaimanapun, ini memerlukan pemahaman yang mendalam mengenai sintaks rangkaian dan iptables .

Perbezaan utama antara firewalld dan iptables

Perbezaan utama terletak pada pendekatan mereka terhadap pengurusan firewall. firewalld menyediakan antara muka yang lebih tinggi, mesra pengguna yang dibina di atas iptables . Ia memudahkan tugas firewall yang biasa, menjadikannya lebih mudah untuk menguruskan zon, perkhidmatan, dan pelabuhan. Sebaliknya, iptables menyediakan kawalan langsung dan rendah ke atas kerangka Netfilter, yang menawarkan fleksibiliti yang lebih besar tetapi memerlukan lebih banyak kepakaran teknikal.

Berikut adalah jadual yang meringkaskan perbezaan utama:

Ciri Firewalld IPTABLES
Antara muka Alat baris arahan dengan pilihan mesra pengguna Barisan arahan sahaja, sintaks kompleks
Konfigurasi Zon, perkhidmatan, pelabuhan, peraturan yang kaya Rantai, peraturan dengan kriteria sepadan tertentu
Kegigihan Mekanisme kegigihan terbina dalam Memerlukan penjimatan dan pemuatan manual di but
Kerumitan Lebih senang belajar dan menggunakan Lengkung pembelajaran yang lebih curam, lebih kompleks
Fleksibiliti Kurang fleksibel daripada iptables Sangat fleksibel, membolehkan peraturan yang rumit
Kemas kini dinamik Menyokong kemas kini dinamik Kemas kini manual diperlukan

Mengkonfigurasi peraturan firewall tertentu untuk membolehkan/menafikan pelabuhan atau perkhidmatan tertentu

Menggunakan Firewalld:

Untuk membenarkan port tertentu (misalnya, HTTP pada port 80):

 <code class="bash">firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload</code>

Untuk menafikan port tertentu (misalnya, FTP pada port 21):

Ini kurang mudah dengan firewalld . Anda mungkin perlu membuat zon tersuai atau menggunakan peraturan yang kaya untuk mencapai ini dengan tepat. Umumnya, firewalld direka untuk membenarkan secara lalai dan menafikan secara eksplisit.

Untuk membenarkan perkhidmatan tertentu (misalnya, SSH):

 <code class="bash">firewall-cmd --permanent --add-service=ssh firewall-cmd --reload</code>

Menggunakan iptables:

Untuk membenarkan port tertentu (misalnya, HTTP pada port 80):

 <code class="bash">iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT # If you want to allow outgoing traffic on port 80 as well. service iptables save # Save the rules (method varies by distribution)</code>

Untuk menafikan port tertentu (misalnya, FTP pada port 21):

 <code class="bash">iptables -A INPUT -p tcp --dport 21 -j DROP service iptables save # Save the rules (method varies by distribution)</code>

Amalan terbaik untuk mendapatkan sistem linux anda dengan firewall

Tidak kira sama ada anda menggunakan firewalld atau iptables , ikuti amalan terbaik ini:

  • Prinsip keistimewaan paling sedikit: Hanya membenarkan trafik yang diperlukan. Menolak semua secara lalai dan secara eksplisit membenarkan port dan perkhidmatan tertentu.
  • Kemas kini tetap: Pastikan sistem firewall dan operasi anda dikemas kini dengan patch keselamatan terkini.
  • Analisis log: Secara kerap mengkaji log firewall untuk mengenal pasti aktiviti yang mencurigakan.
  • Fokus rantai input: Perhatikan rantaian INPUT , kerana ini mengawal sambungan masuk.
  • Firewall Statefull: Menggunakan pemeriksaan negara (kedua -dua firewalld dan iptables menyokong ini) untuk mengesan sambungan dan membenarkan trafik kembali.
  • Elakkan pelabuhan terbuka melainkan perlu: Kurangkan bilangan pelabuhan terbuka yang terdedah kepada Internet.
  • Gunakan dasar kata laluan yang kuat: Saman sistem anda dengan menggunakan kata laluan yang kuat dan kerap mengemas kininya.
  • Peraturan semak secara berkala: Secara berkala mengkaji peraturan firewall anda untuk memastikan mereka masih sesuai dan berkesan.
  • Gunakan DMZ yang berasingan: Jika anda perlu mendedahkan perkhidmatan ke Internet, pertimbangkan untuk menggunakan DMZ (zon demilarized) yang berasingan untuk mengasingkan perkhidmatan tersebut dari rangkaian dalaman anda.
  • Pertimbangkan sistem pengesanan/pencegahan pencerobohan (IDS/IPS): Campurkan firewall anda dengan ID/IPS untuk lapisan keselamatan tambahan.

Ingatlah untuk sentiasa menguji peraturan firewall anda dalam persekitaran terkawal sebelum menggunakannya ke sistem pengeluaran. Peraturan firewall yang tidak dapat dikonfigurasikan boleh menyebabkan sistem anda tidak dapat diakses.

Atas ialah kandungan terperinci Bagaimana saya menyediakan firewall di linux menggunakan firewalld atau iptables?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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