Radius
Documents Gratuits : Radius. Rechercher de 53 000+ Dissertation Gratuites et Mémoiresd est un attribut VSA (Vendor-Specific Attributes) , c'est-à-dire qu'il est spécifique à un fournisseur, et dans ce cas, c'est un attribut de Microsoft et pour être plus précis, celui de MS-Chap v2. Il n'appartient pas aux attributs radius standard définis dans la RFC 2865.
Suite à cette phase dit d'authentification, débute une phase d'autorisation où le serveur retourne les autorisations de l'utilisateur.
III - Configuration :
Pour notre exemple nous allons choisir FreeRadious, un serveur RADIUS libre.
1.Installation de Freeradius
# apt-get install freeradius freeradi
# apt-get install freeradius-mysql
2.Installation de MySQL
# apt-get install mysql-server
# apt-get install mysql-client
3. Configuration de MySQL
# echo "create database radius;" | mysql -u root -p
# echo "grant all on radius.* to radius@'%' identified by 'motdepasse_sql'; flush privileges;" | mysql -u root -p
# mysql -uroot -p radius < /etc/freeradius/sql/mysql/schema.sql
# mysql -uroot -p radius < /etc/freeradius/sql/mysql/nas.sql
4. Création de comptes utilisateur
Créer un nouvel utilisateur (Thus0) avec un mot de passe stocké en clair : "motdepasse"
(authentification CHAP)
# echo "INSERT INTO radcheck(UserName,Attribute,op,Value) VALUES
('Thus0','Cleartext-Password',':=','motdepasse');" | mysql -u root -p
Radius
Créer un utilisateur (Thus1) avec un mot de passe crypté : "motdepasse" (authentification PAP)
# echo "INSERT INTO radcheck(UserName,Attribute,op,Value) VALUES
('Thus1','Crypt-Password',':=',ENCRYPT('motdepasse')); " | mysql -u root
-p radius
# echo "INSERT INTO radcheck(UserName,Attribute,op,Value) VALUES
('Thus1','Auth-Type',':=','Crypt-Local'); " | mysql -u root -p radius
5. Configuration de Freeradius
Modifier le fichier /etc/freeradius/sql.conf
sql {
database = "mysql"
driver = "rlm_sql_${database}"
server = "localhost"
login = "radius"
password = "motdepasse_sql"
radius_db = "radius"
acct_table1 = "radacct"
acct_table2 = "radacct"
postauth_table = "radpostauth"
authcheck_table = "radcheck"
authreply_table = "radreply"
groupcheck_table = "radgroupcheck"
groupreply_table = "radgroupreply"
usergroup_table = "radusergroup"
deletestalesessions = yes
sqltrace = no
sqltracefile = ${logdir}/sqltrace.sql
num_sql_socks = 5
connect_failure_retry_delay = 60
readclients = yes
nas_table = "nas"
$INCLUDE sql/${database}/dialup.conf
}
Modifier le fichier /etc/freeradius/radiusd.conf : dé-commenter les 2 lignes suivantes :
$INCLUDE sql.conf
$INCLUDE sql/mysql/counter.conf
Créer un virtualhost (par ex : radius.foobar.com) : prendre pour exemple, le fichier fourni par defaut et l’activer :
# cd /etc/freeradius/sites-available
# cp default radius.foobar.com
# ln -s etc/freeradius/sites-available/radius.foobar.com /etc/freeradius
/sites-enabled/
Configurer le virtualhost créé : modifier le fichier /etc/freeradius/sites-available
/radius.foobar.com
authorize {
preprocess
chap
suffix
sql
expiration
logintime
pap
}
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
eap
}
preacct {
preprocess
acct_unique
suffix
}
accounting {
detail
radutmp
sql
}
session {
radutmp
sql
}
post-auth {
sql
# sql_log
exec
Post-Auth-Type REJECT {
attr_filter.access_reject
}
}
[...]
6. Test de l’installation de freeradius
créer un NAS [1] pour tester en local au freeradius : modifier dans le fichier etc/freeradius/clients.conf
le secret partagé entre le NAS et le serveur radius :
client localhost {
ipaddr = 127.0.0.1
secret = monsecret_nasradius
nastype = other
}
...