Jumat, 21 Desember 2012

FIREWALL

DEFINISI FIREWALL
Firewall 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 Firewall diterapkan dalam sebuah mesin terdedikasi, yang berjalan pada pintu gerbang (gateway) antara jaringan lokal dan jaringan lainnya. Firewall 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.

JENIS-JENIS FIREWALL

Ada empat jenis firewall, atau lebih tepatnya tiga jenis ditambah dengan satu tipe hybrid (campuran). Disini kita tidak akan membahas setiap jenis secara rinci karena itu membutuhkan pembahasan tersendiri yang lebih teknis dan umumnya sudah tersedia dalam dokumentasi- dokumentasi tentang firewall. Keempat jenis tersebut masing-masing adalah:

1. Packet Filtering


dalam packet filtering firewall, firewall menguji lima karakteristik dari sebuah paket,yaitu: 
  • Alamat IP Sumber
  • Port Sumber
  • Alamat IP Tujuan
  • Port Tujuan
  • Protokol IP (TCP atau UDP) 

berdasarkan aturan yang telah dikonfigurasikan ke dalam firewall, paket akan diizinkan untuk lewat atau ditolak. Jika firewall menolak paket, maka firewall akan mengirimkan pesan ke pengirim untuk memberi tahu bahwa paketnya telah ditolak. Routers  adalah  bentuk yang  paling  umum  dari   metode   packet   filtering   firewall   ini.

2.  Circuit Level Gateways

Firewall jenis ini beroperasi pada layer (lapisan) transpor pada network, dimana koneksi juga diautorisasi berdasarkan alamat. Sebagaimana halnya Packet Filtering, Circuit Gateway (biasanya) tidak dapat memonitor trafik data yang mengalir antara satu network dengan network lainnya, tetapi ia mencegah koneksi langsung antar network.

3.  Application Level Gateway
Application level gateway(gateway yang bekerja pada layer aplikasi pada layer-layer OSI )  dapat menangani proses store-and-forward- terhadap lalu lintas jaringan.Application level gateway deprogram untuk mengerti lalu lintas pada layer 7 modelOSI, sehingga application level gateway ini menyediakan control terhadap aksespada level user dan level protocol aplikasi. Lebih jauh lagi, application-level gatewayini dapat digunakan untuk mengelola secara cerdas semua penggunaan aplikasi.Kemampuan untuk melakukan log dan control terhadap semua lalu lintas yang keluar atau masuk adalah salah satu kelebihan utama dari application-level gateway. Gateway tersebut memiliki sistem keamanan tambahan di dalamnya yang dibangun sesuai dengan kebutuhan. 
Untuk tiap aplikasi yang di relay, application level gateway menggunakan kodekhusus. Karena kode khusus inilah application-level gateway menyediakan levelkeamanan yang tinggi, Untuk tiap jenis aplikasi yang ditambahkan ke jaringan (danmembutuhkan proteksi), maka dibutuhkan kode khusus yang baru untuk aplikasi tersebut. sehingga , kebanyakan application level gateway menyediakan suatu subset  yang terbatas untuk aplikasi-aplikasi dan servis dasar.

 

4.  Hybrid firewall
Firewall jenis ini menggunakan elemen-elemen dari satu atau lebih tipe firewall. Hybrid firewall sebenarnya bukan sesuatu yang baru. Firewall komersial yang pertama, DEC SEAL, adalah firewall berjenis hybrid, dengan menggunakan proxy pada sebuah bastion hosts (mesin yang dilabeli sebagai “gatekeeper” dan packet filtering pada gateway (“gate”). Sistem hybrid seringkali digunakan untuk menambahkan layanan baru secara cepat pada sistem firewall yang sudah tersedia. Kita bisa saja menambahkan sebuah circuit gateway atau packet filtering pada firewall berjenis application gateway, karena untuk itu hanya diperlukan kode proxy yang baru yang ditulis untuk setiap service baru yang akan disediakan. Kita juga dapat memberikan autentifikasi pengguna yang lebih ketat pada Stateful Packet Filer dengan menambahkan proxy untuk
tiap service. Apapun basis teknologi yang digunakan, sebuah firewall pada dasarnya berlaku sebagai sebuah gateway yang terkontrol di antara dua atau lebih network dimana setiap trafik harus melewatinya. Sebuah firewall menjalankan aturan sekuriti dan meninggalkan jejak yang dapat ditelusuri.


PENGGUNAAN FIREWALL

Firewall secara umum di peruntukkan untuk melayani :
1. mesin/komputer
Setiap individu yang terhubung langsung ke jaringan luar atau internet dan menginginkan semua yang terdapat pada komputernya terlindungi.
2. Jaringan
Jaringan komputer yang terdiri lebih dari satu buah komputer dan berbagai jenis topologi jaringan yang digunakan, baik yang di miliki oleh perusahaan, organisasi dsb. 


KARAKTERISTIK FIREWALL

  •   Seluruh hubungan/kegiatan dari dalam ke luar , harus melewati firewall. Hal ini dapat dilakukan dengan cara memblok/membatasi baik secara fisik semua akses terhadap jaringan Lokal, kecuali melewati firewall. Banyak sekali bentuk jaringan yang memungkinkan. 
  •   Hanya Kegiatan yang terdaftar/dikenal yang dapat melewati/melakukan hubungan, hal ini dapat dilakukan dengan mengatur policy pada konfigurasi keamanan lokal. Banyak sekali jenis firewall yang dapat dipilih sekaligus berbagai jenis policy yang ditawarkan.
  • Firewall itu sendiri haruslah kebal atau relatif kuat terhadap serangan/kelemahan. hal ini berarti penggunaan sistem yang dapat dipercaya dan dengan Operating system yang relatif aman.


FIREWALL PADA LINUX

Firewall yang pertama kali dibuat adalah sebuah mesin Unix yang menjadi perantara antara sebuah LAN dengan Internet. Jika seorang user ingin mengakses Internet maka ia harus login terlebih dahulu ke mesin Unix untuk kemudian mengakses dari situ. Begitu pula ketika seorang user ingin mendownload data dari Internet maka ia harus download terlebih dahulu pada mesin Unix, baru dipindah pada workstation user.
Linux memiliki fasilitas firewall di kernelnya. Hampir semua distribusi Linux mengkonfigurasikan kernelnya dengan fasilitas firewall. Firewall di Linux dikonfigurasi dengan menggunakan program ‘ipchains’ pada kernel 2.2, ‘ipfwadm’ pada kernel versi 2.0, dan ‘ipnatctl’ serta ‘iptables’ untuk kernel versi 2.3/2.4. Artikel ini akan menggunakan ‘ipchains’ karena kebanyakan distribusi Linux saat ini menggunakan kernel versi 2.2 dan 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. 


MEMBANGUN FIREWALL DENGAN IP TABLES

Firewall digunakan untuk melindungi atau membatasi akses komputer
atau jaringan ke dunia luar, seperti internet. Salah satu firewall yang sering digunakan adalah iptables yang ada didalam sistem operasi linux.

Mengenal iptables
Pada distribusi linux yang baru, iptables secara default Sudah terinstall.
Pastikan kernel dari sistem linux yang digunakan adalah kernel 2.4 ke atas dengan iptables(netfilter) aktif. Menjalankan iptables dengan user root.
perintah untuk berpindah ke user root:
# su -
Setelah menjadi root, panggil iptables dengan perintah:
# iptables
atau
#/sbin/iptables
jika iptables sudah aktif akan muncul:
# iptables
—-
—-
untuk mengetahu parameter apa saja yang digunakan di dalam iptables,
gunakan perintah:
# iptables -h
—-
—-
atau menggunakan # man iptables

MEMBANGUN FIREWALL

catatan: perintah-perintah dilinux bersifat case sensitif oleh sebab itu perhatikan
pemakain huruf kecil maupun besar.
1. reset firewall
Rule yang perlu dibuat adalah mengosongkan semua jalur firewall dengan melakukan flushing.
# iptables -F INPUT
# iptables -F OUTPUT
# iptables -F FORWARD
# iptables -nvL (utk mengecek kondisi rule dari firewall)

2. membatasi semua akses kecuali yang diperbolehkan.
memblokir(DROP) jalur INPUT
# iptables -P INPUT DROP
untuk mengetes lakukan pinging firewall sebelum dan sesudah perintah dieksekusi.

3. membuka akses kelayanan DNS
membuka akses berbasis UDP, yaitu DNS server pada port 53.
# iptables -A INPUT -p UDP -s 0/0 –dport 53 -j ACCEPT
perintah diatas berarti, tambahkan atau append (-A) pada chain INPUT, paket yang berjenis
UDP (-p UDP) dengan alamat source sembarang (-s 0/0) dan destination port adalah 53 (–dport 53),
kemudian perkenankan paket tersebut(-j ACCEPT).

4. membatasi akses dari sebuah alamat
membatasi akses dari sebuah nomor IP
# iptables -I INPUT -s $BAD_IP/32 -j DROP
perintah diatas berarti, kita ingin menyisipkan perintah di input chain, jika source address
berasal dari $BAD_IP(tanda”/32″menyatakan bahwa dia berupa satu host), maka dia langsung di-DROP.
$BAD_IP tersebut dapat kita gantikan dengan nomor IP.
# iptables -A INPUT -s 192.168.4.12 -j DROP
ini berarti alamat IP 192.168.4.12 tidak bisa mengakses firewall, dan jika sebaliknya
komputer yang menjalankan iptables tidak dapat berkomunikasi dengan pemilik IP 192.168.4.12
maka chain yg digunakan adalah OUTPUT dan parameter -s diganti dengan -d(destination) atau tujuan.
# iptables _A OUTPUT -d 192.168.4.12 -j DROP

5. membatasi akses dari sejumlah alamat
# iptables -I INPUT -s $BAD_NET/25 -j LOG
# iptables -I INPUT -s $BAD_NET/25 -j DRop

6. memperbolehkan akses ke web server
web server berada pada port 80
# iptables -A INPUT -P TCP -s 0/0 -dport 80 -j ACCEPT

7. memperbolehkan akses ke layanan TCP yang lebih kompleks
rule yang dibuat: membatasi akses ke server HTTP (port 80) dan FTP (port 21) serta stateful,
yaitu mencatat state paket yang established, related.
# iptables -A goodtcp -p TCP –syn -j ACCEPT
# iptables -A goodtcp -p TCP -m state –state ESTABLISHED, RELATED, -j ACCEPTED
# iptables -A goodtcp -p TCP -j DROP
# iptables -A tcpsrv -p TCP -s 0/0 –dport 80 -j goodtcp
# iptables -A tcpsrv -p TCP -s 0/0 –dport 21 -j goodtcp
a# iptables -A INPUT -p tcp –syn -destination-port 80 -j ACCEPT
b# iptables -A INPUT -p tcp –syn -s 192.168.4.12 –destination-port 22 -j ACCEPT
c# iptables -A INPUT -p tcp –syn -j DROP
a? mengijinkan komputer lain mengakses port 80 (web server)
b? mengijinkan pemilik IP 192.168.4.12 mengakses port 22 (SSH)
c? menutup semua akses lain selain akses dengan paket yg sesuai dengan aturan sebelumnya.
dRop paket yang tcp yang NEW tapi tidak membuat SYN flag
# iptables -A INPUT -p TCP ! –syn -m state –state NEW -j DROP
# iptables -A INPUT -p TCP -j tcpsrv
d# iptables -A INPUT -p TCP –destination-port telnet -i eth0 -j DROP
d? menutup koneksi telnet pada jaringan internet(-i eth0), tidak pada LAN(eth1).
*untuk melihat aturan yang sudah ada pada chain, gunakan parameter -L;
# iptables -L
parameter -R untuk mengganti sebuah aturan dengan aturan yang baru.
parameter -D untuk menghapus sebuah aturan.
parameter -F untuk menghapus seluruh aturan pada chain
 

Tidak ada komentar:

Posting Komentar