Kita tahu bahwa firewall di pasang di
tujukan untuk meningkatkan sekuriti di internal LAN agar tidak di serang dari
luar. Meminimalkan port yang terbuka, melakukan allow dan deny access yang
lewat serta memasang proxy server agar semua data yang di akses melalui browser
bisa terkontrol dengan baik. That is good idea dan tidak salah jika seorang
Admin bertindak demikian dan anda yang bukan Admin pun juga tidak perlu
menyesali hal itu karena masih banyak jalan menuju ke Roma.
Syaratnya cuman satu, kreatifitas.
Kebanyakan Admin yang mengetatkan rule
access di LAN dengan menggunakan firewall biasanya menjalankan aplikasi Proxy
Server agar semua client yang berada di jaringan tersebut ketika mengakses
suatu halaman web dari komputernya selalu termonitor dan memang itu salah satu
jalan yang di gunakan oleh Admin untuk mengatasi blocking port yang hanya
memperbolehkan akses browsing dan email karena biasanya ketika browsing kita
juga tidak hanya melakukan koneksi ke port 80 (www) tapi juga https (443) atau
port-port yang lain (tergantung aplikasinya). Sebagai contoh ketika Anda mengakses
Webmin manager atau Enzim (hosting manager), ketika login ke admin menu kita
harus berkoneksi ke port 9143 atau port lain (tergantung konfigurasi
aplikasinya), tentu dengan blocking port seperti yang di terapkan di jaringan
kita sangatlah tidak mungkin dan imposible untuk mengakses aplikasi seperti
Webmin atau Enzim maka pemecahannya adalah dengan menjalankan Proxy Server.
Biasanya proxy server memiliki akses port lebih luas di bandingkan client side.
Lalu apakah HTTP Tunnel itu?
HTTP Tunnel merupakan aplikasi yang
menginjinkan Anda mengakses aplikasi seperti telnet, chat, ftp dan aplikasi
internet lain melalui port yang di ijinkan yaitu melalui port 80, 8080 atau
3128 yang biasanya menggunakan protokol HTTP dalam melakukan komunikasi data di
dalam jaringan komputer dan internet. HTTP Tunnel terdiri dari dua sisi
aplikasi yaitu aplikasi client dan aplikasi server. Perlu di ketahui juga
ketika Anda melakukan komunikasi data melalui protokol HTTP saat data yang di
request telah di kirimkan complete ke browser Anda secara otomatis webserver
atau proxy server akan memutuskan koneksi dengan browser Anda. Tentu untuk
aplikasi chat seperti Mirc atau telnet hal ini tentu tidak menguntungkan, bisa
Anda bayangkan ketika Anda baru mau masuk Dalnet tiba-tiba koneksi Anda
terputus.
HTTP Tunnel memang sengaja di buat dalam dua
sisi yaitu client dan server yang tujuannya adalah agar koneksi kita tetap Stay
Alive dan menjamin koneksi Anda tetap tersambung dengan server tujuan
dengan menggunakan keterbatasan yang ada pada protokol HTTP.
Sebagai contoh begini, misal si A ingin
chatting di LAN yang berfirewall dengan menggunakan HTTP Tunnel maka pertama
dia harus memasang HTTP Tunnel Server di komputer lain dan komputer lain itu
tidak di restrict akses koneksinya. Kedua, si A harus menjalankan HTTP
Tunnel Client di PC-nya atau di komputer lain yang satu LAN dengan PC si A.
Dari LAN si A di peroleh data IP sebagai berikut:
IP PC
A = 192.168.0.45
Proxy Server di LAN = 192.168.0.1 port 8080
Untuk kemudahan si A menjalankan HTTP
Tunnel Client di PC-nya sendiri dan dia juga telah menginstall HTTP Tunnel
Server di Server/PC lain yang terkoneksi ke Internet yang IP = 204.13.27.189,
kebetulan si A ingin chat di server Dalnet maka pola koneksi yang terjadi
adalah:
192.168.0.45 à localhost à 192.168.0.1
port 8080 à 204.13.27.189 à Dalnet
Arus koneksinya adalah dua arah. Oke sekarang
kita langsung menuju proses instalasi HTTP Tunnel.
Untuk HTTP Tunnel for win32, ada tiga file
di dalamnya yaitu:
- hts.exe (Server Tunnel)
- htc.exe (Client Tunnel)
- Cygwin1.dll (required for both)
Bagi Anda yang ingin menginstall HTTP
Tunnel Server di unix/linux bisa menginstallnya dengan cara sebagai berikut:
[xnuxer@lab]$
tar –zxvf httptunnel-3.0.tar.gz
[xnuxer@lab]$
cd httptunnel-3.0
[xnuxer@lab
httptunnel-3.0]$ ./configure
[xnuxer@lab
httptunnel-3.0]$
make
Sampai sini Anda sudah bisa menggunakan
HTTP Tunnel dari local directory. Kalau Anda ingin menginstall HTTP
Tunnel dan meletakan di /bin directory ketikkan saja perintah di bawah ini:
[xnuxer@lab
httptunnel-3.0]# make check
[xnuxer@lab
httptunnel-3.0]# make install
Tidak ada perbedaan command untuk HTTP
Tunnel for linux dengan yang for windows.
Coba Anda perhatikan command helpnya dengan
mengetikan hts –h atau htc –h.
Usage:
HTS [OPTION]... [PORT]
Listen
for incoming httptunnel connections at PORT (default port is 8888).
When
a connection is made, I/O is redirected to the destination specified
by
the --device, --forward-port or --stdin-stdout switch.
-c, --content-length BYTES use HTTP PUT requests of
BYTES size
(k,
M, and G postfixes recognized)
-d, --device
DEVICE use
DEVICE for input and output
-F, --forward-port HOST:PORT connect to PORT at HOST and use it for
input and output
-h,
--help
display this help and exit
-k, --keep-alive SECONDS send keepalive
bytes every SECONDS seconds
(default is 5)
-M, --max-connection-age SEC maximum time a connection will stay
open
is SEC seconds (default is 300)
-s,
--stdin-stdout
use stdin/stdout for communication
(implies --no-daemon)
-S, --strict-content-length always write Content-Length bytes
in requests
-V,
--version
output version information and exit
-w,
--no-daemon
don't fork into the background
-p, --pid-file LOCATION write a PID
file to LOCATION
Report
bugs to bug-httptunnel@gnu.org.
Di bawah help command untuk HTTP Tunnel
Client:
Usage:
HTC [OPTION]... HOST[:PORT]
Set
up a httptunnel connection to PORT at HOST (default port is 8888).
When
a connection is made, I/O is redirected from the source specified
by
the --device, --forward-port or --stdin-stdout switch to the tunnel.
-A, --proxy-authorization USER:PASSWORD proxy authorization
-z, --proxy-authorization-file FILE proxy
authorization file
-B, --proxy-buffer-size BYTES assume a proxy buffer size of BYTES bytes
(k,
M, and G postfixes recognized)
-c, --content-length BYTES use HTTP PUT requests of
BYTES size
(k, M, and G postfixes recognized)
-d, --device
DEVICE use
DEVICE for input and output
-F, --forward-port PORT use TCP port
PORT for input and output
-h,
--help
display this help and exit
-k, --keep-alive SECONDS send keepalive
bytes every SECONDS seconds
(default is 5)
-M, --max-connection-age SEC maximum time a connection will stay
open is SEC seconds (default is 300)
-P, --proxy HOSTNAME[:PORT] use a HTTP proxy (default port is
8080)
-s,
--stdin-stdout
use stdin/stdout for communication
(implies --no-daemon)
-S, --strict-content-length always write Content-Length bytes
in requests
-T, --timeout
TIME
timeout, in milliseconds, before sending
padding to a buffering proxy
-U, --user-agent STRING specify
User-Agent value in HTTP requests
-V,
--version
output version information and exit
-w,
--no-daemon
don't fork into the background
Report
bugs to bug-httptunnel@gnu.org.
Setelah semua aplikasi tunnel sudah di
install, sekarang Anda siap untuk menggunakannya. Sekarang pelajari cara
menggunakan aplikasi server dan clientnya.
HTTP Tunnel Server:
[xnuxer@lab
httptunnel-3.0]$ ./hts -F mesra.kl.my.dal.net:7000 8034
[xnuxer@lab
httptunnel-3.0]$ ps -ax|grep hts
21910
? S
0:00 ./hts -F mesra.kl.my.dal.net:7000 8034
[xnuxer@lab
httptunnel-3.0]$
Maksud dari command hts di atas adalah HTTP
Tunnel Server akan melakukan koneksi dan mem-forward setiap data yang di
kirimkan HTTP Tunnel Client melalui proxy server ke server mesra.kl.my.dal.net
dan akan melayani setiap data dari tunnel client melalui port 8034. Untuk
pemakai windows, commandnya sama dan tidak ada perbedaan.
HTTP Tunnel Client :
Dengan asumsi kita menjalankan HTTP Tunnel
Client di PC kita sendiri. Untuk pemakai windows Anda harus menjalankan tunnel
client dari DOS Prompt. Commandnya adalah:
htc
–P 192.168.0.1:8080 –F 1080 202.145.0.89:8034
Maksud dari command di atas adalah
menjalankan tunnel client dan mem-forward setiap data yang di koneksikan
melalui port 1080 dan mengirimkan data tersebut ke HTTP Tunnel Server yang
ber-IP 202.145.0.89 port 8034 melalui proxy server local yang ber-IP
192.168.0.1 port 8080.
Ada kalanya proxy server menggunakan
autentifikasi user dan password, maka Anda bisa menambahkan option –A ke htc
seperti contoh berikut :
htc
–P 192.168.0.1:8080 –A user:password –F 1080 202.145.0.89:8034
Mudah bukan? Aplikasi ini juga telah saya coba
dan berhasil dengan baik
Oke sukses :) dan
Anda telah berhasil menjalankan aplikasi tunnel. Selamat Mencoba!