Iptables – Blok Port TCP + UDP


buat file blok-port.sh
—————————————————————————————————–
#!/bin/bash

#Iptables Blok TCP + UDP
#bayu @ 2006
#last modified 13 feb 2006
#blok-port.sh

clear

printf “Petunjuk\n”
printf “Baca dengan baik, asumsi tau apa yg harus di lakukan\n”
printf “Script ini hanya bekerja jika menggunakan eth0 dan eth1\n”
printf “Lakukan modifikasi jika Anda menggunakan Dial-Up\n”
printf “Isi Ethernet dengan nilai eth0 atau eth1, jika menggunakan Dial-Up\n”
printf “sesuaikan dengan nama device Dial-Upnya\n”
printf “Port yg akan di blok merupakan Protokol TCP dan UDP\n”
printf “Input Port bisa lebih dari 1, misal : \n”
printf “80,22,8080 – Lihat tanda koma\n”

printf “============================”
printf “Ethernet apa ? [eth0/eth1] = ”
read n
printf “Masukkan Port yang akan di Blok = ”
read y

#dport tcp
iptables -t filter -A INPUT -i $n -p tcp -m multiport –dports $y -j DROP
iptables -t filter -A OUTPUT -i $n -p tcp -m multiport –dports $y -j DROP
iptables -t filter -A FORWARD -i $n -p tcp -m multiport –dports $y -j DROP
#sport udp
iptables -t filter -A INPUT -i $n -p tcp -m tcp –sport $y -j DROP
iptables -t filter -A OUTPUT -i $n -p tcp -m tcp –sport $y -j DROP
iptables -t filter -A FORWARD -i $n -p tcp -m tcp –sport $y -j DROP

#dport udp
iptables -t filter -A INPUT -i $n -p udp -m multiport –dports $y -j DROP
iptables -t filter -A OUTPUT -i $n -p udp -m multiport –dports $y -j DROP
iptables -t filter -A FORWARD -i $n -p udp -m multiport –dports $y -j DROP
#sport udp
iptables -t filter -A INPUT -i $n -p udp -m udp –sport $y -j DROP
iptables -t filter -A OUTPUT -i $n -p udp -m udp –sport $y -j DROP
iptables -t filter -A FORWARD -i $n -p udp -m udp –sport $y -j DROP

clear

iptables -nvL | grep $y

echo “Port $y di $n Sudah di Blok”

———————————————————————————————

oke sekarang dibuat jadi executable
#chmod +x blok-port.sh

#./blok-port.sh

Petunjuk
Baca dengan baik, asumsi tau apa yg harus di lakukan
Script ini hanya bekerja jika menggunakan eth0 dan eth1
Lakukan modifikasi jika Anda menggunakan Dial-Up
Isi Ethernet dengan nilai eth0 atau eth1, jika menggunakan Dial-Up
sesuaikan dengan nama device Dial-Upnya
Port yg akan di blok merupakan Protokol TCP dan UDP
Input Port bisa lebih dari 1, misal :
80,22,8080 – Lihat tanda koma
=========================================
=====script blok port TCP + UDP =========
=========================================
Ethernet apa ? [eth0/eth1] = eth0
Masukkan Port yang akan di Blok = 10000,100000

————————-

sudah deh….
……………………
…………………..
………………….
…………………….
waduh sik salah :p~~
errornya

iptables v1.2.9: Can’t use -i with OUTPUT

nah udah ketahuan salahnya dimana, kalo gitu di comment aja bagian ini :

iptables -t filter -A OUTPUT -i $n -p tcp -m multiport –dports $y -j DROP
iptables -t filter -A OUTPUT -i $n -p tcp -m tcp –sport $y -j DROP
iptables -t filter -A OUTPUT -i $n -p udp -m multiport –dports $y -j DROP
iptables -t filter -A OUTPUT -i $n -p udp -m udp –sport $y -j DROP

selesai deh :))

http://blog.360.yahoo.com/blog-tqY_WC4zer_UwKfWS2Mp?p=46

#update lagi untuk blok IP dan unblok IP yang masuk ke server/firewall

Blok IP

#!/bin/bash

printf “Masukkan IP yang akan di Blok = ”
read y

iptables -t filter -A INPUT -s $y -d 0/0 -j DROP
iptables -t filter -A OUTPUT -s $y -d 0/0 -j DROP
iptables -t filter -A FORWARD -s $y -d 0/0 -j DROP

clear

iptables -nvL | grep $y

echo “IP $y Sudah di Blok”
——————————-

UnBlok IP

#!/bin/bash

printf “Masukkan IP yang akan di UnBlok = ”
read y

iptables -t filter -D INPUT -s $y -d 0/0 -j DROP
iptables -t filter -D OUTPUT -s $y -d 0/0 -j DROP
iptables -t filter -D FORWARD -s $y -d 0/0 -j DROP

clear

iptables -nvL | grep $y

echo “IP $y Sudah di Un-Blok”
——————————–

20 comments

  1. klo misal mau ngamanin proxysquid gimana caranya yah klo dari outside.. maksudnya yah untuk menjaga tangan jahil dari jaringan external../public.. please dunk …thx yah…

  2. untuk squid, ada beberapa cara, misal

    -buat squid hanya listen di IP LAN, misal IP LAN
    192.168.0.1

    http_port 192.168.0.1:3128

    -buat acl dimana acl ini hanya mengallow user yang
    telah di tentukan

    -bikin rule iptables dengan drop dan allow ip yang di
    bolehkan bisa dikombinasikan dengan port2 yang yang
    listen di squid

  3. gimana cara ngeblokir port torrent di squid??
    perintah iptable nya gimana

  4. iptables block torrent / bittorrent

    port torrent dari http://www.dessent.net/btfaq/#ports adalah
    6881-6889 ada juga 6881-6999

    jadi untuk ngeblok dengan iptables cukup dengan perintah

    iptables -t filter -A INPUT -p tcp –dports 6881:6889 -j DROP

    iptables -t filter -A INPUT -p tcp –dports 6881:6999 -j DROP

    atau

    iptables -t filter -A INPUT -p tcp –destination-port 6881:6889 -j DROP
    iptables -t filter -A INPUT -p tcp –destination-port 6881:6999 -j DROP

  5. makasih mas,
    nanya lagi nih mas. apa port yang dipakai tiap aplikasi torrent itu sama mas???
    misal BitTorrent dengan Utorrent dsb.
    saya pernah lihat di utorrent ada fasilitas generate port.

  6. Burkass Tchaikovsky · ·

    Thx a lot amigo🙂

  7. salam kenal,

    mas gmn mo tnya nih..
    klo script blok port tcp n udp-nya udh jln….nah klo kt ngmbalikan portny itu gmn????ak dh cb modif scriptny gag jd2 mlh error

    matur tengkyu

  8. Mas gimana kalo mau ngeblok port game online dari iptables, misal game onlinenya RF Online atau Audition Dance.

    Dikantor kebanyakan dipakai nge-game pas jam kerja, bikin koneksi berat aja.

    Thanks.

  9. untuk blocking game, hal yg pertama dilakukan adalah
    memonitor kondisi jaringan yang ada
    hasil dari monitor tsb, akan bisa diketahui game2 tsb
    menggunakan protokol apa dan menggunakan port berapa
    setelah info tsb ok, baru kita bisa meng blok nya
    menggunakan iptables ato aplikasi firewall lainnya

  10. iptables di windows apa yah ?, gimana kalau kita mau block ip luar (202.xxx.xxx.xxx) di windows xp ?

  11. bisa pake personal firewall
    liat di
    http://www.download.com
    http://www.softpedia.com
    http://www.tucows.com

    trus cari pake keyword “Personal Firewall”
    pilih aja yang Freeware

  12. mau share nih masalah TA, gimana caranya buat script di cron untuk mengurangi pulsa pada kasus warnet prabayar….
    Aku pake debian etch4, php-mysql4, squid dan pemrograman socket client-server, untuk socket-client server udah jalan. sementara ilustrasi sebelumnya untuk pengurangan pulsa aku buat disocket juga (pulsa.c)tapi perhitungan pulsanya gak jalan…. aku pusing bgt mas, kalo mas bayu sempat bisa kasih saya kontak email/YM untuk saya contact nantinya…

    Trims..
    Wassalam…

  13. trims panduannya, sekarang misal yg kita blok bukan IP tapi URL misal: yahoo.com, google.com dan sebagainya bagaimana caranya????

    bayu:

    jika kernel udah support (maksudnya modul iptables di kernel untuk cek resolv, dan biasanya default udah) tinggal masukin aja nama domain yg akan di blok, nanti akan ng-resolv sendiri mas…

  14. Mas mau tanya nih kalo mau ngeblock berdasarkan alamat Mac nya gimana mas caranya.

    bayu:

    iptables blok / block mac address, contohnya seperti ini:

    misal mac addressnya 00:0F:EA:91:04:08

    iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP

    misal hanya meperboleh kan akses SSH dari mac address 00:0F:EA:91:04:08

    iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source
    00:0F:EA:91:04:07 -j ACCEPT

  15. ass..
    mas kalo mau meloloskan alamat Mac nya gimana mas caranya?
    maksudnya alamat Macnya di maping, cuman yg client yg sudah ditentukan tok,selain Mac itu gak bisa akses internet
    makasih mas

    bayu:
    kalo logikanya tetep pake iptables. sama dengan cara sebelomnya. kalo cuman meloloskan mac tertentu kan tinggal pake opsi ACCEPT
    nah yang perlu di pelajari adalah urutan rule nya. ingat ini, kebalik urutan rule, tidak akan sesuai dengan keinginan yang kita harapkan.
    kalo contoh kasus mas, tinggal accept semua mac nya trus di baris paling bawah kasih drop semua.
    gampang kan ?😀

  16. mas, gimana block torrent ?
    jika block tcp ports,
    torrent client masih lagi akses using udp

    bayu:
    coba perhatikan lagi mas
    di iptables ada opsi -p tcp/udp. jadi gak hanya tcp aja, udp juga bisa
    silahkan di ganti yg pake tcp ke udp

  17. Mas mo minta tolong bisa gak buatin script dimana operator (IP base) hanya bisa akses internet jika salah satu dari client warnet ada yg online. Yaaa jaga2 biar akses internet gak dipake operator seenaknya, maklum Mas… masih pake Time based.

  18. ngga mudeng banget😀

    mas, gimana caranya ngeblok ip yang udah dilistkan dalam ip.txt menggunakan iptables ini

    makasih sebelum dan sesudahnya😀 Lam kenal

    bayu :

    ini contoh aja, sesuaikan dengan sikon disitu
    buat script bash misal kasi nama ipblock.sh, isinya seperti ini

    #!/bin/bash
    # Bash script block IP Address dan MAC Address

    iptables=”/sbin/iptables” #path ke iptables
    files=”/etc/listblock.txt” #path ke list IP Address dan MAC Address
    device=”eth1″ #ethernet devices ke client
    lockall=”yes” #yes|no ,yes jika mendaftarkan semua IP & MAC Address

    #jika tidak, tulis no.
    #yes untuk metode pertama, no untuk metode kedua

    if [ $lockall = "yes" ]; then
    $iptables -I PREROUTING -t nat -i $device -j DROP
    cat $files | while read ip_address mac_address; do
    $iptables -I PREROUTING -t nat -i $devices -s $ip_address \
    -m mac –mac-source $mac_address -j ACCEPT
    $iptables -I FORWARD -i $device -s ! $ip_address \
    -m mac –mac-source $mac_address -j DROP
    $iptables -I PREROUTING -t nat -s ! $ip_address \
    -m mac –mac-source $mac_address -j DROP
    done
    elif [ $lockall = "no" ]; then
    $iptables -I PREROUTING -t nat -i $device -j ACCEPT
    cat $files | while read ip_address mac_address; do
    $iptables -I FORWARD -i $device -s ! $ip_address \
    -m mac –mac-source $mac_address -j DROP
    $iptables -I PREROUTING -t nat -s ! $ip_address \
    -m mac –mac-source $mac_address -j DROP
    done
    fi

    echo “Locking IP Address and Mac Address…”
    #end script

    simpan trus kasih chmod +x biar bisa di eksekusi/dijalankan

    trus buat daftar ip file nya (/etc/listblock.txt) dengan format seperti ini :

    contoh :

    Peringatan!! Jangan tambahkan baris apapun atau kalimat apapun selain format diatas!

    Contoh isi file /etc/rc.d/list.txt untuk 3 client:

    192.168.1.5 00:89:CD:64:01:EF
    192.168.1.20 00:90:DD:14:11:CF
    192.168.1.14 00:40:EE:21:26:GE

    from :
    http://mujie.blog.niwakarya.com/keamanan/2005/11/21/otomatisasi-firewalling-ip-dan-mac-address-dengan-iptables.html

  19. mas saya punya permaslahan tentang iptables…
    ketentuan nya seperti ini…

    -webserver https port 443
    -ssh port 21212

    chain = selain kedua port diatas, client tidak diperbolehkan mengakses.

    jadi client hanya diperbolehkan mengakses port 443 dan 21212

    gimana ya mas untuk konfigurasi chain iptables nya…mohon bantuannya…kirimin aja lwat email..

    anuaing@ymail.com

    terimakasih…

    bayu :

    cuman bikin chain,
    DROP all
    kemudian allow port 443 dan 21212

    itu aja mas…

    misal :

    #!/bin/sh

    iptables -F
    iptables -X

    # Default rules
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    iptables -A INPUT -i lo -j ACCEPT
    iptables -A FORWARD -i lo -j ACCEPT
    iptables -A FORWARD -o lo -j ACCEPT

    #https 443
    iptables -A INPUT -p tcp --dport 443 -m state --state NEW -m recent --set --name HTTPS -j ACCEPT

    # SSH 21212
    iptables -A INPUT -p tcp --dport 21212 -m state --state NEW -m recent --set --name SSH -j ACCEPT

    # Mengijinkan koneksi yang sudah ada
    iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: