28 Juli 2008

Disconnect pengguna secara otomatis jika waktu akses sudah habis

Salah satu keistimewaan radius server adalah dapat menentukan waktu koneksi untuk pengguna, dimana seorang admin akan menentukan berapa lama seorang user dan group diberikan ijin untuk online melalui jaringan yang dikelola oleh admin. Sebagai contoh seorang admin akan membatasi seorang user dengan memberikannya hak akses selama 1 jam, jika setelah satu jam user tersebut akan secara otomatis terputus dari jaringan.

Berikut adalah langkah-langkah yang akan dilakukan oleh admin untuk melakukan disconnect berdasarkan waktu yang telah ditentukan

Edit file konfigurasi radius yang terdapat di "/etc/freeradius/radius.conf" kemudian tambahkan script berikut:

sqlcounter timelimit {

counter-name = Max-All-Session-Time
check-name = Max-All-Session
sqlmod-inst = sql
key = User-Name
reset = never
query = "SELECT SUM(AcctSessionTime) FROM radacct where UserName='%{%k}'"

}

Pada check-name diberikan nilai Max-All-Session, yang akan diterapkan juga pada tabel radcheck. Bisa saja menggunakan nama lain akan begitu juga pada tabel radchek sesaikan dengan nama entry pada check-name . pada query diatas radius server akan mendapatkan penjumlahan dari lamanya sesi yang terdapat pada tabel raddact. Kemudian akan di bandingkan dengan nilai dari Max-All-Session kemudian akan melakukan pemutusan apabila waktu yang terdapat pada check-name dan tabel radcheck sama.

Dari sript diatas server radius belum melakukan accounting. Maka untuk mengaktifkan accounting harus menambahkan module pada sessi authorize yang terdapat dalam file radius.conf

authorize {

 
 

preprocess
chap
mschap
suffix
eap
files
sql
pap
timelimit //ini yang ditambahkan

}

Selanjutnya lakukan restart untuk menerapkan perubahan pada system.

Untuk menentukan batasan waktu pada user maka pada table radcheck ditambahkan seperti berikut:

+–+———–+—————–+—+———-+
| id | UserName| Attribute | op | Value |
+–+———–+—————–+—+———-+
| 1 | user | User-Password | := | p45sw0rd |
| 2 | user | Max-All-Session | := | 3600 |
+–+———–+—————–+—+———-+

Dari tabel diatas terlihat bahwa pengguna dengan nama user mempunyai ijin akses selama 3600second atau sama dengan satu jam.

Tidak ada komentar: