Rabu, 16 November 2011

Membatasi Download Speed Apache

Salam semuanya, wah sudah lama sekali saya tidak blogging, disamping kesibukan dan jarang ngoprek udah beberapa minggu saya sakit. Oke kali ini saya ngoprek apache, latar belakang nya karena free services yang diberikan kepada mahasiswa ilkom upi. Karena saya admin dari server cs tersebut, terfikirkan oleh saya bagaimana mengamankan server itu dari request yang besar (salah satunya dari apache). untuk saat ini server cs memberikan layanan hosting gratis bagi mahasiswa, dosen dan staff di ilkom upi, dan hosting itu unlimited space nya. Lantas bagaimana cara saya mengamankan dari user yang menyimpan data besar disana?


Selain menggunakan aturan yang ketat, saya juga harus bisa mengamankan secara teknis. Solusinya adalah meminimalkan download/upload speed dari apache terhadap satu virtual host. oke caranya ketemu dengan menggunakan sebuah modul apache yang di sebut mod_cband. mod_cband adalah modul untuk Apache 2 untuk memecahkan masalah dalam membatasi penggunaan bandwidth oleh user dan virtualhost. Memiliki fitur kombinasi gabungan antara mod_bandwidth, mod_limitipcon, dan mod_curb. Sebenarnya fiturnya banyak, tapi yang saya butuhkan hanyalah membatasi download speed dan maksimum connection dari sebuah host. fitur mod_cband antara lain :




  1. modul untuk membatasi bandwidth pada Apache 2

  2. pembatasan bandwidth per user

  3. pembatasan bandwidth per virtualhos

  4. pembatasan bandwidth per tujuan

  5. membatasi:

    • total bandwidth yang digunakan (quota bandwidth)

    • maksimal kecepatan download

    • maksimal kecepatan permintaan per detik (requests-per-second)

    • maksimal koneksi IP secara bersamaan



  6. mendukung virtualhost

  7. mendukung definisi user

  8. mendukung /cband-status

  9. mendukung /cband-status-me


Oke langsung aja ya, skema nya saya mau membatasi download speed 15kbs dan maksimal 4 koneksi per user. langkah pertama adalah pre-install, mod-cband membutuhkan apache-devel untuk berjalan, untuk itu pertama sekali kita install apache-devel (saya menggunakan centos) :




[plain]
# yum install httpd-devel
[/plain]

Setelah itu download dan install mod-cband nya :




[plain]
cd /tmp
wget http://cband.linux.pl/download/mod-cband-0.9.7.4.tgz
tar xzvf mod-cband-0.9.7.4.tgz
cd mod-cband-0.9.7.4
./configure
make
make install
[/plain]

selanjutnya cek di httpd.conf nya baris berikut, jika tidak ada tambahkan sendiri :


[plain]
LoadModule cband_module       /usr/lib64/httpd/modules/mod_cband.so
[/plain]


untuk mengaktifkan modul tersebut tambahkan juga baris berikut di httpd.conf nya :


[plain]
CBandScoreFlushPeriod 1
CBandRandomPulse On
[/plain]


nah restart apache nya :


[plain]
# service httpd restart
[/plain]


sekarang kasusnya kita mau limit untuk sebuah virtual host, misalnya example.com. kita edit file virtual hostnya jadi seperti berikut ini :


[plain]
<VirtualHost 1.2.3.4>
ServerName www.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www
CBandSpeed 1024 10 30
CBandRemoteSpeed 15kb/s 4 4
</VirtualHost>
[/plain]


maksud dari CBandSpeed itu maksimum speed untuk vhost example.com nya 1024kbps, maksimum request nya 10 dan maksimum koneksi per second nya 30. kalau CBandRemoteSpeed itu sama dengan CBandSpeed, cuma di apply nya per user client, bukan per virtual host. maksimal user download 15kbps , maksimum request 4, dan maksimum koneksi 4 per second.


terakhir tinggal restart apache nya:


[plain]
# service httpd restart
[/plain]


Selamat menikmati limit speed ;)


0 komentar:

Posting Komentar