Dunia kita tidak pernah lebih terhubung daripada sekarang. Setiap orang, bisnis, pemerintah, dll. menggunakan web untuk berkomunikasi, bertukar mata uang dan data, dan umumnya menjalani kehidupan dan operasi sehari-hari. Namun, koneksi ini pada dasarnya tidak aman, dan karena itu, kita harus menerapkan langkah-langkah defensif untuk menjaga lokasi, informasi, dan uang kita terlindungi. Di masa lalu, ketika seseorang ingin mengamankan harta mereka, mereka mendirikan gerbang dan pagar untuk menjaga jarak dari penyusup. Hari ini, kami mencapai tujuan yang sama dengan menggunakan firewall. Sebagian besar sistem Linux menggunakan iptables
utilitas, bagaimanapun, teknologi baru ada di cakrawala.
Dengan diperkenalkannya Red Hat Enterprise Linux 7.0 (RHEL) pada tahun 2011, iptables digantikan sebagai firewalld
lahir. Pada intinya, firewalld
adalah firewall berbasis zona. Firewall berbasis zona adalah sistem keamanan jaringan yang memantau lalu lintas dan mengambil tindakan berdasarkan seperangkat aturan yang ditetapkan yang diterapkan terhadap paket masuk/keluar.
Semua tentang zona
Firewalld
memberikan tingkat keamanan yang berbeda untuk zona koneksi yang berbeda. Sebuah zona dikaitkan dengan setidaknya satu antarmuka jaringan (eth0
, Misalnya). Kami melihat zona yang telah dikonfigurasi sebelumnya dengan menggunakan perintah berikut:
[tcarrigan@server ~]$ firewall-cmd --get-zones
block dmz drop external home internal libvirt public trusted work
Seperti yang Anda lihat, zona yang terdaftar secara default adalah:
- blokir
- dmz
- jatuhkan
- eksternal
- rumah
- internal
- libvirt
- publik
- tepercaya
- kerja
CATATAN:Saya menggunakan mesin virtual RHEL 8.2 untuk demo ini.
Umumnya, aturan default firewall adalah menolak semuanya dan hanya mengizinkan pengecualian tertentu untuk melewati layanan yang diperlukan.
Sering kali, akan sangat membantu untuk melihat layanan apa yang terkait dengan zona tertentu. Untuk menampilkan informasi ini, gunakan perintah berikut:
firewall-cmd --list-all
Perhatikan bahwa jika Anda tidak menentukan zona, zona default akan ditanyakan. Di sini, zona default adalah public
zona.
[tcarrigan@server ~]$ firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: cockpit dhcpv6-client mountd nfs rpc-bind ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Jika Anda ingin menentukan zona, Anda cukup menambahkan --zone=zonename
Misalnya, untuk melihat external
zona, gunakan yang berikut ini:
[tcarrigan@server ~]$ firewall-cmd --zone=external --list-all
external
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh
ports:
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Jika, karena alasan tertentu, Anda ingin mengubah zona default, Anda dapat melakukannya dengan mudah menggunakan perintah berikut:
firewall-cmd --set-default=zonename
Izinkan dan tolak melalui layanan
Sekarang, hal yang baik tentang firewall adalah mereka menjaga jaringan kita tetap aman. Hal buruknya adalah tidak ada firewall "satu ukuran untuk semua" yang cocok untuk setiap situasi. Karena itu, firewall dikustomisasi agar sesuai dengan kebutuhan yang tepat dari situasi tempat mereka digunakan. Misalnya, jika saya perlu mengizinkan transfer FTP (File Transfer Protocol) di external
zona sehingga saya dapat memindahkan file melalui port 21, saya mungkin menggunakan sesuatu seperti ini:
firewall-cmd --zone=external --add-service=ftp
Berikut adalah contoh aktual dari VM saya:
[tcarrigan@server ~]$ sudo firewall-cmd --zone=external --add-service=ftp
[sudo] password for tcarrigan:
success
Kami melihat bahwa daemon mengembalikan sukses , jadi kami harus mengizinkan layanan FTP di external
daerah. Untuk memverifikasi ini, kita perlu memeriksa external
daftar layanan zona:
[tcarrigan@server ~]$ firewall-cmd --zone=external --list-services
ftp ssh
Namun, apa yang terjadi ketika kita memuat ulang konfigurasi firewall?
[tcarrigan@server ~]$ sudo firewall-cmd --reload
success
[tcarrigan@server ~]$ firewall-cmd --zone=external --list-all
external
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh
ports:
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
izinkan yang baru aturan tidak bertahan dari inisialisasi ulang firewalld
konfigurasi. Untuk memastikan bahwa aturan baru kita tetap ada, kita perlu menambahkan --permanent
pilihan. Perintah barunya adalah:
# firewall-cmd --permanent --zone=external --add-service=ftp
Setelah Anda menggunakan permanent
perintah, Anda perlu memuat ulang konfigurasi agar perubahan dapat diterapkan.
Untuk menghapus layanan, kami membuat satu perubahan kecil pada sintaks. Di sini, saya akan menghapus layanan FTP dari external
zona secara permanen:
[tcarrigan@server ~]$ sudo firewall-cmd --permanent --zone=external --remove-service=ftp
Warning: NOT_ENABLED: ftp
success
Kami melihat bahwa sistem memperingatkan saya bahwa FTP telah dinonaktifkan dan operasi berhasil.
Izinkan dan tolak melalui port
Sekarang, apa yang terjadi ketika Anda perlu mengizinkan lalu lintas melalui port non-standar? Bayangkan Anda memiliki layanan cadangan yang perlu dijalankan melalui port UDP khusus. Bagaimana Anda menambahkan pengecualian ini ke zona Anda? Sintaksnya sangat ramah pengguna dan hanya sedikit berbeda dari yang kami gunakan untuk layanan. Untuk menambahkan port ke konfigurasi zona Anda, gunakan yang berikut ini:
[tcarrigan@server ~]$ sudo firewall-cmd --permanent --zone=external --add-port=60001/udp
success
Kami memeriksa port yang diizinkan dengan perintah berikut:
[tcarrigan@server ~]$ sudo firewall-cmd --zone=external --list-ports
60001/udp
Dan untuk menghapus aturan port, Anda dapat menebaknya... cukup alihkan --add-port=x
ke --remove-port=x
[tcarrigan@server ~]$ sudo firewall-cmd --permanent --zone=external --remove-port=60001/udp
success
Apa selanjutnya?
Jika, setelah membaca artikel ini, Anda bertanya-tanya apa yang harus dilakukan dengan informasi tersebut, saya sangat menyarankan untuk mengaktifkan VM favorit Anda (RHEL, Fedora, CentOS, dll.) dan mulai bereksperimen dengan perintah di atas. Cara terbaik untuk belajar adalah mendapatkan pengalaman langsung. Jika menurut Anda konten ini menarik, awasi Aktifkan Sysadmin untuk bagian kedua, di mana Anda akan mendalami pembuatan zona khusus dan pembuatan aturan lebih lanjut.
[ Permudah manajemen jaringan. Lihat Otomatisasi jaringan untuk semua orang, buku gratis dari Red Hat. ]