Devolutions / Devolutions/sspi-rs

Explicitly adding channel bindings on the client

Open
#240 4 comments 1 reaction 0 assignees View on GitHub
Dominant language
Rust
Stars
83
Forks
50
Avg merge
3d 12h
Merged PRs (30d)
9

Description

In the current API I see no way to add channel bindings to an `Ntlm` context when authenticating a client. (Motivation: AD can be configured to refuse authentication from an LDAP client doing an NTLM bind over a TLS connection if the channel bindings AvP is not supplied.)

Adding a method to `Ntlm` which sets the `channel_bindings` field to the supplied `ChannelBindings` struct does the right thing protocol-wise, i.e., the channel bindings AvP is correctly calculated and added to the AUTHENTICATE message. Would a PR with this kind of addition be appropriate, or is there another preferred way to add this functionality to the library?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the Ntlm client context and its channel_bindings field, then trace how ChannelBindings is used when constructing the AUTHENTICATE message. Check existing Ntlm API tests or authentication tests for the appropriate coverage. Done means clients can supply a ChannelBindings value and the resulting message includes the calculated channel bindings AvP.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
authentication, security
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.