<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>server farm &#8211; privacyID3A</title>
	<atom:link href="https://www.privacyidea.org/tag/server-farm/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.privacyidea.org</link>
	<description>flexible, Open Source Multi Factor Authentication (2FA)</description>
	<lastBuildDate>Mon, 07 Jul 2014 16:08:28 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.privacyidea.org/wp-content/uploads/2016/06/cropped-only-logo-white-background-32x32.png</url>
	<title>server farm &#8211; privacyID3A</title>
	<link>https://www.privacyidea.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Enforcing security policies: Security Levels with different OTP token types</title>
		<link>https://www.privacyidea.org/enforcing-security-policies-security-levels-with-different-otp-token-types/</link>
					<comments>https://www.privacyidea.org/enforcing-security-policies-security-levels-with-different-otp-token-types/#respond</comments>
		
		<dc:creator><![CDATA[Cornelius Kölbel]]></dc:creator>
		<pubDate>Mon, 07 Jul 2014 16:08:28 +0000</pubDate>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Google Authenticator]]></category>
		<category><![CDATA[mass enrollment]]></category>
		<category><![CDATA[security level]]></category>
		<category><![CDATA[server farm]]></category>
		<category><![CDATA[Yubikey]]></category>
		<guid isPermaLink="false">https://www.privacyidea.org/?p=262</guid>

					<description><![CDATA[There are some good howtos around, so that you may already have secured your SSH login to your single server using Google Authenticator as described here. Or did you set up a Yubico validation server and configured Yubikey authentication for a bunch of hosts via RADIUS? Today I will show you, how you can setup [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>There are some good howtos around, so that you may already have secured your SSH login to your single server using Google Authenticator as described <a href="http://www.blackmoreops.com/2014/06/26/securing-ssh-two-factor-authentication-using-google-authenticator/" target="_blank">here.</a> Or did you set up a Yubico validation server and configured Yubikey authentication for a <a href="http://www.andybotting.com/using-the-yubikey-for-two-factor-authentication-on-linux" target="_blank">bunch of hosts</a> via RADIUS?</p>
<p>Today I will show you, how you can setup a scenario, where users can authenticate with Yubikey and/or Google Authenticator and you can define centrally, for which server the users need a Yubikey to authenticate and for which other server a Google Authenticator would be sufficient. Thus you can enforce security levels, meaning servers carrying more sensitive data can only be accessed with a hardware device like the Yubikey while others are ok to be accessed with a software token like the Google Authenticator.</p>
<h2>Unique user, two tokens, many machines</h2>
<p>You should already have read about <a href="http://www.howtoforge.com/how-to-enroll-and-use-a-yubikey-with-pivacyidea" target="_blank">enrolling yubikeys</a> and how to use privacyIDEA for  <a href="http://www.howtoforge.com/manage-two-factor-authentication-in-your-serverfarm-with-privacyidea" target="_blank">two factor authentication to your server farm</a>. So I assume, that you have a running installation.</p>
<p>You should have enrolled two tokens to the user root as depicted below:</p>
<figure id="attachment_264" aria-describedby="caption-attachment-264" style="width: 300px" class="wp-caption alignnone"><a href="https://www.privacyidea.org/wp-content/uploads/2014/07/two-otp-tokens.png"><img fetchpriority="high" decoding="async" class="wp-image-264 size-medium" src="https://www.privacyidea.org/wp-content/uploads/2014/07/two-otp-tokens-300x170.png" alt="two-otp-tokens" width="300" height="170" srcset="https://www.privacyidea.org/wp-content/uploads/2014/07/two-otp-tokens-300x170.png 300w, https://www.privacyidea.org/wp-content/uploads/2014/07/two-otp-tokens.png 923w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-264" class="wp-caption-text">One user with two tokens of different type</figcaption></figure>
<p>The user root has a Google Authenticator (serial OATH&#8230;, OTP PIN &#8220;google&#8221;) and a Yubikey (serial UBOM&#8230;, OTP PIN &#8220;yubi&#8221;) token.</p>
<p>Both tokens can be used to authenticate from all configured clients. From localhost (172.16.200.41):</p>
<pre><strong>[root@centos6 ~]#</strong> echo "User-Name=root, Password=google977398" | radclient -sx localhost auth testing123
Sending Access-Request of id 167 to 127.0.0.1 port 1812
 User-Name = "root"
 Password = "google977398"
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=167, length=48
 Reply-Message = "privacyIDEA access granted"
Total approved auths: 1
 Total denied auths: 0
 Total lost auths: 0
</pre>
<pre>[root@centos6 ~]# echo "User-Name=root, Password=yubi899739" | radclient -sx localhost auth testing123
Sending Access-Request of id 100 to 127.0.0.1 port 1812
 User-Name = "root"
 Password = "yubi899739"
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=100, length=48
 Reply-Message = "privacyIDEA access granted"
Total approved auths: 1
 Total denied auths: 0
 Total lost auths: 0</pre>
<p>Or from a remote host (172.16.200.106):</p>
<pre><strong>cornelius@puckel</strong> ~ % echo "User-Name=root, Password=google308786" | radclient -sx 172.16.200.41 auth testing123
Sending Access-Request of id 11 to 172.16.200.41 port 1812
    User-Name = "root"
    Password = "google308786"
rad_recv: Access-Accept packet from host 172.16.200.41 port 1812, id=11, length=48
    Reply-Message = "privacyIDEA access granted"

       Total approved auths:  1
       Total denied auths:  0
       Total lost auths:  0</pre>
<pre>cornelius@puckel ~ % echo "User-Name=root, Password=yubi867011" | radclient -sx 172.16.200.41 auth testing123
Sending Access-Request of id 47 to 172.16.200.41 port 1812
    User-Name = "root"
    Password = "yubi867011"
rad_recv: Access-Accept packet from host 172.16.200.41 port 1812, id=47, length=48
    Reply-Message = "privacyIDEA access granted"

       Total approved auths:  1
       Total denied auths:  0
       Total lost auths:  0
</pre>
<h2>The idea</h2>
<p>The idea is to allow access on the machine 172.16.200.106 only with yubikeys. This is the machine that carries tons of sensitive data and we do not want users to authenticate with their Google Authenticator.</p>
<h2>The host with the higher security level</h2>
<p>To accomplish this privacyIDEA provides a special <a href="https://privacyidea.org/doc/1.1/policies/authorization.html#serial" target="_blank">authorization policy</a> that will only grant access, if the the authentication was performed with the correct token.</p>
<p>So lets configure a policy:</p>
<figure id="attachment_272" aria-describedby="caption-attachment-272" style="width: 500px" class="wp-caption alignnone"><a href="https://www.privacyidea.org/wp-content/uploads/2014/07/sensitive.png"><img decoding="async" class="wp-image-272" src="https://www.privacyidea.org/wp-content/uploads/2014/07/sensitive-300x159.png" alt="sensitive" width="500" height="266" srcset="https://www.privacyidea.org/wp-content/uploads/2014/07/sensitive-300x159.png 300w, https://www.privacyidea.org/wp-content/uploads/2014/07/sensitive-1024x544.png 1024w, https://www.privacyidea.org/wp-content/uploads/2014/07/sensitive.png 1025w" sizes="(max-width: 500px) 100vw, 500px" /></a><figcaption id="caption-attachment-272" class="wp-caption-text">A policy restricting the access to the system to Yubikey token types.</figcaption></figure>
<figure id="attachment_274" aria-describedby="caption-attachment-274" style="width: 284px" class="wp-caption alignright"><a href="https://www.privacyidea.org/wp-content/uploads/2014/07/system-config.png"><img decoding="async" class="wp-image-274 size-medium" src="https://www.privacyidea.org/wp-content/uploads/2014/07/system-config-284x300.png" alt="system-config" width="284" height="300" srcset="https://www.privacyidea.org/wp-content/uploads/2014/07/system-config-284x300.png 284w, https://www.privacyidea.org/wp-content/uploads/2014/07/system-config.png 608w" sizes="(max-width: 284px) 100vw, 284px" /></a><figcaption id="caption-attachment-274" class="wp-caption-text">Override the client interformation</figcaption></figure>
<p>This policy tells the system, that if the client 172.16.200.106 issues an authentication request, it should only be approved, if the serial number of the authenticating token contains the string &#8220;UBOM&#8221;.</p>
<p><strong>Note: </strong>As we are using RADIUS the client 172.16.200.106 issues a radius request to the RADIUS server 172.16.200.41 and the RADIUS server issues the request to the privacyIDEA server 172.16.200.41/127.0.01. Thus the request that arrives at the privacyIDEA server will always be issued by the RADIUS server. So we need to allow the RADIUS server to overwrite the client information &#8211; thus the RADIUS server will tell the privacyIDEA server, what the calling RADIUS client was.</p>
<p>We can set this in the <strong>system config</strong>.</p>
<p>We set the localhost and the eth0 IP of the RADIUS server in a comma seperated list: <strong>127.0.0.1, 172.16.200.41</strong>.</p>
<p>The yubikey now can successfully authenticate at the sensitive host:</p>
<pre><strong>cornelius@puckel</strong> ~ % echo "User-Name=root, Password=yubi773998" | radclient -sx 172.16.200.41 auth testing123
Sending Access-Request of id 88 to 172.16.200.41 port 1812
 User-Name = "root"
 Password = "yubi773998"
rad_recv: Access-Accept packet from host 172.16.200.41 port 1812, id=88, length=48
 Reply-Message = "privacyIDEA access granted"
<strong> Total approved auths: 1</strong>
 Total denied auths: 0
 Total lost auths: 0</pre>
<p>while the Google Authenticator fails to do so:</p>
<pre><strong>cornelius@puckel</strong> ~ % echo "User-Name=root, Password=google850707" | radclient -sx 172.16.200.41 auth testing123
Sending Access-Request of id 24 to 172.16.200.41 port 1812
 User-Name = "root"
 Password = "google850707"
rad_recv: Access-Reject packet from host 172.16.200.41 port 1812, id=24, length=55
 Reply-Message = "privacyIDEA server denied access!"
 Total approved auths: 0
<strong> Total denied auths: 1</strong>
 Total lost auths: 0</pre>
<p>We can see this in the privacyIDEA audit log:</p>
<figure id="attachment_277" aria-describedby="caption-attachment-277" style="width: 300px" class="wp-caption alignnone"><a href="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-fail.png"><img loading="lazy" decoding="async" class="wp-image-277 size-medium" src="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-fail-300x34.png" alt="Google Authenticator fails to authenticate on the server 172.16.200.106 with the sensitive data." width="300" height="34" srcset="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-fail-300x34.png 300w, https://www.privacyidea.org/wp-content/uploads/2014/07/audit-fail-1024x116.png 1024w, https://www.privacyidea.org/wp-content/uploads/2014/07/audit-fail.png 1296w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-277" class="wp-caption-text">Google Authenticator fails to authenticate on the server 172.16.200.106 with the sensitive data.</figcaption></figure>
<h2>Google Authenticator is still good for default servers</h2>
<p>But we can still use the Google Authenticator for the default server with lower security level:</p>
<pre>[root@centos6 ~]# echo "User-Name=root, Password=google069728" | radclient -sx 172.16.200.41 auth testing123
Sending Access-Request of id 162 to 172.16.200.41 port 1812
    User-Name = "root"
    Password = "google069728"
rad_recv: Access-Accept packet from host 172.16.200.41 port 1812, id=162, length=48
    Reply-Message = "privacyIDEA access granted"

       Total approved auths:  1
         Total denied auths:  0
           Total lost auths:  0</pre>
<p>We can check this in the audit log, again:</p>
<figure id="attachment_279" aria-describedby="caption-attachment-279" style="width: 300px" class="wp-caption alignnone"><a href="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-success.png"><img loading="lazy" decoding="async" class="wp-image-279 size-medium" src="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-success-300x31.png" alt="Successfull authenticate on low security server 172.16.200.41" width="300" height="31" srcset="https://www.privacyidea.org/wp-content/uploads/2014/07/audit-success-300x31.png 300w, https://www.privacyidea.org/wp-content/uploads/2014/07/audit-success-1024x106.png 1024w, https://www.privacyidea.org/wp-content/uploads/2014/07/audit-success.png 1154w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-279" class="wp-caption-text">Successfull authenticate on low security server 172.16.200.41</figcaption></figure>
<p>&nbsp;</p>
<h2>Conclusion</h2>
<p>privacyIDEA can be used to enroll many different authenticators to your users and mange these devices centrally.</p>
<p>In a second step you can decide <strong>who</strong> authenticates <strong>where</strong> with <strong>which</strong> device without bothering to reenroll any device.</p>
<p>Thus you can enforce your security policies easily. Additionally the audit log keeps track of all events that do not comply to your security policy.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.privacyidea.org/enforcing-security-policies-security-levels-with-different-otp-token-types/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>OTP in the server farm</title>
		<link>https://www.privacyidea.org/otp-in-the-server-farm/</link>
					<comments>https://www.privacyidea.org/otp-in-the-server-farm/#respond</comments>
		
		<dc:creator><![CDATA[Cornelius Kölbel]]></dc:creator>
		<pubDate>Wed, 02 Jul 2014 09:53:08 +0000</pubDate>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[manage]]></category>
		<category><![CDATA[server farm]]></category>
		<guid isPermaLink="false">https://www.privacyidea.org/?p=256</guid>

					<description><![CDATA[We published a new howto for setting up privacyIDEA to handle the strong authentication in a server farm. Have fun and be authentic 😉]]></description>
										<content:encoded><![CDATA[<p>We published a new howto for setting up privacyIDEA to <a title="Manage two factor authentication in your serverfarm easily" href="https://www.privacyidea.org/documentation/howtos/manage-two-factor-authentication-in-your-serverfarm-easily/">handle the strong authentication in a server farm</a>.</p>
<p>Have fun and be authentic <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.privacyidea.org/otp-in-the-server-farm/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
