Configuration de FreeRADIUS - WIKI.minetti.org

4
Linux:Configuration de FreeRADIUS Un article de WI KI.minetti.org. Sommaire 1 But 2 Étape préliminaire 3 Installation 4 Configuration au niveau du serveur LDAP 4.1 Ajout du schéma RADIUS 4.2 Création du compte pour l'accès au LDAP 4.3 Test 5 Configuration de FreeRADIUS 6 Paramétrage des utilisateurs But Certains routeurs ont besoin d'une base d'utilisateurs pour, par exemple, gérer les connexions VPN. La plupart d'entre-eux proposent: une base d'utilisateurs interne, ou un accès à un serveur RADIUS. L'accès à un serveur RADI US permet au routeur de se conn ecter à une base d'utilisa teurs extern e installé sur un serveur du réseau. Là où ça devient très intéressant c'est que le serveur RADIUS est capable de passer la main au serveur LDAP. Ainsi le serveur RADIUS nous permettrait d'utiliser les comptes d'utilisateurs du LDAP pour se connecter au VPN. Étape pr éliminair e Avant de commencer, il est impératif: de disposer d'un serveur LDAP, et d'a voir procédé à l'installation d'OpenSSL. Installation Taper la commande suivante pour installer FreeRADIUS (http://freeradius.org/) sur une CentOS/RedHat/Fedora: yum install freeradius freeradius-utils freeradius-ldap Configuration au niveau du serveur LDAP Ajout du schéma RADIUS Les utilisateurs qui seront autorisé à se connecter via le serveur RADIUS devront avoir un compte héritant de l'objet radiusprofile avec la propriété dialupAccess  positionné à YES . L in u x: Conf ig u ra t io n de FreeRADIU S - WI KI.m in et t i .org h tt p:/ /www .m in et ti. org /wi ki / Li nu x :C on fig u ra tio n de FreeRADIU S 1 su r 4 03/ 04/2013 11: 48

Transcript of Configuration de FreeRADIUS - WIKI.minetti.org

8/12/2019 Configuration de FreeRADIUS - WIKI.minetti.org

http://slidepdf.com/reader/full/configuration-de-freeradius-wikiminettiorg 1/4

Linux:Configuration de FreeRADIUS

Un article de WIKI.minetti.org.

Sommaire1 But2 Étape préliminaire3 Installation4 Configuration au niveau du serveur LDAP

4.1 Ajout du schéma RADIUS4.2 Création du compte pour l'accès au LDAP4.3 Test

5 Configuration de FreeRADIUS6 Paramétrage des utilisateurs

But

Certains routeurs ont besoin d'une base d'utilisateurs pour, par exemple, gérer les connexions VPN. La plupartd'entre-eux proposent:

une base d'utilisateurs interne,ou un accès à un serveur RADIUS.

L'accès à un serveur RADIUS permet au routeur de se connecter à une base d'utilisateurs externe installé sur unserveur du réseau. Là où ça devient très intéressant c'est que le serveur RADIUS est capable de passer la main auserveur LDAP.

Ainsi le serveur RADIUS nous permettrait d'utiliser les comptes d'utilisateurs du LDAP pour se connecter au VPN.

Étape préliminaire

Avant de commencer, il est impératif:

de disposer d'un serveur LDAP,et d'avoir procédé à l'installation d'OpenSSL.

Installation

Taper la commande suivante pour installer FreeRADIUS (http://freeradius.org/) sur une CentOS/RedHat/Fedora:

yum install freeradius freeradius-utils freeradius-ldap

Configuration au niveau du serveur LDAP

Ajout du schéma RADIUS

Les utilisateurs qui seront autorisé à se connecter via le serveur RADIUS devront avoir un compte héritant de l'objetradiusprofile avec la propriété dialupAccess  positionné à YES.

ux:Configuration de FreeRADIUS - WIKI.minetti.org http://www.minetti.org/wiki/Linux:Configuration_de_FreeRADIUS

r 4 03/04/2013 11:48

8/12/2019 Configuration de FreeRADIUS - WIKI.minetti.org

http://slidepdf.com/reader/full/configuration-de-freeradius-wikiminettiorg 2/4

Récupérer le schéma en tapant la commande suivante:

cp /usr/share/doc/freeradius-2.1.12/examples/openldap.schema /etc/openldap/schema/radius.schema

Ajouter la ligne suivante dans le fichier /etc/openldap/schema_convert.conf  pour ajouter le schéma RADIUS:

include /etc/openldap/schema/radius.schema

Déterminer le numéro de ligne qui vient d'être ajoutée dans le fichier en commençant par 0: dans notre cas sesera 13.Exécuter les commandes suivantes pour convertir notre fichier .schema en .ldif :

mkdir schema.tmp

slapcat -f /etc/openldap/schema_convert.conf -F schema.tmp -n0 -s "cn={13}radius,cn=schema,cn=config" >

Editer le fichier cn=radius.ldif :

vi cn\=radius.ldif

enlever le {13} présent sur les 3 premières lignes pour qu'elles ressemblent à ceci:

dn: cn=radius

objectClass: olcSchemaConfig

cn: radius

supprimer les 7 dernières lignes:

structuralObjectClass: olcSchemaConfig

entryUUID: 4664ceba-6422-1031-9981-b70fb00c9654

creatorsName: cn=config

createTimestamp: 20120717061330Z

entryCSN: 20120717061330.638966Z#000000#000#000000

modifiersName: cn=config

modifyTimestamp: 20120717061330Z

et taper la commande suivante pour importer le schéma:

ldapadd -Y EXTERNAL -H ldapi:/// -f cn\=radius.ldif

SASL/EXTERNAL authentication startedSASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth

SASL SSF: 0

adding new entry "cn=radius,cn=schema,cn=config"ldapadd -Y EXTERNAL -H ldapi:/// -f cn\=radius.ldif

Création du compte pour l'accès au LDAP

Créer le compte que le serveur RADIUS va utiliser pour accéder au LDAP:

pour cela, commencer par créer le fichier LDIF:

dn: cn=radius,ou=sysaccount,ou=localnet,dc=minetti,dc=orgobjectClass: organizationalRole

objectClass: simpleSecurityObject

cn: radius

description: Compte serveur RADIUS

userPassword: ....

ux:Configuration de FreeRADIUS - WIKI.minetti.org http://www.minetti.org/wiki/Linux:Configuration_de_FreeRADIUS

r 4 03/04/2013 11:48

8/12/2019 Configuration de FreeRADIUS - WIKI.minetti.org

http://slidepdf.com/reader/full/configuration-de-freeradius-wikiminettiorg 3/4

REMARQUE: Ne jamais mettre le mot de passe en clair (userPassword). Utiliser la commande suivante pourchiffrer le mot de passe:

slappasswd

Taper la commande suivante pour importer le nouveau compte dans le LDAP:

ldapadd -x -v -ZZ -D "cn=Manager,dc=minetti,dc=org" -W -f radius.ldif

Test

Pour terminer vérifier l'accès en tapant la commande suivante:

ldapsearch -vx -ZZ -D "cn=radius,ou=sysaccount,ou=localnet,dc=minetti,dc=org" -W "(objectClass=*)"

Configuration de FreeRADIUS

Modifier le fichier /etc/raddb/modules/ldap pour qu'il ressemble à ceci:

ldap {

  server = "ldap.srv.minetti.org"

  identity = "cn=radius,ou=sysaccount,ou=localnet,dc=minetti,dc=org"

  password = ......

  basedn = "dc=minetti,dc=org"

  filter = "(&(uid=%{%{Stripped-User-Name}:-%{User-Name}})(!(loginShell=/bin/false)))"

  base_filter = "(objectclass=radiusprofile)"

  ldap_connections_number = 5

  timeout = 4

  timelimit = 3

  net_timeout = 1

  tls {

  start_tls = yes

  cacertdir = /etc/openldap/cacerts

  certfile = /etc/pki/tls/certs/amon.pem

  keyfile = /etc/pki/tls/private/amon.key

  require_cert = "demand"

  }

  dictionary_mapping = ${confdir}/ldap.attrmap

  edir_account_policy_check = no

  keepalive {

  idle = 60

  probes = 3

  interval = 3

  }

}

Modifier le fichier /etc/raddb/sites-enabled/default et dé-commenter la ligne ldap dans la rubrique authorize.Lancer le serveur RADIUS en mode debug:

radiusd -X -xxx

Dans un autre shell, taper la commande suivante pour tester l'authentification:

radtest user password localhost 0 testing123

Sending Access-Request of id 186 to 127.0.0.1 port 1812

ux:Configuration de FreeRADIUS - WIKI.minetti.org http://www.minetti.org/wiki/Linux:Configuration_de_FreeRADIUS

r 4 03/04/2013 11:48

8/12/2019 Configuration de FreeRADIUS - WIKI.minetti.org

http://slidepdf.com/reader/full/configuration-de-freeradius-wikiminettiorg 4/4

User-Name = "user"

User-Password = "password"

NAS-IP-Address = 192.168.1.106

NAS-Port = 0

Message-Authenticator = 0x00000000000000000000000000000000

rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=186, length=20

Ajouter dans le fichier /etc/raddb/clients.conf , les lignes suivantes:

client 192.168.0.0/24 {  secret = MySecretPhrase

  shortname = MINETTI-LAN

}

Pour finir, ne pas oublier de faire en sorte que le démon s'exécute automatiquement avec la commande suivante:

ntsysv

et ouvrir les ports UDP 1812 et 1813 dans iptables.

Paramétrage des utilisateurs

Pour autoriser l'authentification par le serveur RADIUS, chaque utilisateur devra avoir les 2 champs suivants:

...

objectClass: radiusprofile

...

dialupAccess: yes

...

Récupérée de « http://www.minetti.org/wiki/Linux:Configuration_de_FreeRADIUS »

Dernière modification de cette page le 13 octobre 2012 à 17:33

ux:Configuration de FreeRADIUS - WIKI.minetti.org http://www.minetti.org/wiki/Linux:Configuration_de_FreeRADIUS

4 03/04/2013 11 48