Bonjour;
Dans joomla 1.0....existait une astuce donnée par SIRIUS que j'ai utilisée, voir ci-joint:
Joomla 1.0.....avait un fichier global.PHP qui n'est plus dans joomla 1.5; OU peut on coller ce script maintenant si celà est encore possible.
Il était vraiment super et m'a ôté pas mal de soucis.
J'utilise déjà JSECURE
ET SENTINELLE
Mais c'est le petit plus qui m'intéresse ici.
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:
Code:
// *************
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 . "\r\n";
// $mailheaders .= "Bcc: ".$mail_perso. "\r\n"; // pour copie cachée
$msg = "Une tentative de hacking commise sur ".$_SERVER['HTTP_HOST']." par ".$_SERVER['REMOTE_ADDR']." en appelant ".$_SERVER['REQUEST_URI']."\n\n";
$msg .= "HTTP_SERVER_VARS:\n\n";
$msg .= "HTTP_HOST_NAME => ".gethostbyaddr($_SERVER['REMOTE_ADDR'])."\n\n";
while (list ($key, $val) = each ($_SERVER)) $msg .= "$key => $val\n";
$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 src="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 src="'.$iphack.'"></iframe></div></body></html>');
}
// *************
Sans oublier de changer:tonadresse@mail.com par ton adresse a toi etwww.le_site.chose/ton_image_déstiné_au_hacker.gif
**********************
Pour tester si le script est effectif sur votre site lancer ceci dans votre navigateur:
http://www.votresite.com/index.php?jpg&cmd (modifier votresite par le nom du votre)
**********************
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é, ainsi qu'un jolie écran personalisé pour le cracker
A savoir que le script est actif sur la totalité des requêtes (pas des types de requêtes) vu la modif 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 assé 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.
Merci à tous pour vos réponses à venir
cordialement jeff
Dans joomla 1.0....existait une astuce donnée par SIRIUS que j'ai utilisée, voir ci-joint:
Joomla 1.0.....avait un fichier global.PHP qui n'est plus dans joomla 1.5; OU peut on coller ce script maintenant si celà est encore possible.
Il était vraiment super et m'a ôté pas mal de soucis.
J'utilise déjà JSECURE
ET SENTINELLE
Mais c'est le petit plus qui m'intéresse ici.
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:
Code:
// *************
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 . "\r\n";
// $mailheaders .= "Bcc: ".$mail_perso. "\r\n"; // pour copie cachée
$msg = "Une tentative de hacking commise sur ".$_SERVER['HTTP_HOST']." par ".$_SERVER['REMOTE_ADDR']." en appelant ".$_SERVER['REQUEST_URI']."\n\n";
$msg .= "HTTP_SERVER_VARS:\n\n";
$msg .= "HTTP_HOST_NAME => ".gethostbyaddr($_SERVER['REMOTE_ADDR'])."\n\n";
while (list ($key, $val) = each ($_SERVER)) $msg .= "$key => $val\n";
$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 src="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 src="'.$iphack.'"></iframe></div></body></html>');
}
// *************
Sans oublier de changer:tonadresse@mail.com par ton adresse a toi etwww.le_site.chose/ton_image_déstiné_au_hacker.gif
**********************
Pour tester si le script est effectif sur votre site lancer ceci dans votre navigateur:
http://www.votresite.com/index.php?jpg&cmd (modifier votresite par le nom du votre)
**********************
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é, ainsi qu'un jolie écran personalisé pour le cracker
A savoir que le script est actif sur la totalité des requêtes (pas des types de requêtes) vu la modif 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 assé 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.
Merci à tous pour vos réponses à venir
cordialement jeff
Commentaire