[Dossier N°1] FreeRadius eDirectory client

Certains sujets ont fait preuve d'un grand travail de la part de l'équipe de NovellMania. Cette section y rassemble tous les liens.

[Dossier N°1] FreeRadius eDirectory client

Messagepar escom » 17 Mars 2008, 12:22

Intégration de FreeRadius avec Novell eDirectory

Date : 28 Décembre 2005
Auteur : Alexandre Dachine
Modifié 10 Février 2007
Auteur : David Huret
http://www.novellmania.com
Version du document : 1.2


Pré requis
Matériels nécessaires
1. Serveur pour héberger Novell OES Linux
2. Borne WiFi CISCO AIRONET 1100 series (AIR-AP1121G-A-K9)
3. Ordinateur Windows XP avec une carte réseaux sans fil

Logiciels nécessaires

1. Novell OES Linux

http://download.novell.com/Download?buildid=ppIBUh_8JW0
Les images suivantes sont nécessaires:
oes-sp1-linux-1.iso
oes-sp1-linux-2.iso
oes-sp1-linux-3.iso
oes-sp1-linux-5-sles9-2.iso
oes-sp1-linux-6-sles9-3.iso
oes-sp1-linux-7-sles9-4.iso

2. Patch + Novell OES SP2

3. FreeRadius
http://forge.novell.com/modules/xfconte ... freeradius
Prendre les modules pour SLES9

4. Plugin de Radius pour iManager
http://forge.novell.com/modules/xfconte ... freeradius

5. Scripts de création des certificats pour FreeRadius
http://oriol.joor.net/article_fitxers/1574/certs.tar.gz

6. iManager v2.5

7. Dernier client Novell pour Windows avec les options NMAS/NICI


Documentation utile

1. http://www.novell.com/documentation/edi ... index.html (by Novell)

2. http://www.novell.com/coolsolutions/tip/15922.html (by E.Champagne)



Installation du serveur Novell OES Linux.

Important : Avant l'installation consulter la documentation fournie par Novell (http://www.novell.com/documentation/oes ... _linux.pdf)

1. A partir des images téléchargées graver les CDs.
2. Démarrer le serveur sur le CD intitulé "OES-SP1-LINUX-1"
3. Programme d'installation démarre automatiquement



4. Accepter la licence et continuer



5. Débuter l'installation




6. Faire le partitionnement des disques selon vos besoins. Généralement, la configuration proposée par défaut ne convient pas.
Dans notre cas (un seul disque physique ou un logical drive RAID5) les trois partitions /, boot et swap seront natives Linux (hors groupe LVM) et les autres partitions éventuelles dans le groupe LVM. L'avantage des partitions LVM est qu'elles peuvent être étendues 'online'.



Sélectionner 'Expert', puis 'Delete partition table and disk label'



Créer les partiton /boot, swap et /




Paramétrage LVM





Le tableau final des partitions avant de continuer



7. Sélectionner le type d'installation 'Novell Open Enterprise Server' et les packages nécessaires




8. Valider les autres paramètres, comme le type de démarrage, la langue du système d'exploitation, zone horaire et Runlevel par défaut.



9. Maintenant le programme d'installation est prêt à copier les fichiers.




10. La copie commence et peut durer entre 20 et 60 min selon les performances du serveur et le volume des packages sélectionnés. Ensuite le serveur redémarre automatiquement.



11. Après le redémarrage l'installation continue. Vous êtes demandé à fournir le mot de passe pour l'utilisateur root. Si le mot de passe dépasse 8 caractères, cliquer sur 'Expert', puis 'Blowfish', sinon il sera tronqué.



12. Sélectionner et configurer la(es) carte(s) réseaux




13. Effectuer le test de connexion Internet. Il est recommandé de le faire lors d'installation






14. Personnaliser les propriétés du CA et du certificat commun. Il est conseillé que le nom commun du certificat porte le nom du serveur, par exemple srv1.domain.org



15. Etape suivante : configuration d'eDirectory. Vous avez le choix entre deux options :
-- joindre une arborescence existante
-- en créer une nouvelle.
Dans le cas de l'insertion dans une eDirectory existante, il faut absolument s'assurer que l'arborescence est prête et que le schéma a été étendu. Voir http://www.novell.com/documentation/oes ... st-mig.pdf et http://www.novell.com/documentation/oes ... _linux.pdf
Les copies d'écran ci-après montrent comment créer une nouvelle arborescence.








16. Une fois la configuration d'eDirectory terminée, le programme d'installation affiche un tableau récapitulatif indiquant la configuration des produits Novell sélectionnés précédemment (par exemple, iManager, SMS, LDAP, etc.…)





17. La configuration des produits sélectionnés est finalisée.




18. Les notes de release sont affichées.




19. Vérifier que la configuration vidéo est correcte (monitor, résolution, carte graphique). Modifier, si nécessaire.
20. Finalement, le dernier écran vous annonce que l'installation est terminée. Cliquer sur 'OK' et redémarrer.

Application des patches pour le serveur Novell OES Linux

Deux possibilités : rug ou RedCarpet. Officiellement Novell ne supporte pas Red Carpet dans cette version de OES (voir http://www.novell.com/documentation/oes ... _linux.pdf).

Ouvrir une session Terminal en tant que root et taper les commandes suivantes
rug set-prefs cache-directory /patches/oes/10-nov-2005 #facultatif
rpm –qa |grep pubkey



rug sl



rug act –s 1 activation-code-received-from-Novell email-address #activation OES
Le code utilisé pour l'activation est xxxxxxxxxxxxxxxxxxxxxxxxxx

rug sub oes



rug pl #lister tous les patches disponibles
rug pin oes:* #installation des patches, opération longue!
Le téléchargement et l'installation réussie des patches est confirmé par les messages suivants:
Download complete
Transaction finished

Si les patches sont appliqués avec Red Carpet, vous verrez les messages suivants




Redémarrer le serveur

Application du patch SP2 sans aucun probleme
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 FreeRadiuse 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:

Code : Tout sélectionner
# 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="vigie-info@novellmania.com"
PASSWORD_CLIENT=$PASSWORD

COMMON_NAME_SERVER="novellmania Server FreeRadius"
EMAIL_SERVER="vigie-info@novellmania.com"
PASSWORD_SERVER=$PASSWORD

COMMON_NAME_ROOT="novellmania. SRVMANIA2"
EMAIL_ROOT="vigie-info@novellmania.com"
PASSWORD_ROOT=$PASSWORD

#
#  lifetime, in days, of the certs
#
#LIFETIME=760
# modified 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

Code : Tout sélectionner
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 novellmania.com le rôle de CA est endossé par le serveur SRVMANIA.
- 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

Code : Tout sélectionner
max_requests = 7680
bind_address = 172.1.1.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 = "srvmania2.novellmania.com"
      identity = "cn=adm-radius,ou=site,o=novellmania"
      password = YYYYY
      basedn = "o=novellmania"
      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
Code : Tout sélectionner
client 172.1.1.0/23 {
   secret      = XXXXX
   shortname   = Site-PARIS
}
#
client 172.1.16.0/24 {
   secret      = XXXXX
   shortname   = Access-Points-WiFi_DATA
   nastype     = other   
   ### nastype     = cisco   
}


9. Modifier le fichier /etc/raddb/eap.conf
Code : Tout sélectionner
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

18.
Avatar de l’utilisateur
escom
NModérateur
NModérateur
 
Message(s) : 122
Inscription : 09 Déc 2004, 06:53
Localisation : Ile de France - France

Retour vers Les Dossiers Techniques NovellMania

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron