Merhabalar
Bugün
sizlerle Grafik arayüzlü Radius server kurulumu yapacağız.
Yaptığım
herşeyi yazma özen göstereceğim.
1.
İşletim sistemi
kurulumu.
2.
Radius
server olarak freeradius kurulumu.
3.
Freeradius
testleri
4.
Daloradius
kurulumu(Sql bilgileri kolay bi şekilde girmek için grafik arayüzlü daloradius
kuracağız)
5.
Freeradius a
sql database i kullanır hale getireceğiz.
6.
Freeradius un
sql okuma testeri
7.
Daloradius
da logları bakmak
1. İşletim sistemi kurulumu.
İşletim
sistemi tercihi olarak ben ubuntu server kullandım. Centos ile de testlerimi
yaptım. Genel hatlarıyla değişen bişey yok.
OS. İndirip
sanal makinaya kurdum.
kurulum
sırasında aşağıdakileri aktif ettim.
ssh serveri
Basic server
Lamp serveri
Root kullanıcı karşıma çıkmadı benden yeni kullanıcı istedi
New username: enesmozturk
New User password:123456
Makalemde kullandığım tüm şifreler 123456 olacak
Eğer kurulum sırasında ssh,Lamp,basic unuttuysak
Sudo su
Tasksel
Bu komut bize kurulum ayarlarına götürüyor.
Burdan basic server,ssh server,Lamp server kurulum sırasında seçmediysek
seçelim.
ilk olarak LAMP nedir diyorsanız LAMP Linux, Apache, Mysql, Php
(Perl,Python) 'nin başharflerinden oluşan bir kısaltmadır.
Kurulum tamamlanınca güncellemek için aşağıdaki 2 komutu verdim.
apt-get
update
apt-get upgrade
sonra
kapatım snapshotını aldım yedek olsun diye…
2. Radius server olarak freeradius kurulumu.
Açıldıktan
sonra
sudo su
şifrenizi
girin
Bu komutu
vererek root yetkisini aldım.
Şimdi
database olarak mysql kuralım…
apt-get install mysql-server
sizden mysql
root şifresi isteyecek
Not: (Lamp
kurduysanız hiç bir şey yapmayacak)
apt-get install php5-gd php-pear php-db
apt-get install freeradius freeradius-mysql
apt-get install phpmyadmin
Son
verdiğimiz komut ile phpmyadmin hangi webservis ile ilişkendireyim diye soruyor
bizde apache2 diyoruz.
3. Freeradius testleri
dpkg -l | grep radius
Bu komut ile
sistemimizdeki Radius un versiyonu görebiliriz.
Evet
Freeradius kuruldu. Test yapalım biraz.
/etc/init.d/freeradius status
/etc/init.d/freeradius stop
netstat -pnl | grep 1812
boş olması
lazım.
/etc/init.d/freeradius start
netstat -pnl | grep 1812
udp 0
0 127.0.0.1:18120
0.0.0.0:*
918/freeradius
udp 0
0 0.0.0.0:1812
0.0.0.0:*
918/freeradius
Yazılarını
görüyorsak Radius servisimiz hazır demektir.
radtest
komutu ile test yapalım
radtest
kullanıcı_adı sifre Radius_server Nas_port güvenlik_sifresi
Kurulumla
birlikte test için localhostun güvenlik şifresi testing123 dür.
radtest user password localhost 0
testing123
Sending
Access-Request of id 197 to 127.0.0.1 port 1812
User-Name = "user"
User-Password = "password"
NAS-IP-Address = 127.0.1.1
NAS-Port = 0
rad_recv:
Access-Reject packet from host 127.0.0.1 port 1812, id=197, length=20
Yazısı
karsımıza çıkacaktır. Basit yoldan kullanıcı tanımlıyalım.
vi /etc/freeradius/users
user
Cleartext-Password := "password"
en tepeye
yazalım bunu.kaydedelim.
/etc/init.d/freeradius restart
radtest user password localhost 0
testing123
ending
Access-Request of id 90 to 127.0.0.1 port 1812
User-Name = "user"
User-Password = "password"
NAS-IP-Address = 127.0.1.1
NAS-Port = 0
rad_recv:
Access-Accept packet from host 127.0.0.1 port 1812, id=90, length=20
Yazacaktır.
Bu şifreyi sonra silmeyi unutmayın yoksa güvenlik açığıı olacaktır.
vi
/etc/freeradius/clients.conf
client 192.168.0.0/16 {
secret = 123456
shortname = deneme
}
En tepeye bunu yazasak
192.168.0.0/16 networkundeki tüm NAS (Network-attached storage) 123456
şifresi ile bağlanabilirler.
Bir cihaz bağlayıp gerçek testini yapabilrsiniz.
İlerde sql
ile kullanıcı tanımı yapacağız.
4. Daloradius kurulumu
ihtiyacımız
olan tüm servisler kurulmuş oldu. Şimdi daloradius u indirelim .En güncel olanı
bulup indiriyoruz. Şuanda en güncel 0,9-9 var.
wget
http://garr.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz
dosya
indirildi.Sıkıştırılmış dosyayı açalım
tar -zxvf daloradius-0.9-9.tar.gz
mv daloradius-0.9-9 daloradius
dosya ismini
düzelttik. Webservis hizmeti vermesi için gerekli yere taşıyalım.
cp daloradius/ /var/www -R
Komut
sonundaki -R kopya yapıştırda bozulabiliyor.
chown www-data:www-data
/var/www/daloradius -R
Webservis
hizmeti için okuma yazma yetkilerini ayarlıyalım.
chmod 644 /var/www/daloradius/library/daloradius.conf.php
chown www-data:www-data
/var/log/freeradius -R
chown www-data:www-data
/var/log/syslog -R
chown www-data:www-data
/var/log/dmesg -R
touch /tmp/daloradius.log
cd
/var/www/daloradius/contrib/db/
database
ayarlamaya başlıyalım
mysql -u root -p
mysql root
şifremiz
mysql> CREATE DATABASE radius;
Query OK, 1
row affected (0.00 sec)
mysql> exit
Bye
mysql -u root -p radius <
fr2-mysql-daloradius-and-freeradius.sql
mysql root
şifremiz
cd /var/www/daloradius/library/
vi daloradius.conf.php
Bu komut ile
yazı editörü açılır. Aşağıdaki tablo gibi yapmamız lazım. Ben sadece mysql root
şifresini girdim.123456.
Vi
kullanmayı bilmeyenler için küçük bir hatırlatma ilk açılışta okuma modundadır.
Ok (yön ) tuşları ile istediğimiz yere gideriz. İ harfine bastığımızda yazma
moduna geçeriz istediğimiz yazıp esc ile tekrar okuma moduna geçeriz.
Kaydetmek
için :wr
Çıkmak içim
:q!
FreeRADIUS 2.X
- If you are working with FreeRADIUS 2.X (Ubuntu 10.04) then:
$configValues['FREERADIUS_VERSION'] = '2';
$configValues['CONFIG_DB_PASS'] = 'password';
$configValues['CONFIG_DB_TBL_RADUSERGROUP'] =
'radusergroup';
Kurulum bitti;
Browser a IP
adresimizi yazalım.
http://your ip address/
It works! Yazısını göreceğiz yani webserver çalışıyor.
Şimdi Browser a http://your
ip address/daloradius yazalım.
username: administrator
password: radius
Notice: Güvenlik
için ilerde default şifremizi değiştirmeyi unutmayalım.
5. Freeradius a sql database i kullanır hale getireceğiz
Şimdi Freeradius umuzu database okumasını sağlamayız.
cd /etc/freeradius/
vi sql.conf
# Connection info:
server =
"localhost"
#port =
3306
login =
"root"
password =
"123456"
freeradius database oku şifresini vermiş oluyoruz.
vi
/etc/freeradius/radiusd.conf
girdiğimizde sonlara
# $INCLUDE sql.conf
Başındaki # kaldırıyoruz.
$INCLUDE sql.conf
vi
/etc/freeradius/sites-available/default
authorize {
…
sql
…
}
accounting {
…
sql
…
}
session {
…
sql
…
}
post-auth {
…
sql
…
}
Yukarıda saydığım #sql
Başındaki # kaldırıyoruz. Zaten yukarıda saydığımdan başa #sql yok 4
tane olacak…
Freeradiusa database okuması için gerekli ayarları yaptık
şimdi yeniden başlatalım ve database kullanıcı girelim girelim.
/etc/init.d/freeradius restart
* Stopping
FreeRADIUS daemon freeradius
...done.
* Starting FreeRADIUS daemon freeradius
...done.
6. Freeradius un sql okuma testeri
Browser a IP
adresimizi yazalım.
http://your ip address/phpmyadmin
Karşımıza resimdeki gibi ekran açılır.
Mysql root ve şifresini yazalım.
Phpmyadmin hakkında küçük bilgi vereyim. Sistemimizdeki
mysql kontrol etmemize olanak sağlayağan küçük ama bi okadar da kullanışlı php
temelli databasecilerin kullandığı bir tool.
Veritabanları içinde radiusu seçip radcheck tablosuna
veri oluşturalım
INSERT
INTO `radius`.`radcheck` (`id`, `username`, `attribute`, `op`, `value`) VALUES
(NULL, 'deneme', 'Cleartext-Password', ':=', 'deneme');
Yaptığımızda
kolay bir şekilde database kullanıcı tanımladık.
/etc/init.d/freeradius
restart
radtest deneme deneme
localhost 0 testing123
Sending
Access-Request of id 166 to 127.0.0.1 port 1812
User-Name = "deneme"
User-Password = "deneme"
NAS-IP-Address = 127.0.1.1
NAS-Port = 0
rad_recv:
Access-Accept packet from host 127.0.0.1 port 1812, id=166, length=20
Gördüğünüz
gibi kullanıcımızı tanımış J))
İsterseniz
şimdi bunu Daloradius dan kullancı tanımlıyalım.
Görüldüğü
gibi daloradius da tanımladığımız kullanıcı phpmyadmin degözüküyor.
Not:radtest
komutu sadece cleartext-Password şekilde kullanıcıları tanıyabilir
7. WPA / WPA2 wireless ağlarından Windows 7 üzerinden bağlantı sağlama.
Gerçeği söylemek gerekirse en çok zorlandığım bu bölüm oldu.
Çünkü bu bölümü tam olarak anlatan olmamış herkes parça parça anlatmış.
Sertifikaların Hazırlanması
Openssl servisi kurulu olması gerekiyor. Benim sistemimde kurulu
geldi :))
Freeradius un kurulumla beraber gelen sertifikalarına bakalım ve
onları silelim.
cd
/etc/freeradius/certs
ls
ca.pem dh server.key
server.pem
rm
–R *
find
/ -name "ca.cnf"
/usr/share/doc/freeradius/examples/certs/ca.cnf
cd
/usr/share/doc/freeradius/examples/certs/
ls
bootstrap ca.cnf client.cnf
Makefile README server.cnf
xpextensions
Sildiğimiz sertifikalar yerine yenisi oluşturacağız. Eğer daha
önceden oluşturulmuş sertifikalar varsa onlarıda kullanabiliriz.
Burda ca.cnf , client.cnf ve server.cnf dosyalarının içini bize
uygun şekilde düzenleyebiliriz. İstersek düzenlemeden devam edebiliriz.
Örnek verecek olursak…
Ca.cnf dosyasının bizi ilgilendiren kısmı
[ req ]
prompt =
no
distinguished_name =
certificate_authority
default_bits =
2048
input_password =
whatever
output_password =
whatever
x509_extensions =
v3_ca
[certificate_authority]
countryName =
FR
stateOrProvinceName =
Radius
localityName =
Somewhere
organizationName =
Example Inc.
emailAddress =
admin@example.com
commonName =
"Example Certificate Authority"
Ben kendimce değiştirdim.
[ req ]
prompt =
no
distinguished_name =
certificate_authority
default_bits =
2048
input_password =
sifrem
output_password =
sifrem
x509_extensions =
v3_ca
[certificate_authority]
countryName =
TR
stateOrProvinceName =
Radius
localityName =
Ankara
organizationName =
Enes AS.
emailAddress =
enesmozturk@gmail.com
commonName =
"Example Certificate Authority"
Sertifika bilgilerini verdikden sonra sertifikamızı oluşturalım.
./bootstrap
Using configuration from ./client.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 2
(0x2)
Validity
Not Before:
Jul 24 14:23:18 2012 GMT
Not After :
Jul 24 14:23:18 2013 GMT
Subject:
countryName = TR
stateOrProvinceName = Radius
organizationName = Enes
AS.
commonName =
user@example.com
emailAddress =
enesmozturk@gmail.com
X509v3 extensions:
X509v3
Extended Key Usage:
TLS Web Client Authentication
Certificate is to be certified until Jul 24 14:23:18 2013 GMT
(365 days)
Write out database with 1 new entries
Data Base Updated
cp
-R * /etc/freeradius/certs/
cd
/etc/freeradius/certs/
ls
01.pem ca.der client.crt index.txt Makefile serial.old
server.key
02.pem ca.key client.csr index.txt.attr random
server.cnf server.p12
bootstrap ca.pem client.key index.txt.attr.old README
server.crt server.pem
ca.cnf client.cnf
dh index.txt.old serial
server.csr xpextensions
Not:burdaki ca.der almamız lazım.Bu dosyayı Wireless bağlantısı
yapacak Windows makineler kuracağız.
Kullanılacak Protokol un belirlenmesi
Windows makinelerin ağa bağlanması için peap protokolunu tercih
ettim.
Cd
/etc/freeradius
Vi
eap.conf
default_eap_type = md5
--à default_eap_type = peap
tls {
#
# These is used to simplify later
configurations.
#
certdir
= ${confdir}/certs
cadir
= ${confdir}/certs
private_key_password
= whatever
private_key_file
= ${certdir}/server.key
“whatever” yazan yeri “sifrem” ile değiştiriyoruz.
Cd
..
vi
sites-available/inner-tunnel
# sql
Yazan 3 yerdeki #
işaretini kaldırıyoruz.
/etc/init.d/freeradius
start
Database kullanıcı ve client tanımlaması
Daloradius üzerinden kullanıcı tanımlıyoruz. Test amaçlı Users dosyasına tanımladığım ilaveleri sildim.
Kullanıcıları cleartext-Password olarak tanımlıyoruz
Aşağıdaki tabloda Protocol and Password Compatibility bilgisi
verilmiş. Aklımızda bulunsun.
Daloradius üzerinden Nas tanımlıyoruz. Test amaçlı
Client.conf dosyasına tanımladığım
ilaveleri sildim.
Ca.der ile wifi
bağlantısı yapacak Windows makineye kuruyoruz.
Ve sonuç başarılı.
Ben hemen andorid telefonum ile de denediğimde sertifikasız bağlandım.
Gayet güzel bir anlatım olmuş. Elinize sağlık.
YanıtlaSilwin7 den bağlantı kısmının anlatımı biraz daha genişletilebilir mi? Ayrıca AP bağlantı denediniz mi?
Merhabalar, güzel olmuş lakin hiç bir şey yapamadım size zahmet olmazsa hazır yapılmış bir image atar mısınız? Ne kadar çok dua ederim size. Bu durumda kurulu bir sistemi nette bilgisayar ve firewalle beraber 12.000 tlye satıyorlar toplamda cihazları ayrı ayrı alsak 1500 lira yardımcı olursanız size müteşekkir olurum. Başarılar.
YanıtlaSilDaha ben 64bitubuntu yükleyemedim :P bu nasıl iştir :))
YanıtlaSilAdamsın.
YanıtlaSil