Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Cowrie and Grafana Honeypot using Terraform on DigitalOcean — Mittelinteraktiver SSH/Telnet-Honeypot, erstellt mit Cowrie, Loki, Promtail und Grafana – bereitgestellt auf DigitalOcean über Terraform mit einer GitLab CI Validierungspipeline. | Kitploit
Tools/GitLabGitLab/oseguera12/cowrie-honeypot-digitalocean
Cloud-Infrastruktur-SicherheitNetzwerksicherheitDevSecOpsBedrohungsanalyseLog-Analyse
GitLaboseguera12/cowrie-honeypot-digitalocean

Cowrie and Grafana Honeypot using Terraform on DigitalOcean

Mittelinteraktiver SSH/Telnet-Honeypot, erstellt mit Cowrie, Loki, Promtail und Grafana – bereitgestellt auf DigitalOcean über Terraform mit einer GitLab CI Validierungspipeline.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
Webseite
123vor 4 MonatenNoch nicht geprüft
Teilen

Cowrie & Grafana Honeypot mit Terraform auf DigitalOcean

Demo-Video

Inhaltsverzeichnis

  • Inhaltsverzeichnis
  • Systemübersicht
  • Technologien
  • Projektverzeichnisstruktur
  • Hardware-Anforderungen
  • Installation und Einrichtung
  • Terraform-Statusverwaltung
  • CI/CD-Pipeline
  • Systemarchitektur
  • Beobachtungen
  • Nutzung
  • Projektdokumentation
    • Architekturentwurf und Abwägungen
    • Systemausführung Schritt für Schritt
    • Aufgetretene Probleme und Einschränkungen
    • Zukünftige Verbesserungen
  • Sicherheitsüberlegungen
  • Mitwirkende
  • Lizenz

Systemübersicht

Ein SSH/Telnet-Honeypot-Stapel, der mithilfe von Terraform auf einem DigitalOcean-Droplet bereitgestellt wird. Angriffe werden von Cowrie erfasst, in Loki gespeichert und in Grafana mit einer Live-Weltkarte der Angriffsursprünge visualisiert.

Technologien

  • DigitalOcean
  • Terraform
  • Docker
  • Cowrie
  • Loki
  • Grafana
  • Promtail
  • DB-IP (City Lite-Download)

Projektverzeichnisstruktur```

honeypot/ ├── cowrie/ │ └── etc/ │ ├── cowrie.cfg # Cowrie honeypot configuration │ └── userdb.txt # Accepted and rejected fake credentials ├── geoip/ │ └── .gitkeep # Placeholder - MMDB files are gitignored ├── grafana/ │ ├── provisioning/ │ │ ├── dashboards/ │ │ │ ├── dashboards.yml # Provisioning: dashboard provider │ │ │ └── honeypot-dashboard.json # Pre-built Attack Monitor dashboard │ │ └── datasources/ │ │ └── loki.yml # Auto-provisioned Loki datasource │ └── grafana.ini # Grafana server settings ├── loki/ │ └── config.yml # Loki single-binary config and retention ├── promtail/ │ └── config.yml # Promtail scrape and GeoIP pipeline ├── scripts/ │ ├── geoip-update.sh # Download or refresh GeoIP database │ └── setup-firewall.sh # Host UFW rules for honeypot ports ├── terraform/ │ ├── templates/ │ │ ├── cloud-init.yaml.tftpl # Droplet first-boot script (Terraform-templated) │ │ └── env.tftpl # .env lines embedded via Terraform │ ├── backend.tf # Terraform backend config │ ├── main.tf # Droplet, SSH key, firewall, cloud-init │ ├── outputs.tf # IPs and helpful post-apply values │ ├── terraform.tfvars.example # Example variable values (copy to terraform.tfvars) │ ├── variables.tf # Terraform input variables │ └── versions.tf # Terraform and provider version constraints ├── .env.example # Example environment file for manual setup ├── .gitignore # Ignored paths and files ├── .gitlab-ci.yml # CI/CD pipeline: fmt, validate, Checkov ├── docker-compose.yml # Docker Compose file for the honeypot stack ├── LICENSE # GPLv2 license ├── manual-deployment.sh # Legacy VM bootstrap without Terraform └── README.md # Project documentation

## Hardware-Anforderungen

> Hinweis: Diese Anforderungen basieren auf dem DigitalOcean Basic Droplet-Plan vom Mai 2026 und sind die Mindestanforderungen für den Betrieb des Projekts.

- Provider: DigitalOcean
- Plan: Basic Droplet - 1 Intel vCPU
- RAM: 1 GB (+2 GB Swap)
- Storage: 35 GB NVMe SSD
- OS: Ubuntu 24.04 LTS

## Installation & Einrichtung

>Hinweis: Nach der Installation wird empfohlen, ein neues Terminal zu öffnen und zu überprüfen, ob Sie sich weiterhin über SSH auf `ADMIN_SSH_PORT` (Standard: 2022) anmelden können, bevor Sie Ihre ursprüngliche Sitzung schließen.

### Terraform-Bereitstellung (Empfohlen)

1. Erstellen Sie einen DigitalOcean-API-Token mit Lese-/Schreibberechtigungen:

- Melden Sie sich bei DigitalOcean an und navigieren Sie zu Account > API > Tokens > Generate New Token.
- Benennen Sie Ihren Token (z. B. „Cowrie Honeypot“) und wählen Sie die Berechtigung „Full Access“ aus.
- Klicken Sie auf „Generate Token“ und kopieren Sie den Token-Wert an einen sicheren Ort (Sie werden ihn nicht wieder sehen können).

2. Erstellen Sie ein SSH-Schlüsselpaar auf Ihrem lokalen Rechner und kopieren Sie den Pfad des öffentlichen Schlüssels.

3. Wechseln Sie in das Verzeichnis `terraform`, kopieren Sie dann die Variablendatei und bearbeiten Sie sie:

> Hinweis: `do_token`, `ssh_public_key_path` und `grafana_admin_password` müssen mindestens in `terraform.tfvars` konfiguriert werden, bevor `apply` ausgeführt wird.```bash
cd terraform
cp terraform.tfvars.example terraform.tfvars
  1. Übernehmen Sie die Konfiguration und starten Sie die Bereitstellung:

Hinweis: Terraform muss auf Ihrem lokalen Rechner installiert sein. Besuchen Sie die Terraform Installationsanleitung für Anweisungen.```bash terraform init # Initialize Terraform and download providers terraform apply

5. Falls Testen - Redeploy mit Ersatz:```bash
terraform apply -replace="digitalocean_droplet.honeypot" 
  1. Aufräumen - Zerstöre die Infrastruktur, wenn du fertig bist:```bash terraform destroy
### Manuelle Bereitstellung (Legacy)

1. Erstellen Sie einen DigitalOcean-Droplet mit den oben genannten Hardwareanforderungen und Ihrem SSH-Schlüssel.

2. SSH in den Droplet oder verwenden Sie die DigitalOcean-Webkonsole und führen Sie die folgenden Befehle aus:```bash
ssh root@<your-droplet-ip> # If using DigitalOcean web console, skip this command
git clone https://gitlab.com/Oseguera12/cowrie-honeypot-digitalocean.git /opt/honeypot
cd /opt/honeypot
cp .env.example .env
nano .env
bash manual-deployment.sh

Terraform Zustandsverwaltung

Hinweis: Standardmäßig schreibt Terraform den Zustand in terraform/terraform.tfstate auf Ihrem lokalen Rechner. Diese Datei enthält sensible Ausgabewerte (Droplet-IP, Grafana-Passwort, SSH-Schlüssel-Fingerabdruck) und darf niemals committet werden. .gitignore deckt *.tfstate und *.tfstate.* ab.

Risiken des lokalen Zustands:

  • Verloren, wenn der Rechner verloren geht oder die Datei gelöscht wird
  • Kann nicht mit Teammitgliedern geteilt werden
  • Keine Sperre – zwei gleichzeitige Ausführungen von apply können die Datei beschädigen

Für alles, das über ein persönliches Labor hinausgeht, wechseln Sie zu einem entfernten Backend. terraform/backend.tf enthält eine auskommentierte DigitalOcean Spaces-Konfiguration (S3-kompatibel).

Um das entfernte Backend zu aktivieren:

Tool herunterladen