Installation du serveur Freeradius.
1. Copier les packages freeradius-1.0.2-0.i586.rpm,
---------------------------------------------------------------------------
freeradius-devel-1.0.2-0.i586.rpm, certs.tar.gz et radius_npm.tar.gz dans un répertoire temporaire (par ex. /tmp/freeradius/sources)
2. Lancer YAST et installer les packages suivants:
----------------------------------------------------------------
cyrus-sasl-devel openssl postgresql-libs
heimdal-devel openssl-devel python
heimdal-lib postgresql-devel python-devel
mysql-devel openldap2-client db-devel
mysql-shared openldap-devel
3. Installer FreeRadius (à partir d'une console Terminal):
--------------------------------------------------------------------
rpm –Uhv freeradius-1.0.2-0.i586.rpm
rpm –Uhv freeradius-devel-1.0.2-0.i586.rpm
Configuration du serveur Freeradius.
1. Décompresser le package radius_npm.tar.gz
-----------------------------------------------------------
tar –zxf radius_npm.tar.gz
Copier radius.npm dans /var/opt/novell/iManager/nps/packages/. Ici iManager pourra le trouver.
cp /tmp/freeradius/sources/radius.npm /var/opt/novell/iManager/nps/packages/
2. Installer le plugin FreeRadius et NMAS dans le iManager
--------------------------------------------------------------------------
- lancer iManager
- aller dans 'Configure iManager', puis 'Module installation', puis 'Available Novell Plugins Modules'
- sélectionner 'Novell Radius Plugin' (2.5.20050406) et 'NMAS plugin for eDirectory' (2.5.0.20050224), puis cliquer sur 'Install'
- relancer Tomcat et Apache
rcnovell-tomcat4 restart
rcapache2 restart
Si ceci n'est pas suffisant, relancer le serveur
3. Etendre le schéma d'eDirectory.
---------------------------------------------
La documentation Novell décrit trois scénarios possibles. Pour nous, c'était N°3, assez simple donc.
- lancer iManager
- RADIUS, 'Extend Schema for Radius'
Si le schéma a été déjà étendu, un message vous le dira.
4. Génération et personnalisation des certificats client & serveur FreeRadius.
------------------------------------------------------------------------------------------------
mv /etc/raddb/certs /etc/raddb/certs.org
tar –zxf /tmp/freeradius/sources/certs.tar.gz
Ouvrir CA.certs et modifier comme ceci:
Citation:
# Edit the following variables for your organization.
#
COUNTRY="FR"
PROVINCE="IdF"
CITY="PARIS"
ORGANIZATION="NOVELLMANIA"
ORG_UNIT="SIEGE"
PASSWORD="XXXXX"
COMMON_NAME_CLIENT="NOVELLMANIA FreeRadius"
EMAIL_CLIENT="root@novellmania.com"
PASSWORD_CLIENT=$PASSWORD
COMMON_NAME_SERVER="NOVELLMANIA Server FreeRadius"
EMAIL_SERVER="root@novellmania.com"
PASSWORD_SERVER=$PASSWORD
COMMON_NAME_ROOT="NOVELLMANIA SRV02"
EMAIL_ROOT="root@novellmania.com"
PASSWORD_ROOT=$PASSWORD
#
# lifetime, in days, of the certs
#
#LIFETIME=760
# modified by Admin-Forum, Dec 7, 2005
LIFETIME=3650
Modifier aussi la line N°85, comme ceci
echo "newreq.pem" | ./CA.pl -newca || exit 2
5. Modifier aussi la line N°68 du fichier /etc/ssl/openssl.cnf, comme ceci
-----------------------------------------------------------------------------------------
default_days = 3650 #10 ans
Aller dans le répertoire où se trouve le script certs.sh (/tmp/freeradius/sources) et l'exécuter, comme ceci:
./certs.sh
Copier tout le répertoire /tmp/freeradius/sources/certs dans /etc/raddb/certs
cp –r /tmp/freeradius/sources/certs /etc/raddb/
6. Extraire le certificat auto signé eDirectory.
------------------------------------------------------------
- Lancer iManager, se connecter à eDirectory
- eDirectory administration, puis Modify Object
- sélectionner l'objet du CA. Cet objet est unique dans eDirectory et se trouve dans le containeur SECURITY. Dans l'arborescence LESIEUR le rôle de CA est endossé par SRVASN05.
- onglet Certificats, puis Self-Signed
- cliquer sur Export, répondre NO pour la clé privée
- sauvegarder le fichier dans le format B64 sous le nom /etc/raddb/certs/rootder.b64
7. Modifier le fichier /etc/raddb/radiusd.conf
-----------------------------------------------------------
Citation:
max_requests = 7680
bind_address = 10.20.30.152
port = 1812
hostname_lookups = no
log_stripped_names = yes
log_auth = yes
# MODULE CONFIGURATION
modules {
pap {
encryption_scheme = crypt
}
chap {
authtype = CHAP
}
pam {
pam_auth = radiusd
}
# Extensible Authentication Protocol
$INCLUDE ${confdir}/eap.conf
# Microsoft CHAP authentication
mschap {
authtype = MS-CHAP
use_mppe = yes
require_encryption = yes
require_strong = yes
}
# Lightweight Directory Access Protocol (LDAP)
ldap {
server = "srvasn02.lesieurfr.com"
identity = "cn=adm-radius,ou=siteasn,o=lsieur"
password = YYYYY
basedn = "o=lsieur"
filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
base_filter = "(objectclass=radiusprofile)"
start_tls = yes
tls_cacertfile = /etc/raddb/certs/rootder.b64
tls_cacertdir = /etc/raddb/certs/
tls_require_cert = "demand"
access_attr = "dialupAccess"
dictionary_mapping = ${raddbdir}/ldap.attrmap
ldap_connections_number = 10
password_attribute = nspmPassword
edir_account_policy_check=yes
timeout = 4
timelimit = 3
net_timeout = 1
}
authorize {
#
preprocess
auth_log
chap
mschap
suffix
eap
# Read the 'users' file
files
ldap
}
# Authentication.
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
unix
Auth-Type LDAP {
ldap
}
eap
}
# Post-Authentication
post-auth {
reply_log
ldap
Post-Auth-Type REJECT {
ldap
}
}
8. Modifier le fichier /etc/raddb/clients.conf
-----------------------------------------------------------
Citation:
client 10.20.30.0/24 {
secret = XXXXX
shortname = Servers
}
#
client 10.20.40.0/24 {
secret = XXXXX
shortname = Access-Points-WiFi_DATA
nastype = other
### nastype = cisco
}
9. Modifier le fichier /etc/raddb/eap.conf
-----------------------------------------------------
Citation:
eap {
default_eap_type = peap
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
md5 {
}
leap {
}
gtc {
challenge = "XXXXX"
auth_type = PAP
}
tls {
# private_key_password = whatever
private_key_password = XXXXX
private_key_file = /etc/raddb/certs/cert-srv.pem
certificate_file = /etc/raddb/certs/cert-srv.pem
# Trusted Root CA list
CA_file = /etc/raddb/certs/demoCA/cacert.pem
dh_file = ${raddbdir}/certs/dh
random_file = ${raddbdir}/certs/random
fragment_size = 1024
include_length = yes
# check_crl = yes
# check_cert_cn = %{User-Name}
}
ttls {
default_eap_type = md5
copy_request_to_tunnel = yes
use_tunneled_reply = yes
}
peap {
default_eap_type = mschapv2
}
mschapv2 {
}
}
10. Modifier le fichier /etc/raddb/users
------------------------------------------------
La modification consiste à effacer entièrement le contenu du fichier. C'est l'annuaire LDAP qui sera utilisé à la place.
Si toutefois vous ne voulez pas vider le fichier, trouver la ligne suivante
DEFAULT Auth-Type = System
et la remplacer avec DEFAULT Auth-Type = LDAP
11. Activer le Mot de passe Universel (Universal Password) pour les utilisateurs d'eDirectory, qui vont utiliser le FreeRadius.
-------------------------------------------------------------------------------------------------------------------
- lancer iManager
- Passwords, Password policies, New
- Donner un nom à cet ensemble de règles et le configurer
** ' Remove the NDS Password when setting Universal Password ' : No
** ' Synchronize NDS Password when setting Universal Password ' : Yes
** ' Synchronize Simple Password when setting Universal Password ' : Yes
** ' Allow user agent to retrieve password' : Yes
** ' Allow admin agent to retrieve passwords' : Yes
** ' Synchronize distribution password when setting Universal Password' : Yes
** ' Verify whether existing passwords comply with the password policy (verification occurs on login)' : Yes
- associer cet ensemble des règles avec les utilisateurs RADIUS
12. Créer l'utilisateur adm_radius, dans le contexte o=lsieur, avec un mot de passe. Ce compte sera utilisé pour effectuer les recherches LDAP. Ne pas désactiver!!
13. S'assurer, que l'utilisateur adm_radius a les droits suivants pour chaque utilisateur RADIUS:
** Compare/Read/Write sur l'attribut ACL
** Compare/Read sur tous les attributs
** Browse sur les droits d'entrée
14. Attribuer à l'utilisateur adm_radius le droit de récupérer le mot de passe universel (si ceci n'est déjà pas fait!)
-------------------------------------------------------------------------------------------------------------------------
- lancer iManager
- Passwords, Password Policies
- Sélectionner ou créer un ensemble de règles, ensuite l'éditer
- Universal Password, Configuration Options
- Sélectionner 'Allow admin to retrieve passwords' dans 'Universal Password Retrieval'
15. Déclarer un utilisateur eDirectory en tant qu'utilisateur Radius
-------------------------------------------------------------------------------
- créer un nouvel utilisateur eDirectory (ou en choisir un existant), avec un mot de passe
- lancer iManager et aller dans la catégorie RADIUS
- cliquer sur 'Create Radius User' et sélectionner un utilisateur, puis OK
- cliquer sur 'Modify Radius User', sélectionner un utilisateur Radius, aller dans l'onglet 'Other Items'
- trouver l'attribut 'Dial Up Access' et lui donner la valeur 'ON', puis cliquer sur 'OK'
- s'assurer, que l'utilisateur est associé avec l'ensemble des règles créé à l'étape 11
- saisir manuellement le mot de passe universel
Aller dans iManager/Set Universal Password. Vérifier aussitôt, si le mot de passe NDS n'est pas expiré
16. S'assurer, que l'objet eDirectory de chaque utilisateur Radius contient l'attribut 'UniqueID'. Cet attribut doit contenir le nom de login d'utilisateur. Si l'attribut n'existe pas, ajoutez-le. Sinon, la recherche LDAP, qui fait partie du processus d'autorisation/authentification FreeRadius, échouera.
17. Démarrer le service radius
---------------------------------------
rcradiusd start
*** commande radtest, local sur le serveur
Bon résultat
----------------
radtest user2-radius password SRV2:1812 1812 secret-passphrase
Sending Access-Request of id 218 to 10.20.30.152:1812
User-Name = "user2-radius"
User-Password = "password"
NAS-IP-Address = SRV2
NAS-Port = 1812
rad_recv: Access-Accept packet from host 10.20.30.152:1812, id=218, length=20
Mauvais résultat
--------------------
radtest user2-radius password SRV2:1812 1812 secret-passphrase
Sending Access-Request of id 218 to 10.20.30.152:1812
User-Name = "user2-radius"
User-Password = "password"
NAS-IP-Address = SRV2
NAS-Port = 1812
rad_recv: Access-Reject packet from host 10.20.30.152:1812, id=218, length=20
*** Tester aussi la synchronisation entre UP (mot de passe universel) et NDS password avec UP Diag Tool
( http://support.novell.com/cgi-bin/searc ... 970885.htm )
Pour etre encore plus precis dans cette documentation
-----------------------------------------------------------------------
Service FreeRadius
rcradiusd status #vérification de l'état du service FreeRadius
#si le service FreeRadius ne tourne pas, aucune connexion WiFi n'est possible
rcradiusd stop #arrêt FreeRadius
rcradiusd start #démarrage FreeRadius
rcradiusd restart #redémarrage FreeRadius
Vérifications des connexions FreeRadius (une des plusieurs méthodes)
grep -ir 'login ok' /var/log/radius/radius.log #liste les connexion réussies
Citation:
Fri Dec 30 08:46:04 2005 : Auth: Login OK: [bidouille-NM/<no User-Password attribute>] (from client localhost port 0)
Fri Dec 30 08:46:04 2005 : Auth: Login OK: [bidouille/<no User-Password attribute>] (from client Access-Points-WiFi_DATA port 50936 cli 0012.f003.37a5)
Fri Dec 30 09:42:26 2005 : Auth: Login OK: [jml61-NM/<no User-Password attribute>] (from client localhost port 0)
Fri Dec 30 09:42:26 2005 : Auth: Login OK: [jml61/<no User-Password attribute>] (from client Access-Points-WiFi_DATA port 51040 cli 0012.f06f.5f35)
grep -ir user-name /var/log/radius/radacct/10.xx.xx.xx/reply-detail-20051230 #liste des utilisateurs qui ont reçu la réponse de FreeRadius (= connexions réussies)
Citation:
User-Name = "bidouille "
User-Name = "jml61"
Il y a un fichier reply-detail-XXXXYYZZ par jour. XXXXYYZZ représente la date du fichier, où XXXX = année, YY = mois, ZZ = jour.
Si le fichier reply-detail-XXXXYYZZn'existe pas pour une date particulière, cela signifie, qu'il y a eu un problème général, ou bien personne ne s'est tout simplement connecté.
Déclarer user eDir en tant qu'utilisateur FreeRadius
L'opération se fait avec iManager
-------------------------------------------
- lancer iManager et se connecter
Nota.
Dans le champs 'Tree', il est préférable d'indiquer l'adresse IP d'un des serveurs eDirectory, au lieu de nom d'arborescence . Sinon, vous pouvez rencontrer des problèmes inattendus lors d'utilisation d'iManager.
- créer un nouvel utilisateur eDirectory (ou en choisir un existant), avec un mot de passe
- aller dans la catégorie RADIUS
- cliquer sur 'Create Radius User' et sélectionner un utilisateur, puis OK
- cliquer sur 'Modify Radius User', sélectionner un utilisateur Radius, aller dans l'onglet 'Other Items'
- trouver l'attribut 'Dial Up Access' et lui attribuer la valeur 'ON', puis cliquer sur 'OK'
- s'assurer, que l'objet eDirectory de chaque utilisateur FreeRadius contient l'attribut 'UniqueID'. Cet attribut doit contenir le nom de login d'utilisateur. Si l'attribut n'existe pas, ajoutez-le.
Sinon, la recherche LDAP, qui fait partie du processus d'autorisation/authentification FreeRadius, échouera
- s'assurer, que l'utilisateur adm_radius(siteasn.lsieur) a les droits suivants pour chaque utilisateur FreeRadius:
** Compare/Read/Write sur l'attribut ACL
** Compare/Read sur tous les attributs
** Browse sur les droits d'entrée
- s'assurer, que l'utilisateur est associé avec l'ensemble des règles créé dans la Configuration du serveur FreeRadius http://www.novellmania.com/forum/viewtopic.php?t=668 Etape 11
- saisir manuellement le mot de passe universel de l'utilisateur
Aller dans iManager/Set Universal Password. Vérifier aussitôt après, si le mot de passe NDS n'est pas expiré
1. Symptôme :
------------------
ouverture de la session locale Windows prend beaucoup de temps (>5min). La page initiale de connexion par défaut de Novell est remplacée par celle de Windows
Cause :
la mise à jour du programme de gestion de la carte WiFi PROset/Wireless v9.0.2.1 (modèle portable: D610)
Solution:
il faut d'abord désinstaller le programme, puis le réinstaller.
une fois Windows démarré, lancer REGEDIT. Trouver la clé suivante HKLM/Software:Microsoft/WindowsNT/CurrentVersion/Winlogon
Remplacer la valeur IWPDGINA.DLL par NWGINA.DLL et redémarrer le PC
2. Symptôme:
----------------
la connexion WiFi semble être établie, mais aucune application réseaux ne fonctionne
Cause:
adresse IP de la carte réseaux sans fil est 0.0.0.0
Solution:
Aller dans les propriétés de la connexion au réseau sans fil et vérifier si le protocole TCP/IP est associé à la carte.
3. Symptôme:
----------------
la carte réseaux sans fil se désactive automatiquement, si on connecte le portable (ou déconnecte de) à sa station d'accueil
Cause:
problème Windows
Solution:
-- s'assurer, que la carte réseaux sans fil est bien activée dans le BIOS de la machine;
-- aller dans Panneau de configuration, Système, Matériel, Profils matériels et effacer le profil attaché
-- redémarrer
4. (le plus pénible)
------------------------
Symptôme:
tout semble être paramétré correctement, mais l'utilisateur ne se connecte toujours pas
Cause:
c'est très probablement le mot de passe universel, qui 'coince'
Solution:
Tout d'abord, sur le serveur FreeRadius, arrêter le service (rcradiusd stop) et le relancer avec la commande radiusd –X -A
Ceci active une console de debbuging en mode verbeux. Trouver l'erreur exacte. Ensuite:
-- s'assurer, que vous avez bien effectué l'étape 15 de 'Configuration de serveur FreeRadius' (), surtout le dernier point (expiration de mot de passe NDS). Normalement, quand le mot de passe universel est changé, le mot de passe NDS est synchronisé, et vice versa.
-- sinon, changer le mot de passe encore une fois, soit à partir de la station, soit avec iManager/C1/NWAdmin32
-- normalement la connexion WiFi devrait se faire maintenant. Ne pas oublier d'arrêter la console de debugging de FreeRadius (appuyer simultanément sur Ctrl-C) et de relancer le service normalement (rcradiusd start)!!!
_________________
---------------------------------------
[Dossier N°1] FreeRadius eDirectory client
-
- Site Admin
- Posts: 115
- Joined: Thu Aug 03, 2023 5:49 pm
- Contact:
Who is online
Users browsing this forum: No registered users and 0 guests