# postfix



## sence123 (17. Okt. 2009)

Hey,

welche einstellung muss ich bei postfix setzten, da ich nach der STD installation im telnet sagen kann:

mail from:registereduser@domain.de
rcpt to:registereduser@domain.de

leider wird hier nicht geprüft ob der absender wirklich verschicken darf, da dies nur nach Extern geprüft wird.

Welchen Wert muss ich wo noch hinzufügen um die Spamlücke zu schließen ?

da sich verschiedene spam bots daran erfolgreich versuchen ,)

---- 2. Problem:

Amavis-d erkennt manschmal die spams nichts, da er irgendwelchen Internen Probleme hat und laut xheader seine config nicht rafft 

*X-Virus-Scanned:* Ubuntu amavisd-new at mx1.mydomain.de 
*X-Spam-Flag:*  NO
*X-Spam-Score:*  22.889
*X-Spam-Level:*  **********************
*X-Spam-Status:* No,  score=22.889 tagged_above=3 required=999
     tests=[PLING_QUERY=1.333,  RCVD_IN_BL_SPAMCOP_NET=2.188,
     RCVD_IN_PBL=0.509,  RCVD_IN_SORBS_DUL=1.615, RCVD_IN_SORBS_WEB=1.117,
     RCVD_IN_XBL=2.896,  RDNS_DYNAMIC=0.1, URIBL_AB_SURBL=1.613,
     URIBL_BLACK=1.961,  URIBL_JP_SURBL=2.857, URIBL_OB_SURBL=2.132,
     URIBL_SBL=2.468,  URIBL_WS_SURBL=2.1]

wenn alles richtig ist dann schauts so aus:
*X-Quarantine-ID:*  <OL6dcyUS3cZN>
*X-Virus-Scanned:* Ubuntu  amavisd-new at mx1.mydomain.de
*X-Spam-Flag:*  YES
*X-Spam-Score:*  11.655
*X-Spam-Level:*  ***********
*X-Spam-Status:* Yes, score=11.655  tagged_above=3 required=6.9
     tests=[HTML_MESSAGE=0.001,  INVALID_MSGID=2.603, RCVD_IN_PBL=0.509,
     RCVD_IN_SORBS_WEB=1.117,  RCVD_IN_XBL=2.896, RDNS_NONE=0.1,
     URIBL_BLACK=1.961,  URIBL_SBL=2.468]


----------



## Till (18. Okt. 2009)

Das ist keine Spamlücke, das Du einen beliebigen Absender wählen kannst ist Teil des Email Protokolles selbst. Wenn Du die dicht machst, dann empfängt Dein Server fastkeine Mails mehr da sich die wenigsten Domains per spf oder domainkeys nachweisen, wer für sie versenden darf.


----------



## sence123 (18. Okt. 2009)

*Hey*

Sry, dass ich es falsch erklärt habe:

es liegt z.b der Account test@test.de auf dem Server

nun kann ich im telnet den test machen:
mail from:<test@test.de>
rcpt to:<test@test.de>
-> ok send
data
sende spam vom account test@test.de an den user test@test.de
oh wie schön keine authentifizierung, ich kann local damit emails verschicken ,)
.



aber es müsste das passieren:

mail from:<test@test.de>
250 OK
rcpt to:<test@test.de>
530 SMTP authentication is required.

dat mein ich :O(

dankeschön


----------



## sence123 (19. Okt. 2009)

*r3*

also es handelt sich hierbei um 2 Lokale Accounts bzw hier indem oben genannten beispiel um nur einen, welcher sich selbst emails schicken kann ohne authentifizierung.

habs gerade mal getestet, ich kann auch von meinem Account auf einen anderen Account welcher auf dem selben Server liegt emails ohne authentifizierung versenden.

 :/

= von lokal zu lokal keine Prüfung

es wird nur von lokal nach extern geprüft

thxxx


----------



## Till (19. Okt. 2009)

Die Antwort dazu hab ich oben schon gegeben. Dein Mailsystem würde einfach aufhören emails zu empfangen, wenn Du das änderst und das ist auch keine Spam Lücke, außer natürlich Du sendest Deinen Spammer vorher shell Zugangsdaten zu Deinem Server zu 

Du kannst grundsätzlich nicht von lokal testen, ob Dein Server ein offenes Relay ist. Wenn Du das checken willstm, dann nimm z.B. das hier:

http://www.abuse.net/relay.html

Aber Dein Server ist mit Sicherheit kein offenes Relay, außer Du hast manuell die Postfix Config geändert.


----------



## sence123 (19. Okt. 2009)

*hm*

Hey erstmal vielen dank für die Mühe,

hm dann stimmt das noch nicht ganz :O)

habe hmailserver noch im einsatz, dieser fragt nach wenn ich mich per telnet verbinde und versuche eine email zu versenden von lokal@domain.de to lokal@domain.de

aber postfix nicht :/
aber ich sehe dass der Empfang direkt bei lokal statt findet

```
[B]Return-Path:[/B] <[URL="http://www.howtoforge.de/webmail/src/compose.php?send_to=n%40doorn.de"]stefan@example.de[/URL]>
[B]Delivered-To:[/B]  [URL="http://www.howtoforge.de/webmail/src/compose.php?send_to=stefan%40doorn.de"]stefan@example.de[/URL]
[B]Received:[/B]  [SIZE=4][B]from localhost (localhost [127.0.0.1])[/B][/SIZE]
     by ha-mailone.example.net  (Postfix) with ESMTP id 390FB10DC325
     for <[URL="http://www.howtoforge.de/webmail/src/compose.php?send_to=stefan%40doorn.de"]stefan@example.de[/URL]>;  Mon, 19 Oct 2009 12:21:19 +0200  (CEST)
[B]X-Virus-Scanned:[/B] IT-Schuth amavisd-new at  ha-mailone.example.de
[B]X-Spam-Flag:[/B]  NO
[B]X-Spam-Score:[/B]  22.751
[B]X-Spam-Level:[/B]  **********************
[B]X-Spam-Status:[/B] No,  score=22.751 tagged_above=3 [SIZE=4][B]required=999[/B][/SIZE]
     tests=[BAYES_99=3.5,  HTML_IMAGE_ONLY_32=1.778, HTML_MESSAGE=0.001
```
du sagst ich müsste ne bash zur verfügung stellen, kann es sein, dass postfix dann den empfang als lokal ansieht und nicht nachfragt?

 :/

verzweifel, da die benutzer von ihrem eigenen Account emails bekommen, 
und normal müsste doch postfix sagen wenn jemand von dem System eine verschicken will:
du bist bei mir registriert bitte authentifizieren.


----------



## Till (19. Okt. 2009)

Wenn Du auf Deinem System eingeloggt bist, dann sendest Du über IP 127.0.0.1 und bist somit Bestandteil des systems und für diese IP ist die authentifizierung ausgeschaltet und das muss auch so sein, sonst würde so Dinge wie PHP oder sytsemmeldungen der Daemons nicht mehr gehen.

Dein System ist also perfekt in Ordnung.



> verzweifel, da die benutzer von ihrem eigenen Account emails bekommen,


Da bringst Du was durcheinander, sie bekommen nicht von Ihrem eigenen account emails. Sie bekommen emails von dritten, bei denen der Absender gefälscht wurde. Und das absender adressen gefälscht sind hat doch überhaupt nichts damit zu tun ob Du lokal versenden kannst oder nicht. Du solltest Dich mal etwas eingehender mit der Funktionsweise von Email im allgemeinen beschäftigen und Dir mal Dinge wie SPF ansehen, wenn Du Deine lokalen Emails zusätzlich sichern willst.


----------



## sence123 (19. Okt. 2009)

*hey*



ok ein bot verbindet sich mit dem Server und sagt:
mail from:<user@meinserver.de> (hier wird gefälscht)
rcpt to:<user@meinserver.de> (kunde bekommt von eigenen Absender)
Data:
hier müsste postfix doch sagen: du schickst von einem account, welchen ich verwalte, bitte schicke mir deine Daten.

denn der bot kommt von extern und spricht den über die externe ip an somit sollte er dann doch eigentlich die meldung bekommen zum authentifizieren.

jetzt kann ich mir dann nur vorstellen, dass meiner dies eventuell als lokale schnittstelle ansieht

sry aber ich will das zu haben :O)


----------



## sence123 (19. Okt. 2009)

*hey*

siehe unten


----------



## sence123 (20. Okt. 2009)

*hm*



Zitat von Till:


> Wenn Du auf Deinem System eingeloggt bist, dann sendest Du über IP 127.0.0.1 und bist somit Bestandteil des systems und für diese IP ist die authentifizierung ausgeschaltet und das muss auch so sein, sonst würde so Dinge wie PHP oder sytsemmeldungen der Daemons nicht mehr gehen.
> 
> Dein System ist also perfekt in Ordnung.
> 
> ...


Aber wenn ich von zuhause über telnet mich mit dem port 25 verbinde, bin ich ja Remote, wie jeder der eine Email entweder an den Server versenden will oder über diesen Server.
Aufjedenfall müsste hier immer geprüft werden ob der Absender, sofern er dem Server angehört berechtigt ist von einem bestehenden Account aus zu senden.

Dies ist aber leider nicht der fall und hier leigt der hund begraben


----------



## Till (20. Okt. 2009)

> Aufjedenfall müsste hier immer geprüft werden ob der Absender, sofern er dem Server angehört berechtigt ist von einem bestehenden Account aus zu senden.


Beschäftige Dich bitte mal etwas näher mit dem Mail Protokoll, dafür gibt es ja die RFC's. Wie gsagt, das Mailprotokoll sieht sowas wie Überprüfung der Absenderadresse nicht vor. Du kannst das höchstens über SPF regeln (hatte ich auch schon oben geschrieben). Also lies Dir am besten mal durch, was SPF ist und wofür man es einsetzt. dafür musst Du nämlich auch Deinen DNS Server ändern etc, bevor Du ein Programm zum überprüfen von SPF Einträgen in Deinen Mailserver integrierst.


----------



## sence123 (20. Okt. 2009)

*hey*

also hab mit damit auseinander gesetzt, und bei mir scheind nen fehler zu sein :/

also wenn ich von mir zuhause aus mich mit dem Server im rz verbinde und mache dies:

220 ha-mailone.it-schuth.net ESMTP Postfix
ehlo test.de
250-ha-mailone.it-schuth.net
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<marco@it-schuth.net>
250 2.1.0 Ok
rcpt to:<marco@it-schuth.net>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
ich hab die Absender Adresse geFÄLSCHT
.
250 2.0.0 Ok: queued as 1EA1A10DC1C9

Da brauch ich kein SPF, da postfix erkennen muss dass ich von extern aus eine Email über smtp senden will von einem Account, welcher auf dem Server exsistiert. Somit muss hier die Passwort abfrage kommen.
Ok für lokal wie für mail in php hast du recht, dort darf keine passwort Abfrage exsistieren!

aber wenn ich an der console von nem netz von 81.xx.xx.xx in ein netzt von 67.0.0.0.0 mich anmelde und eine Email versenden möchte bin ich nicht lokal ! also müsste ich dafür das Passwort eingeben um als marco@it-schuth.net die email zu versenden.

mit spf, kann ich andere Absender von anderen Mailservern prüfen, aber hier geht es ja um lokale Accounts welche auf dem Server liegen :/

ich hoffe ich tue nichts böses wenn ich dir kurz das hier mal zeige:
http://www.administrator.de/index.php?content=51551

damit gehts aber auch nicht :/

sry dass ich so "stur" bin aber ich hatte diese Lück früher auch shcon geschlossen und alles weitere ging.
Habe eben auch eine Rohinstallation durch geführt also dort ist es auch von Werk aus :/





Mit Hmailserver schaut es so aus, und funktioniert:
mail from:<marco@it-schuth.net>
250 OK
rcpt to:<marco@it-schuth.net>
530 SMTP authentication is required.

:/


----------



## Till (20. Okt. 2009)

Das Emailprotokoll sieht keine Verifizierung von Absenderadressen vor. Lies die RFC's, wenn Du es mir nicht glaubst. Wenn Du eine Authentifizirung beim Empfang von lokal vorhandenen Accounts einrichten würdest, dann musst Du jedem der Dir eine Email zusenden will auch vorher Dein SMTP Passwort zusenden  Dein Server ist also komplett in Ordnung und kein offenes Relay.

Wenn Du weitere postfix spamfilter Tests einrichten willst, dann kasst Du Dir das hier ja mal ansehen:

http://www.postfix.org/uce.html#reject_sender_login_mismatch


----------



## sence123 (20. Okt. 2009)

*niceeeeeee*

Vielen Dank, genau das war es, was ich gesucht habe :- )

nun wird es korrekt geprüft 

vielen Dank nochmal


----------



## evel (17. Nov. 2009)

super, hatte das gleiche problem und hab hier prima hilfe gefunden!


----------

