Pendahuluan
Firewall merupakan bagian perangkat keamanan jaringan dan merupakan suatu cara atau mekanisme
yang diterapkan baik terhadap perangkat keras (hardware), perangkat lunak (software), maupun sistem
itu sendiri dengan tujuan untuk melindungi, baik dengan menyaring, membatasi, atau bahkan menolak
suatu atau semua hubungan atau kegiatan suatu segmen pada jaringan pribai dengan jaringan luar
yang bukan merupakan ruang lingkupnya. Segmen tersebut dapat berupa sebuah workstation, server,
router, atau local area network (LAN). Firewall secara umum diperuntukkan guna melayani :
mesin/komputer
setiap individu yang terhubung langsung ke jaringan luar atau Internet dan menginginkan semua
yang terdapat pada komputernya terlindungi.
Jaringan
jaringan komputer dengan berbagai jenis topologi.
Karakteristik Firewall
seluruh hubungan atau kegiatan dari dalam atau keluar, harus melewati firewall. Hal ini dapat
dilakukan dengan membatasi, juga secara fisik, semua akses terhadap jaringan lokal, kecuali
melewati firewall. Banyak sekali bentuk topologi jaringan yang memungkinkan.
Hanya kegiatan yang terdaftar atau dikenal yang dapat melakukan hubungan. Hal ini dapat
dilakukan dengan mengatur kebijakan pada konfigurasi keamanan lokal. Banyak sekali jenis firewall
yang dapat dipilih, sekaligus dengan berbagai jenis kebijakan yang ditawarkan.
Firewall itu sendiri haruslah kebal atau relatif kuat terhadap serangan. Hal ini berarti penggunaan
sistem harus dapat dipercaya dan dengan sistem operasi yang relatif aman.
Teknik yang digunakan oleh firewall
service control (kendali layanan)
direction control (kendali arah)
user control (kendali pengguna)
behaviour control (kendali perlakuan)
Iptables
Salah satu aplikasi firewall yang banyak digunakan adalah iptables. Dengan berbagai fasilitas yang
didukung antara lain dapat menghentikan penggunaan aplikasi tertentu seperti Yahoo Messenger,
Kazza, hingga aplikasi multimedia. Dengan melakukan filterisasi berdasarkan nomor port, alamat IP,
tipe service, hingga translation, membuat keberadaannya sungguh fleksibel untuk mengamankan suatu
jaringan. Beberapa konsep dasar yang perlu diketahui oleh pengguna mengenai aliran data adalah
sebagai berikut:
PREROUTING
aliran paket yang masuk ke jaringan lokal (destination NAT).
POSTROUTING
aliran paket yang keluar dari jaringan (source NAT).
Untuk melihat arah dari aliran paket, adalah lebih baik dengan mengarahkan konsep pemikiran ke
bagian ISP sebagai jalur komunikasi ke Internet. Kemudian dianjurkan untuk setingan iptables
menggunakan opsi MASQUERADE, sehingga ada perubahan alamat interface kartu jaringan pada
server tidak perlu melakukan penyetingan ulang (fleksibel).
Berikut ini adalah contoh beberapa instruksi:
iptables -N TOLAK
iptables -A TOLAK -s 192.168.1.90 -d 0/0 -j DROP
iptables -A FORWARD -i eth1 -o eth0 -j TOLAK
Untuk melihat hasil konfigurasi yang telah dilakukan dengan menggunakan perintah iptables -v -L yang
akan memberikan tampilan seperti berikut ini :
Chain INPUT (policy ACCEPT 9 packets, 1352 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 TOLAK all -- eth1 eth0 anywhere anywhere
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain TOLAK (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- any any 192.168.1.90 anywhere
Sesi Firewall dengan IPTables. 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
A
A
A
A
A
A
A
A
A
N
A
A
A
3. Lakukan pengecekan terhadap rules yang telah dimasukkan, dengan menampilkan isi dari tabel
INPUT:
iptables L
6. Lakukan kembali pengecekan terhadap rules, dengan menampilkan isi dari tabel INPUT:
iptables L
8. Memastikan bahwa tabel INPUT dan CHAIN yang dibangun berisi rules yang dipanggil sebelumnya
dari berkas cadangan:
iptables L
9. Menggunakan opsi P untuk menutup semua akses, dan kemudian secara spesifik membuka portport yang telah ditentukan dan sesuai kebutuhan dari server, seperti pada contoh berikut adalah
membuka akses ke SSH (port 22):
iptables P INPUT DROP
iptables A INPUTp tcp --dport 22 j ACCEPT
10. Merekam semua akses ke sistem, akan tetapi dengan menjalankan perintah berikut ini akan
merekam banyak aktifitas dari lalu-lintas data, yang tentu saja akan berpengaruh terhadap kinerja
dari sistem. Pastikan gunakan opsi-opsi yang sesuai dengan kebutuhan dan sumber daya sistem:
iptables
iptables
iptables
iptables
A
A
A
A
INPUTp
INPUTp
INPUTp
INPUTp
tcp
udp
udp
tcp
--dport
--dport
--dport
--dport
1023:
1023:
1023:
1023:
j
j
j
j
ACCEPT
ACCEPT
LOG
LOG
11. Merekam semua akses yang berusaha melakukan proses scanning ke port yang digunakan oleh
Microsoft:
iptables
A
INPUTp
135,137,138,139 j LOG
iptables
A
INPUTp
137,138,139 j LOG
tcp
--multiport
--destination-port
udp
--multiport
--destination-port
Port Redirect
Port Redirect adalah kondisi dimana suatu paket yang menuju ke satu port seperti misalnya akses
HTTP (melalui port 80) diterima oleh antarmuka jaringan, untuk selanjutnya dikirim ke port lain.
Implementasinya biasa diterapkan pada jaringan yang memiliki server proxy. Contoh perintah di bawah
ini adalah suatu host yang menerapkan peraturan dimana akses ke port 80 dan 443 (HTTP dan
HTTPS) akan otomatis diarahkan ke server proxy terlebih dahulu (port 8080). Caranya adalah
menerapkan opsi REDIRECT target dari tabel NAT.
iptables t nat -A PREROUTING -i eth1 -s 0/0 -d 0/0 p tcp 80 j
REDIRECT /
--to-ports 8080
iptables t nat -A PREROUTING -i eth1 -s 0/0 -d 0/0 p tcp 443 j
REDIRECT /
--to-ports 8080
Sesi Firewall dengan IPTables. 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
Contoh lain dari konfigurasi rules dari iptables yang dapat dilakukan adalah sebagai berikut:
# Generated by iptables-save v1.3.5 on Thu Aug 23 15:41:10 2007
*filter
:INPUT DROP [3:366]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [326:39645]
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 25 -m state -state NEW -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 25 -m state -state NEW -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p udp -m udp --dport 445 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 445 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 139 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p udp -m udp --dport 139 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p udp -m udp --dport 138 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 138 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 137 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p udp -m udp --dport 137 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p udp -m udp --dport 4004 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 4004 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 4003 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p udp -m udp --dport 4003 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p udp -m udp --dport 4002 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 4002 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 111 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p udp -m udp --dport 111 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p udp -m udp --dport 21 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -s 127.0.0.1 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -s 127.0.0.1 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 53 -j ACCEPT
Sesi Firewall dengan IPTables. 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.
Sesi Firewall dengan IPTables. 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung.