PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spamversuche unterbieten



blabub
06.03.07, 13:36
Guten Tag


Seit 2 Tage versuch irgendjemand mit Gewalt Spam ueber meinen Rootserver zu verschicken. Durch kommt er zwar nicht, aber es nervt mich, dass sich meine Logfiles ins unendliche aufblaehen weil er es immer und immer wieder versucht.


Log:


postfix/smtpd[5313]: warning: Illegal address syntax from unknown[222.122.12.123] in MAIL command:<atmpXXlt@88.198.143.12>


Kann ich diese Person irgendwie dauerhaft raussperren? Anhand der IP? Automatisiert waere perfekt.


Fail2Ban greifft irgendwie nicht zu und laesst den Typen freudig weiter spielen.:rolleyes:

sysop
06.03.07, 13:53
http://www.linux-club.de/viewtopic.php?t=33232&highlight=skkill

lkäuft bei mir für alles mögliche, ssh, mail etc...
es werden logfiles nach bestimmten begriffen durchforstet und die dahinter stehende ip wird bei bedarf für eine bestimmte zeit geblocked.

Apoll
06.03.07, 14:30
Kann ich diese Person irgendwie dauerhaft raussperren? Anhand der IP? Automatisiert waere perfekt.


Klar - ein paar Schichten weiter unten im OSI-Modell durch iptables beispielsweise.
Du könntest allerdings auch eine abuse-Mail an den Provider der IP-Adresse schicken.

blabub
06.03.07, 16:01
Hallo


Danke fuer den Tipp, gefaellt mir. :)
Nur scheint es nicht so seinen Dienst zu machen, die IP wird zwar auf iptables aufgefuehrt, aber sobald ich wieder verbinde komm ich ohne probleme drauf und er will mich nochmals blocken. :ugly:

RichieX
06.03.07, 19:33
fail2ban (http://fail2ban.sourceforge.net/) kann das auch.

RichieX

blabub
07.03.07, 08:19
http://www.ripe.net/perl/whois?form_type=simple&full_query_string=&searchtext=222.122.12.121

wem soll ich jetzt ne eMail schreiben?:rolleyes:



Fail2Ban greifft nicht wirklich zu, hab es jetzt zick mal (um)konfiguriert, aber immer das selbe.


Und Skkill macht mir zwar Regeln aber die greiffen dafuer nicht. :ugly:


Edit: Ok, skkill geht jetzt, musste eine kleine Korrektur am Programm vornehmen. Da meine Firewall sonst nicht mit machen wollte.



sprintf(blockstring,"iptables -A INPUT -s %s -j DROP\n",ip);


Mit



sprintf(blockstring,"iptables -I INPUT -s %s -j DROP\n",ip);


ersetzt. Da sonst die anderen Regeln zuerst greifen und es gar nicht bis dort unten abgearbeitet wird.

eule
07.03.07, 09:43
http://www.ripe.net/perl/whois?form_type=simple&full_query_string=&searchtext=222.122.12.121

wem soll ich jetzt ne eMail schreiben?:rolleyes:

Ist doch klar: IANA:D


Fail2Ban greifft nicht wirklich zu, hab es jetzt zick mal (um)konfiguriert, aber immer das selbe.
Und Skkill macht mir zwar Regeln aber die greiffen dafuer nicht. :ugly:
Wenn du 0.0.0.0 - 255.255.255.255 blockst, bekommst du garantiert keinen Spam mehr:ugly:

Du brauchst diese Webseiten nicht. Das kann dein System besser und schneller abfragen:


$ whois 222.122.12.121
Process query: '222.122.12.121'
Query recognized as IPv4.
Querying whois.apnic.net:43 with whois.

% [whois.apnic.net node-1]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html

inetnum: 222.96.0.0 - 222.122.255.255
netname: KORNET
descr: KOREA TELECOM
descr: Network Management Center
country: KR
admin-c: DL248-AP
tech-c: GK40-AP


Eine Mail in die Gegend duerfte recht sinnlos sein.


Kann ich diese Person irgendwie dauerhaft raussperren? Anhand der IP? Automatisiert waere perfekt.

Das laesst sich nicht einmal aufloesen.


$ host 222.122.12.123
Host 123.12.122.222.in-addr.arpa not found: 3(NXDOMAIN)

Wenn das ueberhaupt stimmt, ist es wahrscheinlich eine Einwahladresse. Das ist wohl ein verwurmtes Windows.
Von diesen automatischen Blockern halte ich nichts, man kann sich damit sehr gut selbst in den Fuss schiessen.
Wenn dein Root eine private Spielwiese ist (keine Kunden), kannst du ja KORNET komplett aussperren. Bei Supportanfragen an einen koreanischen Hersteller kann sowas natuerlich Probleme machen.

blabub
07.03.07, 10:14
Ist doch klar: IANA:D

Wenn du 0.0.0.0 - 255.255.255.255 blockst, bekommst du garantiert keinen Spam mehr:ugly:

Du brauchst diese Webseiten nicht. Das kann dein System besser und schneller abfragen:


$ whois 222.122.12.121
Process query: '222.122.12.121'
Query recognized as IPv4.
Querying whois.apnic.net:43 with whois.

% [whois.apnic.net node-1]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html

inetnum: 222.96.0.0 - 222.122.255.255
netname: KORNET
descr: KOREA TELECOM
descr: Network Management Center
country: KR
admin-c: DL248-AP
tech-c: GK40-AP


Eine Mail in die Gegend duerfte recht sinnlos sein.

Das laesst sich nicht einmal aufloesen.


$ host 222.122.12.123
Host 123.12.122.222.in-addr.arpa not found: 3(NXDOMAIN)

Wenn das ueberhaupt stimmt, ist es wahrscheinlich eine Einwahladresse. Das ist wohl ein verwurmtes Windows.
Von diesen automatischen Blockern halte ich nichts, man kann sich damit sehr gut selbst in den Fuss schiessen.
Wenn dein Root eine private Spielwiese ist (keine Kunden), kannst du ja KORNET komplett aussperren. Bei Supportanfragen an einen koreanischen Hersteller kann sowas natuerlich Probleme machen.

Naja die IP Adresse ist nur 1 Stunde gesperrt, daher darf er wieder einen Versuch machen.:ugly:

Der Rootserver ist nicht an Kunden gebunden, laufen nur meine eigenen Dienste drauf. Daher sind mir die Haende nicht so gebunden.



Danke noch fuer den whois hinweis, wusste ich nicht.:)


*langsam deutsch verlernt*

RichieX
07.03.07, 20:10
Fail2Ban greifft nicht wirklich zu, hab es jetzt zick mal (um)konfiguriert, aber immer das selbe.

Also bei läuft das wunderbar. Configs?

RichieX

blabub
02.04.07, 13:30
Edit 2:

Zum Teil verstehe ich Software nicht, heute fail2ban gestartet und es laeuft. Oo


Edit:

Problem unten geloest, lag an actions wo wirklich fehlerhaft war und das nennt sich Standardkonfiguration. Oo

Neuer Fehler:



2007-04-02 14:43:35,199 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,199 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,199 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,199 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,199 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,199 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,200 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,200 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,200 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,200 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,200 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,200 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,200 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,200 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,201 fail2ban.filter : ERROR No failregex is set
2007-04-02 14:43:35,201 fail2ban.filter : ERROR No failregex is set



Laut fail2ban wird aber failregex genommen:




fail2ban-client -d
['set', 'loglevel', 3]
['set', 'logtarget', '/var/log/fail2ban.log']
['add', 'postfix', 'polling']
['set', 'postfix', 'addlogpath', '/var/log/mail.info']
['set', 'postfix', 'maxretry', 2]
['set', 'postfix', 'addignoreip', '127.0.0.1']
['set', 'postfix', 'findtime', 10]
['set', 'postfix', 'bantime', 600]
['set', 'postfix', 'failregex', 'reject: RCPT from (.*)\\[<HOST>\\]: 554\nconnect from unknown [<HOST>]\nwarning: Illegal address syntax from unknown[<HOST>]\nNOQUEUE: reject: RCPT from unknown[<HOST>]']
['set', 'postfix', 'ignoreregex', '']
['set', 'postfix', 'addaction', 'iptables']
['set', 'postfix', 'actionban', 'iptables', 'iptables -I fail2ban-<name> 1 -s <ip> -j DROP']
['set', 'postfix', 'actionstop', 'iptables', 'iptables -D INPUT -p <protocol> --dport <port> -j fail2ban-<name>\niptables -F fail2ban-<name>\niptables -X fail2ban-<name>']
['set', 'postfix', 'actionstart', 'iptables', 'iptables -N fail2ban-<name>\niptables -A fail2ban-<name> -j RETURN\niptables -I INPUT -p <protocol> --dport <port> -j fail2ban-<name>']
['set', 'postfix', 'actionunban', 'iptables', 'iptables -D fail2ban-<name> -s <ip> -j DROP']
['set', 'postfix', 'actioncheck', 'iptables', 'iptables -L INPUT | grep -q fail2ban-<name>']
['set', 'postfix', 'setcinfo', 'iptables', 'protocol', 'tcp']
['set', 'postfix', 'setcinfo', 'iptables', 'name', 'postfix']
['set', 'postfix', 'setcinfo', 'iptables', 'port', 'smtp']
['add', 'ssh', 'polling']
['set', 'ssh', 'addlogpath', '/var/log/auth.log']
['set', 'ssh', 'maxretry', 6]
['set', 'ssh', 'addignoreip', '127.0.0.1']
['set', 'ssh', 'findtime', 10]
['set', 'ssh', 'bantime', 600]
['set', 'ssh', 'failregex', 'Authentication failure for .* from <HOST>\nFailed [-/\\w]+ for .* from <HOST>\nROOT LOGIN REFUSED .* FROM <HOST>\n[iI](?:llegal|nvalid) user .* from <HOST>']
['set', 'ssh', 'ignoreregex', '']
['set', 'ssh', 'addaction', 'iptables']
['set', 'ssh', 'actionban', 'iptables', 'iptables -I fail2ban-<name> 1 -s <ip> -j DROP']
['set', 'ssh', 'actionstop', 'iptables', 'iptables -D INPUT -p <protocol> --dport <port> -j fail2ban-<name>\niptables -F fail2ban-<name>\niptables -X fail2ban-<name>']
['set', 'ssh', 'actionstart', 'iptables', 'iptables -N fail2ban-<name>\niptables -A fail2ban-<name> -j RETURN\niptables -I INPUT -p <protocol> --dport <port> -j fail2ban-<name>']
['set', 'ssh', 'actionunban', 'iptables', 'iptables -D fail2ban-<name> -s <ip> -j DROP']
['set', 'ssh', 'actioncheck', 'iptables', 'iptables -L INPUT | grep -q fail2ban-<name>']
['set', 'ssh', 'setcinfo', 'iptables', 'protocol', 'tcp']
['set', 'ssh', 'setcinfo', 'iptables', 'name', 'ssh']
['set', 'ssh', 'setcinfo', 'iptables', 'port', '45783']
['start', 'postfix']
['start', 'ssh']


Tag zusammen


Skkill haengt sich bei mir iwi jeden Tag auf, was nicht gerade toll ist, da dachte ich ein Versuch mit fail2ban kann nicht schaden.


Gut, die alten Configs wieder genommen und jetzt gibt der nur noch Fehler aus.




fail2ban-client -d
WARNING 'findtime' not defined in 'proftpd'. Using default value
WARNING 'action' not defined in 'proftpd'. Using default value
ERROR Error in action definition
ERROR Errors in jail 'proftpd'. Skipping...
WARNING 'findtime' not defined in 'postfix'. Using default value
WARNING 'action' not defined in 'postfix'. Using default value
ERROR Error in action definition
ERROR Errors in jail 'postfix'. Skipping...
WARNING 'findtime' not defined in 'ssh'. Using default value
WARNING 'action' not defined in 'ssh'. Using default value
ERROR Error in action definition
ERROR Errors in jail 'ssh'. Skipping...
['set', 'loglevel', 3]
['set', 'logtarget', '/var/log/fail2ban.log']



jail.conf



# Fail2Ban configuration file.
#
# This file was composed for Debian systems from the original one
# provided now under /usr/share/doc/fail2ban/examples/jail.conf
# for additional examples.
#
# To avoid merges during upgrades DO NOT MODIFY THIS FILE
# and rather provide your changes in /etc/fail2ban/jail.local
#
# Author: Yaroslav O. Halchenko <debian@onerussian.com>
#
# $Revision: 281 $
#

# The DEFAULT allows a global definition of the options. They can be override
# in each jail afterwards.

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1
bantime = 600
maxretry = 2

# "backend" specifies the backend used to get files modification. Available
# options are "gamin", "polling" and "auto".
# yoh: For some reason Debian shipped python-gamin didn't work as expected
# This issue left ToDo, so polling is default backend for now
backend = polling

#
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
destemail = bla@domain.endung

# Default action to take: ban only
#action = iptables[name=%(__name__)s, port=%(port)s]

# Following actions can be chosen as an alternatives to the above action.
# To activate, just copy/paste+uncomment chosen 2 (excluding comments) lines
# Default action to take: ban & send an e-mail with whois report
# to the destemail.
# action = iptables[name=%(__name__)s, port=%(port)s]
# mail-whois[name=%(__name__)s, dest=%(destemail)s]

# Default action to take: ban & send an e-mail with whois report
# and relevant log lines to the destemail.
action = iptables[name=%(__name__)s, port=%(port)s]
mail-whois-lines[name=%(__name__)s, dest=%(destemail)s, logpath=%(logpath)s]

# Next jails corresponds to the standard configuration in Fail2ban 0.6
# which was shipped in Debian. Please enable any defined here jail by including
#
# [SECTION_NAME]
# enabled = true
#
# in /etc/fail2ban/jail.local.
#

[ssh]

enabled = true
port = 45783
filter = sshd
logpath = /var/log/auth.log
maxretry = 3


[proftpd]

enabled = true
port = ftp
filter = proftpd
logpath = /var/log/ftp_auth.log
maxretry = 3


[postfix]

enabled = true
port = smtp
filter = postfix
logpath = /var/log/mail.info



fail2ban.conf



# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision: 412 $
#

[Definition]

# Option: loglevel
# Notes.: Set the log level output.
# 1 = ERROR
# 2 = WARN
# 3 = INFO
# 4 = DEBUG
# Values: NUM Default: 3
#
loglevel = 3

# Option: logtarget
# Notes.: Set the log target. This could be a file, SYSLOG, STDERR.
# Values: STDERR SYSLOG file Default: /var/log/fail2ban.log
#
logtarget = /var/log/fail2ban.log

# Option: socket
# Notes.: Set the socket file. This is used to communication with the
# daemon.
# Values: FILE Default: /tmp/fail2ban.sock
#
socket = /tmp/fail2ban.sock



postfix.conf



# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision: 510 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "<HOST>" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>\S+)
# Values: TEXT
#
failregex = reject: RCPT from (.*)\[<HOST>\]: 554
connect from unknown [<HOST>]
warning: Illegal address syntax from unknown[<HOST>]
NOQUEUE: reject: RCPT from unknown[<HOST>]

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =

blabub
10.04.07, 08:18
Ich weiss hochschieben sollte man nicht, aber ich hab immer nur Edits gemacht und vlt. entging es ja den potentielen Helfern. ;)


Fail2Ban geht so weit, jedenfalls blockt es ssh zugriffe perfekt, nur postfix will nicht. Die unten aufgeführten Kriterien werden mehrmals innert Minuten erfüllt an sich, aber ein Ban folgt nicht.

Ich bin mir nicht ganz sicher ob failregex-Optionen so richtig sind.


postfix.conf


# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision: 510 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "<HOST>" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>\S+)
# Values: TEXT
#
failregex = reject: RCPT from (.*)\[<HOST>\]: 554
connect from unknown [<HOST>]
warning: Illegal address syntax from unknown[<HOST>]
NOQUEUE: reject: RCPT from unknown[<HOST>]

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =

blabub
11.04.07, 09:09
Problem gelöst:

1. Man muss eine Version >= 0.7.6 haben, damit es mehrere Regex nimmt, war bei mir nicht der Fall.


2. Ein paar kleine Anpassungen waren nötig:



failregex = reject: RCPT from (.*)\[<HOST>\]: 554
connect from (.*)\[<HOST>\]
warning: Illegal address syntax from (.*)\[<HOST>\]
NOQUEUE: reject: RCPT from (.*)\[<HOST>\]



Vlt. hilft es ja jemandem. :)