Anti Netcut, dll di linux server (Arp Spoofing)  ncuptea blog

Anti Netcut, dll di linux server (Arp Spoofing)

Sebelum melangkah ke step by step dan konfigurasi membuat gateway/server linux kebal terhadap ARP Spoofing dan ARP Poisoning kita pahami dulu saja pengertian, maksud, dan cara kerjanya sebuah serangan ARP Poisoning dan ARP Spoofing.


Pengertian
Address Resolution Protocol (ARP) ialah protokol dalam TCP/IP Protocol yang digunakan untuk melakukan resolusi alamat IP ke dalam alamat Media Access Control (MAC Address).

Mekanisme kerjanya sendiri ialah dimana ketika komputer kita mencoba untuk mengakses komputer lain dengan menggunakan alamat IP, maka alamat IP yang dimiliki oleh computer yang dituju tersebut harus diterjemahkan terlebih dahulu ke dalam MAC Address agar data dapat diteruskan ke tujuan dan diletakkan di atas media transmisi, dan setelah diproses sebelumnya oleh Network Interface Card (NIC). Hal ini dikarenakan NIC beroperasi dengan menggunakan alamat fisik daripada menggunakan alamat logis (alamat IP) untuk melakukan komunikasi data dalam suatu jaringan.


ARP Poisoning / Spoofing
Ancaman keamanan muncul ketika ada upaya manipulasi terhadap pengalamatan nomor IP dan MAC address. Maka proses ini di kenal dengan istilah ARP spoofing atau ARP poisoning.

Dengan ARP Poisoning user berkaitan dapat memanipulasi lalu lintas data dari target agar semua paket-paket data si target melalui komputernya si pelaku terlebih dahulu. Mengapa proses ini bisa terjadi? proses ini dapat terjadi Karena komputernya akan memberi tahu kepada klien (target) bahwa MAC address komputer (hardware) nya adalah MAC Adderess dari komputer server/gateway. Kemudian komputer si pelaku juga akan memberi tahu kepada komputer server/gateway bahwa MAC address dari klien target adalah MAC address dari komputer si pelaku itu sendiri. Dan serangan semacam ini disebut dengan Men-in-the-Middle (MITM).

Dalam prakteknya ini ialah mekanisme dari tools netcut atau semacamnya

Berikut seting, dan konfigurasi linux sebagai server supaya kuat terhadap netcut, dll. (Istilahnya pasang anti netcut di linuxlah)

Sistem Operasi yang di praktekan ialah karmic server (ubuntu server 9.10)
Interfaces lokal = eth0
Interfaces WAN = eth1 (bridge)
Interfaces WAN = ppp0

  • apt-get install arptables
  • Buat file path ip dan mac LAN sebanyak-banyaknya
#nano /etc/arptables

lalu isikan sebagai berikut :
#pc op
192.168.0.100 MAC_ADDRESS_NYA
#pc 1
192.168.0.101 MAC_ADDRESS_NYA
#pc 2
192.168.0.102 MAC_ADDRESS_NYA
#pc 3
192.168.0.103 MAC_ADDRESS_NYA
#pc 4
192.168.0.104 MAC_ADDRESS_NYA
#pc 5
192.168.0.105 MAC_ADDRESS_NYA
#pc 6
192.168.0.106 MAC_ADDRESS_NYA
#pc 7
192.168.0.107 MAC_ADDRESS_NYA
#pc 8
192.168.0.108 MAC_ADDRESS_NYA
#wingpi lepi
192.168.0.109 MAC_ADDRESS_NYA
save lalu keluar dari editor
  • Buat bash script di /etc/init.d yang di namain "arptables"
# nano /etc/init.d/arptables
#!/bin/sh
PATH=/bin:/usr/bin
# Script untuk membuat linux kebal dari arp poisoning (arp spoofing)
# File: rc.arptables
# Parameter
ARPTABLES="/sbin/arptables"
ARP="/usr/sbin/arp"
# File arp table (ip & mac address pairs with space delimiter)
# 192.168.1.100 00:14:BF:CC:9F:07
FARPTABLE="/etc/arptables"
# put your LOCAL INTERFACE here
INT="eth0"
# Put your WAN INTERFACE here
WAN1="eth1"
WAN2="ppp0"
if [ ! -e $FARPTABLE ]; then echo $FARPTABLE not found; exit 0; fi
if [ ! -x $ARPTABLES ]; then echo $ARPTABLES not found; exit 0; fi
arptables_flush() {
  # Flush table
  # reset the default policies in the filter table.
  #
  $ARPTABLES -P INPUT ACCEPT
  $ARPTABLES -P OUTPUT ACCEPT
  #
  # flush all the rules in the filter
  #
  $ARPTABLES -F
  #
  # erase all chains that's not default in filter.
  #
  $ARPTABLES -X
}
case "$1" in
  start)
    echo -n "Starting arptables:"
    arptables_flush
    #
    # Filter table
    # Set policies
    #
    $ARPTABLES -A INPUT -j ACCEPT -i $WAN1
    $ARPTABLES -A INPUT -j ACCEPT -i $WAN2
    $ARPTABLES -P INPUT DROP -i $INT
    $ARPTABLES -A OUTPUT -j ACCEPT -o $WAN1
    $ARPTABLES -A OUTPUT -j ACCEPT -o $WAN2
    $ARPTABLES -P OUTPUT DROP -o $INT
    grep -v '^#' $FARPTABLE |
    while read i
    do
      IP=`echo $i|cut -f1 -d' '`
      MAC=`echo $i|cut -f2 -d' '`
      $ARPTABLES -A INPUT -s $IP --source-mac $MAC -j ACCEPT -i $INT
      $ARPTABLES -A OUTPUT -d $IP --destination-mac $MAC -j ACCEPT -o $INT
      $ARP -i $INT -s $IP $MAC
    done
    touch /tmp/ARPTABLES
    echo "."
    ;;
  stop)
    echo -n "Stopping arptables:"
    arptables_flush
    # Flush arp
    grep -v '^#' $FARPTABLE |
    while read i
    do
      IP=`echo $i|cut -f1 -d' '`
      $ARP -i $INT -d $IP
    done
    rm -f /tmp/ARPTABLES
    echo "."
    ;;
  stat)
    if [ -f /tmp/ARPTABLES ]; then
      echo "arptables is on."
      $ARPTABLES -L -n
    else
      echo "arptables is off."
      $ARPTABLES -L -n
    fi
    ;;
  *)
    echo "Usage: $0 {start|stop|stat}"
    exit 1
    ;;
esac
Save lalu keluar dari editor

  • Beri permissions supaya bisa di eksekusi
# chmod 775 /etc/init.d/arptables

Selesai

command shell
# /etc/init.d/arptables stat [status arptables]
# /etc/init.d/arptables start [status start atau on]
# /etc/init.d/arptables stop [status arptables stop atau off]

pada saat /etc/init.d/arptables start, biasanya muncul keterangan
root@sentul:~# /etc/init.d/arptables start
Starting arptables:arptables v0.0.3.3: host/network `--source-mac' not found
Try `arptables -h' or 'arptables --help' for more information.
arptables v0.0.3.3: host/network `--destination-mac' not found
Try `arptables -h' or 'arptables --help' for more information.
arp: need host name
.
root@sentul:~# /etc/init.d/arptables stat
arptables is on.
namun statusnya selang beberapa waktu kemudian norman on

No comments:

Facebook Blogger Plugin: Brought to by CITEUREUP FOUNDATION Enhanced by ncuptea

Post a Comment

Berkomentarlah dengan bijak untuk pengembangan dan sekaligus menjadi pembelajaran kita bersama.

Pilih Name/Url untuk mempermudah memasukan id anda!