Bagaimana Memulai Dengan firewalld di Linux

Diterbitkan: 2022-07-08
Layar laptop menunjukkan baris perintah Linux.
fatmawati achmad zaenuri/Shutterstock.com

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.

Apa yang Sebenarnya Dilakukan Firewall?
TERKAIT Apa yang Sebenarnya Dilakukan Firewall?

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 

Menginstal firewalld di Ubuntu

 sudo apt install firewall-config 

Menginstal konfigurasi firewall di Ubuntu

Di Fedora, firewalld sudah diinstal. Kita hanya perlu menambahkan firewall-config .

sudo dnf install firewall-config

Menginstal konfigurasi firewall di Fedora

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 

Menginstal firewalld dan firewall-config dengan satu perintah di Manjaro

Kita perlu mengaktifkan daemon firewalld untuk mengizinkannya berjalan setiap kali komputer boot.

 sudo systemctl aktifkan firewalld 

Mengaktifkan firewalld untuk memulai otomatis saat boot

Dan kita perlu memulai daemon agar berjalan sekarang.

 sudo systemctl start firewalld 

Memulai daemon firewalld

Kita dapat menggunakan systemctl untuk memeriksa apakah firewalld telah dimulai dan berjalan tanpa masalah:

 sudo systemctl status firewalld 

Memeriksa status firewalld dengan systemctl

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 

Memeriksa status firewalld dengan perintah firewall-cmd

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 

Menemukan zona firewalld default

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 

Mencantumkan detail zona publik

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 

Zona dengan dua antarmuka di dalamnya

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 

Daftar semua zona firewalld

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 

Mencantumkan detail semua zona

Ini berguna karena Anda dapat menggulir daftar, atau menggunakan fasilitas pencarian untuk mencari nomor port, protokol, dan layanan.

Detail semua zona ditampilkan dalam waktu kurang

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 

Menambahkan antarmuka jaringan ke zona rumah

Mari kita lihat zona rumah, dan lihat apakah perubahan kita telah dilakukan.

 sudo firewall-cmd --zone=home --list-all 

Zona rumah dengan antarmuka jaringan ditambahkan

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 

Memuat ulang konfigurasi firewall

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 

Daftar layanan yang dapat dirujuk oleh firewalld berdasarkan nama

Versi firewalld kami mencantumkan 192 layanan. Untuk mengaktifkan layanan di zona, gunakan opsi --add-service .

Daftar layanan yang diakui

Kita dapat menambahkan layanan ke zona menggunakan opsi --add-service .

 sudo firewall-cmd --zone=public --add-service=http 

Menambahkan layanan HTTP ke zona

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 

Menambahkan port dan pasangan protokol ke zona

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

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.

Menambahkan port dan pasangan protokol menggunakan GUI konfigurasi firewall

Untuk menambahkan protokol, klik "Protokol", klik tombol "Tambah", dan pilih protokol dari menu pop-up.

Protokol di zona publik, di GUI konfigurasi firewall

Untuk memindahkan antarmuka dari satu zona ke zona lainnya, klik dua kali antarmuka di daftar "Koneksi", lalu pilih zona dari menu pop-up.

Memindahkan antarmuka jaringan dari satu zona ke zona lain di GUI konfigurasi firewall

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.