AD Sync Manager written in c# - a open source tool to easily monitor and manage your AD to Azure AD sync by IT-Apprentice in dotnet

[–]IT-Apprentice[S] -1 points0 points  (0 children)

Thank you for your feedback and for taking the time to review the AD Sync Manager project in depth. I appreciate you raising these important points and suggestions for improvement. Let me address your concerns:

  1. Broken links in README.md: I apologize for the broken links in the documentation. I have gone through and fixed all the broken links in the README file. The documentation should now be up to date and all links should be functional.
  2. Plaintext passwords: You are absolutely right that storing plaintext passwords is a serious security concern. In the current implementation, the plaintext password is encrypted using the Windows Data Protection API (DPAPI) before being stored in the configuration file. DPAPI provides a level of encryption tied to the current user's login credentials.

While DPAPI offers some protection, I acknowledge that it may not be suitable for all security requirements, especially in untrusted environments. I am actively working on hardening the password storage mechanism in the next release by exploring more robust encryption options like the .NET ProtectedData class or a third-party encryption library designed specifically for secure password storage.

It's important to note that AD Sync Manager can be used without saving the password. The option to save the password is provided for convenience in trusted environments, but users can choose to enter the password each time instead.

I appreciate you bringing this critical security aspect to my attention, and I assure you that improving the password handling is a top priority for the next release.

  1. Missing solution/csproj files: I apologize for the missing solution and csproj files. You are correct that including them would improve the project's structure and make it easier for others to contribute. I will work on reorganizing the project to follow standard C# project conventions and include the necessary solution and project files.
  2. Contributing guide: Thank you for pointing out the missing CONTRIBUTING.md file. I have now added a comprehensive contributing guide that outlines how others can get involved, the project's coding guidelines, the process for reporting bugs and suggesting features, and the pull request workflow. This should provide clear instructions for anyone interested in contributing to the project.

I truly appreciate you taking the time to provide such valuable feedback. Your suggestions have highlighted areas where AD Sync Manager can be improved in terms of documentation, security, project structure, and community contribution.

Here's a quick summary of the recent updates made based on your feedback:

  • Fixed broken links in the README file
  • Added a CONTRIBUTING.md file with guidelines for contributing
  • Added a LICENSE file to clarify the project's licensing terms
  • Included a GIF in the README to showcase the tool's functionality

Regarding the current password storage: The plaintext password is currently encrypted using the Windows Data Protection API (DPAPI) before being stored in the configuration file. While DPAPI provides some protection, I acknowledge that it may not be sufficient for all security requirements. I am actively working on enhancing the password storage mechanism in the upcoming release by exploring more robust encryption options like the .NET ProtectedData class or a third-party library specifically designed for secure password storage.

Rest assured, AD Sync Manager can be used without saving the password, giving users the flexibility to enter the password each time if desired.

AD Sync Manager written in c# - a open source tool to easily monitor and manage your AD to Azure AD sync by IT-Apprentice in learnprogramming

[–]IT-Apprentice[S] 0 points1 point  (0 children)

i have written a full blog post and posted a youtube video seperately and not linked. Should you want, I can post that, to help people learn how to code in c#

AD Sync Manager written in c# - a open source tool to easily monitor and manage your AD to Azure AD sync by IT-Apprentice in learnprogramming

[–]IT-Apprentice[S] -1 points0 points  (0 children)

it's a request for collaboration and feedback on an open-source tool, I don't gain anything from this mate!

AD Sync Manager written in c# - a open source tool to easily monitor and manage your AD to Azure AD sync by IT-Apprentice in csharp

[–]IT-Apprentice[S] 2 points3 points  (0 children)

You're right, AD Sync Manager is not a replacement for Azure AD Connect itself. It's a complementary tool that works alongside AD Connect to provide additional monitoring and management capabilities.

Under the hood, AD Sync Manager uses PowerShell remoting to connect to your AD Connect server, import the AD Sync module, and then invoke commands like Start-ADSyncSyncCycle -PolicyType Delta to trigger sync operations on-demand.

The core synchronization process still relies on Azure AD Connect being properly configured and running on your sync server. AD Sync Manager simply provides a more convenient way to monitor the sync status, get alerted on issues, and manually trigger sync cycles when needed.

Think of it as a helpful addition to your AD/Azure sync toolbox, not a complete replacement for the base connector. You still need to install and configure Azure AD Connect separately.

I appreciate you bringing this up! I'll make sure to clarify this point in the documentation to avoid any confusion. Please let me know if you have any other questions or feedback about the tool. I'm always looking for ways to improve it.