Newsroom Update

Beginning in May, a special Today at Apple series titled “Made for Business” will offer small business owners and entrepreneurs free opportunities to learn how Apple products and services can support their growth and success. Learn more >

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

How to authenticate to PasswordServer (apple-sasl protocol)?

Does anyone have any experience or pointers to documentation or code for authenticating a network user stored in OD by connecting to PasswordServer on port 3659 (apple-sasl)?


To handle cases where Kerberos is not an option, we're trying to do NTLMv2 authentication for users whose accounts are in OD (OSX Server for 10.10.*).


PasswordServer authentication is described in https://developer.apple.com/library/prerelease/mac/documentation/Networking/Conc eptual/Open_Directory/OpenDir.pdf (page 13).

We'd like to be able to use the same approach for both OSX and Linux so we'd prefer to connect to PasswordServer over TCP instead of invoking setCredentialsWithRecordType on an ODNode. And FWIW, the specific authentication methods don't seem to be documented either. It appears that the SMB-NTLMv2 authentication method does what we want if we can figure out how to use it.


From Wireshark traces we can see that when one OSX 10.10 authenticates CIFS access using NTLMv2 for a network user in a separate OD server, it contacts PasswordServer, grabs the public RSA key and then sends an encrypted "RSAVALIDATE" request. That's probably a form of digest validation, but it sure would be helpful to find documentation or code that knows how to talk to PasswordServer and make use of RSAVALIDATE.


Alternative approaches welcome, but given that existing OSX systems talk to apple-sasl and Apple went to the trouble of registering port 3659 with IANA, it seems likely to be a relatively stable interface.


Finally, any clues on the genesis of PasswordServer? Is it derived from or Cyrus SASL authd or anything else that might be close to being able to talk to it?

Mac mini, OS X Yosemite (10.10)

Posted on Oct 7, 2015 12:44 PM

Reply
2 replies

Oct 7, 2015 2:24 PM in response to Grant Bennet-Alder

One example where Kerberos will not work for us is when a Windows client has logged into an AD domain (that is not in a trust relationship with the OD server) and then wants to authenticate a CIFS mount to our server using a different credentials that are in OD. We have it on good authority and reasonable traces that Windows will not talk Kerberos to multiple realms. It will willingly authenticate using NTLMv2 in this case.


There are other examples. Our ideal solution would be to use Kerberos when we can and fall back to NTLMv2 where we must.

How to authenticate to PasswordServer (apple-sasl protocol)?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.