Types d'attribut RADIUS

Ces constantes définissent des types d'attribut RADIUS qui peuvent être utilisées avec les fonctions radius_put_addr(), radius_put_attr(), radius_put_int() et radius_put_string().

RADIUS_USER_NAME (int)
L'attribut User-Name. La valeur de l'attribut doit être une chaîne de caractères contenant le nom de l'utilisateur désirant s'authentifier, et peut être définie en utilisant la fonction radius_put_attr().
RADIUS_USER_PASSWORD (int)
L'attribut User-Password. La valeur de l'attribut doit être une chaîne de caractères contenant le mot de passe de l'utilisateur, et peut être définie en utilisant la fonction radius_put_attr(). Cette valeur sera brouillée pendant la transmission tel que décrit à la » section 5.2 de la RFC 2865.
RADIUS_CHAP_PASSWORD (int)
L'attribut Chap-Password. La valeur de l'attribut doit être une chaîne contenant le premier octet (qui est l'identifiant CHAP), puis la sous une sous-séquence de 16 octets contenant le hash MD5 de l'identifiant CHAP, le mot de passe en clair, et la valeur du challenge CHAP, le tout, concaténés. Il est à noter que la valeur du challenge CHAP doit aussi être envoyé séparément dans l'attribut RADIUS_CHAP_CHALLENGE.

Exemple #1 Utilisation des mots de passe CHAP

<?php
// D'abord, nous créons un gestionnaire d'authentification et une requête.
$radh = radius_auth_open();
radius_add_server($radh, $server, $port, $secret, 3, 3);
radius_create_request($radh, RADIUS_ACCESS_REQUEST);

// Supposons que $password contient le mot de passe en clair :

// Génération du challenge.
$challenge = mt_rand();

// Spécifie un identifiant CHAP.
$ident = 1;

// Ajout de l'attribut Chap-Password.
$cp = hash('md5', pack('Ca*', $ident, $password.$challenge), true);
radius_put_attr($radh, RADIUS_CHAP_PASSWORD, pack('C', $ident).$cp);

// Ajout de l'attribut Chap-Challenge.
radius_put_attr($radh, RADIUS_CHAP_CHALLENGE, $challenge);

/* A partir d'ici, nous pouvons ajouter les autres attributs
* et appeler la fonction radius_send_request(). */
?>
RADIUS_NAS_IP_ADDRESS (int)
L'attribut NAS-IP-Address. La valeur de l'attribut attendue est l'adresse IP du client RADIUS encodé sous la forme d'un entier, qui peut être définie en utilisant la fonction radius_put_addr().
RADIUS_NAS_PORT (int)
L'attribut NAS-Port. La valeur de l'attribut attendue est le port physique de l'utilisateur sur le client RADIUS, encodé sous la forme d'un entier, qui peut être définie en utilisant la fonction radius_put_int().
RADIUS_SERVICE_TYPE (int)
L'attribut Service-Type. La valeur de l'attribut indique le type de service que l'utilisateur requète, et doit être un entier, qui peut être défini en utilisant la fonction radius_put_int().

Des constantes sont fournies pour représenter les valeurs possibles de cet attribut. Les voici :

RADIUS_FRAMED_PROTOCOL (int)

L'attribut Framed-Protocol. La valeur de l'attribut attendue est un entier, indiquant le framing à utiliser pour l'accès, et peut être définie en utilisant la fonction radius_put_int(). Les valeurs possibles pour cet attribut sont :

RADIUS_FRAMED_IP_ADDRESS (int)
L'attribut Framed-IP-Address. La valeur attendue est une adresse du réseau utilisateur encodé sous la forme d'un entier, qui peut être définie en utilisant la fonction radius_put_addr() et récupérée en utilisant la fonction radius_cvt_addr().
RADIUS_FRAMED_IP_NETMASK (int)
L'attribut Framed-IP-Netmask. La valeur attendue est un netmask du réseau utilisateur, encodé sous la forme d'un entier, qui peut être définie en utilisant la fonction radius_put_addr() et récupérée en utilisant la fonction radius_cvt_addr().
RADIUS_FRAMED_ROUTING (int)
L'attribut Framed-Routing. La valeur attendue est un entier indiquant la méthode de routage pour l'utilisateur, qui peut être définie en utilisant la fonction radius_put_int().

Valeurs possibles :

  • 0 : Aucun routage
  • 1 : Envoi des paquets de routage
  • 2 : Ecoute des paquets de routage
  • 3 : Envoi et écoute

RADIUS_FILTER_ID (int)
L'attribut Filter-ID. La valeur attendue est une implémentation spécifique, humainement lisible, de chaînes de filtres, qui peuvent être définies en utilisant la fonction radius_put_attr().
RADIUS_FRAMED_MTU (int)
L'attribut Framed-MTU. La valeur attendue est un entier, indiquant le MTU à configurer pour l'utilisateur, et peut être définie en utilisant la fonction radius_put_int().
RADIUS_FRAMED_COMPRESSION (int)

L'attribut Framed-Compression. La valeur attendue est un entier, indiquant le protocole de compression à utiliser, et peut être définie en utilisant la fonction radius_put_int(). Valeurs possibles :

RADIUS_LOGIN_IP_HOST (int)
L'attribut Login-IP-Host. La valeur attendue est l'adresse IP de connexion de l'utilisateur, encodée sous la forme d'un entier, qui peut être défini en utilisant la fonction radius_put_addr().
RADIUS_LOGIN_SERVICE (int)
L'attribut Login-Service. La valeur attendue est un entier indiquant le service sur lequel l'utilisateur se connecte sur l'hôte d'identification. La valeur peut être convertie en un entier PHP via la fonction radius_cvt_int().
RADIUS_LOGIN_TCP_PORT (int)
L'attribut Login-TCP-Port. La valeur attendue est un entier indiquant le port sur lequel l'utilisateur se connecte sur l'hôte d'identification. La valeur peut être convertie en un entier PHP via la fonction radius_cvt_int().
RADIUS_REPLY_MESSAGE (int)
L'attribut Reply-Message. La valeur attendue est une chaîne de caractères contenant un texte qui peut être affiché à l'utilisateur en réponse à une requête d'accès.
RADIUS_CALLBACK_NUMBER (int)
L'attribut Callback-Number. La valeur attendue est une chaîne de caractères contenant la chaîne de numérotation à utiliser pour la fonction de rappel.
RADIUS_CALLBACK_ID (int)
L'attribut Callback-Id. La valeur attendue est une chaîne contenant le nom de l'implémentation spécifique de la place à appeler.
RADIUS_FRAMED_ROUTE (int)
L'attribut Framed-Route. La valeur attendue est une chaîne contenant un jeu de routes d'implémentation spécifique à configurer pour l'utilisateur.
RADIUS_FRAMED_IPX_NETWORK (int)
L'attribut Framed-IPX-Network. La valeur attendue est un entier contenant le réseau IPX à configurer pour l'utilisateur, ou 0xFFFFFFFE pour indiquer que le client RADIUS doit sélectionner le réseau, et peut être accédé via la fonction radius_cvt_int().
RADIUS_STATE (int)
L'attribut State. La valeur attendue est une chaîne contenant l'implémentation définie incluse dans un Access-Challenge depuis un serveur qui doit être inclus dans la sous-séquence Access-Request, et peut être défini en utilisant la fonction radius_put_attr().
RADIUS_CLASS (int)
L'attribut Class. La valeur attendue est une chaîne arbitraire incluant le message d'un Access-Accept qui doit être envoyé au serveur de comptes dans les messages Accounting-Request, et peut être défini via la fonction radius_put_attr().
RADIUS_VENDOR_SPECIFIC (int)
L'attribut Vendor-Specific. En général, les valeurs de l'attribut du vendeur doivent être définies en utilisant les fonctions radius_put_vendor_addr(), radius_put_vendor_attr(), radius_put_vendor_int() et radius_put_vendor_string(), plutôt que directement. Cette constante est utile lors de l'interprétation des attributs spécifiques du vendeur dans les réponses d'un serveur RADIUS ; lorsqu'un attribut spécifique du vendeur est reçu, la fonction radius_get_vendor_attr() doit être utilisée pour accéder à l'identifiant du vendeur, le type d'attribut et la valeur de l'attribut.
RADIUS_SESSION_TIMEOUT (int)
Timeout de la session
RADIUS_IDLE_TIMEOUT (int)
Durée d'expiration
RADIUS_TERMINATION_ACTION (int)
Action de termination
RADIUS_CALLED_STATION_ID (int)
Identifiant de la station appelée
RADIUS_CALLING_STATION_ID (int)
Identifiant de la station appelant
RADIUS_NAS_IDENTIFIER (int)
Identifiant NAS
RADIUS_PROXY_STATE (int)
Statut du Proxy
RADIUS_LOGIN_LAT_SERVICE (int)
Service d'identification LAT
RADIUS_LOGIN_LAT_NODE (int)
Noeud d'identification LAT
RADIUS_LOGIN_LAT_GROUP (int)
Groupe d'identification LAT
Lien framé Appletalk
RADIUS_FRAMED_APPLETALK_NETWORK (int)
Réseau framé Appletalk
RADIUS_FRAMED_APPLETALK_ZONE (int)
Zone framé Appletalk
RADIUS_CHAP_CHALLENGE (int)
Challenge
RADIUS_NAS_PORT_TYPE (int)

Type du port NAS :

RADIUS_PORT_LIMIT (int)
Limite du port
RADIUS_LOGIN_LAT_PORT (int)
Port d'identification LAT
RADIUS_CONNECT_INFO (int)
Information de connexion
RADIUS_ACCT_STATUS_TYPE (int)

Type de statut du compte :

RADIUS_ACCT_DELAY_TIME (int)
Délai maximal d'identification
RADIUS_ACCT_INPUT_OCTETS (int)
Octets d'entrée d'identification
RADIUS_ACCT_OUTPUT_OCTETS (int)
Octets de sortie d'identification
RADIUS_ACCT_SESSION_ID (int)
Identifiant de session d'identification
RADIUS_ACCT_AUTHENTIC (int)

Identification authentique, un parmi :

RADIUS_ACCT_SESSION_TIME (int)
Durée de la session d'identification
RADIUS_ACCT_INPUT_PACKETS (int)
Paquets d'entrée d'identification
RADIUS_ACCT_OUTPUT_PACKETS (int)
Paquets de sortie d'identification
RADIUS_ACCT_TERMINATE_CAUSE (int)

Cause de la fin de l'identification, un parmi :

RADIUS_ACCT_MULTI_SESSION_ID (int)
Identifiant d'une session multiple d'identification
Nombre de liens d'identification
Constantes de type de service
RADIUS_LOGIN
RADIUS_FRAMED
RADIUS_CALLBACK_LOGIN
RADIUS_CALLBACK_FRAMED
RADIUS_OUTBOUND
RADIUS_ADMINISTRATIVE
RADIUS_NAS_PROMPT
RADIUS_AUTHENTICATE_ONLY
RADIUS_CALLBACK_NAS_PROMPT
Framed-Protocol Constants
RADIUS_PPP
RADIUS_SLIP
RADIUS_ARAP
RADIUS_GANDALF
RADIUS_XYLOGICS
Framed-Compression Constants
RADIUS_COMP_NONE
RADIUS_COMP_VJ
RADIUS_COMP_IPXHDR
RADIUS_COMP_STAC_LZS
NAS Port Type Constants
RADIUS_ASYNC
RADIUS_SYNC
RADIUS_ISDN_SYNC
RADIUS_ISDN_ASYNC_V120
RADIUS_ISDN_ASYNC_V110
RADIUS_VIRTUAL
RADIUS_PIAFS
RADIUS_HDLC_CLEAR_CHANNEL
RADIUS_X_25
RADIUS_X_75
RADIUS_G_3_FAX
RADIUS_SDSL
RADIUS_ADSL_CAP
RADIUS_ADSL_DMT
RADIUS_IDSL
RADIUS_ETHERNET
RADIUS_XDSL
RADIUS_CABLE
RADIUS_WIRELESS_OTHER
RADIUS_WIRELESS_IEEE_802_11
Accounting Status Type Constants
RADIUS_START
RADIUS_STOP
RADIUS_ACCOUNTING_ON
RADIUS_ACCOUNTING_OFF
Accounting Authentic Constants
RADIUS_AUTH_RADIUS
RADIUS_AUTH_LOCAL
RADIUS_AUTH_REMOTE
Accounting Terminate Cause Constants
RADIUS_TERM_USER_REQUEST
RADIUS_TERM_LOST_CARRIER
RADIUS_TERM_LOST_SERVICE
RADIUS_TERM_IDLE_TIMEOUT
RADIUS_TERM_SESSION_TIMEOUT
RADIUS_TERM_ADMIN_RESET
RADIUS_TERM_ADMIN_REBOOT
RADIUS_TERM_PORT_ERROR
RADIUS_TERM_NAS_ERROR
RADIUS_TERM_NAS_REQUEST
RADIUS_TERM_NAS_REBOOT
RADIUS_TERM_PORT_UNNEEDED
RADIUS_TERM_PORT_PREEMPTED
RADIUS_TERM_PORT_SUSPENDED
RADIUS_TERM_SERVICE_UNAVAILABLE
RADIUS_TERM_CALLBACK
RADIUS_TERM_USER_ERROR
RADIUS_TERM_HOST_REQUEST
RADIUS_MICROSOFT_MS_CHAP_RESPONSE
RADIUS_MICROSOFT_MS_CHAP_ERROR
RADIUS_MICROSOFT_MS_CHAP_PW_1
RADIUS_MICROSOFT_MS_CHAP_PW_2
RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW
RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW
RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY
RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES
RADIUS_MICROSOFT_MS_RAS_VENDOR
RADIUS_MICROSOFT_MS_CHAP_DOMAIN
RADIUS_MICROSOFT_MS_CHAP_CHALLENGE
RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS
RADIUS_MICROSOFT_MS_BAP_USAGE
RADIUS_MICROSOFT_MS_MPPE_SEND_KEY
RADIUS_MICROSOFT_MS_MPPE_RECV_KEY
RADIUS_MICROSOFT_MS_RAS_VERSION
RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD
RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD
RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON
RADIUS_MICROSOFT_MS_FILTER
RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE
RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE
RADIUS_MICROSOFT_MS_CHAP2_RESPONSE
RADIUS_MICROSOFT_MS_CHAP2_SUCCESS
RADIUS_MICROSOFT_MS_CHAP2_PW
RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER
RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER
RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER
RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER
RADIUS_MICROSOFT_MS_ARAP_CHALLENGE
add a note

User Contributed Notes 1 note

up
1
Anonymous
10 years ago
To fix missing the "Alive" of Acct-Status-Type, just :

define('RADIUS_ALIVE', 3);
To Top