20070330-GET Radius-v1.0

Embed Size (px)

Citation preview

  • 8/2/2019 20070330-GET Radius-v1.0

    1/51

    TierceMaintenance Applicative-Infrastructures

    GET Radius

    NHE

    Mars 2007

  • 8/2/2019 20070330-GET Radius-v1.0

    2/51

    2

    Os radius

    Le radius est un os long qui forme le squelette de l'avant-bras

    Cet os va de l'extrieur du coude la base du pouce sur le poignet. Il est plus

    court que l'autre os de l'avant-bras, le cubitus

  • 8/2/2019 20070330-GET Radius-v1.0

    3/51

    3

    Sommaire

    Historique

    AAA

    Protocole Radius

    Flux Radius

    Outils Radius

    Freeradius

    Exploitation proxy Radius CASE

    Questions

  • 8/2/2019 20070330-GET Radius-v1.0

    4/51

    4

    Historique

    Radius = Remote Authentication Dial-In User Service

    Dvelopp par Livingston Enterprises puis normalis par lIETF

    Premire version: janvier 1997

    Dernire version: juin 2000 normalise par l'IETF dans les RFC :

    RFC 2865 (RADIUS authentication)

    RFC 2866 (RADIUS accounting)

    RFC 2869 (RADIUS extensions EAP)

    A l'origine pour permettre aux FAI d'authentifier les utilisateurs distants utilisant

    les connexions par modem RTC partir de multiples serveurs (les clients radius

    de type NAS) mais d'une seule base utilisateurs (attache au serveur radius)

  • 8/2/2019 20070330-GET Radius-v1.0

    5/51

    5

    Authentication Authorization Accounting

    Radius est un protocole de type AAA

    AuthenticationQui me parle ? Comment je lauthentifie ?

    AuthorizationQuelles autorisations je lui accorde ?

    AccountingQue fait-il ?

    Autres protocoles AAA: DIAMETER, TACACS, TACACS+

  • 8/2/2019 20070330-GET Radius-v1.0

    6/51

    6

    Authentication

    Permet de vrifier si le client est bien celui quil prtend tre

    Authentification pour dlivrer des autorisations

    Prsentation dun login/password, dun token, dune adresse MAC, ...

    Mthode dauthentification: CHAP, MS

    -CHAP, PAP, EAP, etc

    Authentification rseaux:

    Branchement physique: 802.1X

    Autorisation daccs

    Autorisation d'usage

    Authentification applicatives:

    Systme d'exploitation: formulaire de login

    Application apache: formulaire HTTP daccs une page

  • 8/2/2019 20070330-GET Radius-v1.0

    7/51

    7

    Authorization

    Vrifier si le client droit daccder telle ou telle ressource

    Utilisation dun fichier ou dune base de donnes

    Enrichissement grce des attributs

    Framed-IP-Address,Session-Timeout et Idle-Timeout, ..

    Utilisation de dictionnaires

    User-Name Action Attribut Valeur

    cyber check Password "toto"

    * ajout DNS 213.223.20.254

    cyber ajout Gateway 213.223.20.1

  • 8/2/2019 20070330-GET Radius-v1.0

    8/51

    8

    Accounting

    Enregistrer les ressources consommes par le client

    temps pass sur une connexion internet via un modem

    trafic tlcharg lors de la dernire connexion.

    Date User-Name Type Session-Id Input-Octets Output-Octets Session-Time

    13/02/2007 12:01:00 nhe Start 000003

    13/02/2007 12:01:32 nhe Stop 000003 145 119 32

    14/02/2007 18:01:32 bja Stop 000004 20Mo 2506 Terra octets 3600

  • 8/2/2019 20070330-GET Radius-v1.0

    9/51

    9

    Le protocole Radius

    Permet de grer les connexions d'utilisateurs des services distants (politique

    d'autorisation, droits d'accs et traabilit)

    Dfini par la RFC2138/RFC2139 et ses extensions RFC2869 (support de lEAP

    pour accroitre la scurit)

    Architecture client/serveur

    Transport UDP

    Port 1812 (anciennement1645): service authentification

    Port 1813 (anciennement1646): service accounting

    Proxyfiable

    Transport en clair, seul le mot de passe est chiffr par hachage

    Richesse des informations qui peuvent potentiellement tre transmises entre leserveur et le client par les attributs (AvPairs)

  • 8/2/2019 20070330-GET Radius-v1.0

    10/51

    10

    Les types de paquets

    Le protocole utilise 6 types de paquets => suffisants pour assurer toutes les transactions:

    Access-Request

    Premier paquet envoy par le client (NAS), Contient l'identit de l'utilisateur qui se connecte

    Access-Accept

    Renvoy par le serveur Radius pour accepter la requte du client aprs interrogation de sa based'authentification

    Access-Reject

    Emis par le serveur radius pour spcifier au client que sa requte est rejete.

    Access-Challenge

    Emis par le serveur Radius pour demander de remettre un access-request avec des paramtres

    supplmentaires

    Accounting-Request

    Emis par le client pour indiquer loccurrence dun dvnement

    Accounting-Response

    Emis par le serveur pour confirmer lenregistrement de lvnement

  • 8/2/2019 20070330-GET Radius-v1.0

    11/51

    11

    Structure dun paquet RADIUS

    Code (1 octet) = Type de la requte1 Access-Request

    2 Access-Accept3 Access-Reject4 Accounting-Request

    5 Accounting-Response11 Access-Challenge

    12 Status-Server (experimental)13 Status-Client (experimental)

    255 Reserved

    Identifier(1 octet): permet dassocier les requtes et leurs rponses

    Length (2 octets): taille totale du paquet UDP

    Authenticator(2 octets): permet de garantir lintgrit et la scurit

    Attributes

  • 8/2/2019 20070330-GET Radius-v1.0

    12/51

    12

    Les authenticators

    Hash de 16 octets qui assure la scurit des changes

    Calcul des authenticators:

    RequestAuth = nombre alatoire

    ResponseAuth = MD5(Code+ID+Length+RequestAuth+Attributes+Secret)

    RequestAcct = MD5(Code+ID+Length+16 zero octets+Attributes+Secret)

    ResponseAcct = MD5(Code+ID+Length+ RequestAcct+Attributes+Secret)

    Les paquets access-request ne sont pas authentifis avec le secret !

    Le serveur peut demander un challenge (Request-Challenge)

    Seul lattribut User-Password permet de vrifier que le secret partag est lebon.. enfin, si le password est bon

    User-Password = XOR(MD5(Secret+RequestAuth),Password)

  • 8/2/2019 20070330-GET Radius-v1.0

    13/51

    13

    Les attributs (AvPairs)

    Couple de cl/valeur permettant un enrichissement des proprits des paquets

    Chaque attribut possde un numro d'identification

    Seul ce numro est transmis dans les paquets

    La correspondance entre le nom de l'attribut, son numro et son type est ralis

    dans un dictionnaire

    Nom Code Type

    User-Name 1 string

    User-Password 2 string

    CHAP-Password 3 octets

    NAS-IP-Address 4 ipaddr

    NAS-Port 5 integer

    Service-Type 6 integer

    Framed-Protocol 7 integer

    Framed-IP-Address 8 ipaddr

    Framed-IP-Netmask 9 ipaddr

    Situ dans: /usr/share/freeradius/dictionary

  • 8/2/2019 20070330-GET Radius-v1.0

    14/51

    14

    Structure dun attribut dans un paquet RADIUS

    Type (1 octet) = type de lattribut1 User-Name2 User-Password

    3 CHAP-Password4 NAS-IP-Address

    5 NAS-Port6 Service-Type

    8 Framed-IP-Address18 Reply-Message

    26 Vendor-Specific

    27S

    ession-Timeout28 Idle-Timeout30 Called-Station-Id

    31 Calling-Station-Id32 NAS-Identifier

    40 Acct-Status-Type44 Acct-Session-Id

    46 Acct-Session-Time56 Egress-VLANID

    Length (1 octet): taille totale de lattribut en comptant le Type+ Length+Value

    Value (x octets)

  • 8/2/2019 20070330-GET Radius-v1.0

    15/51

    15

    Les attributs spcifiques: vendor

    Les fabricant de matriel rseau ont parfois intgr leurs quipements des

    attributs spcifiques en plus des attributs standards dfinis dans les RFC.

    Ces attributs sont encapsuls dans l'attribut standard vendor-specific qui a pour

    numro 26.

    Ils sont appels VSA = Vendor Specific Attribut

  • 8/2/2019 20070330-GET Radius-v1.0

    16/51

    16

    Structure dun attribut VENDOR dans un paquet RADIUS

    Type (1 octet) = 26 Vendor-Specific

    Vendor-Id (4 octets) = N'immatriculation du fabricant

    (NMPECS= NetworkManagement Private Enterprise Codes "Assigned Numbers" RFC1700

    Length (2 octets) = taille totale de lattribut

    Vendor-Type (2 octets) = Comme pour les attributs standards, les vendor-attributs possdent un

    numro d'identification. Ce numro est rpertori dans un dictionnaire spcifique au fabricant

    Vendor Length (2 octets) = taille totale de lattribut vendor spcifique

    Value (x octets) = valeur de lattribut vendor spcifique

  • 8/2/2019 20070330-GET Radius-v1.0

    17/51

    17

    Mode opratoire

    Une utilisation type de RADIUS met en jeu 3 acteurs:

    1) L'utilisateur: un poste de travail, un portable, un PDA... qui met la requte

    d'authentification

    2) Le client RADIUS: c'est le point d'accs au rseau (NAS, firewall, point d'accs

    wireless, etc...)

    3) Le serveur RADIUS: le point central o les donnes d'authentification sonttransmises; le serveur RADIUS a typiquement accs une base de donnes

    d'utilisateurs et de mots de passe

  • 8/2/2019 20070330-GET Radius-v1.0

    18/51

    18

    Flux dauthentication

    Base de donne

    utilisateurs FAINAS

    User: nhe@fai

    Password: toto

    Access-Request

    User-Name=nhe@fai

    Password: toto

    NAS-IP-Address: 207.12.4.1

    SelectUser=nhe

    User=nhepassword=toto

    Timeout=3600

    [other attributes]

    Access-Accept

    User-Name=nhe@fai

    [other attributes]

    Framed-Address=213.223.38.100

    Internet

    Serveur Radius

    Internet PPP connection established

    Utilisateur

  • 8/2/2019 20070330-GET Radius-v1.0

    19/51

    19

    Flux daccounting

    Base de donne

    utilisateurs FAINAS

    Dconnexion

    Accounting-Request

    User-Name=nhe@fai

    NAS-IP-Address: 207.12.4.1

    Acct-Status-Type = Stop

    Acct-Session-Id = 120

    Acct-Session-Time = 200

    UpdateUser=nhe set

    Time += 200

    Accounting-ResponseUser-Name=nhe@fai

    Acct-Session-Id = 120

    Internet

    Serveur Radius

    Utilisateur

  • 8/2/2019 20070330-GET Radius-v1.0

    20/51

    20

    Faiblesses du protocole

    Le protocole RADIUS possde ainsi plusieurs failles de conception se trouvant l'origine

    de problmes de scurit :

    La technique de protection "User-Password" ne devrait pas utiliser la fonction MD5 comme

    primitive de chiffrement qui est plutt rserv pour des opration de signature

    La gnration du champ "Response Authenticator" prsente des faiblesses

    Le paquet "Access-Request" n'est pas authentifi.

    De nombreuses implmentations clientes ne crent pas des requtes d'authentification "RequestAuthenticator" suffisamment alatoires

    Beaucoup d'administrateurs choisissent des "secrets partags" identiques pour diffrents clients

    De nombreuses implmentations clientes limitent artificiellement le nombre de caractres

    possibles du secret partag

    En interceptant la fois le Access-Request envoy par le client et la rponse du serveur,

    il est possible de trouver le secret en utilisant une attaque brute-force ou par dictionnaire.En effet, le Request Authenticator n'est pas encrypt dans la requte, ni les champs

    Code, Identificateur et Longueur et les attributs dans la rponse

    RequestAuth = nombre alatoire

    ResponseAuth = MD5(Code+ID+Length+RequestAuth+Attributes+Secret)

  • 8/2/2019 20070330-GET Radius-v1.0

    21/51

    21

    Schma dune infrastructure radius ADSL

    Le modem adsl effectue une demande de connexion sur le domaine @sfr.fr

    Le BAS demande une authentification sur le radius interne de la collecte ADSL

    de NeufTelecomLe radius analyse la demande et retransmet la requte vers le serveur radius du

    FAI distant

  • 8/2/2019 20070330-GET Radius-v1.0

    22/51

    22

    Les extensions du protocole Radius: support EAP (802.1x)

    Radius a t tendu pour supporter le protocole EAP et donc l'authentification

    802.1x.

    Pour cela 2 attributs ont t ajouts:

    Message-Authenticator

    EAP-Message

    Les paquets EAP sont encapsuls dans l'attribut EAP-Message

    Message-Authenticator est un attribut qui permet de signer les requtes qui

    contiennent des attributs EAP-Message. (calcul MD5 sur le contenu d'un

    access-request + secret partag)

    RFC:

    3579

    radius support for EAP3748 EAP

    2716 EAP/TLS

    3580 802.1x radius usage guidelines

  • 8/2/2019 20070330-GET Radius-v1.0

    23/51

    23

    Exemple dauthentification russie

  • 8/2/2019 20070330-GET Radius-v1.0

    24/51

    24

    Exemple dauthentification en chec

  • 8/2/2019 20070330-GET Radius-v1.0

    25/51

    25

    Exemple daccounting russi

  • 8/2/2019 20070330-GET Radius-v1.0

    26/51

    26

    Exemple daccounting en chec

    Pas de rponse

  • 8/2/2019 20070330-GET Radius-v1.0

    27/51

    27

    Boites outils Radius Marc

    Serveurs radius

    Radiator

    Steel-Belted

    Microsoft Radius Server IAS

    Cisco Secure Access Control Server (ACS)

    OpenRADIUSRadius - GNU Project

    Cistron RADIUS

    Freeradius

    Clients radius

    radtest

    radiusclient

    testradius

    healthcheck F5 Cyber

  • 8/2/2019 20070330-GET Radius-v1.0

    28/51

    28

    Freeradius

    Freeradius est une implmentation open source du protocole Radius

    Bas sur Cistron

    Supporte:

    PAP, CHAP, MS-CHAP, EAP-MD5, EAP-GTC, EAP-TLS, EAP-TTLS, PEAPv0,

    LEAP, EAP-SIM, Digest

    LDAP, PostgresSQL, Oracle, SAMBA, fichier Local

    Proxy RADIUS

    Failover, Load balancing

    Rcriture, Ajout dattribut la vole

    Plus de 100 dictionnaires vendor

    Module PAM-radius pour linux

    Module mod_auth pour Apache

    Disponible sur : Linux, FreeBSD, NetBSD, Solaris, MAC OSX, HP/UX, AIX,

    MINGW32, CygWin

  • 8/2/2019 20070330-GET Radius-v1.0

    29/51

    29

    Freeradius: Fichiers de configuration

    Les fichiers de configurations sont dans /etc/raddb

    Configurations principales:

    radiusd.conf => fichier de configuration gnral

    clients.conf => contient les IP des clients et leur secret

    users => contient les user-name et leurs attributs pour lauthentification

    huntgroup => contient les groupes dauthentification

    proxy.conf => contient les directives du proxy radius

    Configurations secondaires:

    eap.conf

    dictionnary

    ldap.attrmap

    oraclesql.conf

    postgresql.conf

    sql.conf

  • 8/2/2019 20070330-GET Radius-v1.0

    30/51

    30

    Freeradius: fichier clients.conf

    Doit rfrencer toutes les IP et les secrets des clients Radius autoriss

    /etc/raddb/clients.conf

    client 127.0.0.1 {

    secret = "testradius"shortname = localhost

    }

    client 80.125.182.0/30 {

    secret = "testradius"

    shortname = HC_DMZF

    }

    client 80.118.192.64/26 {

    secret = "tutuyoutou"

    shortname = h-int-rha-proxy_radius_sfr

  • 8/2/2019 20070330-GET Radius-v1.0

    31/51

    31

    Freeradius: fichier users

    Le fichier users est la base de donnes locale

    Il est constitu d'une succession d'entres. Chacune correspondant un

    utilisateur ou une machine

    Le fichier est parcouru squentiellement du haut vers le bas

    Chaque entre commence par un identifiant (le username) suivi par une liste

    d'item vrifier (check item) sur une seule ligne.

    Les lignes suivantes commencent par une tabulation suivie d'une liste d'items

    de rponse (reply item) (Il peut y avoir plusieurs reply item spars par des

    virgules et sur plusieurs lignes)

    La slection sarrte au premier qui match sauf si une directive de Fall-

    Through = Yes est utilis

    Tous les check-item doivent matcher, sinon la requte est rejete

  • 8/2/2019 20070330-GET Radius-v1.0

    32/51

    32

    Freeradius: fichier users

    testradius Auth-Type := Local , User-Password == "testradius"

    Reply-Message = "Hello, %u",

    Fall-Through = No

    DEFAULT Huntgroup-Name == "proxy_radius_sfr" , Proxy-To-Realm := "h-ach-rha-vipradius"

    Fall-Through = No

    steve Auth-Type := Local, User-Password == "testing"

    Service-Type = Framed-User,

    Framed-Protocol = PPP,

    Framed-IP-Address = 172.16.3.33,

    Framed-IP-Netmask = 255.255.255.0,

    Framed-Filter-Id = "std.ppp",

    Framed-MTU

    = 1500,Framed-Compression = Van-Jacobsen-TCP-IP

    DEFAULT Suffix == ".shell", Auth-Type := System

    Service-Type = Login-User,

    Login-Service = Telnet,

    Login-IP-Host = your.shell.machine

    /etc/raddb/users

  • 8/2/2019 20070330-GET Radius-v1.0

    33/51

    33

    Freeradius: oprateurs du fichier users

    Oprateurs sur les check-item

    Attribute = valeur: interdit !

    Attribute := valeur: ajoute ou crase l'attribut dans la requte (pour forcer lesinputs)

    Attribute += valeur: ajoute l'attribut dans la requte (pour forcer les inputs)

    Attribute == valeur: match si l'attribut est prsent et est gale cette valeur

    Attribute != valeur: match si l'attribut est prsent et n'est pas gale cette valeur

    Attribute > valeur, >= ,

  • 8/2/2019 20070330-GET Radius-v1.0

    34/51

    34

    Freeradius: fichier huntgroups

    Permet de dfinir un groupe de clients bas sur des adresses IP

    Le nom du groupe servira comme discriminant dans le users

    /etc/raddb/huntgroups

    Pourquoi ne pas le faire dans le users ?

    proxy_radius_sfr Client-IP-Address =~ "80.118.192.*"

    proxy_radius_sfr Client-IP-Address =~ "80.118.196.*"

    proxy_radius_sfr Client-IP-Address =~ "86.64.152.*"

  • 8/2/2019 20070330-GET Radius-v1.0

    35/51

    35

    Freeradius: fichier proxy.conf

    Permet de dfinir la configuration des forwarding

    Commence par une directive proxy server:

    Un serveur est vu down si une requte nest pas servie dans le dlais imparti

    Attention, il est sorti du pool pendant 120s non compressible !

    synchronous=no permet de ne pas renvoyer une requte duplique

    default_fallback=no permet de ne pas utiliser les entres DEFAULT en cas

    dabsence de realm => proxy par default

    proxy server {

    synchronous = no

    retry_delay = 5

    retry_count = 3dead_time = 120

    default_fallback = no

    }

  • 8/2/2019 20070330-GET Radius-v1.0

    36/51

    36

    Freeradius: fichier proxy.conf

    Constitu d'une succession de directives realm permettant de choisir le

    forwardeur

    De base: si [email protected] realm=free.fr

    Choix dimplmentation: pas de connaissance des realms des user-name +

    forage du realm dans le fichier users

    Forward des requtes vers les hosts suivant le service auth ou acct

    Si 2+ realms identiques avec directive: ldflag= round_robin alors load-balacing

    Si 2+ realms identiques avec directive: ldflag= fail_over alors active/backup

    realm h-ach-rha-vipradius {

    type = radius

    authhost = 10.143.214.20:1812

    accthost = 10.143.214.20:1813

    secret = toutouyoutou

    nostrip

    }

  • 8/2/2019 20070330-GET Radius-v1.0

    37/51

    37

    Freeradius: fichier radius.conf

    Configuration centrale de freeradius (60ko de base)

    Dcoup en blocs

    Listen

    Dfinit la partie coute du daemon radiusd (port, multihoming)

    Securit

    Dfinit les paramtres pour minimiser les impacts dune attaque (nombre max

    dattributs, temps entre 2 requtes, etc..

    Thread

    Dfinit les paralllisassions des process traitant les requtes entrante (nombre min,

    max, start, etc)

    Snmp

    Dfinit la communaut pour le pooling des stats => ne marche pas dans notre version

    Instantiate

    Dfinit lordre de chargement des modules

  • 8/2/2019 20070330-GET Radius-v1.0

    38/51

    38

    Freeradius: fichier radius.conf

    Bloc Modules

    Dfinit les fonctions activables ainsi que leur instances : chap, pap, realm, ldap,files,

    preprocess, sql, passwd, attr_rewrite

    Format : nom_du_module nom_de_linstance { paramtres }

    modules {ldap ldap_serveur1 {

    server = "ldap.your.domain"

    }

    ldap ldap_serveur2 {

    server = "ldap2.your.domain"

    }

    }

    detail acct_log {

    detailfile = ${radacctdir}/%{Client-IP-Address}/acct_detail-%Y%m%d

    detailperm = 600

    }

    detail auth_log {

    detailfile = ${radauthdir}/%{Client-IP-Address}/auth-detail-%Y%m%d

    detailperm = 600

    }

    detailpost_auth_log {

    detailfile = ${radacctdir}/%{Client-IP-Address}/reply-detail-%Y%m%d

    detailperm = 600}

    detailpre_proxy_log {

    detailfile = ${radacctdir}/%{Client-IP-Address}/pre-proxy-detail-%Y%m%d

    detailperm = 600

    }

    detailpost_proxy_log {

    detailfile = ${radacctdir}/%{Client-IP-Address}/post-proxy-detail-%Y%m%d

    detailperm = 600

    }

    attr_rewrite rwt_username {

    attribute = User-Name

    searchin = proxy

    searchfor = sfr.fr

    replacewith = sfr.com

    ignore_case = no

    new_attribute = no

    }

  • 8/2/2019 20070330-GET Radius-v1.0

    39/51

    39

    Freeradius: fichier radius.conf

    Bloc Authentication

    Liste les type dauthentification disponibles

    Sur CASE uniquement PAP et CHAP

    Autres: EAP, LDAP, digest, unix

    authenticate {

    Auth-Type PAP {

    pap}

    Auth-Type CHAP {

    chap

    }

    }

  • 8/2/2019 20070330-GET Radius-v1.0

    40/51

    40

    Freeradius: fichier radius.conf

    Bloc Authorize

    Prpare les attributs, les enrichis et dcide quels sont ceux qui seront renvoys

    Sur CASE, uniquement preprocess (clean + huntgroups) -> realms -> users

    authorize {preprocess

    auth_log

    chap

    suffix

    files

    }

  • 8/2/2019 20070330-GET Radius-v1.0

    41/51

    41

    Freeradius: fichier radius.conf

    Bloc pre-proxy / post-proxy

    Permet de rcrire, logger, supprimer les attributs avant de les relayer vers le serveur

    final (pre-proxy) ou avant des renvoyer vers le clients (post-proxy)

    Peu de modules disposent de ces sections

    Sur CASE, uniquement pour logger

    pre-proxy {

    pre_proxy_log

    #attr_rewrite

    #attr_filter

    }

    post-proxy {post_proxy_log

    #attr_rewrite

    #attr_filter

    }

  • 8/2/2019 20070330-GET Radius-v1.0

    42/51

    42

    Philosophie de limplmentation Proxy CASE

    Pour RHA

    CASE ne connat pas les realms des clients => exit la mthode des realm toto@sfr

    CASE ne connat pas les User-name et CASE na pas accs une base LDAP =>

    exit mthode user=>proxy

    CASE connat les IP de NAS/Proxy se connectant

    dfinition dun huntgroup

    forage du huntgroup tre proxyfi vers la PFS RHA

    Peut-tre contraignant car discriminant = IP source

    Mthode plus fine pour dautres cas (attribut spcifique, realm)

  • 8/2/2019 20070330-GET Radius-v1.0

    43/51

    43

    Exploitation de freeradius

    Arret/Dmarrage/Statut: /etc/init.d/radiusd stop/start/status

    Debug prolog avanc (attention cela coupe le flux)

    /etc/init.d/radiusd stop

    radiusd X

    Ne pas oublier de relancer /etc/init.d/radiusd start

    Debug prod: tcpdump ou activation des log

    Dcommenter les # dans les sections authentication ou accounting

    /etc/init.d/radiusd reload

    tail f /var/log/radius/radacct/IPCLIENTE/pre-proxy-detail

    tail f /var/log/radius/radacct/IPCLIENTE/post-proxy-detail

    tail f /var/log/radius/radacct/IPCLIENTE/auth-detail

    tail f /var/log/radius/radacct/IPCLIENTE/reply-detail

    tail f radius.log

    Tue Nov 21 12:02:12 2006 : Proxy: marking authentication server 10.163.214.20:1812 forrealm h-ach-rhc-vipradius dead

    Tue Nov 21 12:04:51 2006 : Proxy: marking authentication server 10.163.214.20:1812 forrealm h-ach-rhc-vipradius dead

  • 8/2/2019 20070330-GET Radius-v1.0

    44/51

    44

    Exploitation de freeradius

    Mar 3011:59:16 pppsvada01 radiusd: radiusd shutdown succeeded

    Mar 3011:59:19 pppsvada01 radiusd: Fri Mar 3011:59:192007 : Info: Starting - reading configuration files ...

    Mar 3011:59:19 pppsvada01 radiusd: radiusd startup succeeded

    Mar 3011:59:40 pppsvada01 radiusd: radiusd shutdown succeeded

    Mar 3011:59:43 pppsvada01 radiusd: Fri Mar 3011:59:43 2007 : Info: Starting - reading configuration files ...

    Mar 3011:59:43 pppsvada01 radiusd: Fri Mar 3011:59:43 2007 : Error: /etc/raddb/radiusd.conf[267]:Unexpected end of file

    Mar 3011:59:43 pppsvada01 radiusd: Fri Mar 3011:59:43 2007 : Error: Errors reading radiusd.conf

    Mar 3011:59:43 pppsvada01 radiusd: radiusd startup failed

    /var/log/messages

  • 8/2/2019 20070330-GET Radius-v1.0

    45/51

    45

    Log dune requte proxy en mode radiusd -X

    rad_recv: Access-Requestpacket from host 80.118.192.89:43255, id=151, length=209

    User-Name = "[email protected]"CHAP-Password = 0x01128b8ff6bbebf100e98d95a0f5292e3f

    NAS-IP-Address = 86.70.250.167

    NAS-Identifier = "92def1-G2-2"

    Framed-Compression = None

    NAS-Port-Type = Virtual

    NAS-Port = 2

    Port-Limit = 0

    Calling-Station-Id = "92def1-G2-201100100037"Acct-Session-Id = "0077904942"

    Connect-Info = "OPT1-MAD-MAX"

    NAS-Port-Id = "92def1-G2-2.1.At.1.1.1.1.37.1.37"

    Proxy-State = 0x4f53432d457874656e6465642d49643d313531

    Processing the authorize section of radiusd.conf

    modcall: entering group authorize for request 73

    modcall[authorize]: module "preprocess" returns ok for request 73

    rlm_chap: Setting 'Auth-Type := CHAP'modcall[authorize]: module "chap" returns ok for request 73

    rlm_realm: Looking up realm "test.sfr.fr" forUser-Name = "[email protected]"

    rlm_realm: No such realm "test.sfr.fr"

    modcall[authorize]: module "suffix" returns noop for request 73

    users: Matched DEFAULT at 6

    modcall[authorize]: module "files" returns ok for request 73

    modcall: group authorize returns ok for request 73

  • 8/2/2019 20070330-GET Radius-v1.0

    46/51

    46

    Sending Access-Request of id 2 to10.143.214.20:1812

    User-Name = "[email protected]"

    CHAP-Password = 0x01128b8ff6bbebf100e98d95a0f5292e3f

    NAS-IP-Address = 86.70.250.167

    NAS-Identifier = "92def1-G2-2"Framed-Compression = None

    NAS-Port-Type = Virtual

    NAS-Port = 2

    Port-Limit = 0

    Calling-Station-Id = "92def1-G2-201100100037"

    Acct-Session-Id = "0077904942"

    Connect-Info = "OPT1-MAD-MAX"

    NAS-Port-Id = "92def1-G2-2.1.At.1.1.1.1.37.1.37"Proxy-State = 0x4f53432d457874656e6465642d49643d313531

    CHAP-Challenge = 0x572c6d143f4d21563be1ba588bd3b35f

    Proxy-State = 0x313531

    rad_recv: Access-Accept packet from host 10.143.214.20:1812, id=2, length=142

    Proxy-State = 0x4f53432d457874656e6465642d49643d313531

    Proxy-State = 0x313531

    Reply-Message = "-"

    Service-Type = Framed-UserTunnel-Assignment-Id:1 = "217.70.90.123"

    Tunnel-Client-Auth-Id:1 = "clara-sfr"

    Tunnel-Medium-Type:1 = IP

    Tunnel-Password:1 = "password"

    Tunnel-Preference:1 = 1

    Tunnel-Server-Endpoint:1 = "217.70.90.123"

    Tunnel-Type:1 = L2TP

  • 8/2/2019 20070330-GET Radius-v1.0

    47/51

    47

    Processing the post-proxy section of radiusd.conf

    modcall: group post-proxy returns ok for request 73

    authorize: Skipping authorize in post-proxy stage

    rad_check_password: Found Auth-Type

    rad_check_password: Auth-Type = Accept, accepting the user

    radius_xlat: '-'

    Processing the post-auth section of radiusd.conf

    modcall: entering group post-auth for request 73modcall: group post-auth returns ok for request 73

    Sending Access-Accept of id 151 to 80.118.192.89:43255

    Reply-Message = "-"

    Service-Type = Framed-User

    Tunnel-Assignment-Id:1 = "217.70.90.123"

    Tunnel-Client-Auth-Id:1 = "clara-sfr"

    Tunnel-Medium-Type:1 = IP

    Tunnel-Password:1 = "password"Tunnel-Preference:1 = 1

    Tunnel-Server-Endpoint:1 = "217.70.90.123"

    Tunnel-Type:1 = L2TP

    Proxy-State = 0x4f53432d457874656e6465642d49643d313531

    Finished request 73

  • 8/2/2019 20070330-GET Radius-v1.0

    48/51

    48

    Question ?

    Hicham?

  • 8/2/2019 20070330-GET Radius-v1.0

    49/51

    49

    EAP/TLS

  • 8/2/2019 20070330-GET Radius-v1.0

    50/51

  • 8/2/2019 20070330-GET Radius-v1.0

    51/51

    51

    EAP/TLS

    7- Le client et le serveur calculent une cl de chiffrement pour la session

    principale ( partir des challenges changs)

    8- Le client renvoi une rponse EAP vide et le serveur rpond par un message

    EAP_success avec une cl de session pour la borne wifi.

    9- A partir de cette cl de session la borne calcul une cl WEP ou WPA et

    lenvoi au client.

    Dans le cas dauthentification EAP/TLS la cl de session principale nest pas

    utilise.