Aller au contenu


Envoi de plaintes automatiques en cas de scan

spam abusespam abuse

  • Veuillez vous connecter pour répondre
10 réponses à ce sujet

#1 Spike

Spike

    Membre débutant

  • Membres
  • 8 messages

Posté 02 février 2014 - 16:19

Bonjour à tous !

Je fais juste un petit passage pour partager un script que j'ai écrit il y a quelques jours.
J'ai remarqué une forte augmentation des scans à la recherche de serveurs mails mal configurés ("open relays"). Les utilisateurs de Zimbra sont a priori protégés avec la configuration par défaut, mais je me suis dit que je mettrais bien un bâton dans les roues des spammeurs.

Les entrées suspectes dans le rapport quotidien ressemblent à ça :
message reject detail
---------------------
	RCPT
	  Relay access denied (total: 38)
		 5 ono.com
		3 190.5.230.178
		3 p578bd5ec.dip0.t-ipconnect.de
		3 nuvox.net
		3 63.115.40.56
		3 amos-traffic.co.uk
		2 charter.com
		2 static.sbb.rs
		2 bband-dyn112.178-41-177.t-com.sk
		2 119.73.152.205
		2 mtnbusiness.co.za
		1 201.203.3.10
		1 telesp.net.br
		1 rogers.com
		1 rr.com
		1 teksavvy.com
		1 cox.net
		1 rima-tde.net
		1 88.247.78.4

Un examen approfondi des logs me laisse penser que c'est la même personne qui est derrière toutes ces tentatives. J'avais commencé par envoyer des mails d'abuse manuels, mais j'ai vite réalisé que ça me prendrait un temps fou à chaque fois. J'ai donc décidé d'automatiser le tout afin que les ISP puissent prendre des mesures contre leurs clients belliqueux (s'ils le désirent). Le script suivant traverse les logs zimbra, identifie les lignes suspectes et envoie un joli rapport au contact "abuse" de l'IP identifiée.
#!/bin/bash

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.


MAIL_HEAD="Hello,\n
\n\
I have received suspicious connexion on port 25 from a machine located in your network.\n\
Here are the relevant postfix logs:\n"

MAIL_FOOT="\nOne of your computers may have been infected, or it is possible that one of your clients is up to no good.\n\
Could you please look into it?\n\
\n\
Regards,\n\
[My Name]"

for IP in `grep -i "relay access" /var/log/zimbra.log.1 |perl -ne '/from [A-Za-z0-9.-]+\[([0-9.]+)\]/ && print $1 . "\n"' |sort -u`
do
ABUSE_MAIL=`whois $IP |egrep -o "abuse[A-Za-z0-9.-]*@[A-Za-z0-9.-]+" |sort -u`
if [[ -n "$ABUSE_MAIL" ]]
then
	 echo -e $MAIL_HEAD > mail.tmp
	 grep $IP /var/log/zimbra.log.1 >> mail.tmp
	 echo -e $MAIL_FOOT >> mail.tmp
	 # Add "-b my@mail.tld" to mutt's arguments if you want to recieve a blind carbon copy of the sent e-mails.
	 mutt -e 'set from=my@mail.tld realname="My Name"' -s "SMTP abuse from $IP" $ABUSE_MAIL < mail.tmp
fi
done
rm -f mail.tmp

Pour que le script soit appelé tous les jours, il suffit d'éditer le script de rotation des logs de zimbra qui se trouve dans
/etc/logrotate.d/zimbra
:
/var/log/zimbra.log {
daily
missingok
notifempty
create 0644 syslog adm
compress
postrotate
	 /usr/sbin/service rsyslog restart >/dev/null || true
	 su - zimbra -c "/opt/zimbra/bin/zmswatchctl restart" > /dev/null 2>&1 || true
	 # -------- EDIT THIS --------
	 /path/to/abuse.sh || true
	 # ---------------------------
endscript
}
De cette manière, à chaque fois que les logs de Zimbra seront archivés, le script passera dessus juste avant qu'ils ne soient compressés. Pour finir, voici un simple exemple de mail généré :

Citation

Hello,

I have received suspicious connexion on port 25 from a machine located in your network.
Here are the relevant postfix logs:

Jan 31 19:27:02 atria postfix/smtpd[21972]: warning: hostname 88.247.78.4.static.ttnet.com.tr does not resolve to address 88.247.78.4: No address associated with hostname
Jan 31 19:27:02 atria postfix/smtpd[21972]: connect from unknown[88.247.78.4]
Jan 31 19:27:03 atria postfix/smtpd[21972]: NOQUEUE: filter: RCPT from unknown[88.247.78.4]: <test@live.com>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<test@live.com> to=<therichsheickc@yahoo.com> proto=ESMTP helo=<[192.168.2.33]>
Jan 31 19:27:03 atria postfix/smtpd[21972]: NOQUEUE: filter: RCPT from unknown[88.247.78.4]: <test@live.com>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<test@live.com> to=<therichsheickc@yahoo.com> proto=ESMTP helo=<[192.168.2.33]>
Jan 31 19:27:03 atria postfix/smtpd[21972]: NOQUEUE: reject: RCPT from unknown[88.247.78.4]: 554 5.7.1 <therichsheickc@yahoo.com>: Relay access denied; from=<test@live.com> to=<therichsheickc@yahoo.com> proto=ESMTP helo=<[192.168.2.33]>
Jan 31 19:27:03 atria postfix/smtpd[21972]: disconnect from unknown[88.247.78.4]
Jan 31 19:30:23 atria postfix/anvil[21974]: statistics: max connection rate 1/60s for (smtp:88.247.78.4) at Jan 31 19:27:02
Jan 31 19:30:23 atria postfix/anvil[21974]: statistics: max connection count 1 for (smtp:88.247.78.4) at Jan 31 19:27:02
Jan 31 22:15:21 atria postfix/smtpd[3430]: warning: hostname 88.247.78.4.static.ttnet.com.tr does not resolve to address 88.247.78.4: No address associated with hostname
Jan 31 22:15:21 atria postfix/smtpd[3430]: connect from unknown[88.247.78.4]
Jan 31 22:15:21 atria postfix/smtpd[3430]: NOQUEUE: filter: RCPT from unknown[88.247.78.4]: <test@live.com>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<test@live.com> to=<therichsheickc@yahoo.com> proto=ESMTP helo=<[192.168.2.33]>
Jan 31 22:15:21 atria postfix/smtpd[3430]: NOQUEUE: filter: RCPT from unknown[88.247.78.4]: <test@live.com>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<test@live.com> to=<therichsheickc@yahoo.com> proto=ESMTP helo=<[192.168.2.33]>
Jan 31 22:15:21 atria postfix/smtpd[3430]: NOQUEUE: reject: RCPT from unknown[88.247.78.4]: 554 5.7.1 <therichsheickc@yahoo.com>: Relay access denied; from=<test@live.com> to=<therichsheickc@yahoo.com> proto=ESMTP helo=<[192.168.2.33]>
Jan 31 22:15:22 atria postfix/smtpd[3430]: disconnect from unknown[88.247.78.4]
Jan 31 22:18:42 atria postfix/anvil[3432]: statistics: max connection rate 1/60s for (smtp:88.247.78.4) at Jan 31 22:15:21
Jan 31 22:18:42 atria postfix/anvil[3432]: statistics: max connection count 1 for (smtp:88.247.78.4) at Jan 31 22:15:21
Jan 31 22:43:40 atria postfix/smtpd[16701]: warning: hostname 88.247.78.4.static.ttnet.com.tr does not resolve to address 88.247.78.4: No address associated with hostname
Jan 31 22:43:40 atria postfix/smtpd[16701]: connect from unknown[88.247.78.4]
Jan 31 22:43:41 atria postfix/smtpd[16701]: NOQUEUE: filter: RCPT from unknown[88.247.78.4]: <test@live.com>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<test@live.com> to=<therichsheickc@yahoo.com> proto=ESMTP helo=<[192.168.2.33]>
Jan 31 22:43:41 atria postfix/smtpd[16701]: NOQUEUE: filter: RCPT from unknown[88.247.78.4]: <test@live.com>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<test@live.com> to=<therichsheickc@yahoo.com> proto=ESMTP helo=<[192.168.2.33]>
Jan 31 22:43:41 atria postfix/smtpd[16701]: NOQUEUE: reject: RCPT from unknown[88.247.78.4]: 554 5.7.1 <therichsheickc@yahoo.com>: Relay access denied; from=<test@live.com> to=<therichsheickc@yahoo.com> proto=ESMTP helo=<[192.168.2.33]>
Jan 31 22:43:41 atria postfix/smtpd[16701]: disconnect from unknown[88.247.78.4]
Jan 31 22:47:01 atria postfix/anvil[16703]: statistics: max connection rate 1/60s for (smtp:88.247.78.4) at Jan 31 22:43:40
Jan 31 22:47:01 atria postfix/anvil[16703]: statistics: max connection count 1 for (smtp:88.247.78.4) at Jan 31 22:43:40

One of your computers may have been infected, or it is possible that one of your clients is up to no good.
Could you please look into it?

Regards,
Ivan

Bref. Un petit truc qui ne coûte pas grand chose et qui, avec un volume suffisant de plaintes, pourrait bien faire perdre de précieuses machines aux spammeurs :)
Enjoy, et merci d'avoir lu !

#2 Zimbra Guy

Zimbra Guy

    Zimbra Jedi

  • Modérateurs
  • 5 134 messages
  • LocalisationPlanète Terre

Posté 03 février 2014 - 09:14

Merci pour cette contribution. I pin it ;)
Guy Carré, professionel certifié de Zimbra, Contributeur Zimbra
tel : (+33) 2 47 66 60 11 / mail : guy@netixia.fr
https://myzimbra.net / http://www.yaziba.net / http://www.netixia.fr / http://blog.yaziba.net/

#3 dominix

dominix

    Membre actif

  • Membres
  • PipPip
  • 228 messages
  • LocalisationPacifique Sud

Posté 03 février 2014 - 20:53

Citation

Jan 31 19:27:02 atria postfix/smtpd[21972]: connect from unknown[88.247.78.4]
déjà tu pourrais durcir la politique d'acceptation des messages entrant avec le  smtpd_recipient_restrictions
chez moi je vire tout ce qui suit:
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unknown_sender_domain,
reject_unauth_pipelining,
reject_unauth_destination,

et j'ai activé les RBL checks.
Zimbra 7.2.6 O.S.E et Zimbra 8.7.7 O.S.E sur RHEL & CentOS & Debian & Ubuntu
serveur physique ou sur PROXMOX, VSPHERE (3.5,4,5,6), HyperV, KVM, XEN, OpenVZ

#4 Klug

Klug

    Zimbra Jedi

  • Membres
  • PipPipPipPip
  • 10 216 messages
  • LocalisationBeaucaire - Gard

Posté 04 février 2014 - 09:24

Ce sont deux choses différentes.

D'un côté détecter (et reporter automatiquement) les tentatives "open relay".
De l'autre limiter les mails "valides" (destinataire valide) entrants.

#5 Spike

Spike

    Membre débutant

  • Membres
  • 8 messages

Posté 04 février 2014 - 12:02

Je rejoins Klug.
Le but n'est pas de ne plus être "scanné" - ça je m'en fiche complètement. C'est justement de profiter de ces tentatives pour "lutter" (peut-être minusculement), à mon échelle, contre les spammeurs.

#6 Klug

Klug

    Zimbra Jedi

  • Membres
  • PipPipPipPip
  • 10 216 messages
  • LocalisationBeaucaire - Gard

Posté 04 février 2014 - 12:41

Tu as fais des stats sur les réponses des abuse@ ?
Genre le taux de abuse@ existant (c'est pas toujours le cas), le taux de réponse auto, le taux de réponse manuelle, etc ?

#7 Spike

Spike

    Membre débutant

  • Membres
  • 8 messages

Posté 04 février 2014 - 13:01

A la louche, je dirais qu'il y a à peu près 5-10% de réponses automatiques. Je ne garde pas de chiffres sur les domaines sans contact abuse@ identifié, mais j'en ai rencontré un certain nombre (~15% ?) pour lesquels l'adresse n'existait plus ou qui me redirigeaient vers un formulaire pour re-soumettre ma plainte.
Quand aux réponses manuelles, c'est facile : 0%.

EDIT: @dominix : Je dois avouer qu'en tant que possesseur d'un serveur mail personnel, j'ai trop souffert de ces restrictions de politique Postfix pour les mettre en place à mon tour.

#8 dominix

dominix

    Membre actif

  • Membres
  • PipPip
  • 228 messages
  • LocalisationPacifique Sud

Posté 06 février 2014 - 20:59

@spike en tant qu'admin de gros serveur de mail, j'ai trop souffert des spam et des gens qui font n'importe quoi, comme de t’écrire depuis une adresse machin@123.12.45.78, alors je ne vais pas demander son CV a chaque possesseur de postfix, je m'attend a ce qu'il respecte un minimum les standard, sinon je ne lui parle pas.
Zimbra 7.2.6 O.S.E et Zimbra 8.7.7 O.S.E sur RHEL & CentOS & Debian & Ubuntu
serveur physique ou sur PROXMOX, VSPHERE (3.5,4,5,6), HyperV, KVM, XEN, OpenVZ

#9 Sylv1

Sylv1

    Membre expérimenté

  • Membres
  • PipPipPip
  • 351 messages
  • LocalisationBelgique

Posté 07 février 2014 - 17:17

C'est toujours le problème, être au juste milieu... Quand on voit certaines RBL fantaisistes, des serveurs qui envoient (et reçoivent) n'importe comment, le monde du spam est impitoyable... Et on est en première ligne :D .

Par contre les mails vers abuse@ j'ai souvent l'impression qu'ils redirigent vers /dev/null, même chez des "grands"... :s

A++
Partenaire Zimbra & ZeXtras, intégrateur et développeur de solutions informatiques B2B

Quelques Zimbra 8.0.X OSE sur Ubuntu 12.04 LTS
Bundles ZeXtras

#10 Klug

Klug

    Zimbra Jedi

  • Membres
  • PipPipPipPip
  • 10 216 messages
  • LocalisationBeaucaire - Gard

Posté 07 février 2014 - 17:39

Surtout chez les grands...

#11 Klug

Klug

    Zimbra Jedi

  • Membres
  • PipPipPipPip
  • 10 216 messages
  • LocalisationBeaucaire - Gard

Posté 07 février 2014 - 18:50

En plus de l'envoi de mail à abuse@, on peut ajouter l'IP à la liste des IP bloquées au niveau firewall (pas comme une RBL qui ne bloque qu'au niveau SMTP).

On peut aussi, si on commence à aller par là, regarder du côté des IP "méchantes" fournies par SpamHaus, EmergingThreats ou d'autres.
Voir ici un bel exemple d'utilisation (à la fin du thread) : http://community.ubn...list/m-p/645375





Aussi étiqueté avec au moins un de ces mots-clés : spam, abusespam, abuse

0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)