Tuesday, April 29, 2008

Transparent Firewall versi Indonesia

Source: http://www.blogger.com/feeds/352649741862824390/posts/default

Transparent Firewall (juga dikenal sebagai bridging firewall) bukanlah sebuah firewall yang murni, tetapi ia hanya berupa turunan dari stateful Firewall. Daripada firewall-firewall lainnya yang beroperasi pada lapisan IP ke atas, transparent firewall bekerja pada lapisan Data-Link Layer, dan kemudian ia memantau lapisan-lapisan yang ada di atasnya. Selain itu, transparent firewall juga dapat melakukan apa yang dapat dilakukan oleh packet-filtering firewall, seperti halnya stateful firewall dan tidak terlihat oleh pengguna (karena itulah, ia disebut sebagai Transparent Firewall).
 

Intinya, transparent firewall bekerja sebagai sebuah bridge yang bertugas untuk menyaring lalu lintas jaringan antara dua segmen jaringan. Dengan menggunakan transparent firewall, keamanan sebuah segmen jaringan pun dapat diperkuat, tanpa harus mengaplikasikan NAT Filter. Transparent Firewall menawarkan tiga buah keuntungan, yakni sebagai berikut:
 

    * Konfigurasi yang mudah (bahkan beberapa produk mengklaim sebagai "Zero Configuration"). Hal ini memang karena transparent firewall dihubungkan secara langsung dengan jaringan yang hendak diproteksinya, dengan memodifikasi sedikit atau tanpa memodifikasi konfigurasi firewall tersebut. Karena ia bekerja pada data-link layer, pengubahan alamat IP pun tidak dibutuhkan. Firewall juga dapat dikonfigurasikan untuk melakukan segmentasi terhadap sebuah subnet jaringan antara jaringan yang memiliki keamanan yang rendah dan keamanan yang tinggi atau dapat juga untuk melindungi sebuah host, jika memang diperlukan.
    * Kinerja yang tinggi. Hal ini disebabkan oleh firewall yang berjalan dalam lapisan data-link lebih sederhana dibandingkan dengan firewall yang berjalan dalam lapisan yang lebih tinggi. Karena bekerja lebih sederhana, maka kebutuhan pemrosesan pun lebih kecil dibandingkan dengan firewall yang berjalan pada lapisan yang tinggi, dan akhirnya performa yang ditunjukannya pun lebih tinggi.
    * Tidak terlihat oleh pengguna (stealth). Hal ini memang dikarenakan Transparent Firewall bekerja pada lapisan data-link, dan tidak membutuhkan alamat IP yang ditetapkan untuknya (kecuali untuk melakukan manajemen terhadapnya, jika memang jenisnya managed firewall). Karena itulah, transparent firewall tidak dapat terlihat oleh para penyerang. Karena tidak dapat diraih oleh penyerang (tidak memiliki alamat IP), penyerang pun tidak dapat menyerangnya.

contoh konfigurasi transparent firewall di fedora core7

  Topologi yang dipakai diasumsikan seperti gambar di bawah ini.
 

+--------------+       +----------+      +---------------------+
|  INTERNET   |-----| BRIDGE  |-----| JARINGAN KITA  |
+--------------+       +----------+      +---------------------+
 
  
1. Kebutuhan Dasar
  

Implementasi ini membutuhkan beberapa hal yaitu:
  

   1. Komputer dengan 2 NIC
   2. iptables
   3. bridge-utils
   4. Kernel Linux 2.6 atau 2.4(dengan patch) dengan opsi bridge firewall diaktifkan

  

Bila anda ingin menggunakan kernel versi 2.4 silakan cari patchnya di  http://ebtables.sourceforge.net/. Kernel 2.6 sudah menyertakan fasilitas ini, sehingga tidak perlu dipatch lagi.
  

Di sini diasumsikan bahwa kernel sudah beres, dan tinggal menginstall program lain yang dibutuhkan untuk menjalankan bridge. Komputer yang dipakai mempunyai 2 NIC yaitu eth0 dan eth1.
  
2. Instalasi & Konfigurasi
  

untuk installasi di fedora, kebetulkan say apake FC7
  

root:~# yum install bridge-utils
  

Bila anda tidak menggunakan distro lain anda dapat mendownload source code untuk kedua program itu pada http://bridge.sourceforge.net/ dan http://www.iptables.org/files/ . Panduan proses instalasi dapat mengikuti file README/INSTALL yang disertakan pada tarball yang anda download.
  

Program yang kita dapatkan dari bridge-utils adalah brctl. Program inilah yang mengatur segala macam bagian bridge mulai pembuatan, penghapusan, penambahan anggota bridge, dan sebagainya. Buat interface bridge (br0), dan tambahkan kedua interface ke dalam interface bridge yang baru dibuat.
  

 root:~# brctl addbr br0
root:~# brctl addif br0 eth0
root:~# brctl addif br0 eth1
root:~# ifconfig eth0 0
root:~# ifconfig eth1 0
     

Hapus alamat IP pada eth0 dan eth1, dan bila bridge ini akan diberi alamat IP maka yang perlu diberi alamat adalah br0. Interface lain harus tetap menyala tanpa mempunyai alamat IP sendiri. Nantinya, kedua ethernet yang ada akan merespon setiap request yang masuk ke alamat IP bridge.
  

Cobalah untuk melakukan ping ke jaringan di luar jaringan anda. Bila lancar, berarti bridge ini sudah berjalan dengan baik. Agar setiap booting kita tidak mengulangi langkah-langkah di atas maka edit file /etc/network/interfaces dan tambahkan konfigurasi seperlunya. Contoh file saya ada di bawah ini.
  

 auto br0
iface br0 inet static
 address 10.11.12.3
 netmask 255.255.255.0
 network 10.11.12.0
 broadcast 10.11.12.255
 gateway 10.11.12.1
 bridge_ports eth0 eth1
  

Catatan: perhatikan item konfigurasi yang dicetak tebal.
 

Pastikan juga anda mengaktifkan IP Forwarding dengan mengeksekusi perintah di  bawah ini tiap kali komputer booting. Edit file /etc/sysctl.conf
   

# Controls IP packet forwarding
net.ipv4.ip_forward = 1
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

Sekarang anda dapat mengkonfigurasi iptables untuk melakukan penyaringan terhadap paket-paket data yang melewati firewall ini. Iptables tidak akan dibahas mendalam di sini. Sekedar info, penyaringan ini dilakukan pada tabel Filter chain FORWARD. Contoh:
  

 root:~# iptables -t Filter -A FORWARD -s 0.0.0.0 -d 10.11.12.0/24 -p tcp --dport 23 -j DROP
root:~# iptables -t Filter -A FORWARD -s 0.0.0.0 -d 10.11.12.0/24 -p tcp --dport 25 -j DROP
root:~# iptables -t Filter -A FORWARD -s 0.0.0.0 -d 10.11.12.0/24 -p udp --dport 161 -j DROP
  

Potongan instruksi iptables di atas memfilter paket-paket dari luar network kita yang akan mengakses port telnet, smtp, dan snmp. Tambahkan filter lain sesuai dengan yang anda butuhkan.
  

Simpanlah perintah-perintah yang anda jalankan pada sebuah script .sh dan ubahlah permission file tersebut agar bisa dieksekusi(executable). Aturlah agar file itu diekseuksi setiap kali boot. Ada beberapa cara melakukannya, yang termudah adalah menambahkan entri pada /etc/network/interfaces. Bila script iptables itu disimpan di /etc/init.d/aturanfirewall.sh anda dapat menambahkan baris  berikut di bawah entri br0.
  

up command /etc/init.d/aturanfirewall.sh
  

Dengan demikian isi file /etc/network/interfaces menjadi seperti di bawah ini.
  

 auto br0
iface br0 inet static
 address 10.11.12.3
 netmask 255.255.255.0
 network 10.11.12.0
 broadcast 10.11.12.255
 gateway 10.11.12.1
 bridge_ports eth0 eth1
 up command /etc/init.d/aturanfirewall.sh
  

Dengan menggunakan bash script kecil untuk memparsing output command "iptables -nvL FORWARD" anda dapat memantau aktifitas filtering seperti ini :)
  

 
+----------------------------------------------------------+
| I/O Total       |   95M Packets    62G Bytes                       |
+-------------+---------------------+---------------------+
|                      |     Traffic In              |     Traffic Out            |
|   Filter          +----------+----------+----------+---------+
|                      |   Byte      |  Packet    |   Byte       |  Packet   |
+-------------+----------+----------+----------+---------+
| Ping Blaster   |        0      |        0      |    23184   |      252   |
| udp 69          |        0      |        0      |        0       |        0     |
| udp 135        |        0      |        0      |        0       |        0     |
| udp 137        |    38298  |      491    |     9828    |      126   |
| udp 138        |      534    |        2      |     1343    |        5     |
| udp 445        |        0      |        0      |        0       |        0     |
| udp 161        |     3672   |       54     |        0       |        0     |
| tcp 23           |      912    |       19     |        0       |        0     |
| tcp 135         |    47520  |      990    |     1584    |       33    |
| tcp 445         |    1027K |    21402  |    15180   |      316   |
| tcp 593         |        0      |        0      |        0       |        0     |
| tcp 4444       |      528    |       12     |      864     |       18    |
+-------------+----------+----------+----------+----------+


dari berbagai sumber

Referensi:


http://linux2.arinet.org/
http://www.sokam.or.id/
http://id.wikipedia.org/wiki/Firewall/

Selamat mencoba.....


Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.

0 Comments: