Perkembangan Aplikasi
Trik Mengelola Kuota Internet Bersama SQUID
Hak Akses Dengan Password
Pada bab ini, hak akses Internet untuk setiap pengguna akan diatur sesuai dengan
nama user (username) dan password
yang terdaftar di komputer server. Terdapat 3 (tiga) alternatif pilihan yang dapat Anda
gunakan untuk memeriksa valid atau tidaknya
nama
user
dan
password setia pengguna. Ketiga pilihan tersebut
antara lain adalah
penggunaan
program autentikasi (authentication program) seperti ncsa_auth, squid_ldap_auth, dan mysql_auth. Sebenarnya, cara kerja ketiga program tersebut cukup sederhana. Anda dapat membuatnya sendiri dan menyesuaikannya dengan kondisi dari tempat Anda bekerja karena yang
terpenting dari ketiganya adalah output yang dihasilkan dari proses pembacaan nama user dan password.
Program akan menghasilkan output berupa teks OK jika autentikasi berhasil dan output berupa teks ERR jika autentikasi gagal.
Hasil
berupa
pesan OK akan
diterima oleh Squid sebagai tanda dibukanya hak untuk mengakses Internet. Hasil berupa pesan ERR diterima oleh Squid sebagai tanda gagalnya hak untuk
mengakses Internet. Alur proses yang
bekerja pada ketiga program authenticate tersebut dapat Anda lihat dalam flowchart berikut ini.
Program ncsa_auth akan memanfaatkan data user
dan password yang
dibuat oleh program htpasswd. Program htpasswd merupakan salah satu program yang dipaketkan
bersama instalasi web
server Apache. Program squid_ldap_auth akan memanfaatkan data-data di
server LDAP yang di dalamnya menyimpan nama user
dan password. Informasi lebih
lengkap tentang LDAP dapat Anda baca di dalam Subbab 3.2. Program yang terakhir, mysql_auth, merupakan
program dalam bahasa C yang dibuat sendiri dengan memanfaatkan cara kerja Squid saat memeriksa nama user dan password yang berhak. Sesuai dengan namanya, mysql_auth akan memanfaatkan database MySQL dalam pengelolaan nama user dan password.
Ketiga program di atas dapat dipercaya, cukup
aman, dan
andal dalam menangani pengaturan hak akses
Internet berdasarkan pada nama user dan password. Berikut ini akan dibahas
persiapan software, instalasi, dan pengaturan konfigurasi agar setiap
alternatifnya dapat berjalan
dengan baik
Untuk membuat file password tersebut, dibutuhkan program htpasswd yang terinstalasi bersama web server Apache. Untuk itu, periksalah terlebih dahulu keberadaan htpasswd dengan cara di bawah ini.
/ &
0 $ % 1 "
-
Jika perintah diatas menghasilkan baris teks berupa /usr/bin/htpasswd atau sejenisnya maka anda tidak perlu melakukan tindakan instalasi apapun.
3.1.1 Membuat File Password dengan htpasswd
Dengan adanya program htpasswd, Anda dapat memulai pembuatan data nama pengguna dan password yang
diperbolehkan untuk memperoleh akses Internet. Saat
Selanjutnya, prompt akan berhenti menunggu sampai input nama user dan password dimasukkan. Sebagai contoh, jika Anda memasukkan nama andi dengan password qwerty namun menghasilkan output teks
ERR, berarti password
tidak benar. Akan
tetapi jika Anda mengisi input password dengan benar dan sama seperti saat memasukkan data user ke dalam file /etc/squid/password,
misalnya abcdef, maka output yang akan dihasilkan berupa teks OK. Teks inilah
yang menentukkan seorang pengguna dapat menggunakan akses Internet atau tidak. Tampilan pengisian
input dan
hasilnya dapat Anda lihat pada ilustrasi proses di bawah ini.
Dengan percobaan di atas, dapat dipastikan
program ncsa_auth dan file password yang Anda buat dapat segera diterapkan untuk pengaturan hak akses pada Squid.
Jika Anda ingin menghentikan proses input
di atas, tekanlah
Ctrl+C
3.1.2 Mengubah Konfigurasi Squid
Agar web browser dapat menerima permintaan input berupa nama user dan password dari setiap pengguna, diperlukan perubahan konfigurasi Squid pada /etc/squid/squid.conf. Perubahan tersebut antara lain meliputi beberapa hal yang ditampilkan pada potongan listing di bawah ini
Pada bagian tag authenticate_program, tampak bahwa program untuk autentikasi diaktifkan dengan program ncsa_auth di
/usr/lib/squid/ dan file password di /etc/squid/. Penulisan ini sama dengan perintah yang dicoba secara manual melalui terminal pada Subbab
3.1.2. Di bagian
ACCESS CONTROL pada potongan
listing konfigurasi di
atas, tampak
bahwa terdapat definisi access control dengan nama pengguna yang akan menggunakan program autentikasi. Selanjutnya, modifikasi terakhir yang tampak
pada
bagian tag http_access menunjukkan bahwa selain pengguna (lihat tanda seru pada awal kata pengguna), akses Internet akan ditolak.
Penulisan konfigurasi di atas akan mengakibatkan pengguna yang tidak terdaftar di file /etc/squid/password atau salah dalam menuliskan password tidak dapat memanfaatkan Internet. Web browser akan menampilkan kotak dialog yang berisi permintaan nama user dan password secara terus menerus sampai Anda menuliskan nama user dan password secara tepat atau menekan tombol Cancel. Gambar di bawah ini menunjukkan permintaan input user dan password saat pertama kali mengakses Internet (Gambar 3.2).
Jika Anda gagal mengisi kotak dialog tersebut dengan benar sampai 3 kali atau akhirnya menekan tombol Cancel maka web browser akan menampilan pesan penolakan akses Internet. Gambar 3.3 menunjukkan kondisi penolakan tersebut.
Penulisan konfigurasi di atas akan mengakibatkan pengguna yang tidak terdaftar di file /etc/squid/password atau salah dalam menuliskan password tidak dapat memanfaatkan Internet. Web browser akan menampilkan kotak dialog yang berisi permintaan nama user dan password secara terus menerus sampai Anda menuliskan nama user dan password secara tepat atau menekan tombol Cancel. Gambar di bawah ini menunjukkan permintaan input user dan password saat pertama kali mengakses Internet (Gambar 3.2).
Jika Anda gagal mengisi kotak dialog tersebut dengan benar sampai 3 kali atau akhirnya menekan tombol Cancel maka web browser akan menampilan pesan penolakan akses Internet. Gambar 3.3 menunjukkan kondisi penolakan tersebut.
Pengaturan konfigurasi ini dapat dimodifikasi dan digabungkan dengan aturan yang Anda pelajari pada pembahasan di bab sebelumnya seperti pengaturan hari dan jam akses atau nomor IP komputer. Dengan adanya penggabungan tersebut, akan dihasilkan kontrol akses Internet yang optimal. Sebagai contoh, konfigurasi di bawah ini hanya akan memberikan akses Internet kepada pengguna yang terdaftar dan menggunakan komputer
tertentu dengan nomor IP yang telah dibatasi mulai 192.168.1.1 S/D 192.168.1.25
Post a Comment