Pendahuluan
Menonaktifkan firewall di CentOS terkadang diperlukan untuk tujuan pengujian. Untuk alasan keamanan, menjalankan firewall pada server produksi adalah suatu keharusan. Kami tidak dapat cukup menekankan pentingnya alat manajemen firewall yang dikonfigurasi dengan benar.
Dalam tutorial ini, pelajari cara mengaktifkan dan menggunakan firewalld di CentOS 7.
Prasyarat
- Pengguna dengan hak istimewa sudo
- Akses ke baris perintah (Ctrl-Alt-T)
- Mesin CentOS 7
Cara Memeriksa Status firewalld
Mulailah dengan mem-boot server CentOS 7 Anda dan memeriksa apakah firewalld sedang berjalan. Untuk melakukannya, buka terminal (CTRL-ALT-T) dan jalankan perintah berikut:
sudo systemctl status firewalld
Ada beberapa keluaran yang mungkin Anda terima.
Aktif:aktif (berjalan)
Jika outputnya berbunyi Active: active (running)
, firewallnya aktif. Jika Anda tidak yakin apakah pengelola firewall memulai setelah sistem di-boot ulang, pertimbangkan untuk mengeluarkan perintah berikut:
sudo systemctl enable firewalld
Perintah itu mengonfigurasi sistem untuk memulai firewall setelah setiap server reboot.
Aktif:tidak aktif (mati)
Jika output membaca Active: inactive (dead)
, firewall tidak berjalan. Lanjutkan ke Cara Mengaktifkan dan Memulai firewalld bagian artikel.
Dimuat:bertopeng (/dev/null; buruk)
Output mungkin menunjukkan bahwa layanan tidak aktif dan tertutup. Lihat gambar di bawah untuk detail lebih lanjut.
Di sini, layanan firewalld ditutupi dengan symlink. Admin dapat menutupi layanan sehingga paket perangkat lunak lain tidak akan mengaktifkannya secara otomatis. Anda HARUS buka kedok layanan sebelum mengaktifkannya.
Untuk membuka kedok layanan firewalld, jalankan perintah berikut:
sudo systemctl unmask --now firewalld
Outputnya harus menunjukkan bahwa symlink telah dihapus.
Sekarang Anda dapat melanjutkan ke Cara Mengaktifkan dan Memulai firewalld bagian artikel.
Cara Mengaktifkan dan Memulai firewalld
Untuk mengaktifkan firewall di CentOS 7, jalankan perintah berikut sebagai sudo:
sudo systemctl enable firewalld
Setelah mengaktifkan firewall, mulai layanan firewalld:
sudo systemctl start firewalld
Ketika sistem menjalankan perintah, tidak ada output. Oleh karena itu, adalah bijaksana untuk memverifikasi apakah firewall telah berhasil diaktifkan.
Periksa status firewall dengan:
sudo systemctl status firewalld
Outputnya harus menunjukkan bahwa firewalld aktif dan berjalan.
Zona Firewall
Firewalld menetapkan 'zona' dan mengkategorikan semua lalu lintas masuk ke dalam zona tersebut. Setiap zona jaringan memiliki seperangkat aturannya sendiri berdasarkan mana ia menerima atau menolak lalu lintas masuk.
Dengan kata lain, zona mengatur paket mana yang diizinkan dan mana yang ditolak untuk berfungsi. Pendekatan ini memberikan lebih banyak fleksibilitas dibandingkan dengan iptables karena Anda dapat mengatur zona berbeda untuk jaringan tertentu yang terhubung dengan perangkat Anda.
Untuk melihat daftar lengkap semua zona yang tersedia, ketik:
sudo firewall-cmd --get-zones
Untuk pemasangan baru, kemungkinan besar Anda akan mendapatkan hasil berikut:
Output
block dmz drop external home internal public trusted work
Itu adalah zona yang telah dikonfigurasi sebelumnya. Untuk memverifikasi zona mana yang ditetapkan sebagai default, jalankan perintah berikut:
sudo firewall-cmd --get-default-zone
Firewalld telah menyediakan daftar semua zona yang telah dikonfigurasi sebelumnya dan deskripsi zona. Daftar di bawah ini diurutkan berdasarkan tingkat kepercayaan, dari yang paling tidak dipercaya hingga yang paling dipercaya.
drop
:Tingkat kepercayaan terendah. Semua koneksi masuk terputus tanpa balasan, dan hanya koneksi keluar yang dimungkinkan.
block
:Mirip dengan yang di atas, tetapi alih-alih hanya memutuskan koneksi, permintaan yang masuk ditolak dengan pesan icmp-host-prohibited atau icmp6-adm-prohibited.
public
:Mewakili jaringan publik yang tidak tepercaya. Anda tidak mempercayai komputer lain tetapi dapat mengizinkan koneksi masuk yang dipilih berdasarkan kasus per kasus.
external
:Jaringan eksternal jika Anda menggunakan firewall sebagai gerbang Anda. Ini dikonfigurasi untuk penyamaran NAT sehingga jaringan internal Anda tetap pribadi tetapi dapat dijangkau.
internal
:Sisi lain dari zona eksternal, digunakan untuk bagian internal gateway. Komputernya cukup dapat dipercaya, dan beberapa layanan tambahan tersedia.
dmz
:Digunakan untuk komputer yang terletak di DMZ (komputer terisolasi yang tidak akan memiliki akses ke seluruh jaringan Anda). Hanya koneksi masuk tertentu yang diizinkan.
work
:Digunakan untuk mesin kerja. Mempercayai sebagian besar komputer dalam jaringan. Beberapa layanan lagi mungkin diizinkan.
home
:Lingkungan rumah. Ini biasanya menyiratkan bahwa Anda memercayai sebagian besar komputer lain dan bahwa beberapa layanan lagi akan diterima.
trusted
:Percayai semua mesin di jaringan. Opsi yang paling terbuka dari yang tersedia dan harus digunakan dengan hemat.
Verifikasi Zona Firewall Aktif
Untuk memverifikasi zona mana yang aktif, ketik:
sudo firewall-cmd --get-active-zones
Output menunjukkan zona aktif serta antarmuka jaringan yang diatur olehnya. Jika Anda tidak mengonfigurasinya, zona default adalah satu-satunya zona aktif.
Aturan Zona Firewall
Untuk melihat aturan mana yang terkait dengan zona default, jalankan perintah berikut:
sudo firewall-cmd --list-all
Mari kita pertimbangkan semua elemen yang terdaftar dan definisikan:
target:
Default menunjukkan bahwa zona tersebut adalah zona default. Ini juga dapat menunjukkan bahwa suatu zona aktif. Pada contoh di atas, zona publik tidak aktif, karena tidak memiliki antarmuka jaringan yang terkait dengannya.
icmp-block-inversion:
Ini adalah elemen opsional yang membalikkan penanganan icmp-block.
interfaces
:Semua antarmuka jaringan diatur oleh zona ini.
sources
:Sumber untuk zona ini (alamat IP).
services
:Menampilkan layanan yang diizinkan. Pada contoh di atas, ini adalah ssh dhcpv6-client. Untuk daftar lengkap layanan yang tersedia melalui firewalld, jalankan firewall-cmd --get-services
perintah.
ports
:Daftar port yang diizinkan melalui firewall. Ini sangat berguna untuk mengizinkan layanan yang tidak ditentukan dalam firewalld.
masquerade
:Jika tidak ada, penyamaran IP dinonaktifkan. Saat diaktifkan, ini memungkinkan penerusan IP. Ini secara efektif berarti bahwa server Anda akan bertindak sebagai router.
forward-ports
:Menampilkan daftar semua port yang diteruskan.
source-ports
:Mencantumkan semua port sumber dan protokol yang terkait dengan zona ini.
icmp-blocks
:Menampilkan lalu lintas icmp yang diblokir.
rich rules
:Daftar semua aturan lanjutan yang terkait dengan zona.
Untuk mendapatkan daftar aturan yang terkait dengan zona tertentu, tambahkan --zone=
parameter ke --list-all
memerintah. Misalnya,
sudo firewall-cmd --zone=work --list-all
Perintah di atas akan menghasilkan daftar aturan yang terkait dengan pekerjaan zona.
Cara Mengubah Zona Antarmuka
Sangat mudah untuk menetapkan kembali zona lain ke antarmuka jaringan. Gunakan --zone
tandai untuk menentukan zona, lalu tambahkan --change-interface
tandai untuk menentukan antarmuka jaringan.
sudo firewall-cmd --zone=home --change-interface=eth1
Verifikasi apakah perubahan diterapkan:
firewall-cmd --get-active-zones
Firewalld seharusnya menerapkan zona asal pada semua lalu lintas yang datang melalui eth1
antarmuka jaringan.
Peringatan :Saat mengubah zona antarmuka, Anda dapat memengaruhi status layanan aktif. Misalnya, jika Anda bekerja melalui SSH dan memindahkan antarmuka jaringan ke zona yang tidak mendukung layanan SSH, koneksi Anda mungkin terputus. Selanjutnya, Anda tidak akan bisa login.
Ubah Default Firewalld Zone
Anda dapat dengan mudah mengubah zona default. Gunakan --set-default-zone
bendera untuk menunjukkan zona mana yang ingin Anda tetapkan sebagai zona default. Pada contoh di bawah, kami akan menetapkan zona kerja sebagai zona default.
sudo firewall-cmd --set-default-zone=work
Setelah mengubah zona default, Anda akan menerima output yang menunjukkan bahwa perubahan itu berhasil. Untuk lebih jelasnya, lihat gambar di atas.
Anda juga dapat memverifikasi modifikasi dengan menjalankan perintah ini:
sudo firewall-cmd --get-default-zone
Outputnya akan menampilkan bahwa zona kerja memang merupakan zona default.