Blokir UltraSurf Menggunakan IPTables

Ultrasurf memang cukup menyenangkan bagi sebagian pengguna Internet, terutama pengguna di kantor, kampus, sekolahan. Kenapa ? .. ya karena ia program yang dapat mem-by pass filter di gateway / proxy server.

Pengguna yang semula tidak diijinkan akses internet dapat berinternet ria dengan bantuan Ultrasurf ini.

Bagi seorang Administrator jaringan, adanya ultrasurf menjadi tambahan pekerjaan.  Pengguna dengan seenaknya, browsing, download film, lagu, dll, yang tentunya menguras bandwidth koneksi. Sehingga mengganggu pengguna yang sah / legal.

Bagi saya, ini tantangan tersendiri. Dapat atau tidak “menaklukannya”  ?

PERMASALAHAN

Pertama kali, saya menemukan ada satu pengguna di kantor yang menggunakan Ultrasurf versi 9.0. Sistem kerjanya, Ultrasurf konek ke beberapa server luar pada port 443. Kemudian saya blokir dengan menggunakan iptables di firewall. Pemblokiran berdasar  IP tujuan dari koneksi ultrasurf. Akhirnya, ini cukup efektif.

Namun ketika muncul Ultrasurf 11.04,  pemblokiran yang sudah diterapkan sebelumnya, menjadi tidak efektif. Ultrasurf 11.04 dapat lolos .

ANALISA

Dari hasil capture paket (pake tool wireshark ), Ultrasurf 11.04 mencoba koneksi ke banyak server luar dibanding versi sebelumnya.  Bahkan ketika port 443 ditutup, ia masih dapat lolos. Sebelum konek ke port 443, ia melakukan query DNS ke DNS server luar via port 53.  Beberapa nama pada query tsb adlah :

pjddyvlifp.info
dfbugdd.info
xqihyn.info
http://www.google.com

Berikut gambar hasil capture paket dari host yang menjalankan ultrasurf.

Gambar 1.  Capture Paket Ultrasurf Saat Awal Berjalan.

Gambar 2.  Paket Setelah Ultrasurf Sukses Konek dan User Sedang Browsing

SOLUSI

Sebelum meneruskan pembahasan, saya berasumsi bahwa konfigurasi jaringan LAN  menggunakan linux IPCOP sebagai firewall / proxy server. Dimana mesin ini memiliki  tiga ethernet card, yaitu :

eth0 ( untuk terhubung ke switch LAN)
eth1  ( untuk terhubung ke mail server )
eth2 ( untuk terhubung ke ISP )

Bagi pembaca yang beda konfigurasi dan firewall , misal, pake mikrotik atau linux lain, bisa menyesuaikan kondisi.  Masih dapat diterapkan kok ..

Ok, lanjut …🙂

Saat awal ultrasurf  running, ia akan membuka koneksi ke server luar pada protokol UDP port 53 untuk query DNS.  Oleh karena itu, kita dapat memblokir permintaan ke server luar port 53 tsb.

Perintah untuk blokir koneksi ini,  sbb:

iptables -A CUSTOMFORWARD -p udp -i eth0 -o eth2 –dport 53 -j DROP

Selanjutnya , berdasarkan capture paket saat user browsing (gambar 2) , kita lihat ultrasurf menggunakan protocol UDP untuk mengirimkan paket dari dan ke host . Nah , dari sini muncul ide kita untuk memblokir protocol UDP ini. Disini kita hanya perlu DROP koneksi dari luar ke LAN.

Perintah untuk nge-DROP koneksi tersebut , sbb:

iptables -A CUSTOMFORWARD -p udp -i eth2 -o eth0 -j DROP

Koneksi UDP dari LAN ke luar, tidak perlu di-DROP.  Bukan apa-apa, cuma akan menambahi baris filtering saja. Kalau mau DROP juga tidak apa-apa.

Jadi hanya perlu dua baris perintah iptables saja , untuk menaklukkan Ultrasurf versi 11.04 ini.

Apa cara ini akan efektif selamanya ?.  Kita lihat saja nanti. Kita tunggu versi terbaru dari Ultrasurf. Pasti pencipta Ultrasurf akan menyempurnakan tools ini.

Untuk saat ini sang Admin yang menang . 😀

5 Responses

  1. @paijo: Jika DNS internal terpisah dgn Proxy / gateway, maka perlu ditambahkan satu baris rule, agar firewall mengijinkan query dari LAN ke server DNS internal kita. Sementara Firewall akan mengeblok semua permintaan dns via port 53 ke server luar.

  2. kalau proxy server hanya murni sebagai proxy, dalam arti DNS server terpisah, apakah block port 53 dapat berpengaruh?

  3. Tutorial yang saya buat ini, bertujuan untuk memblokir UltraSurf. Bukan sebaliknya. …

  4. User sudah pake UltraSurf, tapi TIDAK dapat konek Internet ??
    Bagus lah itu. Berarti firewall nya sudah berjalan sebagaimana mestinya.

  5. Pernah pk ini tuk internetan dikantor tapi g ngefek.tetep diblok

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: