In manchen Situationen benötigt man Zugriff auf alle eMail-Konten in Kopano. Über die WebApp oder Outlook ist das als Admin schnell erledigt. Was aber, wenn man z.B. für die Archivierung des eMail-Bestands per MailStore den Vollzugriff per IMAP benötigt?

Die Lösung ist eine Änderung der Konfiguration des Kopano-Gateways oder, falls der passwortlose Zugriff zusätzlich zum normalen Zugriff benötigt wird, die Einrichtung eines zusätzlichen Gateways auf einem anderen Port. In diesem Artikel beschäftigen wir uns mit der zweiten Variante. Als Beispiel nutzen wir Kopano unter CentOS aber die Abweichungen zu anderen Distributionen sind minimal.

Zuerst verlinken wir das Binary vom kopano-gateway und legen ein neues Init-Script an. Unser neues Gateway soll kopano-gateway-nopass heißen:

cd /usr/sbin ; ln -s kopano-gateway kopano-gateway-nopass
cd /etc/init.d ; cp kopano-gateway kopano-gateway-nopass

In der /etc/init.d/kopano-gateway-nopass ersetzen wir nun alle Vorkommen von “(kopano-)gateway“ durch “(kopano-)gateway-nopass“ (Vorsicht bei der Variable!)

RHEL/CentOS: Hier sollte im Init-Script bei stop() und reload() der Eintrag "killproc $GATEWAYPROGRAM" durch "killproc -p $pidfile" ersetzt werden. Ansonsten beendet ein Aufruf von "kopano-gateway stop" auch kopano-gateway-nopass und vice versa!

Jetzt legen wir eine Kopie der Konfigurationsdatei an:

cd /etc/kopano; cp gateway.cfg gateway-nopass.cfg

In /etc/kopano/gateway-nopass.cfg müssen folgende Änderungen durchführt werden (Die erste Änderung ermöglicht den passwortlosen Zugriff):

  • server_socket = file:///var/run/kopano/server.sock
  • Alle Dienste ausser IMAP deaktivieren
  • Den Port für IMAP z.B. auf 8143 ändern
  • Überall “gateway“ durch “gateway-nopass“ ersetzen
  • imap_only_mailfolders = yes
  • imap_public_folders = no
  • bypass_auth = yes

Nun den neuen Dienst mit chkconfig kopano-gateway-nopass on registrieren und aktivieren und dann den Dienst mit service kopano-gateway-nopass start starten. Mit ps auxwww | grep gateway prüfen wir nun, ob das originale und das modifizierte Kopano-Gateway laufen.

Da unsere neues Gateway auch ein eigenes Logfile in /var/log/kopano schreibt, müssen wir auch noch die Konfiguration für Logrotate erweitern. Dazu kopieren wir in /etc/logrotate.d/kopano den Eintrag für gateway.log und passen ihn für gateway-nopass.log an.

Jetzt können wir das neue Gateway per Telnet testen:

  • telnet localhost 143 (Oder 8143 für den passwortlosen Zugriff)
  • . login testuser dummypass
  • . list ““ „*“
  • . logout

Der Zugriff per Dummy-Passwort darf für den testuser nur über Port 8143 funktionieren, über 143 muss es den Fehler NO LOGIN wrong username or password ergeben!

Im MailStore kann man den abweichenden Port einfach mit :8143 hinter den Hostnamen des Servers angeben.

Wichtig: Um den Port vor nicht autorisiertem Zugriff zu schützen, empfiehlt es sich, die Konfiguration der lokalen Firewall so anzupassen, dass der passwortlose Zugriff nur vom MailStore-Host möglich ist!