20 Dakikada Kimlik Doğrulama Sistemi
Evren PAZOĞLU
Ankara Üniversitesi Bilgi Ġşlem Daire Başkanlığı Mayıs 2010
4. ULAKBĠM Çalıştayı
Isparta
ĠHTĠYAÇLAR
Ubuntu 8.04 Server Edition
LAMP (Linux, Apache, MySQL PHP)
FreeRADİUS 2.1.6
“
FreeRADIUS includes a RADIUS server, a BSD licensed client library, a PAM library, and an Apache module. In most cases, the word FreeRADIUS refers to the RADIUS server.”“
FreeRADIUS is the most widely deployed RADIUS server in the world. It is the basis for multiple commercial offerings. It supplies the AAA needs of many Fortune-500 companies and Tier 1 ISPs. It is also widely used in the academic community, including eduroam. The server is fast, feature-rich, modular, and scalable.”
“
The server has reached a stable Version 2.1.8 (sig) , with incremental improvements added in every release.”
DaloRADIUS 0.9.8
“
daloRADIUS is an advanced RADIUS web management application aimed at managing hotspots and general-purpose ISP deployments.It features user management, graphical reporting, accounting, a billing engine and integrates with GoogleMaps for geo-locating.
”
Ġhtiyaçlar
Neden SQL ve DaloRADIUS ?
Kurulum ve yönetim kolaylığı
Kullanıcı, Kullanıcı grubu, attribute ve client (NAS) yönetim kolaylığı.
(Acccounting) Kullanıcı kayıtlarına kolay erişim ve izleme kolaylığı.
Kullanıcı dostu arayüz.
Ġhtiyaçlar
KURULUM
FreeRADIUS 2.1.6 ve daloRADIUS 0.9.8 paketleri indirilecek.
Derleme işlemi için ve daloRADIUS'un çalışması için gerekli paketler kurulacak.
FreeRADIUS deb paketleri haline getirilecek.
MySQL veritabanı şekillendirilecek.
FreeRADIUS MySQL entegrasyonu sağlanacak
DaloRADIUS MySQL entegrasyonu sağlanacak
Sistem kullanıma hazır : )
Kurulum
UYGULAMA
Uygulama 1
FreeRADIUS, MySQL, PHP kütüphaneleri, ssl kütüphaneleri ve derleme için gerekli paketler.
root# apt-get install build-essential root# apt-get install dpkg-dev root# apt-get install libpcap-dev
root# apt-get install openssl libssl0.9.8 libssl-dev root# apt-get install libldap-2.4-2 libldap2-dev
root# apt-get install libmysqlclient-dev libsasl2-dev libiodbc2-dev
root# apt-get install libkrb5-dev libperl-dev python-dev libsnmp-dev libpq-dev root# apt-get install libmysqlclient15-dev libsasl2-dev libiodbc2-dev libkrb5-dev root# apt-get install libperl-dev python-dev libsnmp-dev libpq-dev
root# apt-get install phpmyadmin
root# apt-get install autotools-dev libtool libltdl3-dev libpam0g-dev root# apt-get install libgdbm-dev libldap2-dev libpcap-dev
root# apt-get install debhelper quilt dpatch snmp
DaloRADIUS web arayüzünün çalışması için gerekli paketler
root# apt-get install php-pear php5-gd php-db
Uygulama 2
FreeRadius kaynağını indiyoruz ve freeradius u kaynak kodundan deb paketi haline getiriyoruz.
root# cd /usr/src/
root# ftp://ftp.freeradius.org/pub/freeradius/old/freeradius-server-2.1.6.tar.gz root# tar zxvf freeradius-server-2.1.6.tar.gz
root# cd freeradius-server-2.1.6/
root# dpkg-buildpackage -b –uc
deb paketleri yukarıdaki kuruluma göre /usr/src dizini altında oluşturuluyor. Sonra paketleri teker teker kuruyoruz.
root# dpkg -i libfreeradius-dev_2.1.6_i386.deb libfreeradius2_2.1.6_i386.deb root# dpkg -i freeradius_2.1.6_i386.deb freeradius-common_2.1.6_all.deb root# dpkg -i freeradius-mysql_2.1.6_i386.deb
root# dpkg -i freeradius-utils_2.1.6_i386.deb freeradius-dbg_2.1.6_i386.deb
eap/ttls çalışması için gereken demo sertifika dosyalarını kurulum sırasında kaydetmez ise elle ilgili yere kopyalıyoruz (Gerekebilir).
root# cp -r /usr/src/freeradius-server-2.1.6/raddb/certs /etc/freeradius/
Uygulama 3
DaloRADIUS Kurulumu
root# cd /usr/src
root# wget http://sourceforge.net/projects/daloradius/files/daloradius/daloradius-0.9-8/daloradius-0.9- 8.tar.gz/download
root# cp daloradius-0.9-8.tar.gz /var/www/
root# cd /var/www/
root# tar zxvf daloradius-0.9-8.tar.gz root# mv daloradius-0.9-8 daloradius
root# chown -R www-data:www-data daloradius
DaloRADIUS ve FreeRADIUS tarafından kullanılacak veritabanı ve kullanıcın oluşturulması. PhpMyAdmin ile ilgili veritabanı kullanıcısını ve veritabanını oluşturuyoruz. Sonra daloRADIUS içerisinde gelen hazır şemayı ilgili veritabanı içerisine aktarıyoruz.
user: radiusdb password:test db: radiusdb