Technologieführer

Kippo SSH-Honeypot auf CentOS 5.5 einrichten

5 min read Sicherheit Aktualisiert 23 Sep 2025
Kippo SSH‑Honeypot auf CentOS 5.5 einrichten
Kippo SSH‑Honeypot auf CentOS 5.5 einrichten

TL;DR

Kippo ist ein mittel-interaktiver SSH‑Honeypot, der Brute‑Force‑Angriffe und komplette Shell‑Sitzungen protokolliert. Dieses Tutorial zeigt Schritt für Schritt, wie Sie Kippo unter CentOS 5.5 mit Python 2.6 und den nötigen Abhängigkeiten installieren, konfigurieren und starten.

Kurzüberblick

Kippo zeichnet komplette Angreifer‑Interaktionen auf und speichert heruntergeladene Dateien sowie Kommandos. Es ist nicht auf Kojoney basiert, aber davon inspiriert. Dieses Dokument führt durch Installation, Konfiguration, Tests und gibt praktische Hinweise zur Sicherheit und zum Betrieb.

Wichtig: Kein Garantieschein — testen Sie in einer isolierten Testumgebung, niemals auf produktiven Systemen.

Voraussetzungen

  • CentOS 5.5 mit root‑Zugriff oder sudo
  • Grundkenntnisse in Linux, Nutzerverwaltung und iptables
  • Isoliertes Netzwerk oder Lab‑Umgebung

Python 2.6 installieren

CentOS 5.5 liefert nur Python 2.4. Kippo benötigt mindestens Python 2.6. Verwenden Sie die RPMs aus dem folgenden Leitfaden:

http://www.geekymedia.com/tech-articles/rhel5-centos5-rpms-for-python-2-5-and-2-6/

Wichtige Hinweise:

  1. Installieren Sie nur die RPMs für die gewünschte Version. Mindestens brauchen Sie das Basis‑Python‑Paket und das libs‑Paket.
  2. Starten Sie Python 2.6 mit python26 anstelle von python. Die System‑Python 2.4 bleibt bestehen.
  3. Wenn Sie Pakete mit setuptools installieren, verwenden Sie python26, z. B. python26 setup.py install

Twisted, Zope Interface und Pycrypto installieren

Twisted ist eine ereignisgesteuerte Netzwerkbibliothek in Python. Zope Interface liefert Schnittstellen, und Pycrypto stellt kryptografische Primitive bereit.

Führen Sie die folgenden Befehle als root oder mit sudo aus:

cd /tmp  
wget http://twistedmatrix.com/Releases/Twisted/10.2/Twisted-10.2.0.tar.bz2  
tar -xvf Twisted-10.2.0.tar.bz2  
cd Twisted-10.2.0  
python26 setup.py build  
python26 setup.py install
cd /tmp  
wget http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-3.3.0.tar.gz  
tar -xvf zope.interface-3.3.0.tar.gz  
cd zope.interface-3.3.0  
python26 setup.py build  
python26 setup.py install
cd /tmp  
wget wget http://www.amk.ca/files/python/crypto/pycrypto-2.0.1.tar.gz  
tar -xvf pycrypto-2.0.1.tar.gz  
cd pycrypto-2.0.1  
python26 setup.py build  
python26 setup.py install

ASN.1 Implementierung:

cd /tmp  
wget http://sourceforge.net/projects/pyasn1/files/pyasn1-devel/0.0.12a/pyasn1-0.0.12a.tar.gz/download  
tar -xvf pyasn1-0.0.12a.tar.gz  
cd pyasn1-0.0.12a  
python26 setup.py build  
python26 setup.py install

Hinweis: Achten Sie auf Build‑Abhängigkeiten wie gcc, python26-devel und ähnliche Pakete; installieren Sie diese bei Bedarf.

Regulären Nutzer anlegen

Kippo darf nicht als root laufen. Legen Sie einen unprivilegierten Nutzer an:

useradd kippouser

Melden Sie sich als dieser Nutzer an, bevor Sie Kippo herunterladen und starten.

Kippo Quellpaket herunterladen

su - kippouser   
wget http://kippo.googlecode.com/files/kippo-0.5.tar.gz  
tar -xvf kippo-0.5.tar.gz  
cd kippo-0.5

Kippo konfigurieren

Starten Sie den Editor und passen Sie kippo.cfg an Ihre Umgebung an:

vi kippo.cfg

Die Standardkonfiguration enthält viele erklärende Kommentare. Wesentliche Optionen, die Sie prüfen sollten:

  • ssh_port: Port, auf dem Kippo lauscht (Standard 2222)
  • hostname: Angezeigter Hostname in der Shell‑Prompt
  • log_path / download_path / data_path: Verzeichnisse für Logs und heruntergeladene Dateien
  • filesystem_file: Virtuelles Filesystem (fs.pickle)
  • password: Anfangspasswort (nur Testzwecke)
  • database_mysql: Entkommentieren, wenn Sie MySQL‑Logging aktivieren wollen

Behalten Sie die Schlüsseldateien public.key und private.key im Verzeichnis bei oder lassen Sie Kippo diese erzeugen.

# (Die vollständige Beispielkonfiguration bleibt unverändert und befindet sich in der Originaldatei.)

Kippo starten

./start.sh

Standardmäßig werden die Ausgaben nach log/kippo.log umgeleitet.

Zum Live‑Ansehen der Logs:

tail -f log/kippo.log

Kippo für öffentliche Erreichbarkeit freigeben

Standardport ist 2222. Wenn Sie Kippo unter Port 22 verfügbar machen wollen (z. B. für externe Tests), leiten Sie Verbindungen per NAT weiter. Auf Linux ist Port 22 root‑beschränkt; ein sicherer Weg ist Port‑Weiterleitung mit iptables:

iptables -t nat -A PREROUTING -i IN_IFACE -p tcp --dport 22 -j REDIRECT --to-port 2222

Ersetzen Sie IN_IFACE durch Ihre Netzwerkschnittstelle, z. B. eth0. Testen und dokumentieren Sie diese Regel im Infrastruktur‑Change‑Log.

Wichtig: Öffnen Sie Kippo niemals direkt in produktiven Netzwerken ohne zusätzliche Isolation. Bauen Sie Netzwerksegmente, Firewall‑Regeln und Monitoring ein.

Testen

Verbinden Sie sich lokal zum Test:

ssh 127.0.0.1 -p 2222 -l root

Als Anmeldung verwenden Sie root und das Passwort 123456 (wie in der Beispielkonfiguration). Nach erfolgreichem Login sollte die Shell‑Prompt erscheinen:

sales:~#

Wann Kippo versagt — Gegenbeispiele

  • Hochmotivierte Angreifer erkennen Honeypots durch Timing, Verhalten oder fehlende Kernel‑Fingerprints. Kippo ist ein mittlerer Interaktionshoneypot und kann advanced persistent techniques nicht simulieren.
  • Wenn Sie echte Produktionsdaten oder Services simulieren müssen, ist Kippo ungeeignet; es ist primär für Beobachtung, nicht für Täuschung auf Enterprise‑Niveau.
  • Bei fehlender Netzwerkisolation kann ein gehackter Honeypot als Sprungbrett missbraucht werden.

Alternative Ansätze

  • Cowrie: Fork von Kippo mit moderneren Features und aktiverer Entwicklung.
  • Honeyd: Low‑interaction Honeypot für Netzwerkservices.
  • Dionaea oder Conpot: Fokus auf Exploit‑Fänge und Protokollspezifika.

Entscheidung: Wählen Sie Kippo/Cowrie für SSH‑Interaktionen; andere Tools für Protokolle und Malware‑Fänge.

Sicherheits‑Härtung und Betriebliche Maßnahmen

  • Isolierung: Platzieren Sie den Honeypot in einem separaten VLAN oder einem dedizierten VM‑Host.
  • Monitoring: Zusätzliche IDS/IPS und Egress‑Filter, um Datenexfiltration zu vermeiden.
  • Zugriff: Nur Admins im Security‑Team dürfen Logs einsehen. Verwenden Sie Read‑Only‑Backups.
  • Logging: Sichern Sie Logverzeichnisse regelmäßig mit WORM‑Mechanismen.
  • Updates: Kippo selbst wird nicht mehr aktiv gepflegt; prüfen Sie alternative maintained Projekte.

Rollenbasierte Checkliste

Administrator:

  • Python 2.6 und Abhängigkeiten installieren
  • Systempakete (gcc, python26-devel) prüfen
  • iptables‑Regeln dokumentieren

Security‑Analyst:

  • Log‑Analyse konfigurieren (tail, zentrale SIEM‑Anbindung)
  • Download‑Verzeichnis regelmäßig prüfen und isoliert analysieren

Netzwerk‑Engineer:

  • VLAN/Firewall‑Regeln anlegen
  • NAT/Port‑Weiterleitung testen

Mini‑Methodik zur Inbetriebnahme (Playbook)

  1. Vorbereitung: VM mit CentOS 5.5 erstellen und Snapshot nehmen.
  2. Basis‑Pakete installieren (gcc, wget, python26 rpm).
  3. Kippo‑User anlegen.
  4. Abhängigkeiten (Twisted, Pycrypto, Zope) installieren.
  5. Kippo herunterladen, konfigurieren und starten.
  6. Funktionstest lokal durchführen.
  7. Netzwerkisolation und NAT konfigurieren.
  8. Monitoring und Backups einrichten.

Risiken und Gegenmaßnahmen (Kurzmatrix)

  • Risiko: Honeypot wird Ausgangspunkt für Angriffe.
    Gegenmaßnahme: Egress‑Filter, Netzinjektion verhindern, strikte Firewall.
  • Risiko: Logs werden manipuliert oder gelöscht.
    Gegenmaßnahme: Logs in zentralen, unveränderbaren Speicher replizieren.
  • Risiko: Falsches Positiv/Negativ‑Handling.
    Gegenmaßnahme: Signaturen und manuelle Analyse kombinieren.

Kompatibilität und Migrationstipps

  • CentOS 5.5 ist veraltet. Für neue Setups prüfen Sie modernere Distributionen und bevorzugen gepflegte Forks wie Cowrie.
  • Beim Migrieren: exportieren Sie das fs.pickle und konfigurieren Sie Umgebungsvariablen identisch auf dem Ziel.

Kurzes Glossar

  • Honeypot: Getarnter Dienst zur Beobachtung von Angreifern.
  • Medium‑interaction: Emuliert Teile eines Systems interaktiv, ohne echten Kernelzugriff.
  • Egress‑Filter: Regeln, die ausgehenden Verkehr einschränken.

Links und Referenzen

The Honeynet Project: http://www.honeynet.org/
Honeypot — Wikipedia: http://en.wikipedia.org/wiki/Honeypot_(computing)
Kippo Project: http://kippo.googlecode.com/
CentOS: http://www.centos.org/

Zusammenfassung

Kippo ist ein nützliches Werkzeug, um SSH‑Angriffe zu beobachten und Angreiferverhalten zu analysieren. Achten Sie auf sichere Isolation, korrekte Python‑Versionen und die nötigen Bibliotheken. Für produktive oder langfristige Deployments prüfen Sie modernere, aktiv gepflegte Alternativen wie Cowrie.

Wichtig: Immer in einer kontrollierten Umgebung testen und Logik für Egress‑Kontrolle einbauen.

Autor
Redaktion

Ähnliche Materialien

Gmail-Konto wiederherstellen & sichern
Sicherheit

Gmail-Konto wiederherstellen & sichern

Speedhacks für Windows-Spiele
Gaming

Speedhacks für Windows-Spiele

XLOOKUP mit mehreren Kriterien in Excel
Excel

XLOOKUP mit mehreren Kriterien in Excel

rtGui für rTorrent konfigurieren
Anleitung

rtGui für rTorrent konfigurieren

Instagram-Konto deaktiviert wiederherstellen
Soziale Medien

Instagram-Konto deaktiviert wiederherstellen

Kippo SSH‑Honeypot auf CentOS 5.5 einrichten
Sicherheit

Kippo SSH‑Honeypot auf CentOS 5.5 einrichten