Dovecot über IMAP und POP3 erreichbar - trotz Firewall und Deaktivierung in der Konfig

  • Hallo,
    ich habe folgendes Problem und hoffe es kann mir jemand erklären wo mein Fehler liegt. ;)
    Ich habe ISPConfig 3 installiert und eingerichtet. Funktioniert soweit auch tadellos. Um den Mailempfang abzusichern habe ich dovecot dazu angewiesen nur auf imapS und pop3S zu reagieren.




    Zusätzlich habe ich nur die entsprechenden Ports in der Firewall freigegeben. Das Kuriose ist jedoch: Verbindungen via Pop3 und IMAP sind weiterhin über die unsicheren Ports möglich. (Im mail.log steht zwar "..session=TLS...", ich habe Thunderbird jedoch so konfiguriert, dass dieser die Verbindung ohne Verschlüsselung aufbaut.)


    Hier noch weitere Infos:
    Auszug aus mail.log (Thunderbird auf Port 110 eingestellt):

    Code
    1. Aug 11 08:07:53 srv01 dovecot: imap-login: Login: user=<pop3@domain.de>, method=PLAIN, rip=91.xxx.xxx.xxx, lip=46.xxx.xxx.xxx, mpid=2869, TLS, session=<yd4y7AIdegBbIvUG>
    2. Aug 11 08:07:54 srv01 dovecot: imap(pop3@domain.de): Disconnected: Logged out in=8 out=401



    aktuelle iptables Konfig:



    Auszug aus /etc/dovecot/dovecot.conf:



    Aktuelle netstat Ausgabe:

    Code
    1. root@srv01:~# netstat -tulpen | grep dovecot
    2. tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 0 1563988 2720/dovecot
    3. tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 0 1563956 2720/dovecot
    4. tcp6 0 0 :::993 :::* LISTEN 0 1563989 2720/dovecot
    5. tcp6 0 0 :::995 :::* LISTEN 0 1563957 2720/dovecot



    Vom Client via telnet aufgebaute Verbindung:

    Code
    1. Frederics-MacBook-Air:~ frederic$ telnet domain.de 110
    2. Trying 46.xxx.xxx.xxx...
    3. Connected to domain.de.
    4. Escape character is '^]'.
    5. +OK Dovecot (Ubuntu) ready.



    Ich kann mir leider nicht erklären warum die Verbindung auf Port 110 überhaupt möglich ist, geschweige denn Dovecot sogar antwortet. *confused*


    Über Hilfe würde ich mich sehr freuen!


    Liebe Grüße und Danke
    Frederic

  • Also ich kenn mich ja mit iptables nicht soo gut aus (ich hab CentOS 7 und firewalld), aber müsste da nicht irgendwo ganz unten noch ne DROP rule drin sein, um die restlichen Pakete zu verwerfen?


    Was läuft denn auf Port 110?

    Code
    1. netstat -tulpen | grep :100

    CentOS 7 / nginx / php-fpm / postfix / rspamd / clamav / dovecot / nextcloud / docker / Elastic Stack running on VPS 500 G8 (x2) / VPS 2000 G8 Plus

  • Meines wissens wird doch die TLS Verbindung über 110 aufgebaut und dann mit STARTTLS verschlüsselt.


    Also müsstest du, wenn du versuchst dich ohne vorheriges STARTTLS einzuloggen, rejected werden.

  • Hallo,
    also die iptables Regeln müssten so ok sein, da die Default Regel auf DROP steht.


    Code
    1. *filter
    2. :INPUT DROP [0:0]



    Hmm... Thunderbird ist definitiv auf "umverschlüsselt" gestellt. D. h. eig. dürfte er auch keine StartTLS Verbindung aufbauen.
    Aber selbst wenn... eig. dürfte doch einfach gar keine Verbindung zustande kommen, da ja auf Port 110 weder etwas lauscht, noch via iptables geöffnet ist?!


    Wie ich bereits vermutet habe ;):

    Code
    1. root@srv01:~# netstat -tulpen | grep 110
    2. root@srv01:~#



    Hier noch einmal die ges. Ausgabe von netstat:




    Danke für die Antworten! :)


    LG
    Frederic

  • Quote

    Aber selbst wenn... eig. dürfte doch einfach gar keine Verbindung zustande kommen, da ja auf Port 110 weder etwas lauscht, noch via iptables geöffnet ist?!


    Hm, die einzige Erklärung, die ich dafür hätte, ist dass du nicht bei dem Server landest, den du ansprechen möchtest.


    Geben ifconfig auf dem Server und ping -a von ausserhalb die identische IP an?
    Zeigt der telnet auf Port 80 im Webserver log was an?


    Vielleicht ist auch ein x-inetd am laufen, der dynamisch Ports in Beschlag nimmt (keine Ahnung, ist schon ein paar Jahrzehnte her, seit ich das letzte mal damit zu tun hatte ;-)

    CentOS 7 / nginx / php-fpm / postfix / rspamd / clamav / dovecot / nextcloud / docker / Elastic Stack running on VPS 500 G8 (x2) / VPS 2000 G8 Plus

  • Hey,
    telnet auf Port 80 erzeugt Einträge im Apache Log und ifconfig sowie ping -a sind identisch. ;)
    Hmm... x-inetd hätte ich aber nicht wissentlich konfiguriert und kann es mir eig. nicht vorstellen. Wie kann ich denn herausfinden ob da was lauscht? Finde weder in top noch in netstat etwas mit einer passenden Bez. und bis jetzt ist xinted auch noch Neuland für mich ;)


    LG und Danke :)


    Frederic

  • Was passiert eigentlich, wenn Du mit Telnet auf den Port zugreifen willst? Von Deinem PC aus natürlich:

    Code
    1. telnet <HOST-ODER-IP-VOM-SERVER> 110


    Schau während des Verbindungsversuches am Server einmal, was sich wirklich abspielt:

    Code
    1. tcpdump -n -l -i eth0 src host <DEINE-IP-ADRESSE-VOM-INTERNETANSCHLUSS> and dst port not 22


    Oder nimm Wireshark auf Deinem PC. Ich würde ja fast vermuten, dass er sich nicht an die Vorgabe hält und von selbst den TLS-Port benutzt. Oder was auch immer.



    MfG Christian

  • Hey,
    das nenne ich mal sehr interessant... und sehr verwirrend zugleich. ;)


    Hier die Ausgabe von Telnet:

    Code
    1. Frederics-MacBook-Air:~ frederic$ telnet <ip.des.servers> 110
    2. Trying <ip.des.servers>...
    3. Connected to srv01.domain.de.
    4. Escape character is '^]'.
    5. +OK Dovecot (Ubuntu) ready.



    Gleichzeitig im anderen Terminal lief tcpdump mit:



    Das irritiert mich nun wirklich... erst wird Port 993 und dann Port 995 genutzt? Wieso kommt die Anfrage für POP auf dem IMAP Port zustande? (Ganz davon abgesehen warum überhaupt die Verbindung auf einem andern Port als dem angegebenen zustande kommt!?)




    Hier die Ausgabe von tcpdump wenn ich das Konto via Thunderbird... angeblich via Port 110... abrufe:




    Hier kommt direkt die Verbindung auf Port 995 zustande.


    Ich hoffe das Hilft weiter... ich bin dadurch gerade noch mehr verwirrt als ich's vorher war. :D


    Danke für die Unterstützung. Muss echt mal loswerden, dass das hier eine klasse Community ist. :)


    LG
    Frederic