Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Containerised (LXD) Postfix - Internal/External E-Mail

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0Henk 'm!

  • HATA28
  • Registratie: mei 2008
  • Laatst online: 11-06 13:29
Hallo allen,

Als hobby projectje heb ik een mailserver opgezet, echter lijken alle (externe) e-mails, te worden
behandeld als interne e-mails. Doordat interne verzenders whitelisted zijn, kunnen er anoniem mails verzonden worden over port 25. Effectief is het dus een openrelay (inmiddels is het IP adress al geblacklist, doordat er een tijdje misbruik van is gemaakt door spammers).
Mailserver(iRedMail) is opgezet in een container (LXD) op Debian Buster, config als volgt:

Container host
VPS, met extern IP
OS: Debian 10
Container: LXD
FQDN: xxx.yyy
Networkconfig:
code:
1
2
3
4
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 155.xx.xx.xx  netmask 255.255.255.255  broadcast 155.xx.xx.xx
lxdbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.33.196.1  netmask 255.255.255.0  broadcast 0.0.0.0

Mailserver in container
OS: Debian 10
Mailserver: iRedMail 1.1 LDAP
Postfix ver: 3.4.10
FQDN: mail.xxx.yyy
Networkconfig:
code:
1
2
3
4
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.33.196.133  netmask 255.255.255.0  broadcast 10.33.196.255     
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0

Wanneer een externe partij anoniem een mail aanbiedt op port 25, gebeurd er dit:
/var/log/mail.log: (aangepast ivm privacy)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
May 14 17:18:35 mail postfix/postscreen[18271]: WHITELISTED [127.0.0.1]:57298
May 14 17:18:37 mail postfix/smtpd[18273]: connect from mail.xxx.yyy[127.0.0.1]
May 14 17:18:37 mail postfix/smtpd[18273]: Anonymous TLS connection established from mail.xxx.yyy[127.0.0.1]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
May 14 17:18:39 mail postfix/smtpd[18273]: 49NJCz4yZqzBl7wn: client=mail.xxx.yyy[127.0.0.1]
May 14 17:18:39 mail postfix/cleanup[18294]: 49NJCz4yZqzBl7wn: message-id=<e0df89eba9ca328b06c05a6c4c792944@test.server.com>
May 14 17:18:39 mail postfix/qmgr[1287]: 49NJCz4yZqzBl7wn: from=<myfrom@randomadress.com>, size=562, nrcpt=1 (queue active)
May 14 17:18:39 mail postfix/smtpd[18273]: disconnect from mail.xxx.yyy[127.0.0.1] ehlo=2 starttls=1 mail=1 rcpt=1 data=1 quit=1 commands=7
May 14 17:18:40 mail postfix/10025/smtpd[18297]: connect from mail.xxx.yyy[127.0.0.1]
May 14 17:18:40 mail postfix/10025/smtpd[18297]: 49NJD00vNpzBl7wv: client=mail.xxx.yyy[127.0.0.1]
May 14 17:18:40 mail postfix/cleanup[18294]: 49NJD00vNpzBl7wv: message-id=<e0df89eba9ca328b06c05a6c4c792944@test.server.com>
May 14 17:18:40 mail postfix/10025/smtpd[18297]: disconnect from mail.xxx.yyy[127.0.0.1] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
May 14 17:18:40 mail postfix/qmgr[1287]: 49NJD00vNpzBl7wv: from=<myfrom@randomadress.com>, size=1009, nrcpt=1 (queue active)
May 14 17:18:40 mail amavis[689]: (00689-01) Passed CLEAN {RelayedInternal}, MYNETS LOCAL [127.0.0.1]:57298 ESMTP/ESMTP <myfrom@randomadress.com> -> <test123@otherserver.com>, (), Queue-ID: 49NJCz4yZqzBl7wn,$
May 14 17:18:40 mail postfix/amavis/smtp[18295]: 49NJCz4yZqzBl7wn: to=<test123@otherserver.com>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.1, delays=0.76/0.02/0.05/0.27, dsn=2.0.0, status=sent (250 2.0.0 fr$
May 14 17:18:40 mail postfix/qmgr[1287]: 49NJCz4yZqzBl7wn: removed<br>
May 14 17:18:41 mail postfix/smtp[18298]: Trusted TLS connection established to mx.zzz.com[153.x.x.x]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
May 14 17:18:42 mail postfix/smtp[18298]: 49NJD00vNpzBl7wv: to=<test123@otherserver.com>, relay=mx.zoho.com[136.x.x.x]:25, delay=2.6, delays=0.01/0.05/1.6/0.96, dsn=2.0.0, status=sent (250 Message rec$
May 14 17:18:42 mail postfix/qmgr[1287]: 49NJD00vNpzBl7wv: removed

Bericht wordt dus succesvol verzonden.
Het lijkt er voor mij op dat externe mails als intern worden beschouwd, omdat de connecties worden geforward door de containter host naar de container loopback IF (127.0.0.1). Ik heb geprobeerd dit aan te passen maar zonder succes.

Port forwarding is geconfigureerd met LXC, als volgt:
code:
1
2
3
4
5
6
7
8
9
10
root@xxx:~# lxc config device show mailserver
port25:
   connect: tcp:127.0.0.1:25
   listen: tcp:0.0.0.0:25
   type: proxy
port110:
   connect: tcp:127.0.0.1:110
   listen: tcp:0.0.0.0:110
   type: proxy
...


Heb dit ook geprobeerd:
code:
1
2
3
4
port25:
   connect: tcp:10.33.196.133:25
   listen: tcp:0.0.0.0:25
   type: proxy

Maar zonder het gewenste resultaat (en met andere problemen).
Ben op het wereldwijdeweb op zoek gegaan naar vergelijkbare situaties, met postfix in een container, maar kwam nog niks tegen wat mij heeft geholpen.

Mocht iemand mij hierbij kunnen helpen, zou dat heel fijn zijn _/-\o_
Mocht er meer info nodig zijn, hoor ik dat graag.

Alle reacties


Acties:
  • +1Henk 'm!

  • d1ng
  • Registratie: augustus 2009
  • Laatst online: 12:04
Het gaat inderdaad mis bij deze eerste stap. Postfix ziet niet vanaf welk IP adres de mail wordt aangeboden. Postfix denkt dat de mail wordt aangeboden door localhost, vanwege de port forwarding.
code:
1
2
May 14 17:18:35 mail postfix/postscreen[18271]: WHITELISTED [127.0.0.1]:57298
May 14 17:18:37 mail postfix/smtpd[18273]: connect from mail.xxx.yyy[127.0.0.1]


Ik ben niet zo bekend met lxc, maar is port forwarding naar 127.0.0.1 echt nodig?
Kan postfix in de container niet gewoon rechtstreeks luisteren op een externe IP adres, zodat postfix kennis heeft van het IP adres van de aanbieder?

Acties:
  • 0Henk 'm!

  • HATA28
  • Registratie: mei 2008
  • Laatst online: 11-06 13:29
Heb zojuist een oplossing gekregen van iemand anders;

Na het toevoegen van de parameter
code:
1
proxy_protocol=true

aan het LXD Proxy Device, en het toevoegen van de lijn
code:
1
postscreen_upstream_proxy_protocol = haproxy

aan /etc/postfix/main.cf is het opgelost!

Het originele IP wordt hiermee meegegeven, en Postfix herkend de mail als extern :)


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True