Linux
  • Pengenalan
  • Filesystem Tree
  • Proses
  • Sinyal
  • Manajemen package
  • Monitoring sistem
  • Monitoring I/O
  • Filesystem dan VFS (belum)
  • Fitur filesystem (belum)
  • Manajemen volume logis / LVM (belum)
  • Kernel
  • Manajemen akun user
  • Izin dan kepemilikan file
  • Alamat jaringan
  • Konfigurasi perangkat jaringan
  • Firewall
  • Startup sistem dan grub
  • System Init: Systemd, SystemV dan Upstart
  • Troubleshooting dasar
  • Lab & Quiz
Powered by GitBook
On this page
  • Apa itu firewall?
  • firewalld dan firewall-cmd
  • Status layanan firewalld
  • Zones
  • Manajemen sumber (source)
  • Manajemen layanan (service)
  • Manajemen port

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, dll

  • interface 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
PreviousKonfigurasi perangkat jaringanNextStartup sistem dan grub

Last updated 1 year ago