hacker-attack.-100L'un des fichiers les plus sensibles sous Joomla! est le fichier configuration.php qui se trouve à la racine de chaque installation par défaut.

Ce fichier est très convoité par les hackeurs et à juste titre car il contient toutes les informations relatives au fonctionnement de votre site (identifiants des bases de données et FTP entre autres).

Depuis Joomla 1.6, il est possible de modifier l'emplacement de ce dernier sur un site et ainsi améliorer la sécurité de ce dernier. Il faut bien garder à l'esprit qu'aucune solution de sécurité n'est garantie à 100%, mais l'on peut s'en approcher.

Par principe chaque webmaster devrait prendre soin d'héberger sur son serveur les images de tous les contenus présents sur son site pour éviter d'utiliser la bande passante d'autres sites. Dans le cas contraire la pratique est considérée comme du Hotlinking.

stop 150x150Si le Hotlinking peut passer un peu inaperçu sur un gros serveur, il n'en est pas de même sur un petit hébergement (mutualisé). Chaque appel illégal de l'adresse URL de l'image aura comme conséquence une consommation la bande passante de l'hébergement victime et donc ralentir ce dernier.

Dans le cas où  l'hébergeur limite la consommation de bande passante et que plusieurs images soient victimes de liens en provenance de plusieurs sites à fort trafic, la sanction peut être tout bonnement la fermeture provisoire du site touché.  Cette pratique illégale peut aussi entraîner un surcoût financier pour les sites qui payent la consommation de leur bande passante.

Chez quelques hébergeurs cette pratique est tout simplement prohibée, ce qui simplifie grandement  la gestion de ces problèmes, pour les autres nous vous conseillons de lire la suite de notre article.

Nous allons vous expliquer comment il est possible via un jeu de réécriture dans un htaccess de se protéger de l'utilisation non autorisée de la bande passante d'un serveur.

Cette astuce peut s'appliquer aussi bien aux fichiers zip, rar, jar qu'aux images qui seront notre sujet pour cet article.

Comment vérifier rapidement ?

Recherche Google Images

Il est possible de faire une recherche grâce à Google Images mais seulement vos images indexées sur ce moteur de recherche, pour cela il faut saisir dans la fenêtrre de recherche la ligne suivante :

-site:votre-site.tld inurl:votre-site.tld

Gérer le hotlink via un htaccess

Avant de procéder à l'ajout des lignes requises, assurez-vous que hébergement accepte l’utilisation de fichiers htaccess. Chez la plupart des hébergeurs cela ne pose pas de problème particulier, si vous ne savez pas ou avez un doute nous vous conseillons de contactez votre fournisseur au risque de bloquer l'accès à votre site.

Première méthode

La première possibilité pourra vous sembler très brutale mais elle est redoutablement efficace et fera rapidement réagir les contrevenants, Le principe est l'affichage d'une image explicite sur le site du contrevenant en remplacement des images en provenance de votre site.

Les lignes à insérer

La seconde ligne est celle qui permet le blocage des divers formats images présents sur votre site.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*jpeg$|.*gif$|.*png$ [NC]

Les suivantes concernent les sites qui sont autorisés à utiliser les liens images

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !monsite\.tld [NC]
RewriteCond %{HTTP_REFERER} !un-site-autorise\.tld[NC]
RewriteCond %{HTTP_REFERER} !un-autre-site-autorise\.tld [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]

La dernière ligne concerne l'emplacement de l'image à utiliser.

RewriteRule (.*) http://www.site.tld/mon-image.jpg

L'image qui sera utilisée pour le signalement peut-être hébergée dans un dossier à la racine du serveur ou sur un distant, dans le cas où cette dernière sera présente sur votre serveur suivez bien la procédure ci dessous au risque d'appliquer cette astuce sur votre propre site.

A la racine de votre site vous devez créer un dossier du nom de votre choix et ajoutez-y un fichier index.html (pour éviter le listage du contenu) Le plus simple est de copier un de ceux présents dans tous les dossiers de Joomla (généralement le fichier fait 44ko)

dossier image hotlink

Créez ensuite en local un fichier htaccess avec le contenu suivant que vous prendrez soin de transférer dans le dossier précédemment créé.

RewriteEngine Off

Seconde méthode

L'autre possibilité qui est plus discrète interdit simplement l'affichage de vos images sur les sites contrevenants

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !monsite\.tld [NC]
RewriteCond %{HTTP_REFERER} !un-site-autorise\.tld[NC]
RewriteCond %{HTTP_REFERER} !un-autre-site-autorise\.tld [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteRule \.(gif|jpg|png|jpeg)$ - [F]

Dans les deux cas les lignes sont à rajouter juste avant  la réécriture d'urls de Joomla

En souhaitant que ce petit tutoriel puisse vous rendre service, vous pouvez poser vos questions ou problèmes sur ce sujet du forum.

Dans ce tutoriel nous allons vous faire découvrir une des fonctionnalités que l'on peut ajouter au script  de protection CrawlProtect  avec l'ajout de la gestion des URLs explicites (SEF) native sous Joomla!.

Plébiscité sur de nombreux sites de support, ce script est relativement aisé à prendre en main avec notre CMS dès que l'on souhaite ajouter un bon niveau de protection.

Bien que d'une efficacité redoutable sur la plupart des attaques, ce script ne doit pas vous affranchir d'une mise à jour régulière de vos extensions et de votre version de Joomla!

Ce produit français gratuit est le fruit du développement de Jean-Denis Brun, qui est aussi l'éditeur de Crawltrack que nous aborderons dans un prochain article.

Comment mettre en place une meilleure  organisation des utilisateurs pour vos clients -tout en améliorant la facilité d'utilisation- en utilisant les ACL dans le backend de Joomla!

image 1

Introduction


Dans les articles précédents, j'ai couvert la terminologie ACL et un aperçu général de la façon dont fonctionne ACL, mise en place des niveaux d'accès en front-end, et création d'une meilleure organisation pour l'enregistrement. Maintenant, je vais couvrir comment mettre en place une meilleure organisation des utilisateurs pour vos clients -tout en améliorant la facilité d'utilisation- en utilisant les ACL dans le backend de Joomla!

Pour la majorité des sites que j'ai construis, j'ai essaié de faire en sorte que mes clients éditent leurs sites web à partir du frontend de joomla!. Malheureusement, les possibilités d'édition via le frontend de Joomla! sont limitées. Il n'est pas possible de créer facilement de nouveaux articles ou de les lier au frontend du site, par exemple, sans régler une fonctionnalité de blog (et parfois ce n'est pas ce que nous souhaitons utiliser). Donc, plus souvent que ce que je souhaiterais, je dois donner à mes clients un accès au backend de Joomla! Afin qu'il puissent effectuer des taches simples.

Cependant, quand un client arrive dans le backend de Joomla!, il est rapidement distrait par des fonctionnalité qu'il ne devrait jamais toucher. Même si vous donnez à vos clients un accès Manager au backend, il auront toujours accès à des options déstabilisantes.

En faisant le tri des fonctionnalités du backend de Joomla!, en ne laissant seulement celles auxquelles doit avoir accès votre client, vous lui simplifiez le processus. Il saura à quoi correspond chaque option dans chaque option de chaque élément de menu, et saura également les utiliser... si vous lui fournissez une formation adéquate et de la documentation.