Bagaimana Memulai Dengan firewalld di Linux
Diterbitkan: 2022-07-08 Jika Anda mencari firewall modern dan kuat untuk Linux yang mudah dikonfigurasi pada baris perintah atau dengan antarmuka GUI-nya, maka firewalld
mungkin yang Anda cari.
Kebutuhan akan Firewall
Koneksi jaringan memiliki asal dan tujuan. Perangkat lunak di asal meminta koneksi, dan perangkat lunak di tujuan menerima atau menolaknya. Jika diterima, paket data—biasanya disebut lalu lintas jaringan—bisa lewat dua arah melalui sambungan. Itu berlaku untuk apakah Anda berbagi di seluruh ruangan di rumah Anda sendiri, terhubung dari jarak jauh ke kantor dari kantor rumah Anda, atau menggunakan sumber daya berbasis cloud yang jauh.
Praktik keamanan yang baik mengatakan Anda harus membatasi dan mengontrol koneksi ke komputer Anda. Inilah yang dilakukan firewall. Mereka memfilter lalu lintas jaringan berdasarkan alamat IP, port, atau protokol, dan menolak koneksi yang tidak memenuhi serangkaian kriteria yang telah ditentukan sebelumnya— aturan firewall —yang telah Anda konfigurasikan. Mereka seperti petugas keamanan di sebuah acara eksklusif. Jika nama Anda tidak ada dalam daftar, Anda tidak akan masuk ke dalam.
Tentu saja, Anda tidak ingin aturan firewall Anda terlalu ketat sehingga aktivitas normal Anda dibatasi. Semakin sederhana untuk mengonfigurasi firewall Anda, semakin kecil kemungkinan Anda secara tidak sengaja mengatur aturan yang bertentangan atau kejam. Kita sering mendengar dari pengguna yang mengatakan mereka tidak menggunakan firewall karena terlalu rumit untuk dipahami, atau sintaks perintahnya terlalu buram.
firewalld
firewall sangat kuat namun mudah diatur, baik pada baris perintah maupun melalui aplikasi GUI khusus. Di bawah tenda, firewall Linux mengandalkan netfilter
, kerangka kerja penyaringan jaringan sisi kernel. Di sini, di wilayah pengguna, kami memiliki pilihan alat untuk berinteraksi dengan netfilter
, seperti iptables
, ufw
the uncomplicated firewall, dan firewalld
.
Menurut pendapat kami, firewalld
menawarkan keseimbangan fungsionalitas, granularitas, dan kesederhanaan terbaik.
Memasang firewalld
Ada dua bagian untuk firewalld
. Ada firewalld
, proses daemon yang menyediakan fungsionalitas firewall, dan ada firewall-config
. Ini adalah GUI opsional untuk firewalld
. Perhatikan bahwa tidak ada "d" di firewall-config
.
Menginstal firewalld
di Ubuntu, Fedora, dan Manjaro sangat mudah dalam semua kasus, meskipun masing-masing memiliki pendapat sendiri tentang apa yang sudah diinstal sebelumnya dan apa yang dibundel.
Untuk menginstal di Ubuntu, kita perlu menginstal firewalld
dan firewall-config
.
sudo apt install firewalld
sudo apt install firewall-config
Di Fedora, firewalld
sudah diinstal. Kita hanya perlu menambahkan firewall-config
.
sudo dnf install firewall-config
Di Manjaro, tidak ada komponen yang diinstal sebelumnya, tetapi mereka digabungkan ke dalam satu paket sehingga kami dapat menginstal keduanya dengan satu perintah.
sudo pacman -Sy firewalld
Kita perlu mengaktifkan daemon firewalld
untuk mengizinkannya berjalan setiap kali komputer boot.
sudo systemctl aktifkan firewalld
Dan kita perlu memulai daemon agar berjalan sekarang.
sudo systemctl start firewalld
Kita dapat menggunakan systemctl
untuk memeriksa apakah firewalld
telah dimulai dan berjalan tanpa masalah:
sudo systemctl status firewalld
Kami juga dapat menggunakan firewalld
untuk memeriksa apakah itu berjalan. Ini menggunakan perintah firewall-cmd
dengan opsi --state
. Perhatikan tidak ada "d" di firewall-cmd
:
sudo firewall-cmd --state
Sekarang kita telah menginstal dan menjalankan firewall, kita dapat melanjutkan untuk mengonfigurasinya.
Konsep Zona
firewalld
firewall berbasis di sekitar zona . Zona adalah kumpulan aturan firewall dan koneksi jaringan terkait. Ini memungkinkan Anda menyesuaikan zona yang berbeda—dan serangkaian batasan keamanan yang berbeda—yang dapat Anda operasikan. Misalnya, Anda mungkin memiliki zona yang ditentukan untuk lari reguler setiap hari, zona lain untuk lari yang lebih aman, dan zona penguncian lengkap "tidak ada apa-apa, tidak ada apa-apa".
Untuk berpindah dari satu zona ke zona lain, dan secara efektif dari satu tingkat keamanan ke yang lain, Anda memindahkan koneksi jaringan Anda dari zona itu, ke zona yang ingin Anda jalankan.
Ini membuatnya sangat cepat untuk memindahkan satu dari satu set aturan firewall yang ditentukan ke yang lain. Cara lain untuk menggunakan zona adalah dengan membuat laptop Anda menggunakan satu zona saat Anda di rumah dan zona lainnya saat Anda keluar dan menggunakan Wi-Fi publik.
firewalld
hadir dengan sembilan zona pra-konfigurasi. Ini dapat diedit dan lebih banyak zona ditambahkan atau dihapus.
- drop : Semua paket yang masuk akan di-drop. Lalu lintas keluar diperbolehkan. Ini adalah pengaturan yang paling paranoid.
- block : Semua paket yang masuk dibuang dan pesan
icmp-host-prohibited
dikirim ke originator. Lalu lintas keluar diperbolehkan. - tepercaya : Semua koneksi jaringan diterima dan sistem lain dipercaya. Ini adalah pengaturan yang paling tepercaya dan harus dibatasi pada lingkungan yang sangat aman seperti jaringan uji tawanan atau rumah Anda.
- publik : Zona ini untuk digunakan pada jaringan publik atau jaringan lain di mana tidak ada komputer lain yang dapat dipercaya. Sejumlah kecil permintaan koneksi umum dan biasanya aman diterima.
- eksternal : Zona ini untuk digunakan pada jaringan eksternal dengan penyamaran NAT (penerusan port) diaktifkan. Firewall Anda bertindak sebagai router yang meneruskan lalu lintas ke jaringan pribadi Anda yang tetap dapat dijangkau, tetapi tetap pribadi.
- internal : Zona ini dimaksudkan untuk digunakan pada jaringan internal ketika sistem Anda bertindak sebagai gateway atau router. Sistem lain di jaringan ini umumnya tepercaya.
- dmz : Zona ini untuk komputer yang terletak di "zona demiliterisasi" di luar pertahanan perimeter Anda dan dengan akses terbatas kembali ke jaringan Anda.
- kerja : Zona ini untuk mesin kerja. Komputer lain di jaringan ini umumnya tepercaya.
- home : Zona ini untuk mesin rumahan. Komputer lain di jaringan ini umumnya tepercaya.
Zona rumah, kantor, dan internal memiliki fungsi yang sangat mirip, tetapi memisahkannya menjadi zona yang berbeda memungkinkan Anda untuk menyempurnakan zona sesuai keinginan Anda, merangkum satu set aturan untuk skenario tertentu.
Titik awal yang baik adalah mencari tahu apa zona default itu. Ini adalah zona tempat antarmuka jaringan Anda ditambahkan saat firewalld
diinstal.
sudo firewall-cmd --get-default-zone
Zona default kami adalah zona publik. Untuk melihat detail konfigurasi zona, gunakan opsi --list-all
. Ini mencantumkan apa pun yang telah ditambahkan atau diaktifkan untuk suatu zona.
sudo firewall-cmd --zone=public --list-all
Kita dapat melihat bahwa zona ini terkait dengan koneksi jaringan enp0s3, dan mengizinkan lalu lintas yang terkait dengan DHCP, mDNS, dan SSH. Karena setidaknya satu antarmuka telah ditambahkan ke zona ini, zona ini aktif.
firewalld
memungkinkan Anda untuk menambahkan layanan yang Anda inginkan untuk menerima lalu lintas dari suatu zona. Zona itu kemudian memungkinkan jenis lalu lintas itu lewat. Ini lebih mudah daripada mengingat bahwa mDNS, misalnya, menggunakan port 5353 dan protokol UDP, dan secara manual menambahkan detail tersebut ke zona. Meskipun Anda juga bisa melakukannya.
Jika kita menjalankan perintah sebelumnya pada laptop dengan koneksi ethernet dan kartu Wi-Fi, kita akan melihat sesuatu yang serupa, tetapi dengan dua antarmuka.
sudo firewall-cmd --zone=public --list-all
Kedua antarmuka jaringan kami telah ditambahkan ke zona default. Zona memiliki aturan untuk tiga layanan yang sama seperti contoh pertama, tetapi DHCP dan SSH telah ditambahkan sebagai layanan bernama, sementara mDNS telah ditambahkan sebagai pasangan port dan protokol.
Untuk membuat daftar semua zona, gunakan opsi --get-zones
.
sudo firewall-cmd --get-zones
Untuk melihat konfigurasi semua zona sekaligus, gunakan opsi --list-all-zones
. Anda ingin menyalurkan ini ke less
.
sudo firewall-cmd --list-all-zones | lebih sedikit
Ini berguna karena Anda dapat menggulir daftar, atau menggunakan fasilitas pencarian untuk mencari nomor port, protokol, dan layanan.
Di laptop kami, kami akan memindahkan koneksi Ethernet kami dari zona publik ke zona rumah. Kita dapat melakukannya dengan opsi --zone
dan --change --change-interface
.
sudo firewall-cmd --zone=home --change-interface=enp3s0
Mari kita lihat zona rumah, dan lihat apakah perubahan kita telah dilakukan.
sudo firewall-cmd --zone=home --list-all
Dan itu sudah. Koneksi Ethernet kami ditambahkan ke zona rumah.
Namun, ini bukan perubahan permanen. Kami telah mengubah konfigurasi firewall yang sedang berjalan , bukan konfigurasi yang tersimpan . Jika kita reboot atau menggunakan opsi --reload
, kita akan kembali ke pengaturan sebelumnya.
Untuk membuat perubahan permanen, kita perlu menggunakan opsi --permanent
bernama aptly.
Ini berarti kita dapat mengubah firewall untuk persyaratan satu kali tanpa mengubah konfigurasi penyimpanan firewall. Kami juga dapat menguji perubahan sebelum kami mengirimkannya ke konfigurasi. Untuk membuat perubahan kami permanen, format yang harus kami gunakan adalah:
sudo firewall-cmd --zone=home --change-interface=enp3s0 --permanent
Jika Anda membuat beberapa perubahan tetapi lupa menggunakan --permanent
pada beberapa di antaranya, Anda dapat menulis pengaturan sesi firewall yang sedang berjalan ke konfigurasi menggunakan opsi --runtime-to-permanent
.
sudo firewall-cmd --runtime-to-permanent
TERKAIT: Apa itu DHCP (Protokol Konfigurasi Host Dinamis)?
Menambah dan Menghapus Layanan
firewalld
tahu tentang banyak layanan. Anda dapat mencantumkannya menggunakan opsi --get-services
.
sudo firewall-cmd --get-services
Versi firewalld
kami mencantumkan 192 layanan. Untuk mengaktifkan layanan di zona, gunakan opsi --add-service
.
Kita dapat menambahkan layanan ke zona menggunakan opsi --add-service
.
sudo firewall-cmd --zone=public --add-service=http
Nama layanan harus sesuai dengan entrinya dalam daftar layanan dari firewalld
.
Untuk menghapus layanan, ganti --add-service
dengan --remove-service
Menambah dan Menghapus Port dan Protokol
Jika Anda lebih suka memilih port dan protokol mana yang ditambahkan, Anda juga dapat melakukannya. Anda harus mengetahui nomor port dan protokol untuk jenis lalu lintas yang Anda tambahkan.
Mari tambahkan lalu lintas HTTPS ke zona publik. Itu menggunakan port 443 dan merupakan bentuk lalu lintas TCP.
sudo firewall-cmd --zone=public --add-port=443/tcp
Anda dapat menyediakan berbagai port dengan menyediakan port pertama dan terakhir dengan tanda hubung “ -
” di antaranya, seperti “400-450.”
Untuk menghapus port, ganti --add-port
dengan --remove-port
.
TERKAIT: Apa Perbedaan Antara TCP dan UDP?
Menggunakan GUI
Tekan tombol "Super" Anda dan mulailah mengetik "firewall." Anda akan melihat ikon dinding bata untuk aplikasi firewall-config
.
Klik ikon itu untuk meluncurkan aplikasi.
Untuk menambahkan layanan ke firewalld
menggunakan GUI semudah memilih zona dari daftar zona dan memilih layanan dari daftar layanan.
Anda dapat memilih untuk mengubah sesi yang sedang berjalan atau konfigurasi permanen dengan memilih “Runtime” atau “Permanen” dari menu tarik-turun “Konfigurasi”.
Untuk membuat perubahan pada sesi yang sedang berjalan dan hanya melakukan perubahan setelah Anda mengujinya, setel menu "Konfigurasi" ke "Waktu Proses". Buat perubahan Anda. Setelah Anda senang mereka melakukan apa yang Anda inginkan, gunakan opsi menu Options > Runtime to Permanent.
Untuk menambahkan port dan entri protokol ke zona, pilih zona dari daftar zona, dan klik "Port." Mengklik tombol tambah memungkinkan Anda memberikan nomor port dan memilih protokol dari menu.
Untuk menambahkan protokol, klik "Protokol", klik tombol "Tambah", dan pilih protokol dari menu pop-up.
Untuk memindahkan antarmuka dari satu zona ke zona lainnya, klik dua kali antarmuka di daftar "Koneksi", lalu pilih zona dari menu pop-up.
Puncak Gunung Es
Ada banyak lagi yang dapat Anda lakukan dengan firewalld
, tetapi ini cukup untuk membuat Anda siap dan berjalan. Dengan informasi yang kami berikan kepada Anda, Anda akan dapat membuat aturan yang berarti di zona Anda.