{"id":24509088,"url":"https://github.com/dgisolfi/mielepot","last_synced_at":"2026-04-29T16:32:59.588Z","repository":{"id":73022933,"uuid":"136616945","full_name":"dgisolfi/MielePot","owner":"dgisolfi","description":"A basic honeypot to gather data on attempted logins","archived":false,"fork":false,"pushed_at":"2018-10-05T23:16:23.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-05T16:40:46.481Z","etag":null,"topics":["docker","flask","honeypot","python"],"latest_commit_sha":null,"homepage":"http://www.dgisolfi.xyz:4400/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dgisolfi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-08T12:36:50.000Z","updated_at":"2019-01-05T03:07:20.000Z","dependencies_parsed_at":"2023-06-09T06:30:16.891Z","dependency_job_id":null,"html_url":"https://github.com/dgisolfi/MielePot","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dgisolfi/MielePot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgisolfi%2FMielePot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgisolfi%2FMielePot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgisolfi%2FMielePot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgisolfi%2FMielePot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dgisolfi","download_url":"https://codeload.github.com/dgisolfi/MielePot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgisolfi%2FMielePot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32434828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T13:34:34.882Z","status":"ssl_error","status_checked_at":"2026-04-29T13:34:29.830Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","flask","honeypot","python"],"created_at":"2025-01-22T00:19:14.275Z","updated_at":"2026-04-29T16:32:59.582Z","avatar_url":"https://github.com/dgisolfi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MielePot\nA basic honeypot to gather data on attempted logins, to be expanded on for further data collection. Currently, the honeypot is running at [dgisolfi.xyz:4400](http://dgisolfi.xyz:4400/)\n\n### Authors\n\n**Daniel Gisolfi** - *All current work* - [dgisolfi](https://github.com/dgisolfi)\n\n## Prerequisites\n\nAll requirements to run an instance of this project\n\n- A VM with root access\n- Bootstrap 4(not needed but used for login form)\n- Docker(and Docker Compose)\n- Flask\n\n## Docker Implementation\n\nThe honeypot takes advantage of Docker containers and is run using the image pulled from docker hub. The image for this honeypot can be found [here](https://hub.docker.com/r/dgisolfi/mielepot/). The Dockerfile found in the source directory of this repository is used to create the miele image. The Docker file does the following:\n1. pull the latest version of Ubuntu from docker hub\n2. install the following: python-pip, python-dev, build-essential\n3. Create a directory in the image, and copy all of src into it\n4. install all python requirements\n5. define the entry-point and command to run on startup\n\n\n\n# Miele Setup\n\n## Container setup\n\nUsing Docker Compose you can boot all predefined services in parallel, the Docker Compose file found in the root directory of this repository is written to create a Postgres database as well as an instance of miele for you. \n\nThe following is a basic guide on how to deploy the miele honeypot. Start by placing docker compose YAML file and the log_backup script from the repository into your production environment. After ensuring Docker is installed on the machine with the correct user access given and that the shell script is executable, run the following in the directory containing the two files:\n\n```bash\ndocker-compose up\n```\n\nRunning this command should automatically pull the latest version of miele as well as the latest version of Postgres and boot the containers with all necessary data. To see the running container execute the following in any directory on the host machine\n```bash\ndocker ps -a\n```\nYou will see a list of running and any exited containers, our honeypot is the one named \"miele_prod\". At this point, you should be able to go to the IP address of the machine running this container and see the honeypot on port 4400. If running on a local machine visit [localhost](http://0.0.0.0:4400)\n\n## Logging setup\nThe Docker container is set up to log all requests to the site. However with Docker containers unless volumes are used all data is lost once the container is killed. At any point, while a container is running you may enter the bash shell for that particular container, to do so run the following on the host machine\n```bash\ndocker exec -it miele_prod bash\n```\n\nIn order to save the logs recorded by the honeypot, a system must be set up to copy the file over to the host machine. This can be done in many ways however I chose to use a cronjob with a bash script. The bash script that was initially placed on the host machine will be used to do this. In the script edit the variable that sets the path to where logs will be saved. In my case, I created a directory called logs at the level of the bash script. When running, the bash script will create a copy of the \"MIE02-DATE.log\" found inside the docker container and place the file in the destination set within the script. I then automate this process to run every hour on the 10th minute by running the following on the host machine:\n ```bash\n sudo crontab -e\n ```\n then create the cronjob that  will run the backup script every hour on the 10th minute\n ```bash\n # m h  dom mon dow   command\n  10 *  *   *   *     ~/projects/miele/log_backup.sh\n ```\n\n## Goals\n\nThe following are goals for this project and possible additions in the future:\n\n- Further experience with Docker\n- Further experience with bash scripts\n- A basic honeypot to further develop\n- A source of interesting data from users caught in the honeypot(maybe some graphing in D3)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgisolfi%2Fmielepot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdgisolfi%2Fmielepot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgisolfi%2Fmielepot/lists"}