[horde] ActiveSync login & client-side certificates

Jens-U. Mozdzen jmozdzen at nde.ag
Mon May 26 13:03:53 UTC 2014


Hi *,

I tried to add a rule to our web server so that ActiveSync access  
requires not only a client-side certificate, but is limited to a  
pre-defined list of certificates:

--- cut here ---
<Location /Microsoft-Server-ActiveSync>
         SSLOptions +StrictRequire +ExportCertData +FakeBasicAuth
         AuthName        "nonsense message here"
         AuthType        Basic
         AuthUserFile    /etc/apache2/vhosts.d/passwd
         AuthGroupFile   /etc/apache2/vhosts.d/groups
         Require         group activesync
</Location>
--- cut here ---

Before adding that rule, any ActiveSync request was logged in Apache's  
access log via the user name. After the change, I can see that both  
the client presents the proper certificate and that the cert name is  
used during httpd's logging.

Unfortunately, somehow the Horde ActiveSync code does use the  
certifate name as the user name to authenticate, which will not work,  
of course. I see in Horde's log:

==> /var/log/horde/horde5.log <==
2014-05-26T14:49:02+02:00 ERR: HORDE [horde]  [pid 30911 on line 62 of  
"/usr/share/php5/PEAR/Horde/Core/ActiveSync/Auth.php"]
2014-05-26T14:49:02+02:00 NOTICE: HORDE [horde] Login failed from  
ActiveSync client for user ***certificate DN redacted for security***.  
[pid 30911 on line 542 of "/usr/share/php5/PEAR/Horde/ActiveSync.php"]

The corresponding entry in httpd' access_log shows the expected 401 error:

==> /var/log/apache2/access_log.ssl <==
192.168.102.4 - ***certificate DN redacted for security***  
[26/May/2014:14:49:02 +0200] "OPTIONS  
/Microsoft-Server-ActiveSync?Cmd=OPTIONS&User=***userid***&DeviceId=**devid***&DeviceType=***devicetype*** HTTP/1.1" 401  
-

Activating (or deactivating) the following settings according to the  
Wiki doesn't change anything:

--- cut here ---
         RewriteRule .* -  
[E=HTTP_MS_ASPROTOCOLVERSION:%{HTTP:Ms-Asprotocolversion}]
         RewriteRule .* - [E=HTTP_X_MS_POLICYKEY:%{HTTP:X-Ms-Policykey}]
         RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
--- cut here ---

The login name part of the ActiveSync request (User=***username***),  
so can't Horde use that user name for validation? Is it some hook on  
my side that interferes with this? Looking at the hooks below  
/horde/config or /horde/imp/config didn't reveal anything that seems  
relevant...

Thank you for any pointers.

With regards,
Jens



More information about the horde mailing list