Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
Satu lagi artikel untuk para admin jaringan nih, kali ini saya akan mencoba menjelaskan langkah demi langkah untuk melakukan filter MAC address dengan menggunakan iptables.
Pertanyaannya buat apa sih kita pake filter-filter segala ?? jawabannya adalah sebagai langkah pengamanan jaringan komputer yang kita kelola. Dengan menerapkan filtering MAC address, kita dapat memastikan komputer mana saja yang dapat terhubung dan menggunakan jaringan komputer. Pertama-tama mari kita lihat definisi dari MAC address.
MAC Address (Media Access Control Address) adalah sebuah alamat jaringan yang diimplementasikan pada lapisan data-link dalam OSI Reference Model tujuh lapisan model OSI, yang merepresentasikan sebuah node tertentu dalam jaringan. Dalam sebuah jaringan berbasis Ethernet, MAC address merupakan alamat yang unik yang memiliki panjang 48-bit (6 byte) yang mengidentifikasikan sebuah komputer, interface dalam sebuah router, atau node lainnya dalam jaringan. MAC Address juga sering disebut sebagai Ethernet address, physical address, atau hardware address. from : (http://id.wikipedia.org/wiki/MAC_address)
Lumayan berat kan bahasanya :p, sederhananya sih mac address itu adalah nama/alamat dari interface jaringan yang kita miliki. Mau itu ethernet,Wireless ethernet,Modem, pasti semuanya punya MAC address :). Cara untuk melihat mac address adalah dengan mengetikan perintah ifconfig. Ayo kita coba :
1 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
ifconfig
maka akan muncul informasi sebagai berikut :
Informasi MAC address dapat dilihat pada pada tulisan Hwaddr yang biasanya ditulis dengan format 2 digit angka yang dipisahkan titik dua (:). Contohnya seperti 00:19:21:c5:29:83
Mari kita beranjak ke teknis cara filtering
Pertama-tama kita harus membuat skrip iptables yang akan disimpan di direktori /etc/init.d/ :
nano /etc/init.d/iptables
2 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
Isi skripnya adalah sebagai berikut :
#!/bin/sh
# Start/stop/restart firewall
# Minimal ip.tables for router.45
iptables="/sbin/iptables"
modprobe="/sbin/modprobe"
3 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
SERVIS="/etc/iptables/servis"
MACFILE="/etc/iptables/macfile"
# Start firewall
firewall_start() {
# enable ip_conntrack
$modprobe ip_conntrack
4 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
$modprobe ip_conntrack_ftp
# tcp properties
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo "Starting firewall.. "
# flush rules
5 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
$iptables -F
$iptables -X
$iptables -Z
#$iptables -t nat -F
#$iptables -t nat -X
#$iptables -t nat -Z
6 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
# default policy
$iptables -P INPUT ACCEPT
$iptables -P FORWARD DROP
$iptables -P OUTPUT ACCEPT
# Aktifkan service sesuai dengan list yang di ijinkan
# Service dibatasi hanya untuk lingkungan / Segmen Tertentu
7 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
# if [ -e $SERVIS ]; then
# while read line
# do
# servis="$(echo $line | cut -d " " -f1)"
# protokol="$(echo $line | cut -d " " -f2)"
# alamat="$(echo $line | cut -d " " -f3)"
8 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
# # Servis yang di ijinkan
# #$iptables -A INPUT -p $protokol -m $protokol -s $alamat --dport $servis -j ACCEPT
# $iptables -A INPUT -p $protokol -m $protokol -s ! $alamat --dport $servis -j DROP
# done
# fi
## ATURAN FORWARD
9 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
$iptables -A FORWARD -p tcp --dport 135:139 -j DROP
$iptables -A FORWARD -p udp --dport 135:139 -j DROP
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
## Filter registered MAC & IP
if [ -e $MACFILE ]; then
while read line
10 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
do
macaddr="$(echo $line | cut -d " " -f1)"
#ipaddr="$(echo $line | cut -d " " -f2)"
# Allow registered MAC & IP
$iptables -A FORWARD -m mac --mac-source $macaddr -j ACCEPT
done
11 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
fi
# $iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#$iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 8080
#$iptables -t nat -A PREROUTING -i br0 -p tcp --dport 3128 -j REDIRECT --to-port 8080
#$iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 3128
}
12 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
firewall_stop() {
echo "Shutting down firewall.. "
# disable tcp syncookies
echo 0 > /proc/sys/net/ipv4/tcp_syncookies
# accept default policy
$iptables -F
13 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
$iptables -X
$iptables -Z
$iptables -P INPUT ACCEPT
$iptables -P OUTPUT ACCEPT
$iptables -P FORWARD DROP
}
14 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
firewall_restart() {
firewall_stop
firewall_start
}
firewall_status() {
$iptables -n -L
15 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
}
case "$1" in
'start' )
firewall_start
;;
'stop' )
16 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
firewall_stop
;;
'restart' )
firewall_restart
;;
'status' )
17 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
firewall_status
;;
*)
echo "usage $0 start|stop|restart|status"
esac
Kalo sudah selesai jangan lupa menyimpan file dan ubah mode-nya menjadi 755
18 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
cd /etc/init.d/
sudo chmod 755 iptables
Langkah kedua adalah membuat aturan Service dan Macfile sesuai dengan yang ada di baris skrip iptables yang sebelumnya kita buat (SERVIS="/etc/iptables/servis" MACFILE="/etc/iptables/macfile")
cd /etc
sudo mkdir iptables
cd iptables
19 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
Membuat file macfile untuk list filter MAC address
nano macfile
Isi file macfile :
00:1f:29:bd:1e:a2 nama-komputer #20101025
00:00:00:00:00:00 #DUMMY, MASUKAN MAC ADDRESS SEBELUM BARIS INI + TGL
20 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
Formatnya adalah MAC address,nama komputer,dan tanggal modifikasi
Setelah selesai save file dan buatlah file servis
nano servis
Isi filenya sebagai berikut :
137 udp 192.168.1.0/26 netbios-ns
138 udp 192.168.1.0/26 netbios-dgm
21 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
139 tcp 192.168.1.0/26 netbios-ssn
445 tcp 192.168.1.0/26 microsoft-ds
3306 tcp 192.168.1.0/26 mysql
3306 udp 192.168.1.0/26 mysql
Isi dari file servis memungkinkan kita untuk melakukan filter terhadap port yang diperbolehkan bekerja pada iptables. Setelah disimpan
Selanjutnya ubahlah mode file macfile dan servis
22 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
cd /etc/iptables
sudo chmod 755 macfile
sudo chmod 755 servis
kita lakukan restart pada iptables.
sudo /etc/init.d/iptables restart
Jika berhasil dan tidak ada error akan muncul tampilan sebagai berikut :
23 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
Done,, filtering MAC addressnya sudah berfungsi, itu artinya MAC address yang tidak didaftarkan di file /etc/iptables/macfile tidak akan dapat menggunakan service server :)
From [1]
Command Description
# iptables -t filter -L show all chains of filtering table
# iptables -t nat -L show all chains of nat table
# iptables -t filter -F clear all rules from filtering table
24 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
# iptables -t nat -F clear all rules from table nat
# iptables -t filter -X delete any chains created by user
# iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT allow telnet connections to input
# iptables -t filter -A OUTPUT -p tcp --dport http -j DROP block HTTP connections to output
# iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT allow POP3 connections to forward chain
# iptables -t filter -A INPUT -j LOG --log-prefix Logging on input chain
25 / 26
Menerapkan filter mac address dengan iptables Ditulis oleh Tutor TKJ CLUB Jumat, 13 Januari 2012 07:59 - Pemutakhiran Terakhir Jumat, 13 Januari 2012 08:02
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE configure a PAT (Port Address Traslation) on eth0 masking outbound packets
# iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22 redirect packets addressed to a host to another host
Kontributor: Dwiharyanto, Estiyand
Sumber : http://saung.igoscenter.org
26 / 26