Skip to content

Dregorius/imaptunnel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voraussetzungen

  • Debian-basierte Linux-Systeme (getestet auf Debian 12 und Kali Linux)
    Hinweis: Das Setup wurde bisher nur auf Debian-basierten Systemen getestet.
  • Python 3
  • Mailserver mit Postfächern "ClientToServer" und "ServerToClient" (imaptunnel-mailserver-setup.sh installiert und konfiguriert einen Dovecot-Mailserver)
  • Pythonpaket: impalib2 3.6 (https://github.com/jazzband/imaplib2/)

Übersicht

imaptunnel ist ein Kommandozeilenprogramm, was mit Python3 ausführbar ist. Es verbindet zwei Systeme über die Schnittstelle eines Emailservers miteinander und ermöglicht es Datenverkehr über verschlüsselte IMAP-Nachrichten zu tunneln.

Dieses Projekt enthält:

  • imaptunnel-mailserver-setup
    Ein Installationsskript, dass

    • einen Dovecot-Server aufsetzt,
    • einen Benutzer erstellt (Name und Passwort kann selbst bestimmt werden)
    • Postfächer ServerToClient und ClientToServer anlegt,
    • ein selbstsigniertes SSL-Zertifikat erzeugt und dieses Zertifikat in die vertrauenswürdigen Zertifikate des Systems einfügt.
  • server_main
    Startet das Tunnelprogramm auf dem Server. Parameterübergabe notwendig: Username Passwort

  • client_main
    Startet das Tunnelprogramm auf dem Client. Parameterübergabe notwendig: -lp <> -da <> -dp <> Username Passwort


Installation und Einrichtung

  1. Daten entpacken Ordner "Server" und "imaptunnel-mailserver-setup.sh" auf dem Server/Remoteclient speichern. Ordner "Client" auf dem Client speichern. Darin befinden sich jeweils die Startprogramme für imaptunnel.

  2. Dovecot-Server einrichten
    Führe auf dem Server/Remoteclient das Skript imaptunnel-mailserver-setup mit dem Parameter --install aus, um Dovecot zu installieren, den Benutzer anzulegen und die Mailboxen zu konfigurieren. Für weitere Nutzer kann das Skript ohne Parameter ausgführt werden.

  3. Server-Tunnel starten
    Nach erfolgreicher Einrichtung und Start von Dovecot, starte das Tunnel-Programm auf dem Server mit:
    python3 server_main.py

  4. Zertifkat übertragen
    Übertrage das vom Server erstellte selbstsignierte Zerifikat (/usr/share/ca-certificates/dovecot.crt) auf den Client und füge es dort in die vertrauenwürdigen Zertifikate ein.

  5. Client-Tunnel starten
    Starte das Tunnel-Programm auf dem Client mit: "python3 client_main.py --help" um alle verfügbaren Übergabeparameter zu sehen.


Parameter

-h, --help Info über Parameter
-lp, --listening_port lokaler Port, welcher als Eingang in den Tunnel dient
-da, --destination_address Addresse des Zielservers mit laufendem imaptunnel
-dp, --destination_port remote Port, welcher als Ausgang auf dem Server dient
Username Name des Accounts auf dem Mailserver
Passwort Passwort des Accounts auf dem Mailserver


Nutzungsbeispiel: SSH über imaptunnel

Auf dem Remoteclient/Server läuft ein Dovecotserver mit einem Nutzer "mailuser" mit Passwort "mailuser", welcher über die Mailboxen "ClientToServer" und "ServerToClient" verfügt. Auf dem Remoteclient/Server läuft ein SSH-Server, welcher auf Port 22 lauscht.

Auf dem Remoteserver wird imaptunnel-Server mit "python3 imaptunnel_server_main.py mailuser mailuser" gestartet.

Auf dem Client wird der imaptunnel-Dienst mit "python3 imaptunnel_client_main.py -lp 1337 -da 192.168.178.117 -dp 22" gestartet.

Nun kann man sich auf dem Client mit SSH den lokalen Port 1337 aufrufen und sich so über den Tunnel mit dem SSH Dienst des Servers verbinden.

About

ptunnel with imap.

Resources

License

Stars

Watchers

Forks

Contributors