{"id":44,"date":"2007-03-09T00:00:00","date_gmt":"2007-03-09T00:00:00","guid":{"rendered":"http:\/\/netexpertise\/fr\/?p=44"},"modified":"2021-10-20T22:02:17","modified_gmt":"2021-10-20T21:02:17","slug":"packet-of-disconnect","status":"publish","type":"post","link":"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html","title":{"rendered":"D\u00e9connectez vos Users Radius avec le Packet of Disconnect"},"content":{"rendered":"\n<p>Mon but ici est de red\u00e9marrer automatiquement la session d&rsquo;un client pour qui les param\u00e8tres Radius ont chang\u00e9. Ceci est particuli\u00e8rement int\u00e9ressant apr\u00e8s une mise en restriction ou une d\u00e9connexion pour usage intensif. Je suis assez surpris de trouver tr\u00e8s peu d&rsquo;information sur le \u00ab\u00a0Packet Of Disconnect\u00a0\u00bb en tapant \u00ab\u00a0Radius\u00a0\u00bb dans un moteur de recherche. J&rsquo;ai \u00e9crit un script en langage Expect qui se loggue sur le routeur et red\u00e9marre une connexion en se basant sur le nom d&rsquo;utilisateur.<br>M\u00eame si cela fonctionne, je pense que la m\u00e9thode n&rsquo;est pas vraiment ad\u00e9quate. J&rsquo;ai l&rsquo;impression d&rsquo;\u00e9muler un robot qui fait quelque chose qui devrait \u00eatre manuel. C&rsquo;est aussi difficile de g\u00e9rer les erreurs puiqu&rsquo;on est cens\u00e9 savoir \u00e0 quelles r\u00e9ponses s&rsquo;attendre. Quoiqu&rsquo;il en soit, voici une solution bien meilleure: le \u00ab\u00a0Packet Of Disconnect\u00a0\u00bb Radius que nous allons utiliser avec une base utilisateurs <a href=\"\/fr\/category\/reseau\/freeradius\">Freeradius<\/a>.<\/p>\n\n\n\n<h2><br>Packet Of Disconnect<\/h2>\n\n\n\n<p>Je ne devrais pas \u00e0 avoir \u00e0 trop d\u00e9tailler. Toutes les informations sont sur le <a href=\"http:\/\/wiki.freeradius.org\/index.php\/Packet_of_Disconnect\" target=\"_blank\" rel=\"noreferrer noopener\">wiki Freeradius<\/a>. Je pense que ce n&rsquo;est pas si \u00e9vident \u00e0 trouver, m\u00eame en \u00e9tant sur le wiki.<br>Quelques commentaires:<\/p>\n\n\n\n<ul><li>Vous n&rsquo;avez pas \u00e0 envoyer tous les attributs pour red\u00e9marrer une connexion. Le username est suffisant mais je pense qu&rsquo;il est plus s\u00e9curisant d&rsquo;y ajouter le session id.<\/li><li>Le Network Access Server (NAS) doit \u00e9couter sur le port 1700. V\u00e9rifiez dans la section suivante pour l&rsquo;activer sur un routeur Cisco.<\/li><\/ul>\n\n\n\n<h2><br>Configuration du Routeur \/ NAS<\/h2>\n\n\n\n<p>Le NAS doit \u00e9couter les requ\u00eates sur le port UDP 1700. Il peut \u00eatre chang\u00e9 bien s\u00fbr mais ceci est le port standard. Une fois de plus, cet exemple est sp\u00e9cifique \u00e0 Cisco, lisez votre documentation si vous avez un autre type d&rsquo;\u00e9quipement sur votre r\u00e9seau. Vous devez ex\u00e9cuter la commande <i>aaa pod<\/i> pour activer le port packet of disconnect Radius<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"vim\" class=\"language-vim\">aaa pod server clients <i>your-server<\/i> auth-type any server-key <i>your-shared-secret<\/i><\/code><\/pre>\n\n\n\n<p><br>Remplacez <i>your-server<\/i> par l&rsquo;IP de votre serveur qui h\u00e9bergera votre script reset.<br>J&rsquo;ai fix\u00e9 &lsquo;auth-type&rsquo; \u00e0 &lsquo;any&rsquo; puisque je n&rsquo;envoie que les param\u00e8tres username et session id. Ils ne sont pas tous requis niveau s\u00e9curit\u00e9. Vous pouvez obtenir plus d&rsquo;information \u00e0 ce sujet dans la <a href=\"https:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/ios-xml\/ios\/security\/a1\/sec-a1-cr-book\/sec-cr-a2.html#wp4280613990\">r\u00e9f\u00e9rence des commandes Cisco<\/a>.<\/p>\n\n\n\n<h3><br>Script de D\u00e9connexion<\/h3>\n\n\n\n<p>La documentation sur le <a href=\"https:\/\/wiki.freeradius.org\/protocol\/disconnect-messages\" target=\"_blank\" rel=\"noreferrer noopener\">wiki Freeradius<\/a> devrait \u00eatre suffisante mais je voudrais mentionner un moyen rapide de r\u00e9cup\u00e9rer le NAS and le session id relatif \u00e0 un utilisateur donn\u00e9. Une simple ligne de SQL fera l&rsquo;affaire si vous avez configur\u00e9 une base de donn\u00e9es telle que <a href=\"\/fr\/category\/database\/mysql\">Mysql<\/a> ou <a href=\"\/fr\/category\/database\/postgresql\">Postgresql<\/a> pour enregistrer l&rsquo;accounting (Recommand\u00e9, c&rsquo;est tellement plus facile pour chercher des donn\u00e9es!)<br><br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"sql\" class=\"language-sql\">SELECT Username, AcctSessionId, NASIPAddress\nFROM radacct\nWHERE username='username'\nAND acctstoptime = 0\nORDER BY acctstarttime DESC limit 1;<\/code><\/pre>\n\n\n\n<p><br>Si aucune r\u00e9ponse n&rsquo;est renvoy\u00e9e, l&rsquo;utilisateur n&rsquo;est pas connect\u00e9 et sa session n&rsquo;a donc pas besoin d&rsquo;\u00eatre red\u00e9marr\u00e9e.<br>Ayant toutes les informations requises, on peut faire un reset de la connexion Radius tr\u00e8s simplement:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ echo \"Acct-Session-Id=D91XXXXXXXXX097\" > packet.txt\n$ echo \"User-Name=username\" >> packet.txt\n$ echo \"NAS-IP-Address=nasIPaddress\" >> packet.txt\n\n$ cat packet.txt | radclient -x nasIPaddrress:1700 disconnect ''secret''<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Mon but ici est de red\u00e9marrer automatiquement la session d&rsquo;un client pour qui les param\u00e8tres Radius ont chang\u00e9. Ceci est particuli\u00e8rement int\u00e9ressant apr\u00e8s une mise en restriction ou une d\u00e9connexion pour usage intensif. Je suis assez surpris de trouver tr\u00e8s peu d&rsquo;information sur le \u00ab\u00a0Packet Of Disconnect\u00a0\u00bb en tapant \u00ab\u00a0Radius\u00a0\u00bb dans un moteur de recherche. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[3],"tags":[408,403,407,9],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Netexpertise - D\u00e9connectez vos Users Radius avec le Packet of Disconnect<\/title>\n<meta name=\"description\" content=\"D\u00e9connectez les utilisateurs authentifi\u00e9s sur Freeradius d&#039;un routeur ou NAS gr\u00e2ce au &quot;Packet of disconnect&quot; Radius\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Netexpertise - D\u00e9connectez vos Users Radius avec le Packet of Disconnect\" \/>\n<meta property=\"og:description\" content=\"D\u00e9connectez les utilisateurs authentifi\u00e9s sur Freeradius d&#039;un routeur ou NAS gr\u00e2ce au &quot;Packet of disconnect&quot; Radius\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html\" \/>\n<meta property=\"og:site_name\" content=\"Netexpertise\" \/>\n<meta property=\"article:published_time\" content=\"2007-03-09T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-20T21:02:17+00:00\" \/>\n<meta name=\"author\" content=\"dave\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@netexpertise\" \/>\n<meta name=\"twitter:site\" content=\"@netexpertise\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html\",\"url\":\"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html\",\"name\":\"Netexpertise - D\u00e9connectez vos Users Radius avec le Packet of Disconnect\",\"isPartOf\":{\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#website\"},\"datePublished\":\"2007-03-09T00:00:00+00:00\",\"dateModified\":\"2021-10-20T21:02:17+00:00\",\"author\":{\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632\"},\"description\":\"D\u00e9connectez les utilisateurs authentifi\u00e9s sur Freeradius d'un routeur ou NAS gr\u00e2ce au \\\"Packet of disconnect\\\" Radius\",\"breadcrumb\":{\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"http:\/\/www.netexpertise.eu\/fr\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"D\u00e9connectez vos Users Radius avec le Packet of Disconnect\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#website\",\"url\":\"http:\/\/www.netexpertise.eu\/fr\/\",\"name\":\"Netexpertise\",\"description\":\"Syst\u00e8mes \/ R\u00e9seaux \/ DevOps\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.netexpertise.eu\/fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632\",\"name\":\"dave\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g\",\"caption\":\"dave\"},\"sameAs\":[\"http:\/\/www.netexpertise.eu\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Netexpertise - D\u00e9connectez vos Users Radius avec le Packet of Disconnect","description":"D\u00e9connectez les utilisateurs authentifi\u00e9s sur Freeradius d'un routeur ou NAS gr\u00e2ce au \"Packet of disconnect\" Radius","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html","og_locale":"fr_FR","og_type":"article","og_title":"Netexpertise - D\u00e9connectez vos Users Radius avec le Packet of Disconnect","og_description":"D\u00e9connectez les utilisateurs authentifi\u00e9s sur Freeradius d'un routeur ou NAS gr\u00e2ce au \"Packet of disconnect\" Radius","og_url":"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html","og_site_name":"Netexpertise","article_published_time":"2007-03-09T00:00:00+00:00","article_modified_time":"2021-10-20T21:02:17+00:00","author":"dave","twitter_card":"summary_large_image","twitter_creator":"@netexpertise","twitter_site":"@netexpertise","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html","url":"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html","name":"Netexpertise - D\u00e9connectez vos Users Radius avec le Packet of Disconnect","isPartOf":{"@id":"http:\/\/www.netexpertise.eu\/fr\/#website"},"datePublished":"2007-03-09T00:00:00+00:00","dateModified":"2021-10-20T21:02:17+00:00","author":{"@id":"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632"},"description":"D\u00e9connectez les utilisateurs authentifi\u00e9s sur Freeradius d'un routeur ou NAS gr\u00e2ce au \"Packet of disconnect\" Radius","breadcrumb":{"@id":"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/www.netexpertise.eu\/fr\/reseau\/freeradius\/packet-of-disconnect.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"http:\/\/www.netexpertise.eu\/fr"},{"@type":"ListItem","position":2,"name":"D\u00e9connectez vos Users Radius avec le Packet of Disconnect"}]},{"@type":"WebSite","@id":"http:\/\/www.netexpertise.eu\/fr\/#website","url":"http:\/\/www.netexpertise.eu\/fr\/","name":"Netexpertise","description":"Syst\u00e8mes \/ R\u00e9seaux \/ DevOps","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.netexpertise.eu\/fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632","name":"dave","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/image\/","url":"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g","contentUrl":"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g","caption":"dave"},"sameAs":["http:\/\/www.netexpertise.eu"]}]}},"_links":{"self":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts\/44"}],"collection":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/comments?post=44"}],"version-history":[{"count":0,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts\/44\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/media?parent=44"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/categories?post=44"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/tags?post=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}