Cara mengkonfigurasi firewalld dalam distribusi berbasis rhel

Cara mengkonfigurasi firewalld dalam distribusi berbasis rhel

Net-filter Seperti yang kita semua tahu itu adalah firewall di Linux. Firewalld adalah daemon dinamis untuk mengelola firewall dengan dukungan untuk zona jaringan. Di versi sebelumnya, RHEL & Centos Kami telah menggunakan iptables sebagai daemon untuk kerangka penyaringan paket.

Dalam versi yang lebih baru dari distribusi berbasis RHEL seperti Fedora, Linux Rocky, Aliran centos, Almalinux, Dan OpenSuse - itu ptable Antarmuka digantikan oleh Firewalld.

[Anda mungkin juga suka: 10 firewall keamanan open source yang berguna untuk sistem linux]

Disarankan untuk mulai menggunakan Firewalld alih-alih ptable karena ini dapat dihentikan di masa depan. Namun, ptable masih didukung dan dapat diinstal dengan perintah yum. Kami tidak bisa menyimpannya Firewalld Dan ptable keduanya dalam sistem yang sama yang dapat menyebabkan konflik.

Di dalam ptable, Kami biasa mengonfigurasi sebagai MEMASUKKAN, KELUARAN & Rantai ke depan tapi di sini Firewalld, Konsep penggunaan Zona. Secara default, ada berbagai zona yang tersedia di Firewalld, yang akan dibahas dalam artikel ini.

Itu zona dasar yang seperti zona publik Dan zona pribadi. Untuk membuat segalanya bekerja dengan zona ini, kita perlu menambahkan antarmuka dengan dukungan zona yang ditentukan dan kemudian kita dapat menambahkan layanan ke Firewalld.

Secara default, ada banyak layanan yang tersedia, salah satu fitur terbaik Firewalld adalah, ia dilengkapi dengan layanan yang telah ditentukan sebelumnya dan kami dapat mengambil layanan ini sebagai contoh untuk menambahkan layanan kami dengan hanya menyalinnya.

Firewalld bekerja dengan baik IPv4, IPv6, Dan Jembatan Ethernet juga. Kita dapat memiliki konfigurasi run-time dan permanen terpisah di firewalld.

Mari kita mulai tentang cara bekerja dengan zona dan membuat layanan kita sendiri dan penggunaan yang jauh lebih menarik Firewalld di linux.

Lingkungan pengujian kami

Sistem operasi : Red Hat Enterprise Linux Release 9.0 (bajak) Alamat IP : 192.168.0.159 Nama host : tecmint-rhel9 
Sistem Pengujian RHEL 9

Langkah 1: Memasang firewalld dalam sistem berbasis RHEL

1. Firewalld Paket diinstal secara default RHEL, Fedora, Linux Rocky, Aliran centos, Almalinux, Dan OpenSuse. Jika tidak, Anda dapat menginstalnya menggunakan perintah yum berikut.

# yum instal firewalld -y 
Instal Firewalld di Linux

2. Setelah Firewalld Paket telah diinstal, saatnya untuk memverifikasi apakah ptable Layanan berjalan atau tidak, jika berjalan, Anda harus berhenti dan menutupi (tidak menggunakan lagi) ptable Layanan dengan perintah di bawah ini.

# Systemctl Status ptables # systemctl Stop ptables # systemctl mask ptables 
Nonaktifkan ptables di Linux

Langkah 2: Memahami komponen firewalld (zona dan aturan)

3. Sebelum menuju Firewalld Konfigurasi, saya ingin membahas setiap zona. Secara default, ada beberapa zona yang tersedia. Kita perlu menetapkan antarmuka ke zona. Zona mendefinisikan zona yang dipercaya atau ditolak tingkat ke antarmuka untuk mendapatkan koneksi. Zona dapat berisi layanan & port.

Di sini, kami akan menggambarkan setiap zona yang tersedia di Firewalld.

  • Zona drop: Setiap paket yang masuk dijatuhkan jika kita menggunakan zona drop. Ini sama seperti yang kita gunakan untuk menambahkan Iptables -J Drop. Jika kami menggunakan aturan drop, berarti tidak ada balasan, hanya koneksi jaringan keluar yang akan tersedia.
  • Zona blok: Zona blok akan menyangkal koneksi jaringan yang masuk ditolak dengan ICMP-host-prohibited. Hanya koneksi yang ditetapkan di dalam server yang diizinkan.
  • Zona publik: Untuk menerima koneksi yang dipilih, kita dapat menentukan aturan di zona publik. Ini hanya akan memungkinkan port spesifik untuk dibuka di server kami koneksi lain akan dijatuhkan.
  • Zona eksternal: Zona ini akan bertindak sebagai opsi router dengan penyamaran diaktifkan koneksi lain akan dijatuhkan dan tidak akan menerima, dan hanya koneksi yang ditentukan yang diizinkan.
  • Zona DMZ: Jika kita perlu mengizinkan akses ke beberapa layanan kepada publik, Anda dapat mendefinisikannya di zona DMZ. Ini juga memiliki fitur hanya koneksi masuk yang dipilih yang diterima.
  • Zona Kerja: Di zona ini, kita hanya dapat mendefinisikan jaringan internal i.e. Jaringan pribadi lalu lintas diperbolehkan.
  • Zona rumah: Zona ini secara khusus digunakan di area rumah, kami dapat menggunakan zona ini untuk mempercayai komputer lain di jaringan untuk tidak membahayakan komputer Anda seperti di setiap zona. Ini juga hanya memungkinkan koneksi masuk yang dipilih.
  • Zona internal: Yang ini mirip dengan zona kerja dengan koneksi yang diizinkan terpilih.
  • Zona tepercaya: Jika kita mengatur zona tepercaya, semua lalu lintas diterima.

Sekarang Anda memiliki ide yang lebih baik tentang zona, sekarang mari kita temukan zona yang tersedia, dan zona default, dan daftarkan semua zona menggunakan perintah berikut.

Daftar zona firewalld

# firewall-cmd --get-zones 
Daftar zona firewalld yang tersedia

Daftar zona default firewalld

# firewall-cmd --get-default-zone 
Daftar zona default firewalld

Buat daftar semua zona firewalld

# firewall-cmd --list-all-zones 
Daftar zona firewalld

Catatan: Output dari perintah di atas tidak akan masuk ke dalam satu halaman karena ini akan mencantumkan setiap zona seperti blok, DMZ, drop, eksternal, rumah, internal, publik, tepercaya, dan pekerjaan. Jika zona memiliki aturan yang kaya, layanan atau port yang diaktifkan juga akan terdaftar dengan informasi zona masing -masing.

Langkah 3: Menetapkan zona firewalld default

4. Jika Anda ingin mengatur zona default sebagai internal, eksternal, drop, bekerja, atau zona lainnya, Anda dapat menggunakan perintah di bawah ini untuk mengatur zona default. Di sini kami menggunakan “internZona sebagai default.

# firewall-cmd --tet-default-zone = internal 

5. Setelah mengatur zona, verifikasi zona default menggunakan perintah di bawah ini.

# firewall-cmd --get-default-zone 
Atur zona firewalld default

6. Di sini, antarmuka kami ENP0S3, Jika kita perlu memeriksa zona di mana antarmuka dibatasi, kita dapat menggunakan perintah di bawah ini.

# firewall-cmd --get-zone-of-interface = enp0s3 
Periksa Antarmuka Jaringan Firewalld Zone

7. Fitur menarik lainnya dari firewalld adalah 'icmptype'adalah salah satu jenis ICMP yang didukung oleh firewalld. Untuk mendapatkan daftar tipe ICMP yang didukung, kami dapat menggunakan perintah di bawah ini.

# firewall-cmd --get-icmptypes 
Daftar tipe ICMP firewalld

Langkah 4: Membuat Layanan Sendiri di Firewalld

8. Layanan adalah seperangkat aturan dengan port dan opsi yang digunakan oleh Firewalld. Layanan yang diaktifkan, akan dimuat secara otomatis saat Firewalld Layanan sudah berjalan dan berjalan.

Secara default, banyak layanan tersedia, untuk mendapatkan daftar semua layanan yang tersedia, gunakan perintah berikut.

# firewall-cmd --get-services 
Daftar layanan firewalld

9. Untuk mendapatkan daftar semua layanan default yang tersedia, buka direktori berikut, di sini Anda akan mendapatkan daftar layanan.

# CD/USR/LIB/FIREWALLD/LAYANAN/ 
Daftar layanan firewalld default

10. Untuk membuat layanan Anda sendiri, Anda perlu mendefinisikannya di lokasi berikut. Misalnya, di sini saya ingin menambahkan layanan untuk Rtmp pelabuhan 1935, Pertama buat salinan salah satu layanan.

# CD/etc/firewalld/services/ # cp/usr/lib/firewalld/services/ssh.xml/etc/firewalld/layanan/ 

Dan kemudian, navigasikan ke lokasi di mana file layanan kami disalin, selanjutnya ganti nama file 'ssh.xml' ke 'rtmp.xml'Seperti yang ditunjukkan pada gambar di bawah ini.

# CD/etc/firewalld/services/ # mv ssh.XML RTMP.xml # ls -l rtmp.xml 
Buat Layanan di Firewalld

11. Selanjutnya buka dan edit file sebagai Menuju, Keterangan, Protokol, Dan Pelabuhan nomor, yang perlu kita gunakan untuk Rtmp Layanan seperti yang ditunjukkan pada gambar di bawah ini.

Konfigurasikan layanan firewalld

12. Untuk membuat perubahan ini diaktifkan, restart layanan firewalld, atau muat ulang pengaturan.

# firewall-cmd --eload 

13. Untuk mengonfirmasi, apakah suatu layanan ditambahkan atau tidak, jalankan perintah di bawah ini untuk mendapatkan daftar layanan yang tersedia.

# firewall-cmd --get-services 
Konfirmasi layanan tambahan di firewall

Langkah 5: Menetapkan Layanan ke Zona Firewalld

14. Di sini kita akan melihat cara mengelola firewall menggunakan perintah firewall-cmd. Untuk mengetahui keadaan firewall saat ini dan semua zona aktif, ketik perintah berikut.

# firewall-cmd --state # firewall-cmd --get-active-zones 
Periksa status firewalld

15. Untuk mendapatkan zona publik untuk antarmuka ENP0S3, Ini adalah antarmuka default, yang didefinisikan /etc/firewalld/firewalld.conf file sebagai Defaultzone = publik.

Untuk mencantumkan semua layanan yang tersedia di zona antarmuka default ini.

# firewall-cmd --get-service 
Daftar layanan firewalld

Langkah 6: Menambahkan Layanan ke Zona Firewalld

16. Dalam contoh di atas, kami telah melihat cara membuat layanan kami sendiri dengan membuat rtmp layanan, di sini kita akan melihat cara menambahkan rtmp Layanan ke zona juga.

# firewall-cmd --add-service = rtmp 

17. Untuk menghapus zona tambahan, ketik.

# firewall-cmd --zone = publik--remove-service = rtmp 

Langkah di atas hanya periode sementara. Untuk membuatnya permanen, kita perlu menjalankan perintah di bawah ini dengan opsi -permanen.

# firewall-cmd --add-service = rtmp --permanent # firewall-cmd-reload 

18. Tentukan aturan untuk rentang sumber jaringan dan buka salah satu port. Misalnya, jika Anda ingin membuka jajaran jaringan, katakanlah '192.168.0.0/24'dan port'1935'Gunakan perintah berikut.

# firewall-cmd --permanent --add-source = 192.168.0.0/24 # firewall-cmd --permanent --add-port = 1935/tcp 

Pastikan untuk memuat ulang layanan firewalld setelah menambahkan atau menghapus layanan atau port apa pun.

# firewall-cmd --eload # firewall-cmd --list-all 
Tambahkan layanan ke firewalld

Langkah 7: Menambahkan aturan kaya firewalld untuk jangkauan jaringan

19. Jika saya ingin mengizinkan layanan seperti HTTP, HTTPS, VNC-Server, dan PostgreSQL, saya menggunakan aturan berikut. Pertama, tambahkan aturannya dan buatlah permanen dan muat ulang aturannya dan periksa statusnya.

# firewall-cmd --add-rich-rule 'aturan family = "ipv4" source address = "192.168.0.0/24 "Nama Layanan =" http "terima ' # firewall-cmd --add-rich-rule' aturan family =" ipv4 "alamat sumber =" 192.168.0.0/24 "Nama Layanan =" http "terima '--permanent # firewall-cmd --add-rich-rule' aturan family =" ipv4 "sumber alamat =" 192.168.0.0/24 "Nama Layanan =" https "terima ' # firewall-cmd --add-rich-rule' aturan family =" ipv4 "source address =" 192.168.0.0/24 "Nama Layanan =" https "terima '--permanent # firewall-cmd --add-rich-rule' aturan family =" ipv4 "source address =" 192.168.0.0/24 "Nama Layanan =" VNC-Server "Accept ' # Firewall-CMD --ADD-Rich-Rule' Rule Family =" IPv4 "Sumber Address =" 192.168.0.0/24 "Nama Layanan =" VNC-Server "Accept '--PerManent # firewall-cmd --add-rich-rule' aturan family =" ipv4 "sumber alamat =" 192.168.0.0/24 "Nama Layanan =" PostgreSQL "Accept ' # Firewall-CMD --Add-Rich-Rule' Rule Family =" IPv4 "Sumber Address =" 192.168.0.0/24 "Nama Layanan =" PostgreSQL "Accept '--PerManent 

Sekarang, rentang jaringan 192.168.0.0/24 dapat menggunakan layanan di atas dari server saya. Pilihan -permanen dapat digunakan di setiap aturan, tetapi kami harus menentukan aturan dan memeriksa dengan akses klien setelah itu kami harus membuatnya permanen.

20. Setelah menambahkan aturan di atas, jangan lupa untuk memuat ulang aturan firewall dan daftar aturan menggunakan:

# firewall-cmd --eload # firewall-cmd --list-all 
Cantumkan semua aturan aktif firewalld

Untuk mengetahui lebih banyak tentang firewalld.

# Man Firewalld 

Itu saja, kita telah melihat cara mengatur a Net-filter menggunakan Firewalld dalam distribusi berbasis RHEL seperti Fedora, Linux Rocky, Aliran centos, Almalinux, Dan OpenSuse.

Kesimpulan

Net-filter adalah kerangka kerja untuk firewall untuk setiap distribusi Linux. Kembali ke setiap RHEL Dan Centos Edisi, kami menggunakan ptable Tetapi dalam versi yang lebih baru, mereka telah memperkenalkan Firewalld. Lebih mudah untuk dipahami dan menggunakan firewalld. Semoga Anda menikmati tulisannya.