Aug 2, 2011

Manajemen bandwidth webHTB

1. Tahap Instalasi
Sebenarnya, tahap instalasi WebHTB terbilang cukup mudah, asalkan anda teliti utk melihat semua baris perintah yg digunakan utk instalasi. Dibawah ini adalah instalasi WebHTB secara lengkap, jadi perhatikan setiap langkah dibawah ini agar instalasi berjalan dgn lancar.
Pertama, kamu harus menginstal paket-paket dependensi yang dibutuhkan WebHTB. Jalankan perintah berikut ini utk melakukan instalasi dependensi:
" # apt-get install apache2 mysql-server-5.0 php5 libphp-adodb php5-cli php5-gd php5-snmp php5-mysql php5-xmlrpc"
(tanpa tanda kutip)
Biarkan proses instalasi dependensi berjalan. Pada tengah-tengah proses instalasi, kamu akan diminta utk memasukkan password account adminstrator MySQL, yaitu root. Masukkan passqord MySQL server yg akan digunakan, lalu tekan enter. Kemudian, masukkan lagi konfirmasi password yg kamu masukkan sebelumnya, dan pilih hingga selesai.
Download aplikasi WebHTB disini, dan kemudian letakkan file download webhtb ke direktori /home/user pada komputer kamu.
Setelah selesai, ekstrak file download WebHTB_V2.9.bz2 yg ada di /home/user ke folder /var/www dengan menggunakan perintah sbb:
"# tar -xvf /home/user/WebHTB_V2.9.bz2 -C /var/www"

Disini akan terbentuk file WebHTB di dalam direktori /var/www yg siap utk diakses, namun sebelumnya kamu harus membuat sertifikat ssl pada apache2 dulu.

Instal paket openssl dan ssl-cert untuk membuat kunci keamanan apache dimana kamu akan mengakses WebHTB dari https yang lebih aman. Jalankan perintah sbb:
"# apt-get install openssl ssl-cert"

Paket diatas sudah selesai diinstal, saatnya utk membuat file ssl. Jalankan perintah dibawah ini secara berurutan untuk membuat sertifikat ssl:
"# mkdir /etc/apache2/ssl"
"# make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem"
Setelah tahap instalasi selesai, akan ada tampilan dialog konfigurasi SSL Certificate.

Masukkan identitas negara pada kolom Country Name = ID | Pilih OK
Masukkan nama provinsi pada kolom State or Province Name = DKI Jakarta | Pilih OK
Masukkan nama kota tempat kamu tinggal = Jakarta Pusat | Pilih OK
Masukkan nama organisasi kamu = ABCDCorp.(Contoh) | Pilih OK
Masukkan nama organisasi unit kamu bekerja = Server Manager | Pilih OK
Masukkan nama hostname kamu = localhost | Pilih OK
Masukkan alamat e-mail sertifikat = e-mail_kamu | Pilih OK
Jika kamu bingung utk mengisi dialog diatas, biarkan saja nilainya default, dengan menekan tombol enter hingga proses instalasi selesai.
Aktifkan modul ssl supaya sertifkat ssl dikenali oleh apache2, dengan perintah sbb:
"# a2enmod ssl"

Restart apache2 dengan opsi force-reload seperti di bawah ini:
"# /etc/init.d/apache2 force-reload"

Langkah selanjutnya adalah menempatkan ssl certificate yg sudah anda buat sebelumnya di virtualhost apache2. Jalankan perintah berikut ini:
"# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl"

Edit file /etc/apache2/sites-available/ssl dengan menggunakan editor:
"# vim /etc/apache2/sites-available/ssl"

Tambahkan pula script di bawah ini pada baris terakhir sebelum baris :
"SSLEngine ON"

"SSLCertificateFile /etc/apache2/ssl/apache.pem"
"SSLCertificateKeyFile /etc/apache2/ssl/91d3d3"
Pada SSLCertificateKeyFile, file 91d3d3 adalah nama file yg dihasilkan, ketika kamu membuat file sertifikat ssl. Kamu dapat melihatnya pada file /etc/apache2/ssl.

Masih di file yg sama, yaitu /etc/apache2/sites-available/ssl, ubah juga bagian atas file menjadi di bawah ini:
""

Buka dan edit file /etc/apache2/sites-available/default dengan editor kamu:
"# vim /etc/apache2/sites-available/default"

Tambahkan script dibawah ini pada baris terakhir sebelum baris :
"SSLCertificateFile /etc/apache2/ssl/apache.pem"

Selanjutnya, lakukan restart apache2, dan aktifkan modul HTTPS untuk mengakses WebHTB dari web browser kamu:
"# /etc/init.d/apache2 force-reload"

kemudian, jalankan juga perintah di bawah ini:

"# a2ensite ssl"

Terakhir restart kembali layanan daemon apache2 dengan perintah:
"# /etc/init.d/apache2 restart"
Disini, proses instalasi WebHTB sudah selesai dijalankan, dan siap untuk diakses melalui web browser kamu.

Buka web browser kamu, dalam percobaan ini saya memakai firefox 3.5 bawaan dari Ubuntu, dan pada kolom URL ketikkan https://192.168.0.50/webhtb/setup. Alamat IP 192.168.0.50 merupakan alamat IP yg dimiliki server untuk terhubung dengan klien di jaringan LAN. Di sini, kamu akan melakukan pengaturan WebHTB supaya bisa terhubung dengan mysql.
Pada halaman setup ini, isi kolom yg bertuliskan warna merah. Berikut adalah kolom merah yg harus diisikan pada bagian setup WebHTB:
1. MySQL admin password: password user adminstrator MySQl kamu ketika instalasi dependensi di atas.
2. MySQL WebHTB password: password user untuk database WebHTB di MySQL. Masukkan password sesuai yang kamu mau.
3. MySQL WebHTB password again: masukkan password yg sudah kamu buat di nomor 2 tadi.
4. Default Interface: nomor ethernet card yg kamu gunakan untuk terhubung ke jaringan LAN
Setelah semuanya selesai, klik tombol Submit dan kalau sukses akan muncul jendela dialog yang menyatakan "SUCCES : NOW YOU MUST DELETE THE SETUP FOLDER" Klik OK.
Seperti yg sudah diperintahkan di atas, hapus folder setup pada direktori /var/www/webhtb dengan perintah:
"# rm -rf /var/www/webhtb/setup"

Langkah terakhir dalam instalasi WebHTB adalah mengganti password root sistem kamu. Jika tidak diganti, maka kamu nggak bisa login ke WebHTB. Jalankan perintah mengganti password root sbb:
"# passwd root"

Akses https://192.168.0.50/webhtb/, dan setelah itu akan muncul tampilan untuk login, dan masukkan password root yg sudah dibuat sebelumnya. Saat ini, kamu sudah bisa menggunakan WebHTB, dan sudah siap untuk konfigurasi.

2. Instalasi Squid
Apa sih Squid Itu?
Squid disini berfungsi sebagai proxy yang akan digunakan dengan WebHTB. Squid akan diset menjadi transparant proxy supaya kamu nggak perlu melakukan setting-setting lagi pada browsermu nanti.
Berikut di bawah ini adalah proses instalasinya:
"# apt-get install squid squid-common squid-cgi"

Biarkan proses instalasi berjalan dan selesai, kemudian langkah selanjutnya, kalu matikan dulu squid daemon yg sedang aktif:
"# /etc/init.d/squid stop"

Lakukan konfigurasi terhadap squid supaya menjadi transparant proxy, dan tambahkan baris berikut di bawah baris http_accessdeny CONNECT !SSL_ports:
"snmp_port 3401"
"acl snmpsquid snmp_community public"
"snmp_access allow snmpsquid localhost"
"snmp_access deny all"

Di bawah baris acl tersebut, tambahkan baris untuk mendeteksi jaringan lokal kamu. Tambahkan baris berikut ini:
"acl lokalnet src 192.168.0.0/24 ## sesuaikan dengan nomor jaringan kamu"
"http_access allow lokalnet"
"http_access deny all"
"http_reply_access allow all"
"icp_access deny all"
"always_direct deny all"

Kemudian pada baris paling bawah file squid.conf, tambahkan baris berikut ini:
"# vim /etc/squid/squid.conf"

Dan tambahkan baris berikut ini juga
"#Marking ZPH"
"zph_mode tos"
"zph_local 0x04"
"zph_option 136"
Baris di atas merupakan implementasi ZPH atau Zero Penalty Hit, kemudian lakukan restart squid daemon sekali lagi:
"# /etc/init.d.squid restart"
Konfigurasi IPtables diperlukan supaya transparant proxy langsung dapat berjalan dan diakses pada klien kamu. Buka file rc.local untuk meletakkan IPtables:
"# vim /etc/rc.local"
Tambahkan baris di bawah ini, sebelum baris exit 0:
"iptables -A OUTPUT -t mangle -m tos --tos 0x04 -j MARK --set-mark 0x04"
"iptables -t nat -A POSTROUTING -o ech0 -j MASQUERADE"
"iptables -A PREROUTING -t nat -p tcp --dcport 80 -j REDIRECT --to-port 3128"
Sesudah menambahkan baris di atas, restart atau reboot komputer kamu dengan perintah:
"# init 6"
Setelah komputer kamu hidup, pastikan squid daemon sudah berjalan. Cek dengan perintah:
"# ps aux | grep squid"