web-dev-qa-db-fra.com

Comment puis-je éviter d'être piraté?

J'ai un site Web construit sur Joomla/PHP et il fonctionnait bien jusqu'à ce que je trouve une directive RewriteCond dans mon fichier .htaccess vers un site Web avec du contenu pornographique.

RewriteEngine On
RewriteCond %{HTTP_ACCEPT} "text/vnd.wap.wml|application/vnd.wap.xhtml+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Android|BlackBerry|htc|iPad|iPhone|iPod|Kindle|lg|midp|mmp|mobile|mot|nokia|o2|opera mini|J2ME" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Palm|pocket|psp|sgh|smartphone|sonyericsson|symbian|treo mini|up.browser|up.link|vodafone|wap" [NC]
RewriteCond %{HTTP_USER_AGENT} !Googlebot-Mobile [NC]
RewriteRule ^(.*)$ http://seokirja.com [L,R=302]

RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

La société hôte a déclaré avoir trouvé des spams essayant d’attribuer des fichiers PHP. Je les ai vérifiées et j'ai trouvé du code crypté.

J'ai également vérifié les autorisations de fichiers et les fonctions PHP, mais cela me semble correct.

Comment puis-je éviter d'être victime de cette méthode de piratage?

3
fiskolin

Aucune méthode de piratage n'a été décrite, mais plutôt le résultat d'une méthode d'accès inconnue qui a permis de modifier ou d'ajouter des fichiers au système de fichiers du serveur.

La première étape consiste à découvrir comment ils sont parvenus à modifier un fichier de niveau aussi bas. Vous devez déterminer si:

  1. Ils ont pu accéder à votre compte cPanel, ssh ou sftp via des mots de passe faibles et faciles à deviner.

  2. Ils ont pu y accéder en piratant un poste de travail servant à la maintenance du site Web.

  3. Joomla ou ses plugins n'ont pas été mis à jour ou présentent une vulnérabilité leur permettant d'obtenir un accès en écriture pour le fichier serveur.

  4. Ils ont pu accéder au backend de Joomla et installer un gestionnaire de fichiers qui leur permet de modifier des fichiers sur le serveur.

  5. D'autres scripts créés par vous ou votre responsable de site Web présentent de graves problèmes de programmation.

  6. Les configurations de serveur étaient laxistes et autorisaient d'autres moyens d'injecter des fichiers sur le serveur.

Vous ne pourrez commencer à nettoyer le serveur de ces scripts ou, mieux encore, nuancer le serveur et restaurer à partir de sauvegardes connues non infectées uniquement après avoir déterminé et corrigé la méthode d'intrusion utilisée.

4
Fiasco Labs

Le script intersite (XSS) est un type de vulnérabilité de la sécurité informatique. XSS permet aux attaquants d’injecter un script côté client dans des pages Web consultées par d’autres utilisateurs. Ajoutez ceci au fichier .htaccess dans le répertoire principal du site Web.

<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
</IfModule>

Cet en-tête active le filtre Cross-Site Scripting (XSS) intégré aux navigateurs Web les plus récents. De toute façon, il est généralement activé par défaut de toute façon, le rôle de cet en-tête est donc de réactiver le filtre pour ce site Web particulier s'il était désactivé par l'utilisateur. Cet en-tête est pris en charge dans IE 8+ et dans Chrome (vous ne savez pas quelles versions). Le filtre anti-XSS a été ajouté dans Chrome 4. On ne sait pas si cette version a respecté cet en-tête.

La source:
https://www.owasp.org/index.php/List_of_useful_HTTP_headers

3
Vasko