Senin, 23 Juli 2007

Firewalling IP Address dan MAC Address dengan iptables

By : Mujie



Kadang kita sebagai administrator suatu jaringan sangat
dipusingkan dengan beberapa client "nakal" yang suka berganti-ganti IP
Address. Padahal sebelumnya suatu IP Address tertentu dari client sudah kita
blok aksesnya untuk jam-jam tertentu, atau kita blok untuk mengakses suatu
situs tertentu.




Mungkin sedikit yang bisa saya berikan disini adalah, bagaimana
kita dapat mengatasi "kenakalan" client-client tersebut agar tidak bisa
mengganti IP Address mereka secara "enaknya saja". Saya harapkan Anda paling
tidak sudah tahu apa itu IP Address dan apa itu MAC Address. Dalam melakukan
percobaan disini saya menggunakan Linux distro

ClarkConnect Home Edition versi 3.0
yang dilengkapi dengan
iptables versi
1.2.11. Rekan-rekan dapat menggunakan distro Linux lainnya.



Keuntungan dan kerugian :






  • Keuntungan yang didapatkan adalah, kita dapat dengan
    mudah memonitor "pergerakan" client dan melakukan logging untuk administrasi
    jaringan atau analisa-analisa lain yang diperlukan, karena client tidak
    dapat melakukan perubahan IP Address.

  • Kerugian, seandainya saja interface hardware milik client
    mengalami kerusakan dan melakukan pergantian, kita harus melakukan
    konfigurasi ulang rules firewall kita berdasarkan MAC Address yang baru.
    Tapi kerusakan ini sangat jarang terjadi.




Ada 2 metode yang saya gunakan disini dan dapat rekan-rekan sekalian pilih
salah satunya, yaitu :



  • Pertama, apakah kita akan melakukan pendaftaran semua IP
    Address dan MAC Address client-client kita dan tidak memperkenankan semua
    client yang terhubung dengan kita tidak dapat berganti-ganti IP Address.
    Jika IP dan MAC Address tidak terdaftar didalam rules firewall, maka client
    tidak dapat melakukan koneksi.

  • Kedua, apakah kita hanya menginginkan IP Address dan MAC
    Address tertentu saja yang tidak kita inginkan untuk berganti-ganti IP
    Address. Disini, jika ada IP baru dan dengan MAC Address baru, client tetap
    dapat melakukan koneksi.




Kasus, disini kita mempunya 3 client, yaitu :

IP Client 1 = 192.168.1.5

MAC Address 1 = 00:89:CD:64:01:EF



IP Client 2 = 192.168.1.20

MAC Address 1 = 00:90:DD:14:11:CF



IP Client 3 = 192.168.1.14

MAC Address 3 = 00:40:EE:21:26:GE




Semua client terkoneksi melalui ethernet (LAN Card/NIC) 1 yang diberi nama
eth1.



Firewalling dengan metode pertama :



#drop semua prerouting di eth1

iptables -I PREROUTING -t nat -i eth1 -j DROP



#------------------- client pertama------------------------

#accept IP 192.168.1.5 dengan mac address 00:89:CD:64:01:EF

iptables -I PREROUTING -t nat -i eth1 -s 192.168.1.5

-m mac --mac-source 00:89:CD:64:01:EF -j ACCEPT



#drop IP 192.168.1.5 dengan mac address 00:89:CD:64:01:EF

#jika menggantinya dengan IP lain selain dari 192.168.1.5

iptables -I FORWARD -i eth1 -s ! 192.168.1.5

-m mac --mac-source 00:89:CD:64:01:EF -j DROP



#drop prerouting IP 192.168.1.5 dengan mac address 00:89:CD:64:01:EF

#jika menggantinya dengan IP lain selain dari 192.168.1.5

iptables -I PREROUTING -t nat -s ! 192.168.1.5

-m mac --mac-source 00:89:CD:64:01:EF -j DROP



#------------------- client kedua------------------------

#accept IP 192.168.1.20 dengan mac address 00:90:DD:14:11:CF

iptables -I PREROUTING -t nat -i eth1 -s 192.168.1.20

-m mac --mac-source 00:90:DD:14:11:CF -j ACCEPT



#drop IP 192.168.1.20 dengan mac address 00:90:DD:14:11:CF

#jika menggantinya dengan IP lain selain dari 192.168.1.20

iptables -I FORWARD -i eth1 -s ! 192.168.1.20

-m mac --mac-source 00:90:DD:14:11:CF -j DROP



#drop prerouting IP 192.168.1.20 dengan mac address 00:90:DD:14:11:CF

#jika menggantinya dengan IP lain selain dari 192.168.1.20

iptables -I PREROUTING -t nat -s ! 192.168.1.20

-m mac --mac-source 00:90:DD:14:11:CF -j DROP



Catatan :

Disini karena client 3 tidak masuk kedalam rules, maka tidak dapat melakukan
koneksi, walaupun berganti IP Address yang sama dengan client 1 dan 2.
Sedangkan client 1 dan 2 tetap dapat melakukan koneksi, selama tidak melakukan
perubahan IP Address.





Firewalling dengan metode kedua :



#------------------- client pertama------------------------

#drop IP 192.168.1.5 dengan mac address 00:89:CD:64:01:EF

#jika menggantinya dengan IP lain selain dari 192.168.1.5

iptables -I FORWARD -i eth1 -s ! 192.168.1.5

-m mac --mac-source 00:89:CD:64:01:EF -j DROP



#drop prerouting IP 192.168.1.5 dengan mac address 00:89:CD:64:01:EF

#jika menggantinya dengan IP lain selain dari 192.168.1.5

iptables -I PREROUTING -t nat -s ! 192.168.1.5

-m mac --mac-source 00:89:CD:64:01:EF -j DROP



#------------------- client kedua------------------------

#drop IP 192.168.1.20 dengan mac address 00:90:DD:14:11:CF

#jika menggantinya dengan IP lain selain dari 192.168.1.20

iptables -I FORWARD -i eth1 -s ! 192.168.1.20

-m mac --mac-source 00:90:DD:14:11:CF -j DROP



#drop prerouting IP 192.168.1.20 dengan mac address 00:90:DD:14:11:CF

#jika menggantinya dengan IP lain selain dari 192.168.1.20

iptables -I PREROUTING -t nat -s ! 192.168.1.20

-m mac --mac-source 00:90:DD:14:11:CF -j DROP



Catatan :

Disini walaupun client 3 tidak masuk kedalam rules, tetap dapat melakukan
koneksi, walaupun berganti IP Address asal tidak sama IP Addressnya dengan
client 1 dan 2. Client 1 dan 2 tetap dapat melakukan koneksi, selama tidak
melakukan perubahan IP Address.



Sampai disini rekan-rekan sekalian dapat mengembangkannya, mungkin dengan
membatasi besar bandwith IP Address tertentu milik client, atau hanya dapat
melakukan browsing namun tidak dapat melakukan chatting dalam waktu-waktu
tertentu.

0 komentar:

Posting Komentar

give your comment here, please do not spam

 
My Big Dream powered by XXZ