dotnet / dotnet/wcf

Investigate NTLM authentication on Linux for NegotiateStream

Open
#943 6 comments 0 reactions 1 assignee Assigned to @mconnew View on GitHub
infrastructure
Dominant language
C#
Stars
1.8k
Forks
576
Avg merge
6d 9h
Merged PRs (30d)
2

Description

_Linux only_
We currently have turned on and verified support for Kerberos auth on Linux; we have yet to be able to verify support for NTLM authentication.

NegotiateStream relies on the underlying `gssapi` implementation for Kerberos and NTLM support. If that implementation supports NTLM fallback, then NegotiateStream can also do so.

The following platforms are or will soon support NTLM fallback because their package managers install the `GSS-NTLMSSP` implementation of `gssapi`.
- RedHat Enterprise Linux (RHEL)
- CentOS

Mac OS X packages Hemidal, which supports NTLM as well.

The following distros are known to currently not support NTLM as they package the MIT `libgssapi_krb5.so` library by default.
- Ubuntu
- Debian

If it's important to have NTLM fallback on these distros, it's possible to use GSS-NTLMSSP using the package manager or one can build it on their own.

Note that this effectively means our test matrix for NegotiateStream/Kerberos/NTLM has an additional pivot: the implementation of `gssapi` - in this case,
- GSS-NTLMSSP
- MIT
- Hemidal

We currently do not have testing here; we will need to start thinking about testing this soon.

Per https://github.com/dotnet/wcf/issues/943#issuecomment-203112115:
- [ ] Add tests for scenarios
- [x] Documentation

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.