<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Mobile clients with OTP]]></title><description><![CDATA[<p dir="auto">Hi all,<br />
I have successfully configured my pfsense for IPsec mobile client with IKEv2 and local radius auth.<br />
I have set up two users, one with username and password, the other with username and OTP via Google Authenticator.<br />
The test login works like a charm for both of them.<br />
Strongswan client from Android can connect only with the user with password, while with OTP I can log only</p>
<p dir="auto">radiusd	14913	(4) Login incorrect (Failed retrieving values required to evaluate condition): [username] (from client local port 4 cli &lt;IP&gt;)</p>
<p dir="auto">What's wrong?<br />
Thanks<br />
Andrea</p>
]]></description><link>https://forum.netgate.com/topic/144614/mobile-clients-with-otp</link><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Jul 2026 12:35:33 GMT</lastBuildDate><atom:link href="https://forum.netgate.com/topic/144614.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Jul 2019 14:57:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mobile clients with OTP on Sun, 14 Jun 2020 10:28:29 GMT]]></title><description><![CDATA[<p dir="auto">Step 1:<br />
multiotp.php first line is wrong (#!/usr/bin/php -&gt; #!/usr/local/bin/php).<br />
multiotp.php -&gt; /usr/local/bin/multiotp/</p>
<p dir="auto">Step 2:<br />
chmod +x /usr/local/bin/multiotp/multiotp.php<br />
Maybe change the Timezone:<br />
./multiotp.php -config timezone=Europe/Zurich (Which is Standard)<br />
./multiotp.php -create usernamehere tOTP 5dc0424b2e7922f3472a0f8429a80b12 1234 (this is a example)<br />
You can create the string (5dc0424b2e7922f3472a0f8429a80b12) on your Pfsense<br />
and you can just add the string (5dc0424b2e7922f3472a0f8429a80b12) in your app.</p>
<p dir="auto">Step 3:<br />
freeradius.inc -&gt; /usr/local/pkg/ add (After "with_ntdomain_hack = yes") -&gt; <code>ntlm_auth = "/usr/local/bin/multiotp/multiotp.php %{User-Name} %{User-Password} -request-nt-key -src=%{Packet-Src-IP-Address} -chap-challenge=%{CHAP-Challenge} -chap-password=%{CHAP-Password} -ms-chap-challenge=%{MS-CHAP-Challenge} -ms-chap-response=%{MS-CHAP-Response} -ms-chap2-response=%{MS-CHAP2-Response}"</code></p>
<p dir="auto">Step 4:<br />
Restart</p>
<p dir="auto">Step 5:<br />
Not needed (other Infos)</p>
<p dir="auto">/etc/multiotp/ -&gt; All Data you can find here<br />
failure_delayed_time -&gt; 300<br />
max_block_failures -&gt; 6<br />
max_delayed_failures -&gt; 3</p>
<p dir="auto">multiotp.ini -&gt; /etc/multiotp/config/ change -&gt; max_block_failures=-1<br />
multiotp.php -&gt; /usr/local/bin/multiotp/ change -&gt; if ($this-&gt;GetUserErrorCounter() &lt;= $this-&gt;GetMaxBlockFailures()) {</p>
]]></description><link>https://forum.netgate.com/post/918404</link><guid isPermaLink="true">https://forum.netgate.com/post/918404</guid><dc:creator><![CDATA[Alitai]]></dc:creator><pubDate>Sun, 14 Jun 2020 10:28:29 GMT</pubDate></item><item><title><![CDATA[Reply to Mobile clients with OTP on Wed, 04 Mar 2020 10:24:12 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/hobby-student">@<bdi>Hobby-Student</bdi></a></p>
<p dir="auto">What do you mean with not complete?</p>
<p dir="auto">I found out, that you need to change the "ntlm_auth" here:<br />
freeradius.inc</p>
<p dir="auto">and the other things like the QR Code are not complete. I do it by hand.<br />
So far it works.<br />
All paths are for pfsense by the way.</p>
<p dir="auto">Thanks for the answer.</p>
<p dir="auto">Regards<br />
Alitai</p>
]]></description><link>https://forum.netgate.com/post/893342</link><guid isPermaLink="true">https://forum.netgate.com/post/893342</guid><dc:creator><![CDATA[Alitai]]></dc:creator><pubDate>Wed, 04 Mar 2020 10:24:12 GMT</pubDate></item><item><title><![CDATA[Reply to Mobile clients with OTP on Mon, 24 Feb 2020 08:19:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alitai">@<bdi>Alitai</bdi></a> your modifications are right, but I think not complete.<br />
My base is working and modified for pfSense filesystem layout. I'm searching some free time to make it work with the GUI and show the QR code on pfsense.</p>
<p dir="auto">Will report back...</p>
]]></description><link>https://forum.netgate.com/post/893336</link><guid isPermaLink="true">https://forum.netgate.com/post/893336</guid><dc:creator><![CDATA[Hobby-Student]]></dc:creator><pubDate>Mon, 24 Feb 2020 08:19:53 GMT</pubDate></item><item><title><![CDATA[Reply to Mobile clients with OTP on Sat, 13 Jun 2020 22:48:44 GMT]]></title><description><![CDATA[<p dir="auto">I'm also working on it.</p>
<p dir="auto">Steps 1-7:<br />
multiotp.php -&gt; /usr/local/bin/multiotp/<br />
multiotp -&gt; /usr/local/etc/raddb/policy.d/<br />
multiotp and multiotpmschap -&gt; /usr/local/etc/raddb/mods-enabled/<br />
default -&gt; /usr/local/etc/raddb/sites-enabled/</p>
<p dir="auto">At least "radiusd -X" worked after.</p>
<p dir="auto">More is coming...</p>
<p dir="auto">Edit:<br />
multiotp.php first line is wrong (#!/usr/bin/php -&gt; #!/usr/local/bin/php).</p>
<p dir="auto">Edit2:<br />
chmod +x /usr/local/bin/multiotp/multiotp.php<br />
./multiotp.php -create user tOTP 5dc0424b2e7922f3472a0f8429a80b12 1234 (this is a example)<br />
You can create the string (5dc0424b2e7922f3472a0f8429a80b12) on your Pfsense<br />
and you can just add the string (5dc0424b2e7922f3472a0f8429a80b12) in your app.</p>
<p dir="auto">Edit3:<br />
You need only those 2.<br />
multiotp.php -&gt; /usr/local/bin/multiotp/<br />
freeradius.inc -&gt; /usr/local/pkg/ add (After "with_ntdomain_hack = yes") -&gt; ntlm_auth = "/usr/local/bin/multiotp/multiotp.php %{User-Name} %{User-Password}<br />
-request-nt-key -src=%{Packet-Src-IP-Address}<br />
-chap-challenge=%{CHAP-Challenge} -chap-password=%{CHAP-Password}<br />
-ms-chap-challenge=%{MS-CHAP-Challenge}<br />
-ms-chap-response=%{MS-CHAP-Response}<br />
-ms-chap2-response=%{MS-CHAP2-Response}"</p>
<p dir="auto">Now it works.</p>
<p dir="auto">Edit4:<br />
/etc/multiotp/ -&gt; All Data you can find here<br />
failure_delayed_time -&gt; 300<br />
max_block_failures -&gt; 6<br />
max_delayed_failures -&gt; 3</p>
<p dir="auto">Edit5:<br />
Not recommended...<br />
multiotp.ini -&gt; /etc/multiotp/config/ change -&gt; max_block_failures=-1<br />
multiotp.php -&gt; /usr/local/bin/multiotp/ change -&gt; if ($this-&gt;GetUserErrorCounter() &lt;= $this-&gt;GetMaxBlockFailures()) {</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hobby-student">@<bdi>Hobby-Student</bdi></a><br />
The lookout after 6 wrong attempts could also be removed.<br />
After 3 attempts 300 seconds and after 6 attempts 1 hour and so on instead of blocking the user.</p>
<p dir="auto">Regards<br />
Alitai</p>
]]></description><link>https://forum.netgate.com/post/892706</link><guid isPermaLink="true">https://forum.netgate.com/post/892706</guid><dc:creator><![CDATA[Alitai]]></dc:creator><pubDate>Sat, 13 Jun 2020 22:48:44 GMT</pubDate></item><item><title><![CDATA[Reply to Mobile clients with OTP on Wed, 19 Feb 2020 15:52:06 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/jimp">@<bdi>jimp</bdi></a> done:<br />
IKEv2 and freeradius with Google Authenticator</p>
<p dir="auto">as <a class="plugin-mentions-user plugin-mentions-a" href="/user/alitai">@<bdi>Alitai</bdi></a> stated: https://github.com/multiOTP/multiotp/wiki</p>
<p dir="auto">I'm just at the beginning, but it doesn't look that much work to include in freeradius3 package. For now, I'm doing everything by hand (creating user, qrcode, ...).</p>
<p dir="auto">Example:<br />
IPsec user is authenticated with freeradius. Username, PIN (unique per user) and Google Authenticator grant access. IP per user via "Pre-Shared Keys" (PSK will be ignored).</p>
<p dir="auto">What to do?<br />
Modifying freeradius3 package.<br />
Modifying multiotp.php slightly.<br />
Extending "Pre-Shared Keys" with OTP, so individual IPs can be used.</p>
<p dir="auto">Will try to make a github PR the next days...</p>
]]></description><link>https://forum.netgate.com/post/892450</link><guid isPermaLink="true">https://forum.netgate.com/post/892450</guid><dc:creator><![CDATA[Hobby-Student]]></dc:creator><pubDate>Wed, 19 Feb 2020 15:52:06 GMT</pubDate></item><item><title><![CDATA[Reply to Mobile clients with OTP on Tue, 18 Feb 2020 23:31:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/jimp">@<bdi>jimp</bdi></a><br />
Jim you are awesome. Thanks!</p>
<p dir="auto">I just came across multiotp (https://github.com/multiOTP/multiotp/wiki).</p>
<p dir="auto">https://wiki.freeradius.org/guide/multiOTP-HOWTO</p>
<p dir="auto">Thanks again.</p>
<p dir="auto">Best Regards<br />
Alitai</p>
]]></description><link>https://forum.netgate.com/post/892279</link><guid isPermaLink="true">https://forum.netgate.com/post/892279</guid><dc:creator><![CDATA[Alitai]]></dc:creator><pubDate>Tue, 18 Feb 2020 23:31:15 GMT</pubDate></item><item><title><![CDATA[Reply to Mobile clients with OTP on Tue, 18 Feb 2020 15:59:59 GMT]]></title><description><![CDATA[<p dir="auto">If it is the exact same situation described in the first two posts, then there is nothing either of those projects can do. It's a fact of how EAP works by design for security.</p>
<p dir="auto">You'll need to investigate an alternate multi-factor auth method.</p>
]]></description><link>https://forum.netgate.com/post/892269</link><guid isPermaLink="true">https://forum.netgate.com/post/892269</guid><dc:creator><![CDATA[jimp]]></dc:creator><pubDate>Tue, 18 Feb 2020 15:59:59 GMT</pubDate></item><item><title><![CDATA[Reply to Mobile clients with OTP on Mon, 17 Feb 2020 21:31:04 GMT]]></title><description><![CDATA[<p dir="auto">Hello Everyone</p>
<p dir="auto">I see the same "login incorrect" message.<br />
It's not working.</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/jimp">@<bdi>jimp</bdi></a> Do you have any suggestions on this? Maybe Strongswan or/and Freeradius Ticket?</p>
<p dir="auto">Many Thanks</p>
<p dir="auto">Regards<br />
Alitai</p>
]]></description><link>https://forum.netgate.com/post/892169</link><guid isPermaLink="true">https://forum.netgate.com/post/892169</guid><dc:creator><![CDATA[Alitai]]></dc:creator><pubDate>Mon, 17 Feb 2020 21:31:04 GMT</pubDate></item><item><title><![CDATA[Reply to Mobile clients with OTP on Wed, 10 Jul 2019 12:51:59 GMT]]></title><description><![CDATA[<p dir="auto">I came here to ask the exact same question.</p>
<p dir="auto">I'm afraid that it's not possible because the client won't send a password across in clear text, while the google authenticator script needs the pin + otp in the clear to be able to  pass it on to the googleauth.py script.</p>
<p dir="auto">My linux client will log something like this:</p>
<pre><code>Jul 10 14:08:35 xps charon-nm: 16[IKE] server requested EAP_MD5 authentication (id 0x01)
Jul 10 14:08:35 xps charon-nm: 16[ENC] generating IKE_AUTH request 3 [ EAP/RES/MD5 ]
Jul 10 14:08:35 xps charon-nm: 16[NET] sending packet: from 192.168.122.1[49581] to 192.168.122.204[4500] (96 bytes)
Jul 10 14:08:36 xps charon-nm: 10[NET] received packet: from 192.168.122.204[4500] to 192.168.122.1[49581] (80 bytes)
Jul 10 14:08:36 xps charon-nm: 10[ENC] parsed IKE_AUTH response 3 [ EAP/FAIL ]
</code></pre>
<p dir="auto">On pfSense, it works fine with radtest, until you use eap-md5:</p>
<pre><code>radtest -t eap-md5 nils 1111905131 127.0.0.1 1234 psk
</code></pre>
<p dir="auto">Playing around with the EAP settings on the radius server causes my client to try some other methods, like EAP_MSCHAV2, but none of the ones I've tried seem to work.</p>
<p dir="auto">Perhaps someone else has had some success or can confirm my suspicions?</p>
]]></description><link>https://forum.netgate.com/post/852599</link><guid isPermaLink="true">https://forum.netgate.com/post/852599</guid><dc:creator><![CDATA[nica]]></dc:creator><pubDate>Wed, 10 Jul 2019 12:51:59 GMT</pubDate></item></channel></rss>