Firewall
Firewall digunakan untuk mengontrol akses masuk dan keluar ke sistem dan jaringan lokal dengan tingkat trust (kepercayaan) yang diberikan pada lalu lintas di interface / alamat jaringan tertentu.
Apa itu firewall?
Firewall adalah sistem keamanan yang memantau dan mengontrol semua lalu lintas jaringan yang menetapkan aturan pada masuk dan keluarnya koneksi dan paket jaringan dan membangun penghalang yang fleksibel (yaitu firewall) tergantung pada tingkat trust (kepercayaan) dan topografi jaringan dari koneksi tertentu dengan basis hardware maupun software.
Penyaringan paket (filtering)
Informasi ditransmisikan melintasi jaringan dalam bentuk paket-paket yang mempunya:
header dan footer : informasi alamat tujuan dan sumber, jenis paket, protokol mana yang dipatuhi, berbagai flags, nomor paket mana dalam aliran dan segala maca metadata lain tentang transmisi.
payload : data yang sebenarnya
Pemfilteran paket mencegat paket pada satu atau lebih tahapan dalam transmisi jaringan dengan menetapkan set of rules (seperangkat aturan):
diterima / ditolak berdasarkan konten, alamat, dll
dirusak dengan cara tertentu
dialihkan ke alamat lain
diperiksa untuk alamat keamanan, dll
Generasi firewall
Firewall awal (akhir 1980an) didasarkan pada pemfilteran paket yang memeriksa, membuang, menolak, dan mengirim konten setiap paket jaringan.
Firewall generasi selanjutnya didasarkan pada filter stateful yang memeriksa status paket (konek baru, bagian koneksi yang sudah ada, bagian koneksi yang tidak ada), serangan penolakan layanan bisa memborbardir firewall yang membuatnya kewalahan.
Firewall generasi ketiga, Application Layer Firewalls yang mengetahui jenis aplikasi dan protokol yang digunakan koneksi dan memblokir apa pun yang seharusnya tidak menjadi bagian dari aliran normal.
Alat dan interface firewall
alat tingkat rendah dari command line dengan pengeditan berbagai file konfigurasi subdirektori
/etc
: iptables, firewall-cmd, ufw, dllinterface grafis yang kuat : system-config-firewall, firewall-config, gufw, yast, dll
bekerja dengan alat tingkat rendah:
lebih jarang berubah dibanding yang grafis
memiliki kemampuan yang lebih besar
hanya sedikit berbeda antar distribusi
firewalld dan firewall-cmd
Firewalld adalah manajer firewall dinamis yang menggunakan zona jaringan/firewall yang telah menentukan tingkat trust (kepercayaan) untuk interface / koneksi jaringan. File konfigurasi disimpan di /etc/firewalld yang menimpa file-file di direktori lain dan /usr/lib/firewalld.
Alat bantu command line sebenernya adalah firewall-cmd:
firewall-cmd --help
Usage: firewall-cmd [OPTIONS...]
....
Status Options
--state Return and print firewalld state
--reload Reload firewall and keep state information
--complete-reload Reload firewall and loose state information
--runtime-to-permanent Create permanent from runtime configuration
....
Status layanan firewalld
firewalld adalah layanan yang perlu dijalankan untuk menggunakan dan mengkonfigurasi firewall, dan diaktifkan/dinonaktifkan, atau dimulai atau dihentikan dengan cara biasa:
sudo systemctl [enable/disable] firewalld
sudo systemctl [start/stop] firewalld
sudo systemctl status firewalld
sudo firewall-cmd --state
Jika Anda memiliki lebih dari satu antarmuka jaringan saat menggunakan IPv4, Anda harus mengaktifkan ip forwarding (penerusan ip):
sudo sysctl net.ipv4.ip_forward=1
echo 1 > /proc/sys/net/ipv4/ip_forward
supaya bersifat persisten bisa ditambahkan pada file /etc/sysctl.conf
:
net.ipv4.ip_forward=1
sudo sysctl -p
Zones
firewalld bekerja dengan zona yang memiliki tingkat trust (kepercayaan) tententu dan perilaku tertentu untuk paket masuk dan keluar yang diberitahu NetworkManager tapi bisa diubah dengan firewall-cmd / firewall-config.
drop : semua paket masuk dibuang tanpa balasan hanya koneksi keluar yang diizinkan
block : semua koneksi jaringan masuk ditolak kecuali dari dalam sistem
public : tidak percara semua komputer di jaringan, hanya koneksi masuk tertentu yang pilih secara sengaja yang diizinkan
external : saat penyamaran seperti di router, tingkat trustnya sama dengan public
dmz (Demilitarized Zone) : akses ke beberapa layanan diizinkan secara public (umum), hanya koneksi masuk tertentu yang diizinkan
work : percayai node yang terhubung tidak berbahaya (tidak sepenuhnya), hanya koneksi masuk tertentu yang diizinkan
home : sebagian besar mempercayai node jaringan lain tapi tetap memilih koneksi masuk yang diizinkan
internal : mirip zona work
trusted : semua koneksi jaringan diizinkan
Contoh pengelolaan zona
firewall-cmd --help
....
Zone Options
--get-default-zone Print default zone for connections and interfaces
--set-default-zone=<zone>
Set default zone
--get-active-zones Print currently active zones
--get-zones Print predefined zones [P]
--get-services Print predefined services [P}
--get-icmptypes Print predefined icmptypes [P]
--get-zone-of-interface=<interface>
Print name of the zone the interface is bound to [P]
--get-zone-of-source=<source>[/<mask>]
Print name of the zone the source[/mask] is bound to [P]
--list-all-zones List everything added for or enabled in all zones [P]
--new-zone=<zone> Add a new zone [P only]
--delete-zone=<zone> Delete an existing zone [P only]
--zone=<zone> Use this zone to set or query options, else default zone
Usable for options marked with [Z]
--get-target Get the zone target [P] [Z]
--set-target=<target>
Set the zone target [P] [Z]
....
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --get-zones
sudo firewall-cmd --set-default-zone=trusted
sudo firewall-cmd --set-default-zone=public
sudo firewall-cmd --set-default-zone=public
sudo firewall-cmd --permanent --zone=internal --change-interface=eno1
sudo firewall-cmd --get-zone-of-interface=eno1
sudo firewall-cmd --zone=public --list-all
man firewalld-cmd
Manajemen sumber (source)
Sebuah paket dikaitkan dengan suatu zona jika:
Itu berasal dari alamat sumber yang sudah terikat pada zona
Itu berasal dari interface yang terikat ke zona
jika tidak sesuai, akan ditetapkan ke zona default (biasanya public)
sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.100.22/24
sudo firewall-cmd --permanent --zone=trusted --remove-source=192.168.100.22/24
sudo firewall-cmd --permanent --zone=home --change-source=192.168.100.22/24
sudo firewall-cmd --permanent --zone=home --list-sources 192.168.100.22/24
Manajemen layanan (service)
Menetapkan layanan dalam suatu zona:
sudo firewall-cmd --get-services
sudo firewall-cmd --list-services --zone=public
sudo firewall-cmd --permanent --zone=home --add-service=dhcp
sudo firewall-cmd --reload
munkin juga menambahkan layanan dengan mengedit file /etc/firewalld/services
.
Manajemen port
Manajemen port sangat mirip dengan manajemen layanan:
sudo firewall-cmd --zone=home --add-port=21/tcp
sudo firewall-cmd --zone=home --list-ports
grep " 21/tcp" /etc/services
Last updated