Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
134vor 26 TagenNoch nicht geprüft
Teilen

Cowrie & Grafana Honeypot mit Terraform auf DigitalOcean

Demo-Video

Inhaltsverzeichnis

  • Systemübersicht
  • Technologien
  • Projektverzeichnisstruktur
  • Hardware-Anforderungen
  • Installation & Einrichtung
  • Terraform State Management
  • CI/CD-Pipeline
  • Systemarchitektur
  • Beobachtungen
  • Laufzeitmetriken
  • Verwendung
  • Projektdokumentation
    • Architekturdesign und Abwägungen
    • Systemausführungs-Walkthrough
    • Aufgetretene Probleme & Einschränkungen
    • Zukünftige Verbesserungen
  • Sicherheitsüberlegungen
  • Mitwirkende
  • Lizenz

Systemübersicht

Ein SSH/Telnet-Honeypot-Stack, der mit 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 ├── docs/ │ └── ttp-to-runtime-rules.md # Observed attacker TTPs → Falco rules (eks-gitops, platform-engineering-lab) ├── 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 ├── metrics/ │ ├── runtime-metrics.schema.json # Shared schema — identical across all 4 portfolio projects │ └── runtime-metrics.json # Generated by scripts/export-honeypot-metrics.sh; gitignored, not committed ├── 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 │ ├── export-honeypot-metrics.sh # Queries Grafana/Loki, writes attacker_telemetry │ └── emit-runtime-metrics.py # Wraps attacker_telemetry in the shared metrics schema ├── 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, metrics schema/export ├── 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 Stand Mai 2026 und stellen die Mindestanforderungen für den Betrieb des Projekts dar.

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

> **Speicherreserve nach den Container-Versionssprüngen:** `docker-compose.yml` pinnt neuere Grafana- (12.0.0), Loki- und Promtail-Images (3.6.13) als diese Droplet-Größe ursprünglich abgestimmt wurde. Die `mem_limit`/`memswap_limit`-Werte pro Dienst sind unverändert — beobachte `docker stats` nach dem ersten Deployment und erhöhe den Droplet-Plan (oder reduziere Lokis `retention_period` / Grafanas Cache), falls ein Container dauerhaft nahe an seinem Limit liegt.

## Installation & Einrichtung

>Hinweis: Nach der Installation wird empfohlen, ein neues Terminal zu öffnen und zu überprüfen, ob du dich weiterhin per SSH auf `ADMIN_SSH_PORT` (Standard: 2022) verbinden kannst, bevor du deine ursprüngliche Sitzung schließt.

### Terraform-Deployment (Empfohlen)

1. Erstelle ein DigitalOcean API-Token mit Lese-/Schreibberechtigungen:

- Melde dich bei DigitalOcean an und navigiere zu Account > API > Tokens > Generate New Token.
- Benenne dein Token (z. B. „Cowrie Honeypot") und wähle die Berechtigungen „Full Access" aus.
- Klicke auf „Generate Token" und kopiere den Token-Wert an einen sicheren Ort (du wirst ihn nicht erneut sehen können).

2. Erstelle ein SSH-Schlüsselpaar auf deinem lokalen Rechner und kopiere den Pfad zum öffentlichen Schlüssel.

3. Gehe in das `terraform`-Verzeichnis und kopiere und bearbeite die Variablendatei:

> Hinweis: `do_token`, `ssh_public_key_path` und `grafana_admin_password` müssen mindestens in `terraform.tfvars` konfiguriert sein, bevor du sie anwendest.```bash
cd terraform
cp terraform.tfvars.example terraform.tfvars
  1. Wenden Sie die Konfiguration an 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. If Testing - Redeploy with replacement:```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. Melden Sie sich per SSH am Droplet an 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 State-Verwaltung

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

Tool herunterladen