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-prohibiteddikirim 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.

