PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : server schickt spam (postfix)



etech
09.05.07, 15:19
Hallo

Unser Webshop-Server hat seit letzte Woche angefangen spam zu verschicken und zwar ziemlich fleissig.

Was kann ich dagegen unternehmen? Habe schon einiges im Web gefunden und ausprobiert, aber offenbar nicht das richtige.

Der Server ist in der DMZ hinter der Firewall, darauf laufen zwei OSCommerce-Webshops, sonst nichts. Er soll keine Mails empfangen, nur die Bestellungsbestätigung.

hier noch der untere Teil vom main.cf:

inet_protocols = all
biff = no
mail_spool_directory = /var/mail
canonical_maps = hash:/etc/postfix/canonical
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains = hash:/etc/postfix/virtual
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical


local_transprot = error:local delivery is disabled

masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
myhostname = ***host.firmendomäne.com***
program_directory = /usr/lib/postfix
inet_interfaces = 127.0.0.1
masquerade_domains =
mydestination = $myhostname, localhost.$mydomain
myorigin = ***webshopdomänenname***
defer_transports =
mynetworks_style = subnet
disable_dns_lookups = no
relayhost = 10.10.0.254
mailbox_command =
mailbox_transport =
strict_8bitmime = no
disable_mime_output_conversion = no
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions =
smtpd_helo_required = yes
smtpd_helo_restrictions =
strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
smtp_sasl_auth_enable = no
smtpd_sasl_auth_enable = no
smtpd_use_tls = no
smtp_use_tls = no
alias_maps = hash:/etc/aliases
mailbox_size_limit = 0
message_size_limit = 1024000


Danke & Gruss
eTech

\\ Suse 10.1

zyrusthc
09.05.07, 15:23
Den Dienst unverzüglich abschalten !
Den Port tcp25 für SMTP nach aussen sperren! Stelle einfach in deinem Router ein das alle Pakete auf diesem Port von aussen ge DROP t werden...

Greeez Oli

RichieX
09.05.07, 18:06
Es ist natürlich auch möglich, dass die Web-Anwendung, hier Online-Shop, der Auslöser und die Quelle ist. Das evtl. mit abchecken!

RichieX

etech
10.05.07, 08:00
habe den dienst schon seit tagen unten, egal was ich einstelle wenn ich ihn starte fängt er an zu schicken.

wenn ich aber den smtp port 25 zu mache, dann kann ich gar nichts senden,
das ist aber nicht das gewollte, ich will dass postfix keine mails empfangen kann.
und nur die mails vom webshop schickt (bestätigunt)

der webshop sollte nicht der grund sein, da es auch auf dem alten server eingesetzt wurde. dort war postfix offenbar korrekt eingerichtet.

danke & gruss
eTech

drcux
10.05.07, 08:48
der webshop sollte nicht der grund sein

"sollte" ist nicht gut, prüfe das anhand der Logfiles genau!

etech
10.05.07, 08:50
ok, wonach soll ich suchen?
welche logfiles? /var/log/mail ?

$kuLL
10.05.07, 09:57
Verbiete doch mal probehalber den Zugriff auf das Webshopsystem über eine .htaccess Datei und schau, ob der Server immer noch SPAM versendet.

carstenj
10.05.07, 09:57
Hi,

das ist aber nicht das gewollte, ich will dass postfix keine mails empfangen kann.
wenn du Port 25 eingehend schließt, kann Postfix defintiv keine Mails mehr empfangen.

welche logfiles? /var/log/mail ?
Bist du der Admin von den Maschinen? Woher weisst du denn überhaupt, dass Spam verschickt wurde?

mamue
10.05.07, 10:34
Vielleicht möchtest Du einmal mitschreiben, woher die Mails stammen, die gesendet werden:


$IPTABLES -A INPUT -i $INTERNALIF -p tcp --dport 25 -j LOG --log-prefix "SMTP INPUT, OK"
$IPTABLES -A FORWARD -i $INTERNALIF -p tcp --dport 25 -j LOG --log-prefix "SMTP FORWARD"

Man könnte noch nur für den Fall der Fälle udp hinzunehmen, aber damit solltest Du zumindest ablesen können, wer eigentlich Mails verschickt und ob die wirklich über Deinen Postfix relayd werden.
Wenn das nicht reicht, dann mal nachschauen, ob etwas über das externe Interface reinkommt.

HTH,
mamue

P.S.: $INTERNALIF sollte entsprechend gesetzt werden, aber das weißt Du sicher selbst.

urias
10.05.07, 18:13
wenn Du postfix wieder startest, hast Du auch daran gedacht, vorher die queue zu leeren?

Nehmen wir mal theoretisch an, es läge am webshop, vielleicht hat dann wer über den soviele Mails abgesetzt, dass die postfix queue noch voll ist.
Er setzt dann sein Werk fort, sobald Du den Dienst wieder startest.

Nächste wichtige Frage wäre, was steht beim Spam im Absender, was sagen die Logdateien von Mailserver (postfix, unter debian mit in /var/log/syslog) und die entsprechenden apache logs?

lg
urias

etech
11.05.07, 07:31
hallo

jep, habe alles geleert und die incoming auch. den smtp port zugemacht, jetzt empfängt die maschine keine mails, kann nur senden, optimal.

werde aber übers wochenende die logfiles genauer anschauen.

danke & gruss
eTech

Jigsore
15.05.07, 20:51
Da es passend zu diesem Thread ist:

Habe im Moment ein ähnliches Problem.
- Postfix Server zum versenden, Relay ist mit Sicherheit nicht möglich.
- Postfix abgeschaltet, mailqueue läuft weiterhin voll
- Userkennung der verschickten Mails ist www-data was wohl nur auf den Webserver schliessen lässt da keine Mails mehr in Queue wandern, wenn ich diesen abschalte.

Ich bin nicht ganz unterbelichtet was die Administration eines Servers und Programmierung unter PHP angeht, aber ich frage mich, ob es einen relativ einfachen Weg gibt um herauszufinden über welches Webhosting diese Mails verschickt werden könnten?

RichieX
15.05.07, 20:56
Webserver log-Dateien?

RichieX

Jigsore
15.05.07, 21:15
Wenn es dort einen eindeutigen Hinweis geben würde, hätte ich die Frage natürlich nicht gestellt :)

Da dort viele, auch internationale Seiten, gehostet werden die dazu noch zum großen Teil sehr gut besucht sind, fällt hier eine Suche nach bestimmten IPs weg.

mamue
15.05.07, 22:50
Steht vor dem Webserver ein Reverse Proxy?

mamue

Jigsore
16.05.07, 23:31
Steht vor dem Webserver ein Reverse Proxy?

mamue
Nein.

Das Problem hat sich nun durch eine aufwendige Suche nach dem vermuteten Webformular erledigt.

Trotzdem wäre eine simplere Methode natürlich immer noch interessant :)

zyrusthc
17.05.07, 00:05
Nein.

Das Problem hat sich nun durch eine aufwendige Suche nach dem vermuteten Webformular erledigt.

Trotzdem wäre eine simplere Methode natürlich immer noch interessant :)

Für solch einen Zweck habe ich mir ein Script geschrieben , welches in einem angebenen Verzeichnis alle Dateien nach einem bestimmten String durchsucht, und dann den Dateiname und die Zeile ausgibt in der der String gefunden wurde.

bsp.

[zyrus@workstation:~/tmp] $ findstring.sh /etc/httpd "NameVirtualHost"
String gefunden in der Datei /etc/httpd/conf/vhosts.d/00_default_vhosts.conf in Zeile/n 37
141
String gefunden in der Datei /etc/httpd/conf/httpd.conf in Zeile/n 1090


Das Script könnt ihr hier Downloaden:
http://zyrusthc.homeip.net/include.php?src=http://zyrusthc.homeip.net/dlmanager/download.php?id=11

So kann man gezielt phpsoftware zb. nach mail() durchsuchen und gefährliche Forumulare finden.
Ist ausserdem ganz hilfreich manchmal beim Programmieren..

Greeez Oli

MiGo
17.05.07, 00:28
Für solch einen Zweck habe ich mir ein Script geschrieben , welches in einem angebenen Verzeichnis alle Dateien nach einem bestimmten String durchsucht, und dann den Dateiname und die Zeile ausgibt in der der String gefunden wurde.
Nettes Script - nur warum hast du nicht einfach "grep" genommen? Das kann das auch:

[ je@dionysos] /etc/apache2 (2,2G free) % grep -H -n host /etc/apache2/* -R
apache2.conf:17:# which responds to requests that aren't handled by a virtual host.
Treffer in apache2.conf in Zeile 17 :)

zyrusthc
17.05.07, 00:34
Währe auch ne Möglichkeit , mir ging es darum auch Mehrfachvorkommen eines Strings in einer Datei mit Zeilennummern anzuzeigen.

Jigsore
17.05.07, 01:42
Das war auch meine erste Idee, alles nach bestimmten Strings, z.B. mail(, bestimmten IP Bereichen etc. zu durchsuchen.

Das mag bei einem Server mit Besuchern fast nur z.B. aus Deutschland und/oder einer kleinen Anzahl an Hosts auch wunderbar funktionieren.
Nur wenn über 1000 Hostings mit internationalen Besuchern vorhanden sind und jede fünfte PHP Datei irgendwas rausmailt wird das zur Fummelarbeit.

MiGo
17.05.07, 11:31
Währe auch ne Möglichkeit , mir ging es darum auch Mehrfachvorkommen eines Strings in einer Datei mit Zeilennummern anzuzeigen.
Auch das macht grep ab Werk so.

[ je@dionysos] /etc/apache2 (2,2G free) % grep -H -n host apache2.conf
apache2.conf:17:# which responds to requests that aren't handled by a virtual host.
apache2.conf:19:# of all virtual hosts.
apache2.conf:20:# 3. Settings for virtual hosts, which allow Web requests to be sent to
...

MiGo
17.05.07, 11:33
Es gab hier auch gerade noch einen 2. Thread mit dem selben Thema; darin wurde empfohlen, doch einfach ein sendmail-Wrapper-script zu verwenden, das die versendende Domain in den Mail-Header mit aufnimmt.
Das würde eine künftige Suche wahrscheinlcih sehr vereinfachen.

zyrusthc
17.05.07, 11:33
Auch das macht grep ab Werk so.

Gut zu wissen , man lernt eben nie aus :D


Greeez Oli