Sécurisation d’un site internet sous Joomla

(Mis à jour le: 12 décembre 2015)
Evaluer cet article

Sécuriser  son site internet sous Joomla

Qui n’a pas connu son site hacké et des mois d’effort réduit à néant, moi la dernière fois, cela m’avait mis dans une rage folle.  Une parade existe elle est décrit ci dessous. Attention quand même à surveiller les mises à jour des composants que vous utilisez , upgradez les chaque fois que c’est nécessaire.

Methode de protection basique:

1) bien vérifier que tous tes fichiers sont vérouillé dans l’administration. (templates index/css interdire la  modification après l’enregistrement etc..)
Bien vérifier que tous tes repertoires ont un index.html (même zéro bit pas grave) ATTENTION: Sauf dans /www et /administrator

2)

  • Joomla! Register Globals Emulation: OFF
  • Register Globals: OFF (configuration globale, onglet « serveur » uniquement sous joomla 1.0.13)
  • Magic Quotes: ON
  • Safe Mode: OFF <== si possible
  • File Uploads: ON
  • Session auto start: OFF

3) Dans ton (ou tes) .htaccess tu rajoute au tout début ces lignes qui empecherons une eventuelle tentative de listing de celui ci:

Code:
<Files .htaccess>

order allow,deny

deny from all

</Files>

 

 

4) Ensuite dans le fichier globals.php Juste aprés ça:

Code:
// no direct access

defined( ‘_VALID_MOS’ ) or die( ‘Restricted access’ );

 

Tu rajoute ça:*********

if (

ereg(‘gif?cmd’,$_SERVER[‘REQUEST_URI’]) ||

ereg(‘gif&cmd’,$_SERVER[‘REQUEST_URI’]) ||

ereg(‘jpg?cmd’,$_SERVER[‘REQUEST_URI’]) ||

ereg(‘jpg&cmd’,$_SERVER[‘REQUEST_URI’]) ||

ereg(‘txt?cmd’,$_SERVER[‘REQUEST_URI’]) ||

ereg(‘txt&cmd’,$_SERVER[‘REQUEST_URI’]) ||

ereg(‘txt?’,$_SERVER[‘REQUEST_URI’])

)

{

$mail_perso = « tonadresse@mail.com« ;

$mailheaders .= « From: « .$mail_perso . « rn »;

// $mailheaders .= « Bcc: « .$mail_perso. « rn »; // pour copie cachée

$msg = « Une tentative de hacking commise sur « .$_SERVER[‘HTTP_HOST’]. » par « .$_SERVER[‘REMOTE_ADDR’]. » en appelant « .$_SERVER[‘REQUEST_URI’]. »nn »;

$msg .= « HTTP_SERVER_VARS:nn »;

$msg .= « HTTP_HOST_NAME => « .gethostbyaddr($_SERVER[‘REMOTE_ADDR’]). »nn »;

while (list ($key, $val) = each ($_SERVER)) $msg .= « $key => $valn »;

$msg = addslashes($msg);

eval(« $msg = « $msg »; »);

$msg = stripslashes($msg);

@mail($mail_perso,’HACKING TENTATIVE ‘.$_SERVER[‘REMOTE_ADDR’],$msg,$mailheaders);

$iphack = « http://www.who.is/whois-ip/ip-address/« .$_SERVER[‘REMOTE_ADDR’]. » »;

die(‘<html><head><title>Stop Hacking</title></head><body style=margin:0px;><div align= »center » style= »background-color:#CCCC33; »><br /><br /><font size= »+6″><b>Stop hacking!</b></font><br /><br /><img xsrc= »http://www.le_site.chose/ton_image_déstiné_au_hacker.gif » border= »0″><br /><br /><br /><br /><iframe width=100% height=300 frameborder=0 xsrc= »‘.$iphack.' »></iframe></div></body></html>’);

}

// *************

 

Sans oublier de changer:tonadresse@mail.com par ton adresse a toi et www.le_site.chose/ton_image_déstiné_au_hacker.gif

 

Ce script bloque les attaques et t’averti par mail quel fichier (il te donne le lien) et à partir de quel serveur le cracker a voulu injecter, tout en bloquant la tentative.

ATTENTION ! Si votre site est sujet à un grand nombre d’attaques (et vous risquez d’être surpris) alors le server mail
de votre hébergeur peut être surchargé ! Si vous ne souhaitez plus recevoir les mails de notification, supprimez simplement votre adresse mail dans le script.

Un Whois complet est retourné(Whois en panne je modifie au plus vite), ainsi qu’un jolie écran personnalisé pour le cracker

A savoir que le script est actif sur la totalité des requêtes (pas des types de requêtes) vu la modification  du globals.php

En ce qui concerne les injections SQL, c’est propre au codage des composants surtout ceux qui necessite un login ou une vérification de session, si le cracker parvient (pour les plus vicelard) a te polluer avec un script en PERL alors la c’est la boîte de Pandorre qui s’ouvre….

Pour finir, il est inutile de tenir un fichier log des IP retournée comme attaquante car en général c’est du spoofing d’IP donc une chaîne sans fin.

 

Comments

  1. Par krys

  2. Par Templier

  3. Par krys

  4. Par gerard Morvan

  5. Par hermann yemdjeu

  6. Par Eric

  7. Par hermann yemdjeu

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload CAPTCHA.