• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

postfix / sasl - Problem (SPAMMER)

Status
Für weitere Antworten geschlossen.
Hallo,

ich habe ein relativ großes Problem auf meinem Server:

SuSE 9.1 mit postfix und saslauthd 2.1.18

Die Authentifizierung funktioniert soweit einwandfrei (d.h. der Client [z.B. Outlook / Express] muss sich am Postausgangsserver anmelden um Mails verschicken zu können. So soll es ja auch sein.)

Allerdings verschickt seit gestern jemand unberechtigterweise Mails über den Server.

Folgende Zeile steht im Logfile:
Jan 5 14:01:23 poseidon postfix/smtpd[29853] 5F093244E1 client="ein Provider aus Brasilien" sasl_method=LOGIN, sasl_username=webmaster

Wenn ich mit sasldblistusers2 die angelegten User prüfe, gibt es aber keinen User "webmaster"....

Wie / warum kann sich jemand mit einem nicht existierenden User anmelden und Mails verschicken?

Und die wichtigste Frage: Wie kann ich das ganze verhindern?

Ich hoffe es hat jemand eine Idee - ich habe keine mehr....


Mfg

Stefan Schuster
 

crazyrolf

Advanced Hacker
Hallo,

1. poste mal deine main.cf
2. Dann noch wie dein Rechner heißt.

3. Wichtig sind noch die IPs, die über deinen Server Mails versenden dürfen.
4. Wie ist dein Rechner angeschlossen? z.B. 2 Netzwerkkarten?

Das Problem lässt sich lösen!

Gruß Crazy
 
OP
I

ISSchuster

Newbie
Hallo crazyrolf,

1. main.cf folgt am Ende...
2. poseidon
3. Es sind eigentlich keine speziellen IPs freigeschaltet. Senden darf, wer sich vorher authentifiziert. (per sasl)
4. Der Rechner hat 2 Netzwerkkarten (und 2 IPs)

zu 1. die main.cf
#
# Postfix MTA Manager Main Configuration File;
#
# Please do NOT edit this file manually;
#

#
# Postfix directory settings; These are critical for normal Postfix MTA functionallity;
#

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

#
# Some common configuration parameters;
#

inet_interfaces = all
mynetworks_style = host

myhostname = poseidon
mydomain = localhost.local
myorigin = $mydomain

smtpd_banner = $myhostname VHCS2 2.0 (Tangra) Managed ESMTP 2.0
setgid_group = maildrop

#
# Receiving messages parameters;
#

mydestination = $myhostname, $mydomain
append_dot_mydomain = no
append_at_myorigin = yes
local_transport = local
virtual_transport = virtual
transport_maps = hash:/etc/postfix/vhcs2/transport

#
# Delivering local messages parameters;
#

mail_spool_directory = /var/mail
mailbox_size_limit = 0
mailbox_command = procmail -a "$EXTENSION"

biff = no

alias_database = hash:/etc/aliases

local_destination_recipient_limit = 1
local_recipient_maps = unix:passwd.byname $alias_database

#
# Delivering virtual messages parameters;
#

virtual_mailbox_base = /var/mail/virtual
virtual_mailbox_limit = 0

virtual_mailbox_domains = hash:/etc/postfix/vhcs2/domains
virtual_mailbox_maps = hash:/etc/postfix/vhcs2/mailboxes

virtual_alias_maps = hash:/etc/postfix/vhcs2/aliases

virtual_minimum_uid = 1004
virtual_uid_maps = static:1004
virtual_gid_maps = static:12
smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

smtpd_sasl_local_domain = poseidon

broken_sasl_auth_clients = yes

smtpd_delay_reject = yes

smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination

content_filter = smtp-amavis:[127.0.0.1]:10024


Wäre echt super, wenn du eine Idee hast.... Ich bin am Ende.....

Mfg

Stefan Schuster
 

crazyrolf

Advanced Hacker
als erstes sollte dieser Eintrag nicht fehlen!

"mynetworks = 192.168.2.0/24, 127.0.0.0/8"

IPs musst du anpassen.
Er bewirkt das nur Benutzer dieses Netzwerkes auf deinem Rechner Mails senden dürfen.
Das reicht aber noch nicht.

"smtpd_sasl_security_options = noanonymous, noplaintext"

verhindert Authentifizierungsmethoden, wobei das Passwort unverschlüsselt übertragen wird.

"smtpd_sasl_auth_enable = yes"

schaltet auth ein.

"inet_interfaces = all"

ändern
inet_interfaces = 127.0.0.0/8,(z.B.)192.168.2.100/24 IP deiner internen Karte die Mails annehmen soll.

wenn da "all" steht nimmt dein Rechner auch Mails von Außen an, genau das willst du ja nicht.

proxy_interfaces = IP deiner Routers

somit gehört dein Router nicht zum internen Netz und Mail die von außen kommen werden nicht angenommen.

So hoffe das hilft erst mal weiter.

Gruß Crazy
 
OP
I

ISSchuster

Newbie
Hallo crazyrolf,

vielen Dank für deine Tips.

Eine paar Fragen habe ich aber vorher noch:
Das ganze ist ein "richtiger" Webserver und steht im RZ. Der Rechner muss also auch Mails von außen annehmen - sonst können meine Kunden ja keine Mails mehr über den Server schicken, oder?

Beim Punkt proxy_interfaces trage ich dann den Gateway ein, oder wie? (Router habe ich dort ja keinen...)

Und was trage ich bei mynetworks ein? (Nur die externe IP?) Ich will ja nicht das ganze Subnetz im Rechnenzentrum "freischalten".
Interne IPs hat der Rechner keine...

Irgendwie steige ich da momentan nicht so ganz durch...

Danke nochmal für deine Hilfe.

Mfg

Stefan Schuster
 

crazyrolf

Advanced Hacker
ooohhhhhhhhhh halt stop nix machen.

wenn du mails von außen annehmen musst warte mal.
alles anders........ fast.

crazy
 

crazyrolf

Advanced Hacker
dein rechner heißt "poseidon.localhost.local"

der nimmt von außen mails an??????????

dann wird doch wohl von anderer stelle auf diesen rechner geroutet oder?

das muss ich etwas genauer haben.

mails kommen mails gehen, aber welchen weg?

crazy
 
OP
I

ISSchuster

Newbie
Der Rechner hatte zum Test schon verschiedene Namen....

In der sasl-DB sind die Benutzer gespeichert.
z.B.
info@domain.de
info@domain.at
usw.
(Das Admin-Tool legt die Accounts so an, dass der Benutzername die E-Mail-Adresse ist...)

Nun hatte ich festgestellt, dass sich jemand über webmaster@domain.de authentifiziert. (Wobei dieser Benutzer nicht in der Datenbank vorhanden ist.)
Ich habe mich dann mal mit dem Rechnernamen "gespielt". Und wenn ich den Rechner umbenenne loggt er sich eben über den "neuen" Namen ein. Momentan erfolgt der Zugriff über den Benutzernamen webmaster@poseidon....

Der Empfang und Versand von Mails funktioniert soweit problemlos.

Der Relay-Test unter http://www.abuse.net/relay.html sagt, dass alles OK ist und keine relays akzeptiert werden...

Was verstehst du unter "von anderer stelle auf den Rechner geroutet"?

Ich finde das alles ziemlich komisch... (Ach ja, ich habe auch den neuesten Patch für sasl eingespielt... Brachte auch nichts...)

Mfg

Stefan Schuster
 
OP
I

ISSchuster

Newbie
Ich habe schon versucht den Benutzer anzulegen und ein Passwort zu vergeben... Brachte nur leider nichts....

Wie kann ich den sonst noch sprerren? (Kann ich mit postfix alle Anfragen mit diesem Benutzernamen "ausfiltern"?)


Mfg

Stefan Schuster
 

crazyrolf

Advanced Hacker
dazu müsstest du eine "check_sender_access" anlegen.
Einträge dazu kommen in die etc/postfix/access

dein eintrag in der main.cf würde dann so aussehen:
smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/access,
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination

Den Benutzer dann in der access mit einem REJECT belegen.
Auszug aus der access:
This feature is available in Postfix 2.1 and later.
#
# REDIRECT user@domain
# After the message is queued, send the message to
# the specified address instead of the intended
# recipient(s).
#
# Note: this action overrides the FILTER action, and
# currently affects all recipients of the message.

Nach dem Anlegen logo mit:
postmap /etc/postfix/access in db wandeln.
Postfix restart

Gruß Crazy
 
OP
I

ISSchuster

Newbie
Vielen Dank für die Hilfe aber das Problem lag woanders....

Es gibt anscheinend eine gravierende Sicherheitslücke in postfix 2.0.19.

Seit dem Update auf postfix 2.1.5 ist das Problem gelöst (zumindest ist das Problem seit dem Update nicht mehr aufgetreten).

Mfg

Stefan Schuster
 

crazyrolf

Advanced Hacker
na klasse, daran habe ich nicht gedacht.

war so ein schönes problem zum lösen :lol:

bis dann mal wieder

crazy
 
Status
Für weitere Antworten geschlossen.
Oben