Ich steh' im Wald - Frage an Netzwerkgurus (Filtered TCP Port, der irgendwie doch keiner ist?!)

  • Also, ich weiß echt nicht wie das geht, und ich bin scheint's zu dämlich es zu kapieren. Folgendes:


    Ich habe einen SMTP MTA (bzw. kompletter Mailserver eigentlich), der hört auf Port 25/SMTP, Port 465/SMTPS und Port 587/SMTPES (STARTTLS). Ganz normal. Die Firewall am selben Host gibt alle drei Ports global frei. Im Mailserver gibt es keinerlei Regel, die den Zugang zu den Ports auf Host/IP-Basis filtern würde.

    Trotzdem kann ich nicht auf Port 25 connecten, die anderen beiden gehen aber. Ich habe das auch schon aus unterschliedichen Quellnetzwerken versucht, und mit unterschiedlichen Rechnern, auf denen unterschiedliche Betriebssysteme laufen (Tests mit deaktivierten Clientfirewalls).

    Der Witz des Tages: Andere MTA's im Netz (z.B. der von gmail.com oder gmx.net) können aber sehr wohl verbinden, und ich kann die Connections der entfernten IPs zu meiner öffentlichen IP auf Port 25 sehen. Z.B. mit Netstat oder mit der Verbindungsanzeige meiner Firewall, aber auch im Log des Mailservers.

    Also die können ganz normal zu mir herverbinden und Server-zu-Server SMTP erledigen. wtf?

    Nur um ganz sicherzugehen habe ich 465 und 587 Mal dicht gemacht, sodaß es nur mehr per Port 25 ginge. 465/587 werden zwar Server-zu-Server normal eh nicht benutzt, aber jo. Dennoch konnten externe MTAs weiterhin ganz normal Mail zu mir zustellen. Aber wenn ich versuche eine Verbindung z.B. per Telnet aufzureißen... "Connection refused".

    Habe Mal den guten alten nmap ausgepackt um etwas mehr zu finden. Folgende Scantypen waren interessant:

    TCP Null (schaut firewalled aus):

    Code
    # nmap -Pn -sN -p25 xin.at 2>/dev/null | grep '25/'
    25/tcp open|filtered smtp

    TCP Window (schaut firewalled aus):

    Code
    # nmap -Pn -sW -p25 xin.at 2>/dev/null | grep '25/'
    25/tcp filtered smtp

    TCP ACK (schaut firewalled aus):

    Code
    # nmap -Pn -sA -p25 xin.at 2>/dev/null | grep '25/'
    25/tcp filtered smtp

    SCTP INIT (eigentlich ein hirnloser Test in dem Fall, aber egal, auch firewalled):

    Code
    # nmap -Pn -sY -p25 xin.at 2>/dev/null | grep '25/'
    25/sctp filtered unknown

    COOKIE ECHO (Auch hirnlos, weil das ist ebenfalls SCTP, aber ähnliches Ergebnis):

    Code
    # nmap -Pn -sZ -p25 xin.at  2>/dev/null | grep '25/'
    25/sctp open|filtered unknown

    IP Protocol (detektiert fälschlicherweise LEAF-1 statt SMTP, ansonsten w.o.):

    Code
    # nmap -Pn -sO -p25 xin.at 2>/dev/null | grep '25 '
    25      open|filtered leaf-1

    Alle anderen Portscans weisen den Port als "closed" aus, also z.B. TCP SYN, Connect(), FIN oder Xmas.

    Habe in meiner Verzweiflung auch schon meine Quellports per nmap hoch angesetzt, tlw. auf genau dieselben wie von diversen MTA's im Internet auch genutzt, bringt natürlich nichts.

    Telnet-Ausgabe:

    Code
    $ telnet xin.at 25
    Trying 83.64.254.60...
    telnet: connect to address 83.64.254.60: Connection refused
    
    $ telnet xin.at 465
    Trying 83.64.254.60...
    Connected to xin.at.
    Escape character is '^]'.

    Das gibt's ja echt nicht. Wie gesagt, ich steh' im Wald. Keines meiner Clientprogramme (z.B. Mozilla Thunderbird) kann da draufverbinden, schaut geblockt aus. Aber die Mailserver tauschen munter untereinander Mails über eben diesen Port aus, so wie es sich gehört, und man kann dabei zuschauen wie die Connections ganz normal reinkommen. Warum funktioniert das überhaupt noch, wenn der Port dicht ist? Oder anders herum: Warum komme ich "mit der Hand" bzw. mit Clientsoftware von keinem einzigen INet Host ran?

    Überwitz: Aus dem LAN und von localhost GEHT ES! Also man könnte meinen, das muß ja die Firewall sein, trusted Zone gäbe es ja für LAN und localhost. Alle Regeln zig Mal geprüft, aber da ist keine entsprechende Config drin. Macht auch wenig Sinn, wenn externe Mailserver ja eh rankommen... Zudem gibt es nur eine Mailserver-Firewallregel, in der alle drei SMTP Ports zugleich erfaßt sind... Aber 465 und 587 gehen ja. Sonstige Regeln zu Port 25 existieren einfach nicht. Habe auch extra noch Mal eine ganz oben im Firewallstack eingerichtet, die Listen Port 25 explizit global aufmacht, hat auch nichts geholfen.

    Also Fazit: Ich komme nicht auf meinen Port 25, obwohl weder Firewall noch Mailserver selbst ihn blockieren. Egal aus welchem Netzwerk, egal von welchem System. Andere Mailserver aber kommen hin, egal welche.

    Ich dachte mir schon daß mir evtl. der Provider den Port irgendwie gefiltert hat. Ist aber eine Businessleitung auf Basis getunnelten Ethernets, und üblicherweise drehen mir die da eher nichts zu. Und wie mehrfach gesagt: Andere MTAs kommen ja alle hin, auch obskure. Vier an der Zahl, die ich mit Erfolg getestet habe: GMX, gmail, guerrillamail.com und der MTA meines Arbeitgebers.

    Irgendwo bin ich irgendwie grade extrem dumm oder sonst was, ich kapier's nicht.

    Man erlöse mich von dem Brett vor meinen Augen!

    Ihr dürft's auch gerne selbst mit dem Port auf dem Server rumspielen, nur bitte nicht hämmern oder fluten. Er hat's schon schwer genug. :topmodel: Wenn gewünscht, kann ich eine temporäre Sink-Addy einrichten, zu der ihr auch hinmailen könnt's. Ich kann auch noch die Firewallregeln die es gibt alle rausschreiben und als Pseudoruleset (aber akkurat!) hier reinposten. Inklusive Zonenkonfiguration und Dienstekonfiguration. Vielleicht sehe ich ja nur was offensichtliches nicht.

    Ajo, es gibt auch andere Low Ports, die offen sind. Funktionieren allesamt normal.

    Ich hoffe ich habe den Sachverhalt nicht zu wirr dargestellt.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Hui, das klingt ja spannend. Erst mal heißt "filtered" so wie ich es verstehe einfach nur, dass auf dem Port eingehende Anfragen ohne Antwort bleiben. Der Port ist also gerade nicht firewall-technisch geblockt. Mein erster bzw. bisher einziger Gedanke wäre, dass die (Mailserver-) Software HINTER der Firewall die Pakete verwirft? Gibt es da irgendwelche Einstellungen? Kannst du da loggen?

    Edit: Port ist offen für mich:

    Zitat

    220 xin.at ESMTP MDaemon 9.6.6; Wed, 15 Jul 2020 19:13:45 +0200

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

    Einmal editiert, zuletzt von LoB (15. Juli 2020 um 19:15)

  • Weitere Idee: Hast Du ein IDS/IPS-System am laufen? Vielleicht einfach fail2ban o.ä., der Deine IPs geblockt hat?

    Edit: Ach ne, über die anderen Ports kommst Du ja ran... 🤔

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

    Einmal editiert, zuletzt von LoB (15. Juli 2020 um 20:17)

  • IDS/IPS läuft am Mailserver nicht, auch keine tarpit. Könnte ja sonst auch ein IP- plus port-spezifischer Ban sein, aber ich habe sowas (leider!) nicht am Laufen. Tarpits habe ich nur am SSHd und am FTPd. Du kommst also an den Port ran, das ist echt spannend. Hast du einfach per telnet verbunden?

    Ich komme mir hier grade wie ein Depp vor...

    PS: Weil du fail2ban sagst. Schön wäre es. Leider ist XIN kein UNIX und kein Linux, sondern was weitaus schlimmeres, unsagbares. :topmodel:

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Ja, per telnet, über PuTTY (ja, ich nutze auch Windows :-P)

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

  • Irgendwo übersehe ich echt was, das zeigt dein Test deutlich auf. Nur was... Ich muß mich Mal mit meinem Win10 Tablet oder mit'm BSD Book in irgendein öffentliches WLAN klinken und es da nochmals versuchen. Gibt's ja ned, daß ich mich auf meinem eigenen Server nicht mehr auskenne! :spitze:

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Ich kann das Setup halt auch noch nicht durchblicken. Von wo du jetzt über welches Netz versuchst da ranzukommen. Sprich welche Server, Komponenten und Netze da im Spiel sind.

    Ich glaube manche Provider (Hoster, ISPs) blocken auch Port 25, um Spam zu verhindern (und damit abuse-Nachrichten gegen Ihr Netzwerk)

    Wie wärs Mal mit Wireshark reinzuschauen?

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

  • Also ausgehend habe ich das österreichische Uni-Netz versucht, das ist ACONet. Dann noch das Netz eines Mobilfunkbetreibers. Ich meine, ausgehend müßte Zielport 25 immer offen sein, sonst könnte ja kein Plaintext Mailclient mehr funktionieren, abseits von Webmail. Und unser Uninetz ist komplett offen, "wir blocken gar nichts". Also da komme ich auf alles andere auf Port 25 locker raus.

    Der Hund muß irgendwo im Server begraben liegen... Ich muß die Leiche nur finden!

    Wireshark ist eine Idee, aber ich bezweifle ehrlich gesagt, daß er mir clientseitig mehr zu sagen imstande ist als nmap.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Einmal editiert, zuletzt von GrandAdmiralThrawn (15. Juli 2020 um 20:50)

  • Double Post: Grade einen Admin aus AT gebeten, das auch per Telnet zu prüfen. Netz: UPC/Magenta Consumer. Ich bin UPC/Magenta Business.

    Ergebnis: Connection refused...

    Huh...

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Neuer Tag, neues Glück: Dann lass doch mal die Konfiguration Deines Mailservers sehen. Vielleicht ist da etwas zu finden. Ein Filter irgendeiner Art o.ä.

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

  • Hmm, ist die Frage wie. Der Server speichert nur Basiseinstellungen in Textdateien, der Rest ist in irgendwelchen Binärdateien vergraben. Bei der Durchschau der Sicherheitseinstellungen ist mir nichts besonderes aufgefallen. Habe dabei Mal eine meiner IPs außerhalb komplett whitelisted (von allen Checks ausgenommen), macht keinen Unterschied. So wie ich die IP Filter verstehe, dropped der auch nicht einfach die Connection, sondern macht das über's SMTP Protokoll (gibt irgendeinen 500er Fehler zurück).

    Man könnte die ganzen Konfigfensterchen "screenshotten", schaut dann aber ziemlich Kacke aus, weil beim KVM-over-IP immer ein paar weiße Fehlerblöcke drin sind (crypted VNC). Das erschwert die Lesbarkeit. Müßte die Screenshots also lokal am Gerät machen.

    Die Basiskonfig in Plaintext nutzt leider nichts, weil da die Servicekonfigurationen (für SMTP, IMAP, SyncML) nicht drinstehen. Vielleicht gibt es eh Plaintext, nur mit abweichender Dateierweiterung. Muß ich mir genauer anschauen, wie ich dir das am besten geben kann...

    Aber daß er die Connection einfach komplett dropped und mich gar nicht erst an's Protokoll läßt ist schon etwas hart.

    Nochwas aber: Der Mailserver selber hosted *nur* plaintext Port 25. SMTPS und SMTPES werden über einen vorgeschaltenen stunnel gemacht, der die Crypto auspackt und lokal an Port 25 weitergibt. Selbiges gilt auch für POP3S und IMAPS. Hier erreiche ich die direkt vom Mailserver gehosteten Plaintextports aber:

    Ich würde ja zum Test einfach Mal die Firewall abdrehen um zu schauen ob die schief hängt, aber leider kann das bei der Maschine schnell tödlich enden. Daher ist das leider keine Option.

    Aber jo, jetzt erst Mal schauen wie ich dir wirklich meine Config zukommen lassen kann...

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Hm, auch interessant. Dann macht der Tunnel ja irgendetwas "anders". Ist das denn wirklich ein Tunnel, oder ein Proxy?

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

  • Eigentlich ist stunnel ein erweiterter Portmapper / Cryptowrapper. Was stunnel bei mir in diesem Fall genau tut ist das:

    1. Lauscht auf Ports 465 (implizites TLS) und 587 (primitive SMTP Implementierung, um optional STARTTLS benutzen zu können)
    2. SMTPS Connection auf 465 kommt rein, stunnel entschlüsselt sie, und mapped sie auf lokalen Zielport 25.
    3. SMTPES Connection auf 587 kommt rein, stunnel redet reduziertes SMTP mit dem Client bis STARTTLS. Nach Aushandeln von SMTP oder SMTP+TLS mapped er den Rest auf den lokalen Zielport 25.

    Hmm, ist das zu konfus so? Ich habe Mal ein häßliches Bildchen gemalt, um das etwas besser zu veranschaulichen:

    stunnel "TLS wrapper" + SMTP (Klicken zum Vergrößern)

    Ich hoffe das macht das Setup klarer. Ports 465 und 587 sind nur für Clients gedacht, Port 25 für Clients die auf Sicherheit pfeifen und für Server-zu-Server SMTP.

    stunnel wurde vorgeschaltet, weil der Mailserver selbst kein halbwegs modernes TLS mehr beherrscht, und somit ein Problem mit dementsprechend modernen, sicheren Clients hat.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Einmal editiert, zuletzt von GrandAdmiralThrawn (16. Juli 2020 um 11:16)

  • Das ist klar. Meine Frage zielte darauf ab, ob via stunnel die originale IP-Adresse beim MDaemon ankommt, oder ob die Verbindung von außen auf stunnel terminiert und damit der MDaemon nur die IP des stunnel sieht. Das könnte erklären weshalb es darüber funktioniert.

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

  • In dem Fall (zumindest bei implizitem TLS) sieht der Server in der Tat 127.0.0.1 als Quelle.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Dann ist die Quell-IP also wohl der differenzierende Faktor.

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

  • Ja, aber nicht nur, weil es ja MTA's da draußen gibt die hinconnecten dürfen zum 25er. Also eigentlich jeder MTA den ich bisher getestet habe, auch einer aus dem Netzwerk in dem ich grade sitze und aus dem heraus ich nicht auf'n 25er komme mit meiner IP.

    Wenn ich jetzt (zum allerersten Mal überhaupt!) aus einem bestimmten mobilen LTE Netz komme, kann ich doch nicht von vornherein schon gesperrt sein, ohne jemals etwas böses getan zu haben. Da muß er mir doch zumindest ein Mal antworten... selbst wenn irgendeine Sicherheitskomponente des Mailservers schuld wäre.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Wenn ich jetzt (zum allerersten Mal überhaupt!) aus einem bestimmten mobilen LTE Netz komme, kann ich doch nicht von vornherein schon gesperrt sein, ohne jemals etwas böses getan zu haben. Da muß er mir doch zumindest ein Mal antworten... selbst wenn irgendeine Sicherheitskomponente des Mailservers schuld wäre.

    Nicht zwangsläufig. Ich habe z.B. meinen postfix so konfiguriert, dass er ankommende IPs gegen Blacklisten prüft. Steht die IP auf ner Blacklist, gibt es direkt nen Disconnect.

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

  • DNS Blacklisten verwende ich ebenfalls. Und das hat mich grade auf die Idee gebracht, daß das rDNS per PTR Record im DNS vielleicht falsche IPs zurückgibt, und der Server das nicht mögen könnte. Meine Public IP hier auf der Arbeit ist zwar prinzipiell public, wird von extern aber nicht zu einem Namen aufgelöst und ist auch von außen generell nicht erreichbar.

    Leider war's das nicht. Habe mich auf einen unserer öffentlichen Server verbunden, dessen Hostname von außen nachweislich aufgelöst werden kann. Wieder nichts. Auf DNS Blacklisten sollte keine meiner IP Adressen stehen, ich spamme ja nicht rum. Und wenn doch, so bemerkt die Zentrale das sofort und sperrt meinen Rechner komplett aus, auch aus dem LAN. Ich probier einfach alle IP's bzw. die entsprechenden Rechner durch die wir haben, aber das wird wohl nicht zum Ziel führen.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"