{"id":390,"date":"2009-04-21T14:36:12","date_gmt":"2009-04-21T13:36:12","guid":{"rendered":"http:\/\/blog.guiguiabloc.fr\/?p=390"},"modified":"2009-04-21T15:38:24","modified_gmt":"2009-04-21T14:38:24","slug":"authentification-par-mot-de-passe-jetable-avec-radius-et-motp","status":"publish","type":"post","link":"http:\/\/blog.guiguiabloc.fr\/index.php\/2009\/04\/21\/authentification-par-mot-de-passe-jetable-avec-radius-et-motp\/","title":{"rendered":"Authentification par mot de passe jetable avec RADIUS et MOTP"},"content":{"rendered":"<p>En juillet de l&rsquo;ann\u00e9e derni\u00e8re, j&rsquo;avais \u00e9crit un <a title=\"OTP\" href=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2008\/07\/11\/authentification-systeme-via-telephone-nokia-e65-avec-one-time-password-et-jeton-tournant\/\" target=\"_blank\">billet sur l&rsquo;authentification syst\u00e8me par jeton tournant<\/a>.<\/p>\n<p>Je vous propose aujourd&rsquo;hui de mettre en place une autre technique, l&rsquo;authentification sur un serveur RADIUS par mot de passe unique, mot de passe g\u00e9n\u00e9r\u00e9 sur votre t\u00e9l\u00e9phone portable.<\/p>\n<p>Le principe reste assez simple. Pour vous identifier sur votre site web\/\u00e9quipement r\u00e9seau\/connexion wifi (etc, etc, la liste n&rsquo;est pas exhaustive, du moment que l&rsquo;authentification se base sur un serveur RADIUS), vous devrez saisir un code PIN sur votre t\u00e9l\u00e9phone, qui en retour vous g\u00e9n\u00e9rera un mot de passe, valable 1 seule fois et durant quelques minutes seulement.<\/p>\n<p>Sympa comme moyen d&rsquo;authentification (qui a dit \u00ab\u00a0la frime\u00a0\u00bb ?) \ud83d\ude42<\/p>\n<p>Pour mettre en \u0153uvre cette solution, nous allons nous utiliser deux produits :<\/p>\n<ul>\n<li><a title=\"Freeradius\" href=\"http:\/\/freeradius.org\/\" target=\"_blank\">FREERADIUS<\/a><\/li>\n<\/ul>\n<p>Pour le serveur RADIUS<\/p>\n<ul>\n<li><a title=\"MOTP\" href=\"http:\/\/motp.sourceforge.net\/\" target=\"_blank\">MOTP<\/a><\/li>\n<\/ul>\n<p>Pour le syst\u00e8me d&rsquo;authentification unique<\/p>\n<p>RADIUS est un protocole client\/serveur permettant de centraliser des donn\u00e9es d&rsquo;authentification.<\/p>\n<p>Je vous invite \u00e0 lire cette page :<\/p>\n<p><a title=\"Wikipedia RADIUS\" href=\"http:\/\/fr.wikipedia.org\/wiki\/RADIUS_(informatique)\" target=\"_blank\">http:\/\/fr.wikipedia.org\/wiki\/RADIUS_(informatique)<\/a><\/p>\n<p>Vous l&rsquo;utilisez tous les jours sans vous en rendre compte, tout simplement par votre acc\u00e8s au Nain Ternet de votre Fournisseur d&rsquo;acc\u00e8s qui vous authentifie sur ses serveurs RADIUS avant de vous donner acc\u00e8s (ou pas) au r\u00e9seau informatique mondial.<\/p>\n<p>Bien s\u00fbr, tout cela est transparent pour vous, la plupart du temps, c&rsquo;est votre box adsl qui n\u00e9gocie avec le RADIUS votre authentification.<\/p>\n<p>(Pour les puristes, oui je r\u00e9sume \u00e9norm\u00e9ment \ud83d\ude00  \ud83d\ude00  , si en plus on rajoute des proxy radius sur les <a title=\"Broadband Access Server\" href=\"http:\/\/fr.wikipedia.org\/wiki\/%C3%89quipement_d%27acc%C3%A8s_au_service\" target=\"_blank\">BAS<\/a>, on va y passer la nuit :-p )<\/p>\n<p>Bref, pour r\u00e9sumer simplement, un serveur RADIUS sert \u00e0 3 choses :<\/p>\n<ol>\n<li>L&rsquo;authentification<\/li>\n<\/ol>\n<p>Qui es-tu ?<\/p>\n<ol>\n<li>L&rsquo;autorisation<\/li>\n<\/ol>\n<p>A quoi tu as le droit ?<\/p>\n<ol>\n<li>L&rsquo;accounting (ou tra\u00e7abilit\u00e9)<\/li>\n<\/ol>\n<p>Combien tu consommes et qu&rsquo;est ce que tu utilises ?<\/p>\n<p>C&rsquo;est le fameux AAA que vous avez d\u00e9j\u00e0 peut-\u00eatre crois\u00e9 au fil de vos p\u00e9r\u00e9grinations informatiques.<\/p>\n<p>Maintenant que nous avons survol\u00e9 le but de ce billet, mettons-nous \u00e0 la t\u00e2che :<\/p>\n<ul>\n<li><strong>Installation et configuration de FreeRadius<\/strong><\/li>\n<\/ul>\n<p>Que vous soyez sous Linux ou *BSD, FreeRadius est disponible.<\/p>\n<p>L&rsquo;installation reste des plus triviales, a coup de pkg_add, apt-get install, yum install ou compilation directe depuis les sources sur le site web :<\/p>\n<p><a title=\"http:\/\/freeradius.org\/download.html\" href=\"http:\/\/freeradius.org\/download.html\" target=\"_blank\">http:\/\/freeradius.org\/download.htm<\/a><a href=\"http:\/\/\">l<\/a><\/p>\n<p>Je me baserais sur la version 2.x de Freeradius, si vous \u00eates encore en version 1.x, il serait peut \u00eatre temps de migrer&#8230;<\/p>\n<p>Je ne m&rsquo;attarderais pas sur son installation, il existe un excellent tutoriel de Thuso, ici :<\/p>\n<p><a title=\"tuto freeradius\" href=\"http:\/\/www.pervasive-network.org\/SPIP\/Installation-de-freeradius-2-4\" target=\"_blank\">http:\/\/www.pervasive-network.org\/SPIP\/Installation-de-freeradius-2-4<\/a><\/p>\n<p>Passons \u00e0 la phase MOTP proprement dite :<\/p>\n<p>T\u00e9l\u00e9chargement et installation du script et du dictionnaire MOTP :<\/p>\n<pre lang=\"text\">serveur:# cd \/etc\/raddb\r\nserveur:\/etc\/raddb# wget http:\/\/motp.sourceforge.net\/otpverify.sh\r\nserveur:\/etc\/raddb# chmod +x otpverify.sh\r\n\r\nserveur:\/etc\/raddb# wget http:\/\/motp.sourceforge.net\/dictionary.motp\r\n\r\nModification du fichier \/etc\/raddb\/dictionary\r\n\r\nserveur:\/etc\/raddb#  cat \/etc\/raddb\/dictionary\r\n#\r\n#       This is the master dictionary file, which references the\r\n#       pre-defined dictionary files included with the server.\r\n#\r\n#       Any new\/changed attributes MUST be placed in this file, as\r\n#       the pre-defined dictionaries SHOULD NOT be edited.\r\n#\r\n#       $Id: dictionary.in,v 1.4 2004\/04\/14 15:26:20 aland Exp $\r\n#\r\n#\r\n$INCLUDE        \/usr\/local\/share\/freeradius\/dictionary\r\n$INCLUDE        dictionary.motp<\/pre>\n<p>Dans \/var, cr\u00e9er un r\u00e9pertoire motp et lui donner les droits au user \u00ab\u00a0freeradius\u00a0\u00bb<\/p>\n<pre lang=\"text\">serveur:# mkdir \/var\/motp\r\nserveur:# mkdir \/var\/motp\/cache\r\nserveur:# mkdir \/var\/motp\/users\r\nserveur:# chown -R _freeradius:_freeradius \/var\/motp<\/pre>\n<p>On va ajouter un module exec \u00e0 la configuration (\/etc\/raddb\/radiusd.conf)<\/p>\n<pre lang=\"text\">modules {\r\n          ...\r\n\r\n        exec MOTP {\r\n                wait = yes\r\n                program = \"\/etc\/raddb\/otpverify.sh %{User-Name} %{User-Password} %{reply:Secret\r\n} %{reply:Pin} %{reply:Offset}\"\r\n                input_pairs = request\r\n                output_pairs = reply\r\n\r\n               ....\r\n\r\n(v\u00e9rifier bien que vous avez \"exec\" dans la partie Instantiate :)\r\n\r\ninstantiate {\r\n        exec\r\n        expr\r\n        expiration\r\n        logintime\r\n\r\n}<\/pre>\n<p>Depuis la version 2, Freeradius utilise des h\u00f4tes virtuels (comme Apache), modifier votre fichier vhost comme suit (la partie importante \u00e9tant l&rsquo;auth-type external)<\/p>\n<pre lang=\"text\">\r\nserveur:\/etc\/raddb\/sites-enabled# more radius.guiguiabloc.fr\r\n#####################################\r\nauthorize {\r\n        preprocess\r\n        chap\r\n        suffix\r\n        sql\r\n        files\r\n        expiration\r\n        logintime\r\n        pap\r\n}\r\n\r\n#  Authentication.\r\n#\r\nauthenticate {\r\n        Auth-Type PAP {\r\n                pap\r\n        }\r\n\r\n        Auth-Type CHAP {\r\n                chap\r\n        }\r\n        Auth-Type External {\r\n                 MOTP\r\n        }\r\n        unix\r\n}\r\n\r\npreacct {\r\n        preprocess\r\n        acct_unique\r\n        suffix\r\n        files\r\n}\r\naccounting {\r\n        detail\r\n        unix\r\n        radutmp\r\n        sql\r\n        attr_filter.accounting_response\r\n}\r\nsession {\r\n        radutmp\r\n        sql\r\n}\r\npost-auth {\r\n        Post-Auth-Type REJECT {\r\n                attr_filter.access_reject\r\n        }\r\n}\r\npre-proxy {\r\n}\r\npost-proxy {\r\n}<\/pre>\n<p>On va s&rsquo;arr\u00eater la pour la partie Freeradius et nous occuper de notre t\u00e9l\u00e9phone portable.<\/p>\n<ul>\n<li><strong>Installation de MOTP<\/strong><\/li>\n<\/ul>\n<p>MOTP (Mobile One Time Password), est le projet source de Freeauth dont j&rsquo;avais parl\u00e9 dans mon pr\u00e9c\u00e9dent billet.<\/p>\n<p>Le principe est simple, comme dans toute base d&rsquo;authentification forte \u00e0 deux facteurs.<\/p>\n<p>&#8211; 1 code secret connu \u00e9galement du serveur Radius <strong>(ce que JE connais)<\/strong><\/p>\n<p>&#8211; 1 objet unique capable de g\u00e9n\u00e9rer mon code (<strong>ce que JE d\u00e9tiens)<\/strong><\/p>\n<p>Le t\u00e9l\u00e9phone ET le serveur RADIUS se partageant ensemble une cl\u00e9 hexad\u00e9cimale unique.<\/p>\n<ul>\n<li>Avoir le t\u00e9l\u00e9phone ne sert \u00e0 rien (j&rsquo;ignore le code PIN qui n&rsquo;est pas enregistr\u00e9 dedans)<\/li>\n<\/ul>\n<ul>\n<li>Avoir le code PIN et un autre t\u00e9l\u00e9phone avec le m\u00eame programme ne sert \u00e0 rien (je ne peux r\u00e9g\u00e9n\u00e9rer la m\u00eame cl\u00e9 hexad\u00e9cimale)<\/li>\n<\/ul>\n<p>Une fois tout cela en main, quand vous tapez votre code PIN (pas celui du t\u00e9l\u00e9phone hein \ud83d\ude09 celui choisi pour l&rsquo;authentification), le programme g\u00e9n\u00e8re 1 mot de passe unique en utilisant un hash MD5 qui cumule le code pin, la cl\u00e9 hexad\u00e9cimale et l&rsquo;heure EPOCH (avec une granularit\u00e9 de 10 secondes) et vous donne les 6 premiers caract\u00e8res qui sont votre mot de passe pour vous connecter.<\/p>\n<p>Ce mot de passe est v\u00e9rifi\u00e9 par le serveur qui connait le code PIN, l&rsquo;init-key (la cl\u00e9 hexad\u00e9cimale) et l&rsquo;heure actuelle.<\/p>\n<p>Pour pallier les variations de temps entre le t\u00e9l\u00e9phone et le serveur, celui accepte le mot de passe 3 minutes dans le pass\u00e9 et dans le futur par rapport \u00e0 son heure actuelle.<\/p>\n<p>C&rsquo;est bien pour cela que je vous conseille fortement de synchroniser votre t\u00e9l\u00e9phone portable et votre serveur \u00e0 intervalles r\u00e9guliers sur un serveur de temps NTP (cf. pr\u00e9c\u00e9dent billet)<\/p>\n<p>Le mot de passe n&rsquo;est accept\u00e9 qu&rsquo;<strong>UNE<\/strong> seule fois et en cas de 8 \u00e9checs cons\u00e9cutifs, l&rsquo;utilisateur est verrouill\u00e9 et ne peux plus se connecter.<\/p>\n<p>Le JAR que vous devez installer sur votre t\u00e9l\u00e9phone compatible JAVA est disponible ici :<\/p>\n<p><a title=\"JAR MOTP\" href=\"http:\/\/motp.sourceforge.net\/MobileOTP.jar\" target=\"_blank\">http:\/\/motp.sourceforge.net\/MobileOTP.jar<\/a><\/p>\n<p>Vous trouverez d&rsquo;autres formes du client MOTP sur le site du projet (BlackBerry par exemple) :<\/p>\n<p><a title=\"motp download\" href=\"http:\/\/motp.sourceforge.net\/#2\" target=\"_blank\">http:\/\/motp.sourceforge.net\/#2<\/a><\/p>\n<p>Bien s\u00fbr, les sources sont \u00e9galement disponibles.<\/p>\n<p>L&rsquo;installation faite, un nouvel ic\u00f4ne fait son apparition<\/p>\n<div id=\"attachment_394\" style=\"width: 235px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2009\/04\/motp1.jpg\"><img aria-describedby=\"caption-attachment-394\" loading=\"lazy\" class=\"size-medium wp-image-394\" title=\"motp1\" src=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2009\/04\/motp1-225x300.jpg\" alt=\"MOTP\" width=\"225\" height=\"300\" \/><\/a><p id=\"caption-attachment-394\" class=\"wp-caption-text\">MOTP<\/p><\/div>\n<p>Dans le menu Options, Time Zone, v\u00e9rifier votre temps UTC (+0 pour moi) qui doit \u00eatre identique sur le serveur.<\/p>\n<p>(voir le <a title=\"freeauth\" href=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2008\/07\/11\/authentification-systeme-via-telephone-nokia-e65-avec-one-time-password-et-jeton-tournant\/\" target=\"_blank\">pr\u00e9c\u00e9dent billet<\/a> pour plus d&rsquo;infos sur cette partie)<\/p>\n<p>Commen\u00e7ons par initialiser le programme pour g\u00e9n\u00e9rer la cl\u00e9 Hexad\u00e9cimale unique<\/p>\n<p>Lancer le programme et en code PIN tapez : <strong>#**#<\/strong><\/p>\n<div id=\"attachment_395\" style=\"width: 235px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2009\/04\/motp3.jpg\"><img aria-describedby=\"caption-attachment-395\" loading=\"lazy\" class=\"size-medium wp-image-395\" title=\"motp3\" src=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2009\/04\/motp3-225x300.jpg\" alt=\"MOTP\" width=\"225\" height=\"300\" \/><\/a><p id=\"caption-attachment-395\" class=\"wp-caption-text\">MOTP<\/p><\/div>\n<p>Appuyez al\u00e9atoirement sur 20 touches<\/p>\n<div id=\"attachment_396\" style=\"width: 235px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2009\/04\/motp2.jpg\"><img aria-describedby=\"caption-attachment-396\" loading=\"lazy\" class=\"size-medium wp-image-396\" title=\"motp2\" src=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2009\/04\/motp2-225x300.jpg\" alt=\"MOTP\" width=\"225\" height=\"300\" \/><\/a><p id=\"caption-attachment-396\" class=\"wp-caption-text\">MOTP<\/p><\/div>\n<p>Le programme vous affiche votre cl\u00e9 Hexad\u00e9cimale unique (l&rsquo;init Secret), NOTEZ LA BIEN !!!<\/p>\n<div id=\"attachment_397\" style=\"width: 235px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2009\/04\/motp4.jpg\"><img aria-describedby=\"caption-attachment-397\" loading=\"lazy\" class=\"size-medium wp-image-397\" title=\"motp4\" src=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2009\/04\/motp4-225x300.jpg\" alt=\"MOTP\" width=\"225\" height=\"300\" \/><\/a><p id=\"caption-attachment-397\" class=\"wp-caption-text\">MOTP<\/p><\/div>\n<p>Vous pouvez d\u00e9j\u00e0 v\u00e9rifier que cela fonctionne en lan\u00e7ant le script otpverify.sh sur votre serveur RADIUS, suivi de 5 variables :<br \/>\n&#8211; le user<br \/>\n&#8211; le mot de passe unique g\u00e9n\u00e9r\u00e9 par votre t\u00e9l\u00e9phone<br \/>\n&#8211; la cl\u00e9 hexad\u00e9cimale<br \/>\n&#8211; le code PIN<br \/>\n&#8211; l&rsquo;offset (0 pour un UTC +0)<\/p>\n<pre lang=\"text\">serveur:\/etc\/raddb# .\/otpverify.sh guiguiabloc b662de e37629f6d057dcc5 1234 0\r\nACCEPT<\/pre>\n<p>Maintenant, avec cette cl\u00e9, retournons \u00e0 la configuration du serveur RADIUS.<\/p>\n<p>Param\u00e9trage du fichier \u00ab\u00a0users\u00a0\u00bb de RADIUS :<\/p>\n<pre lang=\"text\">serveur:\/etc\/raddb# cat \/etc\/raddb\/users\r\nDEFAULT Auth-Type = External\r\n        Exec-Program-Wait = \"\/etc\/raddb\/otpverify.sh '%{User-Name}' '%{User-Password}' '%{reply:Secret}' '%{reply:Pin}' '%{reply:Offset}'\",\r\n        Fall-Through = Yes\r\nguiguiabloc\r\n        Secret = e37629f6d057dcc5,\r\n        PIN = 1234,\r\n        Offset = 0<\/pre>\n<p>Explication :<br \/>\nOn ajoute un utilisateur, guiguiabloc<br \/>\nSecret = la cl\u00e9 hexad\u00e9cimale g\u00e9n\u00e9r\u00e9e sur le t\u00e9l\u00e9phone<br \/>\nPIN = le code secret a 4 chiffres choisi par l&rsquo;utilisateur<br \/>\nOffset = variation de temps UTC (voir le site pour une explication d\u00e9taill\u00e9e)<\/p>\n<p>Ne reste qu&rsquo;\u00e0 d\u00e9marrer votre serveur RADIUS (en mode debug pour l&rsquo;instant) et tenter une authentification via l&rsquo;utilitaire RADTEST<\/p>\n<pre lang=\"text\">serveur:\/etc\/raddb# \/usr\/local\/sbin\/radiusd -X\r\nFreeRADIUS Version 2.0.5, for host i386-unknown-openbsd4.4, built on Aug 13 2008 at 01:30:16\r\nCopyright (C) 1999-2008 The FreeRADIUS server project and contributors.\r\nThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\r\nPARTICULAR PURPOSE.\r\nYou may redistribute copies of FreeRADIUS under the terms of the\r\nGNU General Public License v2.\r\nStarting - reading configuration files ...\r\n....\r\nListening on authentication address 192.168.18.100 port 1812\r\nListening on accounting address 192.168.18.100 port 1813\r\nReady to process requests.<\/pre>\n<p>Demande du mot de passe unique sur le t\u00e9l\u00e9phone :<\/p>\n<div id=\"attachment_402\" style=\"width: 235px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2009\/04\/motp5.jpg\"><img aria-describedby=\"caption-attachment-402\" loading=\"lazy\" src=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2009\/04\/motp5-225x300.jpg\" alt=\"MOTP\" title=\"motp5\" width=\"225\" height=\"300\" class=\"size-medium wp-image-402\" \/><\/a><p id=\"caption-attachment-402\" class=\"wp-caption-text\">MOTP<\/p><\/div>\n<pre lang=\"text\">serveur:\/etc\/raddb# radtest guiguiabloc 356c18  192.168.18.100 0 secret_radius_client\r\nSending Access-Request of id 41 to 192.168.18.100 port 1812\r\n        User-Name = \"guiguiabloc\"\r\n        User-Password = \"356c18\"\r\n        NAS-IP-Address = 192.168.18.70\r\n        NAS-Port = 0\r\nrad_recv: Access-Accept packet from host 192.168.18.100 port 1812, id=41, length=20\r\n\r\nC\u00f4t\u00e9 serveur RADIUS on voit l'authentification se d\u00e9rouler :\r\n\r\nauth: type \"External\"\r\n+- entering group External\r\n        expand: %{User-Name} -> guiguiabloc\r\n        expand: %{User-Password} -> 356c18\r\n        expand: %{reply:Secret} -> e37629f6d057dcc5\r\n        expand: %{reply:Pin} -> 1234\r\n        expand: %{reply:Offset} -> 0\r\nExec-Program output: ACCEPT\r\nExec-Program-Wait: plaintext: ACCEPT\r\nExec-Program: returned: 0\r\n++[MOTP] returns ok\r\nSending Access-Accept of id 41 to 192.168.18.100 port 29470\r\nFinished request 2.\r\nGoing to the next request\r\nWaking up in 4.9 seconds.\r\nCleaning up request 2 ID 41 with timestamp +215\r\nReady to process requests.\r\n\r\n<\/pre>\n<p>Un succ\u00e8s \ud83d\ude00  \ud83d\ude00  \ud83d\ude00<\/p>\n<p>D\u00e9sormais vous pouvez demander \u00e0 vos \u00e9quipements d&rsquo;interroger le serveur RADIUS pour valider l&rsquo;authentification et utiliser votre t\u00e9l\u00e9phone pour g\u00e9n\u00e9rer votre mot de passe unique et jetable.<\/p>\n<p>Ca fait \u00ab\u00a0classe\u00a0\u00bb quand m\u00eame \ud83d\ude42<\/p>\n<p>Bonus, il existe un module mod_auth_radius pour Apache \ud83d\ude09<\/p>\n<p>Un petit .htaccess bien plac\u00e9 :<\/p>\n<pre lang=\"text\">    AuthType Basic\r\n    AuthName \"RADIUS Authentication\"\r\n    AuthUserFile \/dev\/null\r\n    AuthRadiusAuthoritative on\r\n    AuthBasicAuthoritative off\r\n    AuthRadiusCookieValid 5\r\n    AuthRadiusActive On\r\n    require valid-user<\/pre>\n<p>Et hop, authentification sur votre site web via RADIUS et MOTP&#8230;<\/p>\n<p>Amusez-vous bien \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En juillet de l&rsquo;ann\u00e9e derni\u00e8re, j&rsquo;avais \u00e9crit un billet sur l&rsquo;authentification syst\u00e8me par jeton tournant. Je vous propose aujourd&rsquo;hui de mettre en place une autre technique, l&rsquo;authentification sur un serveur RADIUS par mot de passe unique, mot de passe g\u00e9n\u00e9r\u00e9 &hellip; <a href=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2009\/04\/21\/authentification-par-mot-de-passe-jetable-avec-radius-et-motp\/\">Read More <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7,16,8],"tags":[110,108,36,109],"_links":{"self":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/390"}],"collection":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/comments?post=390"}],"version-history":[{"count":8,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/390\/revisions"}],"predecessor-version":[{"id":403,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/390\/revisions\/403"}],"wp:attachment":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/media?parent=390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/categories?post=390"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/tags?post=390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}