# Server absichern - Postfix



## joachim84 (21. März 2011)

Hallo,

ich habe von einem bekannten der wirklich 0 Ahnung von PC hat einen ROOT-Server von Strato am Wochenende angeschaut und gesehen das massig Postfix-Meldungen in der mail.info im Verzeichnis /var/log/ stehen.

Zudem ist es im Moment noch leider so, dass ich mich bisher nur mit Windows beschäftigt habe und dies komplett neues Terraint ist. Dennoch möchte ich mich mit dem Thema auseinandersetzen und auch darin wachsen. Irgendwo muss halt der erste Schritt gemacht werden.

So wie es aussieht wird im Moment der Server für SPAM benutzt. Dies möchte ich verhindern bzw. blocken. Folgende Einträge sind in der Logdatei vorhanden:


```
Mar 21 10:13:38 h1801987 postfix/error[23652]: 742F9D1540B: to=<simonbbs@yahoo.com.tw>, relay=none, delay=65082, delays=64735/345/0/2.6, dsn=4.7.0, status=deferred (delivery temporarily suspended: host mx1.mail.tw.yahoo.com[203.188.197.119] refused to talk to me: 421 4.7.0 [TS01] Messages from xx.xxx.xxx.xxx temporarily deferred due to user complaints - 4.16.55.1; see http://postmaster.yahoo.com/421-ts01.html)
```

Wie kann ich dies verhindern? Es sind tausende Einträge vorhanden und sekündlich kommen massig dazu.

Vielen Dank & Liebe Grüße

Joachim84


----------



## Bratkartoffel (21. März 2011)

Hi joachim84 und herzlich Willkommen hier bei tutorials.de 

Es sieht so aus, als ob der Server als offenes Mail-Relay verwendet wird.
Jetzt stellt sich natürlich die Frage, wie lange das schon so ist.

Als erstes würde ich jetzt erstmal den Mailserver beenden (/etc/init.d/postfix stop). Denn je länger dein Server so offen steht, desto wahrscheinlicher ist es, dass er auf eine Blacklist kommt und dann bald gar nichts mehr versenden kann.

Dann würde ich die Config vom Postfix soweit anpassen, dass dieser keine nicht authentifizierten Mails mehr weiterleitet. Die Config liegt normalerweise unter "/etc/postfix/main.cf".

Hier mal ein paar Werte von meinem Mailserver. Ob wirklich alle notwendig sind, kann ich dir nicht sagen, aber von meinem Server wird kein Spam verschickt  


```
mynetworks = 127.0.0.0/8 [::1]/128

smtpd_recipient_restrictions = reject_invalid_hostname,
      reject_rbl_client sbl.spamhaus.org,
      permit_mynetworks,
      permit_sasl_authenticated,
      reject_unknown_recipient_domain,
      reject_unauth_destination
smtpd_helo_restrictions = reject_invalid_helo_hostname,
      reject_non_fqdn_helo_hostname,
      reject_unknown_helo_hostname
```

Nachdem du diese Werte dann eingetragen hast, dann kannst mit "/etc/init.d/postfix start" den Server wieder starten und mit "tail -n0 -f /var/log/mail.info" das Logbuch verfolgen ob sich was geändert hat.

Gruß
BK


----------



## joachim84 (21. März 2011)

Hallo Bratkartoffel,

vielen Dank für Deine Antwort. Habe die Anweisungen so umgesetzt. Jedoch habe ich vorher die mail.info Datei gelöscht, da diese so riesig war. Jedoch wird jetzt keine mehr erstellt. Habe dann manuell eine Datei mit dem Namen erstellt, jedoch wird diese nicht gefüllt.

Was habe ich damit falsch gemacht? Wenn doch diese Datei dafür benutzt wird, wieso wird diese dann nicht vom System automatisch erstellt und dort rein geschrieben?

Vielen Dank & Liebe Grüße

Joachim84


----------



## Bratkartoffel (21. März 2011)

Hi,

die mail.info wird nicht direkt vom postfix befüllt, sondern von deinem sog. Syslog-Daemon.
Starte diesen mal neu:

```
invoke-rc.d rsyslog reload
# oder:
/etc/init.d/rsyslog reload
```
Das diese Datei nicht einfach neu erstellt wird liegt daran, dass der Syslog-Daemon noch die Datei geöffnet hat. Du hast diese zwar gelöscht, aber der schreibt immer noch in die alte Datei rein.
Mit dem obigen Befehl sorgst du dafür, dass der Syslog-Daemon die Logfiles neu öffnet und ggf. auch erstellt.

Gruß
BK


----------



## joachim84 (21. März 2011)

Hallo,

vielen Dank für die Antwort. Jedoch bei beiden Befehlen sagt er, dass rsyslog bzw. invoke-rc.d nicht gefunden werden kann (command not found).

Ich habe eine Anwendung mit dem Namen syslog gefunden, jedoch wenn ich diese aufrufe, sagt er dass er auch diese nicht findet, obwohl die auch grün ist.

rsyslogd sagt er wäre "already running" wenn ich den reload machen möchte, scheint das nicht der befehl dafür zu sein weil er ihn nicht neu startet.

Was jetzt?

Vielen Dank & Liebe Grüße

Joachim84


----------



## Bratkartoffel (21. März 2011)

Hi,

welche Distribution verwendest du? Debian? Ubuntu? Suse?

Gruß
BK


----------



## joachim84 (21. März 2011)

Das Ding sagt immer mal wieder in irgendwelchen Verzeichnissen etwas von SuSE ...
Aber irgendwie ist das eine ganz komische Version weil die Dateien nicht da liegen, wo sie sein sollten, zumindest erscheint mir dies so.
Bin ja froh das die Pfadangaben mit Postfix gestimmt haben.

Es scheint aber SuSE zu sein.

Habe mal /etc/init.d/syslog eingegeben da hat er mir optionen angezeigt.
Aber wieso er es nicht akzeptiert hat als ich im init.d verzeichnnis war weiß ich nicht.
Auf jeden Fall läuft das mit der Logfile jetzt wieder. 

Liebe Grüße

Joachim84


----------



## joachim84 (21. März 2011)

Bratkartoffel hat gesagt.:


> Als erstes würde ich jetzt erstmal den Mailserver beenden (/etc/init.d/postfix stop).
> Dann würde ich die Config vom Postfix soweit anpassen, dass dieser keine nicht authentifizierten Mails mehr weiterleitet. Die Config liegt normalerweise unter "/etc/postfix/main.cf".
> Hier mal ein paar Werte von meinem Mailserver.
> 
> ...


 
Hallo BK,

wie schon geschrieben hatte ich alle Einstellungen wie von Dir angegeben geändert. Leider führt dies nicht zum gewünschten Erfolg. Noch immer kommen massig E-Mails an. Die Logdatei wird binnen Sekunden mehrere MB groß.


```
Mar 21 16:35:49 h1801987 postfix/qmgr[7558]: D500A2089B51: from=<tdcrtpfkjliihh@ms34.hinet.net>, size=6162, nrcpt=38 (queue active)
...
Mar 21 16:35:49 h1801987 postfix/error[9919]: 0A71E208A147: to=<nanusee@yahoo.com.tw>, relay=none, delay=94770, delays=94723/47/0/0.13, dsn=4.7.0, status=deferred (delivery temporarily suspended: host mx1.mail.tw.yahoo.com[203.188.197.119] refused to talk to me: 421 4.7.0 [TS01] Messages from xxx.xxx.xxx.xxx temporarily deferred due to user complaints - 4.16.55.1; see http://postmaster.yahoo.com/421-ts01.html)
```

Fällt Dir noch ein weiterer Punkt ein, wie das Problem in den Griff zu bekommen geht? Hat das was mit Relay zu tun? Kann man über die Authentifizierung was machen?

Vielen Dank & Liebe Grüße

Joachim84


----------



## Bratkartoffel (21. März 2011)

Hi,

joa, du könntest den postfix so einstellen, dass er keine Mails von aussen mehr annimmt.
Wie das geht kannst du hier nachlesen.

Gruß
BK


----------



## joachim84 (21. März 2011)

Hallo BK,

den Punkt werde ich zuerst mal befolgen, jedoch ist das Problem ebenfalls, dass der Besitzer Rootserver + Domain inkl. E-Mail haben möchte.

Heißt, dass früher oder später E-Mails von außen akzeptiert werden müssen.
Wie sieht es denn mit dem Thema Relay oder Authentifizierung aus? Kannst Du mir dafür ein paar Tipps bzw. Links nennen?

Vielen Dank & Liebe Grüße

Joachim84


----------



## Bratkartoffel (22. März 2011)

Guten Morgen joachim84,

ich habe bei meinem Rootserver auch postfix zum Versand, und Dovecot zum Abrufen der Mails via IMAP eingerichtet. Wenn ich mich richtig erinnere, dann hab ich eines der folgenden Tutorials hergenommen und halt ein paar Kleinigkeiten an meine Bedürfnisse angepasst:

http://www.debianadmin.com/debian-mail-server-setup-with-postfix-dovecot-sasl-squirrel-mail.html
http://adomas.org/2006/08/postfix-dovecot/

Als Web-Frontend hab ich mir Roundcube Webmail geholt (gibt es hier), bin mit dem sehr zufrieden.

Gruß
BK


----------

