OVH Community, votre nouvel espace communautaire.

Protection contre l’envoi d’email via un scripte PHP piraté


bobak
11/03/2015, 08h21
Citation Envoyé par shirokoweb
cette rustine empêche peut-être l'envoi d'emails mais ne corrige pas la faille de sécurité qui a permis l'intrusion d'un code malicieux...
Justement, de nouvelles failles il on a tous les jours et c'est sans fin ...
Cette solution empêche que mon serveur envoie du spam ce qui est la 1re raison des hacks (dans mon cas).
Donc l'intérêt d'un CMS hacker au vu d'un pirate diminue drastiquement s'il ne peut pas envoyer du spam avec.
Et comme ça me laisse des traces dans les logs en plus, je peux constater facilement ces tentatives et procéder au blocage puis nettoyage ...

shirokoweb
10/03/2015, 20h18
cette rustine empêche peut-être l'envoi d'emails mais ne corrige pas la faille de sécurité qui a permis l'intrusion d'un code malicieux...

bobak
10/03/2015, 15h26
Merci, ta solution me convient parfaitement.

Pour avoir des traces j’ai mis ça en plus :
Code:
iptables -N LOGGING
iptables -A OUTPUT -p tcp --dport 25 -m owner --gid-owner users -j LOGGING
iptables -A OUTPUT -p tcp --dport 465 -m owner --gid-owner users -j LOGGING
iptables -A OUTPUT -p tcp --dport 587 -m owner --gid-owner users -j LOGGING
iptables -A LOGGING -j LOG --log-prefix "IPTables-REJECT:" --log-uid --log-level 4
Pour whitelister les user du groupe users, j’ai fait ça :
Code:
iptables -A OUTPUT -p tcp --dport 25 -m owner --uid-owner xxx -j ACCEPT
iptables -A OUTPUT -p tcp --dport 465 -m owner --uid-owner xxx -j ACCEPT
iptables -A OUTPUT -p tcp --dport 587 -m owner --uid-owner xxx -j ACCEPT
Et pour bloquer tous les autres user du groupe users , j’ai mis ça
Code:
iptables -D OUTPUT -p tcp --dport 25 -m owner --gid-owner users -j REJECT
iptables -D OUTPUT -p tcp --dport 465 -m owner --gid-owner users -j REJECT
iptables -D OUTPUT -p tcp --dport 587 -m owner --gid-owner users -j REJECT

Nowwhat
09/03/2015, 13h39
Bien plus simple: Vire ce script piraté !

Sauvegarde tout d'abord. (base MySQL aussi)
Pour commencer: VIRER toutes les themes et plugins qui ne sont pas fourni d'origine avec WP.
Vide aussi /uploads/ (plus tard tu va vérifier si toutes ces fichiers dans /uploads/ sont des images, et pas de fichiers script (php ou autre) avec l'xtension d'une image (jpg, png bmp, etc).

Compare en suite avec un copie 'ok' (charge-le ici : https://fr.wordpress.org/) toutes tes fichiers sur ton hébergement.
Ou, mieux: upload une version propre.

Il reste quand même à vérifier si t'as pas des fichiers dans un des répertoires de WP qui n'appartienne pas à WP - vire-les.

Il est plus que probable que t'as utilisé un extension/plugin avec un faille.

Kioob
09/03/2015, 13h22
Bonjour,

au niveau du firewall tu peux bloquer le port 25 aux utilisateurs PHP (ou ne l'autoriser qu'à certains comptes bien spécifiques).

Par exemple :
Code:
iptables -A OUTPUT -p tcp --dport 25 -m owner --gid-owner www-data -j REJECT

bobak
09/03/2015, 10h30
Bonjour,
Comment faire pour se protéger contre les envois d'email indésirable via un scripte PHP piraté ?
Ces derniers jours, malgré un certain nombre de protections, un de nos serveur a eu un WP piraté et il a envoyé du spam.
L'envoi se fessait via une communication directe avec le serveur SMTP en face sans utiliser la fonction mail() de PHP et donc sans aucun log dans mon postfix.
j'ai découvert ces communications avec la commande

Code:
#lsof -i -P | grep ":25"
Les protections déjà en place, qui se son révélé insuffisante sont : Fail2ban, mod_evasive, modsecurity (avec règles payantes), interception de tout email envoyé avec fonction mail() de PHP.

Je suis sur une Debain 7.8