Table of Contents
I started this project to complete some needs that I met and to be able to adapt them as I want. You are free to contribute to this project and bring some new features.
The project consists in centralizing the audit of one or several AD domain controllers. It's working with a powershell script as agent on the DC, pushing several data to MongoDB through a REST API. This project can be easily deployed with Docker.
For the client parts:
You will need to setup the powershell script on your Domain Controller(s). You can find them on this repository: github.com/AlchemiistCreative/EthicalInsight-Agent
For the server parts:
You will need a MongoDB instance.
- Clone the repo
git clone https://github.com/AlchemiistCreative/EthicalInsight.git
- Install NPM packages
npm install
- Enter your config in
.env
PORT=8080 VALIDATION_TOKEN=0000 MONGODB_URL="mongodb://example:27017/example-db" TOKEN_KEY="random_string"
Create an Account with the validation token you have set up in the .env file.
Generate an API key in settings (make sure to save this key in a safe place, you will need this key to get the agent connected).
Run ethicalinsight-agent.ps1 on your Domain Controller(s).
3.1 Clone this repo
git clone https://github.com/AlchemiistCreative/EthicalInsight-Agent.git
3.2 Check the execution policy to be sure that you are able to run scripts.
Get-ExecutionPolicy
To run the scripts, the execution policy must be Unrestricted/Bypass but if you are in RemoteSigned, you still can copy the contents of the scripts and create new ones. (Be careful about the file names, must be exactly the same to works).
3.3 Run ethicalinsight-agent.ps1
.\ethicalinsight-agent.ps1 #From the correct directory location.
From this menu you have to store your API key, activate the audit and also enable the scheduled task.
Ensure that your Domain Contoller is on the home page if it's not case check error.log in the agent scripts directory.
- Change environment variables to fit your config in docker-compose.yml and run docker-compose.
docker-compose up -d
- You can also pull the image and run it without docker-compose or build the docker image from Dockerfile in src/Dockerfile
docker run -d --env-file ./src/.env -p 5000:5000 --name ethicalinsight-server alchemistcreative/ethicalinsight:latest
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNUv3. See LICENSE
for more information.
Your Name - @alchmst_ - contact@thomasfrancois.net
Project Link: https://github.com/AlchemiistCreative/EthicalInsight