GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Mengonfigurasi FirewallD di RHEL, CentOS dan Fedora

Filter bersih seperti yang kita semua tahu itu adalah firewall di Linux. Firewall adalah daemon dinamis untuk mengelola firewall dengan dukungan untuk zona jaringan. Di versi sebelumnya, RHEL &CentOS 6 kami telah menggunakan iptables sebagai daemon untuk kerangka pemfilteran paket. Di RHEL /CentOS 7/8 dan Fedora iptables antarmuka sedang digantikan oleh firewall .

Disarankan untuk mulai menggunakan Firewalld bukannya iptables karena ini dapat berhenti di masa depan. Namun, iptables masih didukung dan dapat diinstal dengan perintah yum. Kami tidak dapat menyimpan Firewalld dan iptables keduanya dalam sistem yang sama yang dapat menyebabkan konflik.

Di iptables , kami biasa mengonfigurasi sebagai INPUT, OUTPUT &FORWARD CHAINS tapi di sini di Firewall , konsepnya menggunakan Zona . Secara default, ada zona berbeda yang tersedia di firewalld, yang akan dibahas dalam artikel ini.

Zona dasar yang seperti zona publik dan zona pribadi . Untuk menyelesaikan masalah 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 hadir dengan layanan yang telah ditentukan sebelumnya dan kami dapat mengambil layanan ini sebagai contoh untuk menambahkan layanan kami hanya dengan menyalinnya.

Firewall bekerja sangat baik dengan IPv4 , IPv6, dan jembatan Ethernet juga. Kita dapat memiliki run-time dan konfigurasi permanen yang terpisah di firewalld.

Mari kita mulai tentang cara bekerja dengan zona dan membuat layanan kita sendiri dan penggunaan firewalld yang lebih menarik.

Lingkungan Pengujian Kami
Operating System :	CentOS Linux release 7.0.1406 (Core)
IP Address       :	192.168.0.55
Host-name	:	server1.tecmintlocal.com

Langkah 1:Menginstal Firewalld di CentOS

1. Firewall paket diinstal secara default di RHEL/CentOS 7/8 dan Fedora . Jika tidak, Anda dapat menginstalnya menggunakan perintah yum berikut.

# yum install firewalld -y

2. Setelah firewall paket telah diinstal, saatnya untuk memverifikasi apakah iptables service sedang berjalan atau tidak, jika berjalan, Anda harus menghentikan dan menutupi (tidak menggunakan lagi) layanan iptables dengan perintah di bawah ini.

# systemctl status iptables
# systemctl stop iptables
# systemctl mask iptables

Langkah 2:Membahas Komponen Firewalld

3. Sebelum menuju ke konfigurasi firewalld, saya ingin membahas masing-masing zona. Secara default, ada beberapa zona yang tersedia. Kita perlu menetapkan antarmuka ke zona. Sebuah zona mendefinisikan bahwa zona yang dipercaya atau ditolak tingkat ke antarmuka untuk mendapatkan koneksi. Sebuah zona dapat berisi layanan &port.

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

  • Zona Jatuh :Setiap paket yang masuk akan di-drop jika kita menggunakan zona drop ini. Ini sama seperti yang kita gunakan untuk menambahkan iptables -j drop . Jika kita menggunakan aturan drop, berarti tidak ada balasan, hanya koneksi jaringan keluar yang tersedia.
  • Blokir Zona :Blok zona akan menolak koneksi jaringan yang masuk ditolak dengan icmp-host-dilarang. Hanya koneksi yang dibuat di dalam server yang akan diizinkan.
  • Zona Publik :Untuk menerima koneksi yang dipilih, kita dapat menentukan aturan di zona publik. Ini hanya akan memungkinkan port tertentu untuk dibuka di server kami, koneksi lain akan terputus.
  • Zona Eksternal :Zona ini akan bertindak sebagai opsi router dengan penyamaran diaktifkan, koneksi lain akan dihentikan dan tidak akan diterima, hanya koneksi tertentu yang diizinkan.
  • Zona DMZ :Jika kami perlu mengizinkan akses ke beberapa layanan kepada publik, Anda dapat menentukannya di zona DMZ. Ini juga memiliki fitur hanya koneksi masuk terpilih yang diterima.
  • Zona Kerja:Di zona ini, kita hanya dapat menentukan jaringan internal, yaitu lalu lintas jaringan pribadi yang diizinkan.
  • Zona Rumah :Zona ini khusus digunakan di area rumah, kita dapat menggunakan zona ini untuk mempercayai komputer lain di jaringan untuk tidak membahayakan komputer Anda seperti setiap zona. Ini juga hanya mengizinkan koneksi masuk yang dipilih.
  • Zona Internal :Yang ini mirip dengan zona kerja dengan koneksi yang diizinkan.
  • Zona Tepercaya :Jika kami menetapkan zona tepercaya, semua lalu lintas diterima.

Sekarang Anda sudah mendapatkan ide yang lebih baik tentang zona, sekarang mari kita cari tahu zona yang tersedia, zona default, dan daftar semua zona menggunakan perintah berikut.

Mencantumkan Zona Firewalld

# firewall-cmd --get-zones

Mencantumkan Zona Default Firewalld

# firewall-cmd --get-default-zone

Mencantumkan Semua Zona Firewalld

# firewall-cmd --list-all-zones

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 kerja. Jika zona memiliki rich-rules, layanan atau port yang diaktifkan juga akan dicantumkan dengan informasi zona tersebut.

Langkah 3:Mengatur Zona Firewalld Default

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

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

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

# firewall-cmd --get-default-zone

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

# firewall-cmd --get-zone-of-interface=enp0s3

7. Fitur lain yang menarik dari firewalld adalah ‘icmptype ' adalah salah satu jenis icmp yang didukung oleh firewalld. Untuk mendapatkan daftar jenis icmp yang didukung, kita dapat menggunakan perintah di bawah ini.

# firewall-cmd --get-icmptypes

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 Firewall layanan aktif dan berjalan.

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

# firewall-cmd --get-services

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

# cd /usr/lib/firewalld/services/

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 dari salah satu layanan.

# cd /etc/firewalld/services/
# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/

Dan kemudian, arahkan 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/

11. Selanjutnya buka dan edit file sebagai Heading, Description, Protocol, dan Port number , yang perlu kita gunakan untuk layanan RTMP seperti yang ditunjukkan pada gambar di bawah ini.

12. Untuk mengaktifkan perubahan ini, mulai ulang layanan firewalld atau muat ulang pengaturan.

# firewall-cmd --reload

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

# firewall-cmd --get-services

Langkah 5:Menetapkan Layanan ke Zona Firewalld

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

# firewall-cmd --state
# firewall-cmd --get-active-zones

15. Untuk mendapatkan zona publik untuk antarmuka enp0s3 , ini adalah antarmuka default, yang didefinisikan di /etc/firewalld/firewalld.conf file sebagai DefaultZone=public .

Untuk membuat daftar semua layanan yang tersedia di zona antarmuka default ini.

# firewall-cmd --get-service

Langkah 6:Menambahkan Layanan ke Firewalld Zones

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

# firewall-cmd --add-service=rtmp

17. Untuk menghapus zona yang ditambahkan, ketik.

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

Langkah di atas hanya bersifat sementara. Untuk membuatnya permanen kita perlu menjalankan perintah di bawah ini dengan opsi –permanen .

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

18. Tetapkan aturan untuk rentang sumber jaringan dan buka salah satu port. Misalnya, jika Anda ingin membuka jangkauan jaringan, ucapkan ‘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 --reload 
# firewall-cmd --list-all

Langkah 7:Menambahkan Aturan Kaya untuk Rentang Jaringan

19. Jika saya ingin mengizinkan layanan seperti http, https, vnc-server, PostgreSQL, Anda menggunakan aturan berikut. Pertama, tambahkan aturan dan jadikan permanen dan muat ulang aturan dan periksa statusnya.

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' 
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept' --permanent

Sekarang, rentang Jaringan 192.168.0.0/24 dapat menggunakan layanan di atas dari server saya. Opsi –permanen dapat digunakan di setiap aturan, tetapi kita harus mendefinisikan aturan dan memeriksa dengan akses klien setelah itu kita harus membuatnya permanen.

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

# firewall-cmd --reload
# firewall-cmd --list-all

Untuk mengetahui lebih banyak tentang Firewalld.

# man firewalld

Itu saja, kita telah melihat cara menyiapkan filter bersih menggunakan Firewalld di RHEL/CentOS dan Fedora .

Kesimpulan

Net-filter adalah kerangka kerja untuk firewall untuk setiap distribusi Linux. Kembali di setiap RHEL dan CentOS edisi, kami menggunakan iptables tetapi dalam versi yang lebih baru, mereka telah memperkenalkan Firewalld . Lebih mudah untuk memahami dan menggunakan firewalld. Semoga Anda menikmati tulisan ini.


Cent OS
  1. Cara Menginstal dan Mengonfigurasi Fail2Ban di CentOS 8 dan Fedora 33

  2. Cara Menginstal Python 3.5 di CentOS/RHEL dan Fedora

  3. CentOS / RHEL 7 :Cara menginstal dan mengkonfigurasi telnet

  1. Cara menginstal, mengkonfigurasi, dan menjalankan WordPress 3.8 di RHEL/CentOS/Fedora

  2. Cara menginstal dan mengkonfigurasi Samba di CentOS / RHEL

  3. Cara Mengkonfigurasi Firewalld Logging di CentOS/RHEL 8

  1. Cara menginstal dan mengkonfigurasi R pada Sistem Linux RHEL 8 / CentOS 8

  2. Cara menginstal dan mengkonfigurasi samba di RHEL 8 / CentOS 8

  3. Cara Mengonfigurasi Proksi di CentOS/RHEL/Fedora