Berbagi Pengetahuan

Welcome to Home Aris Hidayatulloh
marilah kita berbagi kepada sesama tentang kehidupan keseharian kita untuk hari esok yang lebih baik.

Minggu, 01 Januari 2012

LINUX CENTOS (Iptables)


Pembahasan 8

IPTABLES

Iptables merupakan salah satu firewall popular dan powerfull yang tersedia di sistem operasi Linux. Iptables merupakan aplikasi untuk administrasi filtering paket dan Network Addres Translation (NAT) pada Ipv4. Iptables berfungsi untuk konfigurasi, merawat dan memeriksa rules (tabel aturan) tentang filter paket IP yang terdapat di karnel linux. Tiap-tiap tables memiliki beberapa built-in (bawaan) chains kernel linuk dan chains buatan user sendiri. Setiap Chains memiliki list/dafta aturan untuk mencocokan suatu paket yang datang setiap aturan tersebut berfungsi memberikan keputusan eksekusi apa yang akan dilakukan bila paket yang datang cocok dengan aliran yang telah dibuat.
Iptables memiliki 4 tabel aturan yaitu filter, nat, mangle dan raw.
1.      Filter
Untuk melakukan pemfilteran/penyaringan paket data apakah paket tersebut akan di DROP, LOG, ACCEPT atau REJECT
2.      NAT
Melakukan Network Address Translation yang merupakan pengganti alamat asal atau tujuan dari paket data.
3.      Mangle
Untuk melakukan penghalusan (mangle) paket data seperti TTL, TOS, dan MARK
4.      raw
Untuk mengkonfigurasi pengecualian dari connection tracking bersama-sama dengan NOTRACK.
Pada table terdapat chains (rantai) yang berisi rules / aturan yang berbeda-beda. Chains pada table filter yaitu INPUT, FORWARD dan OUTPUT.
  •   INPUT untuk paket yang disiapkan untuk soket lokal atau komputer kita sendiri atau untuk mengatasi paket data yang masuk.
  •   FORWARD untuk paket yang diarahkan / routing ke box atau untuk mengalihkan paket yang datang.
  •   OUTPUT untuk paket yang di generate / dibuat sendiri atau untuk menghasilkan paket data yang akan diteruskan. 
Contoh kegunaan iptables:
Komputer A, B dan C mengirim paket data kepada komputer D yang sudah dilengkapi iptables. Pada konfigurasi iptables dibuat pernyataan bahwa hanya paket yang memiliki huruf a yang boleh diterima komputer D, selain itu ditolak semua. Dan hasilnya, hanya komputer a saja yang bisa mengirimkan paket dan diterima komputer D.
Dalam Iptables terdapat perintah-perintah yang umum digunakan, yaitu:
1.      –A (Append)
Memiliki struktur –A [chain][aturan] yang berfungsi menetapkan aturan kedalam chains, contoh: iptables –A INPUT –s 192.168.0.1
2.      –D (Delete)
Memiliki struktur -D [chain][aturan] atau -D[chain][nomor urutan aturan] yang berfungsi untuk menghapus aturan dari chains atau menghapus aturan berdasarkan urutan list didalam chains, contoh : iptables –D INPUT (menghpus aturan pertama dalam chain INPUT)
3.      –I (Insert)
Memiliki struktur –I [chain][nomor urutan aturan][aturan] yang berfungsi untuk memasukan aturan baru kedalam chain. Bila nomor urutan aturanadalah I berarti aturan tersebut dimasukan keprioritas utama dalam chain, contoh : iptables –I OUTPUT 2 –s 192.168.0.1
4.      –R (Replace)
Memiliki aturan –R [chain][nomor urutan aturan][aturan baru] yang berfungsi untuk menimpa / me-replace aturan lama dengan aturan baru dalam chain,
contoh : iptables –I OUTPUT 2 -s 192.168.0.1 (menimpa rule kedua dengan rule baru –s 192.168.0.1).
5.      –L (List)
Berfungsi untuk menampilkan daftar aturan-aturan didalam chain, bila chain tidak disertakan maka akan muncul aturan dalam semua chain, contoh : iptables –L INPUT
6.      –F (Flus)
Berfungsi untuk menghilangkan semua aturan pada chain, contoh iptables –F FORWARD (menghapus semua aturandidalam chain FORWARD)
7.      –N (New)
Berfungsi untuk membuat chain baru, contoh : iptables –N GET.
8.      –X (Delete Chain)
Berfungsi untuk menghapus chain, tetapi –X berbeda dengan –D yang hanya berfungsi untuk menghapus rule saja. Untuk menghapus chain dipastikan terlebih dahulu bahwa tudak ada aturan-aturan didalam chains tersebut. Dapat digunakan flush untuk menghapus aturan-aturan didalam chains, contoh iptables –X GET.
9.      –E ( Rename Chain)
Berfungsi untuk mengganti nama chain yang ada didalam iptables, contoh : iptables -E GET.
  
 Parameter
Parameter berfungsi untuk mengidentifikasi spesifikasi aturan dan digunakan untuk mengikuti perintah umum seperti Add, Delete, Insert, Replace, dan Append. Berikut adalah perintah dalam parameter :
1.      -p (protocol)
mengindentifikasikan protokol dalam rule seperti tcp, udp, icmp. contoh : iptables –A INPUT –p tcp
2.      -m (match option)
Mirip dengan -p tetapi modul yang digunakan dan bebas menentukan nama modul yang dipakai dan mengvariasikannya dalam perintah selanjutnya.
contoh : iptables -A INPUT –s 192.168.0.0/16 –m comment.
3.      -s source alamat hostname / ip. contoh : iptables -A INPUT -s 192.168.0.1
4.      -d destination / tujuan dari alamat ip. contoh :  iptables -A INPUT -d 192.168.0.2
5.      -j (jump)
memberikan keputusan setelah paket data cocok dengan aturan. Biasanya terdapat diakhir perintah dan diikuti argumen perintah. contoh : iptables -A INPUT -s 192.168.0.2 –j DROP.
6.      -i in-interface alias nama interface yang menerima kiriman paket ( terbatas pada chain INPUT, FORWARD dan PREROUTING saja ) . contoh : iptables -A INPUT -i eth0 –s 192.168.0.2
7.      -o out-interface alias nama interface yang akan mengirim paket keluar (terbatas pada chain FORWARD, OUTPUT dan POSTROUTING) . contoh : iptables -A INPUT -o eth0 -s 192.168.0.2.
8.      -c counter untuk menghitung paket-paket yang lewat dari sebuah aturan. contoh :  iptables -c -A INPUT -s 192.168.0.2
9.      -n numeric, menampilkan output numeric seperti hostname,ip, port, nama network. contoh :  iptables -L –n.
10.  -v verbose yang berarti menampilkan informasi secara keseluruhan alias dalam bahasa indonesia terjemahan iptables -L -n -v

Paket-paket yang masuk akan di periksa, apakah rusak, salah informasi atau tidak, kemudian di berikan ke chain INPUT. Tergantung pada informasi yang terdapat didalam header paket dan kebijakan dalam rulest, Keputusan yang diambil untuk suatu paket dapat berupa :
1.      ACCEPT
Menerima paket dan diproses lebih lanjut oleh kernel
2.      DROP
Menolak paket tanpa pemberitahuan terlebih dahulu
3.      REJECT
Mengembalikan paket ke asalnya dngan pesan kesalahan ICMP
4.      LOG
Melakukan log (pencatatan) terhadap paket yang bersesuaian
5.      RETURN
Untuk chain user-defined akan dikembalikan ke chain yang memanggil, sedangkan untuk chain INPUT, OUTPUT dan FORWARD akan dijalankan kebijakan default.
6.      Mengirim ke chain user-defined
Perintah-perintah yang digunakan:
  • Setting IP address kelas A
ifconfig eth0 50.50.50.1 netmask 255.0.0.0
  •   Setting gateway 50.50.50.21
route add default gw 50.50.50.21
  •   Koneksikan jaringan
ping ip_address_tujuan
  •   Mengembalikan semua aturan pada posisi default
iptables –F
  •   Melihat semua aturan yang ada
iptables –L
  •   Memblok pengiriman data keluar
iptables –A OUTPUT – d ip_user_tujuan -j DROP
  •   Mengirim direktori ke user lain.
scp –r /home/bsi_nim/direktori ip_user_tujuan :/home/bsi_nim_user_lain
  •   Menolak kiriman data dari luar
iptables –A INPUT – s ip_user_tujuan -j REJECT
  •   mengirim kembali file direktori
           scp /home/bsi_nim/direktori/nama_file ip_user_tujuan:/home/bsi_nim/direktori

Tidak ada komentar:

Posting Komentar