chocolatey-licensed-issues icon indicating copy to clipboard operation
chocolatey-licensed-issues copied to clipboard

Central Management - Client side authentication

Open mkevenaar opened this issue 4 years ago • 2 comments

Current situation

Currently any machine with access to the CCM Service port (24020) can check in and submit their package list.

Requested change

To make this more secure, it would be nice to have an client side authentication method from the Chocolatey Agent to the CCM Server. This could make connections over the Internet secure.

Possible options:

  • Username / Pass, CCM already has the option to create user/pass (optional with Active Directory support)
  • Client side certificate, signed with a CA on the CCM server.

There should be an setting / configuration in CCM to require authentication. There could be an list with "trusted networks" that would not require authentication. Obviously it should fail when a client checks in without, with invalid credentials, revoked or expired certificate and so on.

mkevenaar avatar Apr 16 '20 06:04 mkevenaar

We've added an internal setting for this. We are not sure if it is going to make it in, but it's based on a shared key and not a user name / pass. That way no credentials are passed over the wire.

As far as certificates, that's something we are looking into eventually anyways.

Then trusted networks would fall into its own separate issue.

So we've got maybe three issues here as each has different levels of work to implement.

ferventcoder avatar May 07 '20 22:05 ferventcoder

We'd be very interested in using client side authenentication using certificates provisioned by SCEPman for CCM communication as well as nuget authentication.

Certificates are stored on the machine TPM - so this method requires to use the windows crypto API (instead of choosing some file (e.g. pkcs12 file))

Exordian avatar Dec 28 '21 11:12 Exordian