Re: Sending HTTP 401 Unauthorized header response

Arjen de Korte <[email protected]>
Newsgroups gmane.comp.horde.user
Message-ID <[email protected]>
Citeren Arjen de Korte <[email protected]>:

> Citeren Michael J Rubinsky <[email protected]>:
>
>> Quoting Arjen de Korte <[email protected]>:
>>
>>> Citeren Arjen de Korte <[email protected]>:
>>>
>>>> Citeren Arjen de Korte <[email protected]>:
>>>>
>>>>> Possibly more log spam:
>>>>>
>>>>> 2019-01-04T13:23:44+01:00 ERR: horde Sending HTTP 401  
>>>>> Unauthorized header response. [pid 1949 on line 126 of  
>>>>> "/usr/share/php7/PEAR/Horde/Rpc/ActiveSync.php"]
>>>>>
>>>>> Dumping $serverVars just a few lines before this line, it looks  
>>>>> like the client attempts to authenticate with type "Bearer" but  
>>>>> there is no token. I also see requests where the same client is  
>>>>> using Basic authentication with a base64 encoded username and  
>>>>> password, which works fine. The client in question is the  
>>>>> built-in Windows 10 Mail and synchronizes as usual.
>>>>>
>>>>> I've removed the account and recreated it, but the problem remains.
>>>>
>>>> It occurs with multiple accounts, all using the Windows 10 Mail  
>>>> client. When logging the $serverVars['HTTP_AUTHORIZATION']  
>>>> variable, they seem to come in pairs:
>>>>
>>>> 2019-01-04T19:24:10+01:00 DEBUG: Variable information:
>>>> string(50) "Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=="
>>>>
>>>> Backtrace:
>>>> 1. Horde_Rpc_ActiveSync->getResponse() /srv/www/htdocs/horde/rpc.php:160
>>>> 2. Horde::debug() /usr/share/php7/PEAR/Horde/Rpc/ActiveSync.php:120
>>>>
>>>> 2019-01-04T19:24:26+01:00 DEBUG: Variable information:
>>>> string(6) "Bearer"
>>>>
>>>> Backtrace:
>>>> 1. Horde_Rpc_ActiveSync->getResponse() /srv/www/htdocs/horde/rpc.php:160
>>>> 2. Horde::debug() /usr/share/php7/PEAR/Horde/Rpc/ActiveSync.php:120
>>>>
>>>> Could it somehow be that no token is sent from the server to the  
>>>> client? Can I somehow log the token?
>>>
>>> These are weird requests. I enabled the forensics log of Apache  
>>> and this is what it came up with for these packets:
>>>
>>> +24647:5c308a50:0|OPTIONS  
>>> /Microsoft-Server-ActiveSync?User=xxxx&DeviceId=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&DeviceType=WindowsMail HTTP/1.1|Cache-Control:no-cache|Connection:Keep-Alive|Pragma:no-cache|Authorization:Basic  
>>> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=|User-Agent:MSFT-WIN-3/10.0.17134|MS-ASProtocolVersion:14.1|Host:mail.example.com|Cookie:PHPSESSID=XXXXXXXXXXXXXXXXXXXXXXXXXX
>>> +24647:5c308b42:5|OPTIONS /Microsoft-Server-ActiveSync  
>>> HTTP/1.1|Cache-Control:no-cache|Connection:Keep-Alive|Pragma:no-cache|Authorization:Bearer|User-Agent:MSFT-WIN-3/10.0.17134|MS-ASProtocolVersion:2.5|Host:mail.example.com
>>>
>>> The first is what I expect for ActiveSync connections, but the  
>>> second looks like some kind of probe for the connectivity to the  
>>> EAS server, rather than an attempt to actively exchange data. Look  
>>> at the difference in the ASProtocolVersion and the absence of any  
>>> identifying data.
>>
>> This looks like the initial, empty Bearer challenge that Outlook  
>> can send when initiating OAuth authenticatie. This is used when the  
>> client is enabled for Hybrid Modern Authentication. This is used  
>> when Outlook is connecting with Office 365/Azure AD in combination  
>> with a on-premise Exchange server. No clue why the client would  
>> send those frequently.
>
> Probably because it is not getting an expected reply, although I  
> have no idea what this would be. It looks like the present 401 is  
> not the right one, the clients send this quite frequently (a couple  
> of times per hour per client).
>
>> If you are seeing those often, it sounds like a client bug.

After a bit more logging, I now see two distinct cases where an empty  
Bearer challenge is used:

+24860:5c30fa08:bd|POST /AutoDiscover/AutoDiscover.xml  
HTTP/2.0|Accept:*/*|Authorization:Bearer|User-Agent:microsoft.windowscommunicationsapps|Content-Type:text/xml|Accept-Language:nl-NL,nl;q=0.5|Accept-Encoding:gzip, deflate,  
br|Content-Length:356|Cache-Control:no-cache|Host:example.com

and

+24646:5c324a0e:284|OPTIONS /Microsoft-Server-ActiveSync  
HTTP/1.1|Cache-Control:no-cache|Connection:Keep-Alive|Pragma:no-cache|Authorization:Bearer|User-Agent:MSFT-WIN-3/10.0.17134|MS-ASProtocolVersion:2.5|Host:example.com

The first of these two is sent only when setting up a new EAS account  
on a client, so I don't see that one very often. The second is send  
*much* more frequently (a couple of times per hour per client) and  
only for clients on Windows 10 (I don't have users with other Windows  
versions) using the built-in Mail-app. None of them is configured to  
use/require Modern Authentication.


-- 
Horde mailing list
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.