<html>
<body>
&#13;<br>
On 01/22/2015 01:13 PM, Alon Bar-Lev wrote:&#13;<br>
<font color="#000000">&gt;&#13;</font><br>
<font color="#000000">&gt; ----- Original Message -----&#13;</font><br>
<font color="#000000">&gt;&gt; From: &quot;Jorick Astrego&quot; &lt;j.astrego@<a href="mailto:netbulae.eu">netbulae.eu</a>&gt;&#13;</font><br>
<font color="#000000">&gt;&gt; To: users@<a href="mailto:ovirt.org">ovirt.org</a>&#13;</font><br>
<font color="#000000">&gt;&gt; Sent: Thursday, January 22, 2015 2:09:18 PM&#13;</font><br>
<font color="#000000">&gt;&gt; Subject: Re: [ovirt-users] oVirt 3.5 and FreeIpa&#13;</font><br>
<font color="#000000">&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt; On 01/22/2015 12:59 PM, Alon Bar-Lev wrote:&#13;</font><br>
<font color="#000000">&gt;&gt;&gt; ----- Original Message -----&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; From: &quot;Jorick Astrego&quot; &lt;j.astrego@ netbulae.eu &gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; To: users@ ovirt.org&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; Sent: Thursday, January 22, 2015 1:41:40 PM&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; Subject: Re: [ovirt-users] oVirt 3.5 and FreeIpa&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; On 10/31/2014 02:47 PM, Marcelo Donato wrote:&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; Below the solution. Resolved By &quot;Alon Bar-Lev&quot; &lt; alonbl@ redhat.com &gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; 1. install ovirt-engine-extension-aaa- ldap, it is available in&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt-3.5-snapshots repository.&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; 2. create /etc/ovirt-engine/extensions. d/din.intranet-authz. properties&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.extension.name = din-intranet-authz&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.extension. bindings.method = jbossmodule&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.extension. binding.jbossmodule.module =&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; org.ovirt.engine-extensions. aaa.ldap&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.extension. binding.jbossmodule.class =&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; org.ovirt.engineextensions. aaa.ldap.AuthzExtension&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.extension. provides = org.ovirt.engine.api.&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; extensions.aaa.Authz&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; config.profile.file.1 = /etc/ovirt-engine/aaa/din. intranet.properties&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; 3. create /etc/ovirt-engine/extensions. d/din.intranet-authn. properties&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.extension.name = din-intranet-authn&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.extension. bindings.method = jbossmodule&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.extension. binding.jbossmodule.module =&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; org.ovirt.engine-extensions. aaa.ldap&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.extension. binding.jbossmodule.class =&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; org.ovirt.engineextensions. aaa.ldap.AuthnExtension&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.extension. provides = org.ovirt.engine.api.&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; extensions.aaa.Authn&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.aaa.authn.profile.name = din.intranet&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; ovirt.engine.aaa.authn.authz. plugin = din-intranet-authz&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; config.profile.file.1 = /etc/ovirt-engine/aaa/din. intranet.properties&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; 4. create /etc/ovirt-engine/aaa/din. intranet.properties&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; include = &lt;ipa.properties&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; vars.user = uid=admin,cn=users,cn= accounts,dc=din,dc=intranet&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; vars.password = 123456&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; vars.server = ipa1.din.intranet&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; pool.default.serverset.single. server = ${global:vars.server}&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; pool.default.auth.simple. bindDN = ${global:vars.user}&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; pool.default.auth.simple. password = ${global:vars.password}&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; 5. restart engine.&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; Thanks a lot Alon.&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; Thanks for this, saved me some time!&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; Just a couple of addtions, please hash the password with SSHA (I really&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; hate&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; plain text admin passwords...)&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; I tried putting an {SSHA} encoded password in &quot; vars.password =&quot; , but it&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&gt; fails to authenticate while plain text works fine.&#13;</font><br>
<font color="#000000">&gt;&gt;&gt; I am unsure I understand.&#13;</font><br>
<font color="#000000">&gt;&gt;&gt; using hash to store password hint at server side makes sense.&#13;</font><br>
<font color="#000000">&gt;&gt;&gt; but using hash to store password at client side does not makes sens, this&#13;</font><br>
<font color="#000000">&gt;&gt;&gt; means that if I get the server database I can authenticate to any user&#13;</font><br>
<font color="#000000">&gt;&gt;&gt; without knowing his password.&#13;</font><br>
<font color="#000000">&gt;&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt;&gt; Also, please note that the user you specify within configuration should not&#13;</font><br>
<font color="#000000">&gt;&gt;&gt; have any special privilege but to query public objects within ldap.&#13;</font><br>
<font color="#000000">&gt;&gt; I don't like storing plain text in textfiles, so I try to avoid it. Even&#13;</font><br>
<font color="#000000">&gt;&gt; if it is a read only user there are no &quot;public&quot; objects that I like to&#13;</font><br>
<font color="#000000">&gt;&gt; expose to anyone. I can query groups, group members, e-mail addresses,&#13;</font><br>
<font color="#000000">&gt;&gt; krbPasswordExpiration, krbLastPwdChange etc. with this user.&#13;</font><br>
<font color="#000000">&gt;&gt;&#13;</font><br>
<font color="#000000">&gt;&gt; So that's why I try to have the bind user password hashed in the&#13;</font><br>
<font color="#000000">&gt;&gt; properties file.&#13;</font><br>
<font color="#000000">&gt; as I wrote above, storing hash instead of password does not enhance security.&#13;</font><br>
<font color="#000000">&gt; it is the same as if you just set the user's password to the hash.&#13;</font><br>
&#13;<br>
Ah yes, silly me. You are absolutely <br>
right. It has been such a long&#13;<br>
habit... But it does help when people intercept the traffic. Does the&#13;<br>
ldap plugin send it hashed to the ldap server?&#13;<br>
&#13;<br>
I think FreeIPA supports salted sha512 but I'm not entirely sure.&#13;<br>
&#13;<br>
You'll probably say that I need to enable TLS, but there have been many&#13;<br>
weaknesses in ssl and MITM issues. So more is always better in a&#13;<br>
security perspective.&#13;<br>
&#13;<br>
&#13;<br>
&#13;<br>

<BR />
<BR />
<b style="color:#604c78"></b><br><span style="color:#604c78;"><font color="000000"><span style="mso-fareast-language:en-gb;" lang="NL">Met vriendelijke groet, With kind regards,<br><br></span>Jorick Astrego</font></span><b style="color:#604c78"><br><br>Netbulae Virtualization Experts </b><br><hr style="border:none;border-top:1px solid #ccc;"><table style="width: 522px"><tbody><tr><td style="width: 130px;font-size: 10px">Tel:  053 20 30 270</td>    <td style="width: 130px;font-size: 10px">info@netbulae.eu</td>    <td style="width: 130px;font-size: 10px">Staalsteden 4-3A</td>    <td style="width: 130px;font-size: 10px">KvK 08198180</td></tr><tr>    <td style="width: 130px;font-size: 10px">Fax: 053 20 30 271</td>    <td style="width: 130px;font-size: 10px">www.netbulae.eu</td>    <td style="width: 130px;font-size: 10px">7547 TA Enschede</td>    <td style="width: 130px;font-size: 10px">BTW NL821234584B01</td></tr></tbody></table><br><hr style="border:none;border-top:1px solid #ccc;"><BR />
</body>
</html>