FIREWALL
I.
DEFINISI FIREWALL
Firewall atau tembok-api adalah sebuah sistem atau perangkat yang mengizinkan lalu lintas
jaringan yang dianggap aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak
aman. Umumnya, sebuah tembok-api diterapkan dalam sebuah mesin terdedikasi, yang
berjalan pada pintu gerbang (gateway) antara jaringan lokal dan jaringan lainnya. Tembok-api
umumnya juga digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses
terhadap jaringan pribadi dari pihak luar ataupun pencuri data lainnya, Disamping itu
Firewall merupakan suatu cara/sistem/mekanisme yang diterapkan baik terhadap hardware ,
software ataupun sistem itu sendiri dengan tujuan untuk melindungi, baik dengan menyaring,
membatasi atau bahkan menolak suatu atau semua hubungan/kegiatan suatu segmen pada
jaringan pribadi dengan jaringan luar yang bukan merupakan ruang lingkupnya.
Microsoft Windows XP dilengkapi dengan sistem keselamatan dalam bentuk firewall. Sistem
ini dikenali dengan nama ICF atau Internet Connection Firewall. ICF amat diperlukan
sebagai perlindungan jika komputer anda berada dalam rangkaian lebih-lebih lagi jika
komputer anda bersambung terus ke talian Internet.
Untuk mengaktifkan ICF dalam Windows XP SP1:
1) Klik Start -> Settings -> Control Panel
2) Klik ikon Network Connections
3) Pilih ikon sambungan yang ingin dilindungi, klik kanan dan pilih Properties
4) Pilih tab Advanced
5) Di bagian Internet Connection Firewall, tandakan Protect my computer and
6) Klik OK
Untuk mengaktifkan ICF dalam Windows XP SP2:
1) Klik Start -> Run, taipkan Firewall.cpl dan tekan Enter
2) Pilih tab General
3) Klik On (recommended)
4) Klik OK
Beberapa software Firewall yang dapat digunakan untuk melindungi system antara lain :
1. Zone Labs Mengembangkan ZoneAlarm, firewall yang fungsinya untuk penggunaan
pribadi. Anda harus hati-hati menavigasi situs untuk men-download versi gratis kecuali Anda
memilih untuk membeli komersial (dan lebih kuat) ZoneAlarm Security Suite atau
ZoneAlarm Pro. Pada 29 Oktober 2008, ini masih didukung.
2. Sunbelt Software Memiliki Sunbelt Kerio Personal Firewall. anda dapat mencoba dengan
bebas selama 30 hari, setelah itu program ini otomatis tidak aktif untuk firewall kurang kuat
kecuali Anda memilih untuk membayar biaya pendaftaran.
3. Agnitum Memiliki versi freeware untuk perangkat lunak firewall mereka, Outpost Firewall
Gratis. Namun, tapi software ini di buat 15 Januari 2006, dan di rilis tahun 2002 mungkin
sudah tidak memadai untuk digunakan dengan berkembangnya spayware.
kernel versi 2.4 belum dirilis pada saat artikel ini dibuat.
Ipchains berguna untuk memodifikasi tabel firewall di dalam kernel Linux. Kernel Linux
kemudian akan menggunakan tabel tersebut sebagai instruksi untuk melakukan sesuatu
terhadap paket TCP/IP yang masuk melalui komputer Linux yang bersangkutan.
Firewall sendiri terbagi menjadi dua jenis yakni :
1. Filtering Firewalls yang akan memblok dan melewatkan paket paket tertentu
2. Proxy Servers berfungsi sebagai perantara koneksi
Packet Filtering Firewalls
Packet filter adalah sebuah software yang memeriksa header dari paket ketika paket
tersebut lewat, dan memutuskan tindakan apa yang dilakukan terhadap paket tersebut.
Apakah paket tersebut di-DROP (misal dengan menghapus paket tersebut), ACCEPT(misal,
paket tersebut diteruskan ke tujuannya), atau hal lain yang lebih kompleks.
Pada Linux, packet filtering ditanamkan pada kernel ( sebagai modul kernel, atau
digabungkan ke dalam kernel). Penerapan packet filtering sudah cukup lama sejak kernel 1.1.
Versi pertamanya, masih banyak mencontoh cara kerja ipfw milik BSD (Sistem Operasi
buatan University California atBerkeley), dibuat oleh Alan Cox pada akhir 1994.
Berkembang menjadi ipfwadm pada kernel 2.0, ipchains pada kernel 2.2 dan terakhir iptables
sejak kernel 2.4.
Packet Filtering Firewalls dengan Iptables
Iptables merupakan paket program yang disertakan secara default oleh banyak distro
bersama dengan kernel versi 2.4. Pada iptables nantinya kita akan banyak berhubungan
dengan aturanaturan(rules) yang menentukan tindakan apa yang akan dilakukan terhadap
sebuah paket. Aturan-aturan ini dimasukan dan dihapus pada tabel packet filtering yang
terdapat pada kernel. Sekedar mengingatkan kernel adalah jantung sistem operasi yang
terus berada pada memori sejak computer booting hingga komputer dimatikan. Sehingga
aturan apapun yang kita tentukan akan hilang pada saat terjadi rebooting, namun demikian
terdapat beberapa cara agar aturan-aturan yang telah kita buat dapat di kembalikan pada saat
Linux booting, yaitu :
1. Menggunakan perintah iptables-save, untuk menyimpan aturan-aturan yang telah
ditentukan dalam sebuah file, dan iptables-restore, untuk memanggil file aturan yang
telah dibuat.
2.
2. Meletakannya pada sebuah skrip yang akan berjalan pada saat inisialisasi Linux.
Macam macam firewall pada Linux
Dalam UNIX, terdapat sejumlah program firewall yang populer digunakan dan
tersedia satu paket dalam system operasi. Program firewall tersebut diantaranya
adalah ipfwadm, ipchains, dan iptables. Berbagai varian Linux yang telah beredar
menggunakan versi kernel nya masing-masing. Dukungan terhadap keamanan
(security) data juga tergantung dari versi kernel. Firewall atau dinding api yang
didukung oleh kernel versi lama, versi 2.0, adalah ipfwadm. Jenis firewall ini
memiliki banyak kekurangan fitur seperti yang tersedia dalam IPChains. Ipfwadm
hanya men-support tiga target untuk sebuah paket: accept, deny, atau reject,
Arsitektur Firewall
Ada beberapa arsitektur firewall. Pada artikel ini hanya akan dijelaskan
beberapa diantaranya, yaitu : dual-homed host architecture, screened host
architecture, dan screened subnet architecture.
1. Arsitektur Dual-Homed Host
Arsitektur Dual-home host dibuat disekitar komputer dual-homed host, yaitu
komputer yang memiliki paling sedikit dua interface jaringan. Untuk
mengimplementasikan tipe arsitektur dual-homed host, fungsi routing pada host ini
di non-aktifkan. Sistem di dalam firewall dapat berkomunikasi dengan dual-homed
host dan sistem di luar firewall dapat berkomunikasi dengan dual-homed host,
Segera setelah anda menaruh sistem anda di sembarang jaringan, hal pertama
yang harus dilihat adalah pelayanan yang butuh anda tawarkan. Pelayananpelayanan
yang tidak perlu anda tawarkan seharusnya ditiadakan sehingga anda
memiliki satu hal yang tidak perlu dikhawatirkan dan penyerang memiliki satu
hal kurangnya untuk mencari lubang.
Beberapa pelayanan yang ingin anda biarkan ada adalah:
ftp untuk transfer file
telnet untuk remote machine
mail, seperti pop-3 atau imap untuk mail
identd untuk menagtur layanan
time untuk waktu
Jika anda adalah pemakai dialup rumahan, kami menyarankan anda menolak
seluruhnya. tcpd juga mencatat usaha yang gagal untuk mengakses pelayanan,
sehingga ini dapat memberi anda ide bahwa anda sedang diserang. Jika anda
menambahkan pelayanan baru, anda harus pasti mengkonfigurasinya untuk
menggunakan tcp_wrappers berbasis TCP. Sebagai contoh, pemakai dial-up
normal dapat mencegah orang luar koneksi ke mesin anda, namun masih memiliki
kemampuan untuk menerima surat, dan membuat hubungan jaringan ke Internet.
C. Memverifikasi Informasi DNS Anda
Memelihara informasi DNS tentang seluruh host di jaringan anda agar tetap baru
dapat membantu meningkatkan keamanan. Bilamana ada host yang tidak
dijinkan terhubung ke jaringan anda, anda dapat mengenalinya dengan tidak
adanya masukan DNS. Banyak pelayanan dapat dikonfigurasi untuk tidak
menerima koneksi dari host yang tidak memiliki masukan DNS yang valid.
D. Monitoring identd
identd adalah program kecil yang umumnya berjalan di inetd. Ia mencatat
pelayanan tcp apa yang dijalankan pemakai, dan kemudian melaporkannya
kepada yang meminta.Banyak orang salah mengerti kegunaan identd, sehingga
meniadakannya atau memblok seluruh site yang memintanya. identd ada bukan
untuk membantu remote site. Tidak ada cara untuk mengetahui jika data yang
anda peroleh dari remote identd benar atau tidak. Tidak ada autentikasi dalam
permintaan identd.
Program ini dijalankan karena ia membantu anda, dan adalah titik data lain dalam
penelusuran. Jika identd anda tidak terganggu, maka anda mengerti ia memberi
tahu remote site nama pemakai atau uid orang-orang yang menggunakan
pelayanan tcp. Jika admin pada remote site datang kepada anda dan memberitahu
pemakai anda berusaha menghack ke site mereka, anda dapat secara mudah
mengambil tindakan terhadap pemakai tersebut. Jika anda tidak menjalankan
identd, anda harus melihat banyak catatan, memperkirakan siapa yang ada pada
saat itu, dan secara umum membutuhkan waktu yang lebih banyak untuk
menelusuri pemakai.
identd yang disertakan dalam banyak distribusi lebih mudah dikonfigurasi
daripada yang diperkirakan orang. Anda dapat meniadakan identd untuk pemakai
tertentu, anda dapat mencatat seluruh permintaan identd, anda bahkan dapat
memiliki identd mengembalikan uid daripada nama pemakai atau bahkan NOUSER.
E. Menggunakan software Scanner Jaringan
ke banyak sistem akan membuat mereka hang atau bahkan crash, masalah ini
secara cepat disebut "Ping o' Death". Ini telah lama diperbaiki, dan tidak perlu
dikhawatirkan lagi.
Teardrop / New Tear - Salah satu eksploit terbaru yang melibatkan bug yang
ada di kode fragmentasi IP pada platform Linux dan Windows. .
H. Keamanan NFS (Network File System)
NFS adalah protokol file sharing yang paling banyak digunakan. Ia
memungkinkan server untuk mengekspor seluruh filesystem ke mesin lain
dengan dukungan nfs filesystem pada kernelnya (atau beberapa dukungan client
jika mereka bukan mesin Linux).
Banyak site menggunakan NFS untuk bertugas sebagai direktori home untuk
pemakai, sehingga tak peduli mesin apa yang dimasuki, mereka akan selalu
memiliki file-filenya.
Terdapat sedikit "keamanan" dibolehkan dalam mengekspor filesystem. Anda
dapat membuat peta nfsd pemakai root remote ke pemakai nobody, membatasi
akses total ke file-file yang diekspor. Namun demikian, karena pemakai individu
memiliki akses ke file-file mereka (atau paling tidak uid yang sama), superuser
remote dapat login atau su ke rekening mereka dan memiliki akses total ke filefile
mereka. Ini hanya penghalang kecil bagi seorang penyerang yang memiliki
akses untuk melakukan mount filesystem remote anda.
Jika harus menggunakan NFS, pastikan anda mengekspor ke mesin-mesin yang
anda butuh untuk ekspor saja. Jangan pernah mengekspor seluruh direktori root
anda, ekspor hanya direktori yang perlu anda ekspor.
KESIMPULAN
Dengan adanya firewall dalam suatu sistem jaringan komputer diharapkan dapat melindungi
informasi-informasi penting dan dapat memanajemen lalu lintas pengaksesan dari dalam
maupun dari luar sistem. Guna meningkatkan kinerja seluruh bagian bagian terkait
mencapai kemaksimalan suatu koneksi atau jariangan dari dalam maupun luar yang memberi
efek menguntungkan bagi si pengguna ( user ).
Sebenarnya sudah banyak website/blog yang ngulik masalah ini secara tuntas,
sebut
saja Forum Linux, Info Linux, Gudang Linux, DiskusiWeb, Linux Online dll. Akan
tetapi disini saya cuma membahas bagaimana menjadikan Linux yang kita miliki
sebagai gateway yang akan menghubungkan jaringan lokal (LAN) ke dunia luar
(Internet). Dimana, sistem Linux ini akan dijadikan sebagai PC Router dengan
konfigurasi Ip_forwarding, dan NAT+MASQUERADE dengan settingan standard
yang sederhana. Sementara untuk penggunaan Firewall, URL Filter, Squid serta
Delay
Pools (manajemen bandwidth) akan dibahas pada postingan berikutnya.
Installasi ini sudah berhasil dilakukan pada distro linux redhat 9.0 dan fedora
core 6.0
(LINUX TEXT) dengan spesifikasi komputer Intel PIII 866MHz, RAM 256, HDD
20GB, dan 2 buah Ethernet Card (Intel PRO/100 S Desktop Adapter Realtek
RTL8139/810x Familiy Fast Ethernet NIC).
1. Sebelum Setting mintalah IP publik ke ISP lengkap dengan netmask,
broadcast dan
dns-nya. Kemudian tentukan juga IP Lokal yang akan digunakan pada komputer
client. Misal : (eth0) IP : 192.168.1.2 NETMASK : 255.255.255.0 GATEWAY :
192.168.1.1 BROADCAST : 192.168.1.255 NETWORK : 192.168.1.0DNS1 :
202.134.0.155DNS2 : 202.134.2.5
DNS3 : 203.130.193.74
(eth1)IP : 192.168.10.254/24NETMASK : 255.255.255.0BROADCAST :
192.168.10.255
NETWORK : 192.168.10.0
Catatan, loginlah ke mesin linux anda dengan username sebagai ROOT. Untuk
melakukan perubahan tekan tomboll (insert) dan untuk menyimpan perubahan
tekan
escape : wq (write quit).
2. Settinglah IP pada ethernet-0.# vi /etc/sysconfig/network-scripts/ifcfg-eth0ip
static
DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.1.255
IPADDR=192.168.1.2NETMASK=255.255.255.0NETWORK=192.168.1.0
ONBOOT=yes
dhcpDEVICE=eth0BOOTPROTO=dhcp
ONBOOT=yes
3. Settinglah IP MGW dan HostName, serta DNS Resolver # vi
/etc/sysconfig/network NETWORKING=yes HOSTNAME=router
GATEWAY=192.168.1.1
# vi /etc/resolv.confnameserver 202.134.0.155nameserver 202.134.2.5
nameserver 203.130.193.74
3. Settinglah IP pada ethernet-1# vi /etc/sysconfig/network-scripts/ifcfg-
eth1DEVICE=eth1BOOTPROTO=staticBROADCAST=192.168.10.255IPADDR=19
2.168.10.254NETMASK=255.255.255.0NETWORK=192.168.10.0
ONBOOT=yes
Pastikan default gateway telah mengarah ke IP gateway ISP, # route nDan
untuk
melihat IP masing-masing ethernet cobalah command berikut :
# ifconfig|more
5. Setting IP Forwarding, agar paket dari jaringan client dapat berjalan ke
jaringan di
luarnya melalui gateway.# vi /etc/sysctl.conf
rubah net.ipv4.ip_forward = 0 menjadi net.ipv4.ip_forward = 1
# chkconfig level 2345 network on
# /etc/rc.d/init.d/network restart
Sekarang lakukan testing dengan ngeping ke:# ping 192.168.1.1# ping
202.134.0.155
atau 202.134.2.5# ping www.google.com
# ping 192.168.10.0/24
Jika hasilnya Reply berarti settingnya sudah berhasil dan tinggal selangkah lagi.
6. Agar client atau jaringan lokal (LAN) yang terhubung dengan sistem linux anda
(ke
eth1) dapat mengakses internet, maka settinglah MGW dengan menggunakan
source
NAT IPTables dan Forwarding.# /etc/init.d/iptables stop
# vi /etc/rc.d/rc.nat
: Tambahkan scripts berikut :# !/bin/sh # flushIptables FIptables F t nat#
Script iptables untuk Source NAT sesuai dengan ip di eth0 dan eth1 (IP
Statik)/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.10.0/24 -j SNAT
to-source 192.168.1.2# Script iptables jika ip external eth0 merupakan
DHCP/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.10.0/24 -j
MASQUERADE# Script Forwarding/sbin/iptables -t nat -A PREROUTING -i eth1 -s
192.168.10.0/24 -p tcp dport 80 -j REDIRECT to-ports 3128/sbin/iptables -t nat
-A
PREROUTING -i eth1 -s 192.168.10.0/24 -p udp dport 80 -j REDIRECT to-ports
3128/sbin/iptables -t nat -A PREROUTING -i eth1 -s 192.168.10.0/24 -p tcp dport
8080 -j REDIRECT to-ports 3128
/sbin/iptables -t nat -A PREROUTING -i eth1 -s 192.168.10/24 -p udp dport 8080
-j
REDIRECT to-ports 3128
# chmod +x /etc/rc.d/rc.nat
# iptables L t nat
7. Simpanlah semua hasil konfigurasi di /etc/rc.local, sehingga Anda tidak perlu
harus
melakukan command-command sebelumnya setiap kali sistem di on-kan atau direstart. Lakukan langkah berikut # vi /etc/rc.local: Tambahkan script berikut :#