Vision du web. La réponse collaborative.

Gagner des Bitcoins.

Gagner des Bitcoins !
Le HackerSpace Vision du web.
La réponse collaborative.
Le glider des Hackers.
Un symbole de rassemblement.
QWERTY.
Du clavier au terminal.
GNU / Linux Debian.
La distribution universelle.
GNU / Linux Ubuntu.
Linux pour les êtres humains.
GNU / Linux Arch.
Un Linux léger et flexible.
Nom de code Linux.
Documentaire FR.

Le montant des donations pour Vision du web est de 0.0046735604246582 Monero.

Please disable Adblock!
Un simple clic permet de miner de la monnaie numérique Monero avec les ressources de votre machine.
Soutenir Vision du Web sans rien dépenser, sans changer de page, sans publicité à consulter.

Vous n´êtes pas identifié(e).

Nous sommes le lundi 23 octobre 2017. Il est .

Nous avons 88 invités et aucun membre en ligne

 
HackerSpace !

APACHE

Le fichier .htaccess

Le fichier .htaccess permet d'optimiser la sécurité et le référencement d'un site internet hébergé sur un serveur Apache.

 

Astuces

- Si votre hébergeur est OVH sur un mutualisé, le fichier .htaccess semble pouvoir être encodé en ANSI. A suivre. (1)
- Pour encoder votre fichier .htaccess, on utilise en règle générale Notepad++ avec un encodage en UTF-8 sans BOM.
- Qui a dit qu'on ne peut pas créer de fichier .htaccess avec Windows ? Tentez donc de renommer votre fichier en ".htaccess.".

- Mettre les filtres anti-pirates en premier et les règles URL rewriting à la fin.
En effet, les filtres s’appliquent du premier au dernier.

- Ne mettez pas les règles .htaccess d’un coup.
Copier une règle, puis, tester votre CMS, blog, forum. Ajouter/Modifier un article. Ajouter/Effacer un utilisateur, accéder à votre interface d’administration et faites plusieurs choses.
Si tout est OK, passer à la règle suivante.

- Si dans l’utilisation de votre CMS, blog, forum, vous voyez une erreur 403, alors il est probable qu’une règle de filtrage soit active.

- En cas de problème, regarder l’URL appelée.
Il y a peut-être un mot clé qui est bloqué par le fichier .htaccess.
Le système filtre l’URL et regarde s’il est conforme à une utilisation normale.
Si vous avez un message d’erreur, trouvez le mot clé qui bloque la requête depuis le fichier .htaccess.

- Il faut adapter ces règles à votre cas, ce n’est pas du simple copier-coller.
Vérifier bien si un realpath est demandé, ou, un nom de domaine.

 

Interdire le listage d'un dossier

Options -Indexes

 

Interdire l'accès à votre fichier .htaccess depuis un navigateur web

<Files .htaccess>
order allow,deny
deny from all
</Files>

 

Passer l'environnement en PHP5

Les erreurs de version de langage PHP peuvent être corrigées dans le fichier .htaccess en indiquant la bonne version de PHP à utiliser par défaut.
Ajouter cette ligne dans le fichier .htaccess

SetEnv PHP_VER 5

 

Limiter les logiciels et aspirateurs de site

Cette règle bloque une grande part des attaques automatiques.
Cette liste est le minimum qu’il faut avoir et donne d’excellents résultats.

###FILTRE CONTRE CERTAINS ROBOTS DES PIRATES
RewriteEngine On

## EXCEPTION
## TOUS LES ROBOTS MEMES ANONYMES OU BANNIS PEUVENT ACCEDER A CES FICHIERS
RewriteCond %{REQUEST_URI} !^/robots.txt
RewriteCond %{REQUEST_URI} !^/sitemap.xml
## ANONYMES
RewriteCond %{HTTP_USER_AGENT} ^-?$ [OR]

## BIBLIOTHEQUES / CLASSES HTTP DONT ON NE VEUT PAS.
## ATTENTION, CELA PEUT BLOQUER CERTAINES FONCTIONS DE VOTRE CMS.
## NE PAS TOUT EFFACER, CHERCHER LE NOM DE LA CLASSE HTTP CONCERNEE. DEMANDER A LA COMMUNAUTE DE VOTRE CMS.
## CETTE LISTE BLOQUE 80% DES ROBOTS SPAMMEURS.
RewriteCond %{HTTP_USER_AGENT} ^curl|^Fetch\ API\ Request|GT\:\:WWW|^HTTP\:\:Lite|httplib|^Java|^LeechFTP|lwp-

trivial|^LWP|libWeb|libwww|^PEAR|PECL\:\:HTTP|PHPCrawl|PycURL|python|^ReGet|Rsync|Snoopy|URI\:\:Fetch|urllib|WebDAV|^Wget [NC] 

## CEUX QUI INVENTENT DES NOMS AU HASARD, RETIREZ LES 2 DIESES EN DEBUT DE LIGNE POUR L'ACTIVER
## RewriteCond %{HTTP_USER_AGENT} ^[bcdfghjklmnpqrstvwxz\ ]{10,}|^[0-9a-z]{15,}|^[0-9A-Za-z]{19,}|^[A-Za-z]{3,}\ [a-z]{4,}\ [a-z]{4,} [OR]

RewriteRule (.*) - [F]

 

Bloquer des failles potentielles

Les règles suivantes vont permettre de contrer quelques attaques connues.

### FILTRE CONTRE XSS, REDIRECTIONS HTTP, base64_encode, VARIABLE PHP GLOBALS VIA URL
### MODIFIER VARIABLE _REQUEST VIA URL, TEST DE FAILLE PHP, INJECTION SQL SIMPLE
RewriteEngine On
RewriteCond %{REQUEST_METHOD} (GET|POST) [NC]
RewriteCond %{QUERY_STRING} ^(.*)(%3C|<)/?script(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)(%3D|=)?javascript(%3A|:)(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)document\.location\.href(.*)$ [OR]
RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(127\.0).* [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)(%3D|=)(https?|ftp|mosConfig)(%3A|:)//(.*)$ [NC,OR]

## ATTENTION A CETTE REGLE. ELLE PEUT CASSER CERTAINES REDIRECTIONS RESSEMBLANT A: http://www.truc.fr/index.php?r=http://www.google.fr ##

RewriteCond %{QUERY_STRING} ^.*(_encode|localhost|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)GLOBALS(=|[|%[0-9A-Z]{0,2})(.*)$ [OR]
RewriteCond %{QUERY_STRING} ^(.*)_REQUEST(=|[|%[0-9A-Z]{0,2})(.*)$ [OR]
RewriteCond %{QUERY_STRING} ^(.*)(SELECT(%20|\+)|UNION(%20|\+)ALL|INSERT(%20|\+)|DELETE(%20|\+)|CHAR\(|UPDATE(%20|\+)|REPLACE(%20|\+)|LIMIT(%20|\+)|CONCAT(%20|\+)|DECLARE(%20|\+))(.*)$ [NC]
RewriteRule (.*) - [F]

 

Bloquer certaines requêtes étranges

### NEUTRALISE DES FAUSSES URLS OU VIEUX SYSTEMES OBSOLETES
RedirectMatch 403 (\.\./|base64|boot\.ini|eval\(|\(null\)|^[-_a-z0-9/\.]*//.*|/etc/passwd|^/_vti.*|^/MSOffice.*|/fckeditor/|/elfinder/|zoho/|/jquery-file-

upload/server/|/assetmanager/|wwwroot|e107\_)
# DESACTIVE LES METHODES DE REQUETES TRACE TRACK DELETE
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|DELETE|TRACK) [NC]
RewriteRule ^.* - [F]

 

Interdire l'affichage d'un fichier ou type de fichier

Le fichier index.php est le fichier par défaut. Afficher index.htm ne marchera pas.
Les fichiers de configuration en .xml sont à interdire en affichage depuis le navigateur.
Il faut tester ces interdictions et les adapter au cas par cas si nécessaire.

### SEUL LE FICHIER index.php EST SERVI COMME PREMIER FICHIER PAR DEFAUT. LES AUTRES SONT INTERDITS
DirectoryIndex index.php

### INTERDIRE LES AUTRES TYPES DE FICHIER INDEX
<Files ~ "^(index)\.(p?s?x?htm?|txt|aspx?|cfml?|cgi|pl|php[3-9]|jsp|xml)$">
order allow,deny
deny from all
</Files>

### INTERDIRE L'AFFICHAGE DE CERTAINS FORMATS DE FICHIER 
### EXÉCUTÉS PAR LE SERVEUR MAIS INTERDIT D'AFFICHAGE PAR LE NAVIGATEUR WEB
<Files ~ "\.(inc|class|sql|ini|conf|exe|dll|bin|tpl|bkp|dat|c|h|py|spd|theme|module|mdb|rar|bash|git|hg|log|svn|swp|cvs)$">
deny from all
</Files>

### INTERDIRE L'AFFICHAGE DE CERTAINS FICHIERS COMME config, option, login, setup, install, admin, home, default, xmlrpc.
### A ADAPTER SI CELA POSE PROBLEME, NOTAMMENT RETIREZ wp-(login|admin|config)| SI VOUS UTILISEZ WORDPRESS
<Files ~ "^(wp-(login|admin|config)|config(\.inc)?|install?|admin|login|configure|configuration|options?\.inc|option|settings?(\.inc)?|functions?(\.inc)?|setup

(\.inc)?|default|home|xmlrpc|bigdump|uploadTester|errors?|test|data|members?|hacke?r?d?|[-_a-z0-9.]*mafia[-_a-z0-9.]*|[-_a-z0-9.]*power[-_a-z0-9.]*|[-_a-z0-9.]*jihad

[-_a-z0-9.]*|php|shell|ssh|root|cmd|[0-9]{1,6})\.(p?s?x?htm?l?|txt|aspx?|cfml?|cgi|pl|php[3-9]{0,1}|jsp?|sql|xml)$">
order allow,deny
deny from all
</Files>

 

Interdire le hotlinking

Permet d'économiser de la bande passante et de protéger son contenu.

### ON EVITE LE VOL D'IMAGES, VIDEO, SON, FEUILLE DE STYLE, PDF ET ZIP
### LES VISITEURS DOIVENT PASSER PAR LE SITE. 
RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://[-_a-z0-9.]*mondomaine\.tld$ [NC] 
RewriteCond %{HTTP_REFERER} !^http://[-_a-z0-9.]*mondomaine\.tld/.*$ [NC] 
RewriteCond %{HTTP_REFERER} !^https?://.*(translate|paypal|google|bing|yahoo|yandex|baidu|facebook|qwant|duck|ixquick|pinterest|twitter).*$ [NC]
## LES DOMAINES PRECEDENTS PEUVENT AFFICHER LES DONNEES DU SITE

RewriteRule .*\.(gif|jpe?g?|jp2|png|svgz?|css|pdf|zip|gz|js|mp3|m4a|mp4|mov|divx|avi|wma?v?|wmp|swf|flv|docx?|xlsx?|pptx?|vbs|rtf|asf?x?|odt|ods|odp|odg|odb)$ - [NC,F]

 

Bloquer les scripts utilisés par les pirates

Si des pirates réussissent à pénétrer votre site, ils installent un script qui permet de prendre les commandes de l'hébergement.
On bloque ici la plupart des commandes de ces scripts.
À tester avec votre site web.

Remplacer "/home/loginftp/" par votre chemin de fichier absolu avant le dossier "www" ou "public_html".
Faites des sauvegardes fonctionnelles avant d'appliquer cette règle.
À utiliser en dernier, puis à tester longuement.
Commenter la règle qui pose problème.

### FILTRE CONTRE PHPSHELL.PHP, REMOTEVIEW, c99Shell et autres
RewriteEngine On
RewriteCond %{REQUEST_URI} .*((php|my)?shell|remview.*|phpremoteview.*|sshphp.*|pcom|nstview.*|c99|r57|webadmin.*|phpget.*|phpwriter.*|fileditor.*|locus7.*|storm7.*)

\.(p?s?x?htm?l?|txt|aspx?|cfml?|cgi|pl|php[3-9]{0,1}|jsp?|sql|xml) [NC,OR]
RewriteCond %{REQUEST_METHOD} (GET|POST) [NC]
RewriteCond %{QUERY_STRING} ^(.*)=/home/loginftp/(.*)$ [OR]
RewriteCond %{QUERY_STRING} ^work_dir=.*$ [OR]
RewriteCond %{QUERY_STRING} ^command=.*&output.*$ [OR]
RewriteCond %{QUERY_STRING} ^nts_[a-z0-9_]{0,10}=.*$ [OR]
RewriteCond %{QUERY_STRING} ^(.*)cmd=.*$ [OR]

## ATTENTION A CETTE REGLE. ELLE PEUT CASSER VOTRE SITE ##

RewriteCond %{QUERY_STRING} ^c=(t|setup|codes)$ [OR]
RewriteCond %{QUERY_STRING} ^act=((about|cmd|selfremove|chbd|trojan|backc|massbrowsersploit|exploits|grablogins|upload.*)|((chmod|f)&f=.*))$ [OR]
RewriteCond %{QUERY_STRING} ^act=(ls|search|fsbuff|encoder|tools|processes|ftpquickbrute|security|sql|eval|update|feedback|cmd|gofile|mkfile)&d=.*$ [OR]
RewriteCond %{QUERY_STRING} ^&?c=(l?v?i?&d=|v&fnot=|setup&ref=|l&r=|d&d=|tree&d|t&d=|e&d=|i&d=|codes|md5crack).*$ [OR]
RewriteCond %{QUERY_STRING} ^(.*)([-_a-z]{1,15})=

(ls|cd|cat|rm|mv|vim|chmod|chdir|concat|mkdir|rmdir|pwd|clear|whoami|uname|tar|zip|unzip|gzip|gunzip|grep|more|ln|umask|telnet|ssh|ftp|head|tail|which|mkmode|touch|log

name|edit_file|search_text|find_text|php_eval|download_file|ftp_file_down|ftp_file_up|ftp_brute|mail_file|mysql|mysql_dump|db_query)([^a-zA-Z0-9].+)*$ [OR]
RewriteCond %{QUERY_STRING} ^(.*)(wget|shell_exec|passthru|system|exec|popen|proc_open)(.*)$
RewriteRule (.*) - [F]

 

Empêcher l'exécution des scripts PHP, Perl, CGI

Empêcher l’exécution de tout script PHP, Perl, CGI dans un dossier sensible pour renforcer la sécurité.
Il ne faut pas utiliser cette option dans le fichier .htaccess avec tous les codes décrits ci-dessus.
Cette option empêche un navigateur web d’exécuter le script directement.

Créer un fichier .htaccess spécialement pour le dossier à protéger.
Si le navigateur ouvre le fichier index.php qui fait un include() vers un fichier php se trouvant dans le dossier protégé par le code ci-dessous, tout s’exécutera bien.

On protège donc l’exécution directe du fichier par un navigateur quand le pirate essaye d’entrer du code malicieux non filtré.

# Aucun script dans le dossier et ses sous-dossiers, que ce soit PHP, PERL ou autre CGI, ne peut s'executer si ExecCGI est inactif.
# Interdit d'afficher la liste des fichiers.
OPTIONS -ExecCGI  -Indexes

 

Authentification avec un fichier .htaccess

Protéger un dossier avec une une authentification par Login/Mot de passe à l'aide d'un fichier .htpasswd
Il faudra localiser le chemin du fichier sur le serveur pour indiquer le bon emplacement du fichier .htpasswd

AuthName "Accès réservé. Vous devez vous identifier !"
AuthType Basic
Require valid-user
AuthUserFile /path/local/serveur/htdocs/site/visionduweb.com/dossier/.htpasswd

 

Optimiser le référencement avec de bonnes pratiques SEO

Pour conserver le bon référencement passé d'un site et garder son audience, utiliser les règles 301.
Rediriger de manière définitive la page /test/actu.html vers la page /actualites/

RedirectPermanent /test/actu.html  /actualites/

Rediriger de manière définitive le répertoire /articles et toutes ses pages vers le répertoire /actualites/articles/.

RedirectPermanent /articles www.example.com/actualites/articles
#Ou
RewriteRule /articles /actualites/articles [R=301]

Rediriger de manière temporaire le répertoire /outils vers la page /maintenance.htm en utilisant une règle 302.

 RewriteRule /outils /maintenance.htm [R=302]

 

Serveur IIS de Microsoft

web.config est l'équivalent du .htaccess de Apache pour le serveur HTTP IIS de Microsoft.

 

Bibliographie

Encoder le .htaccess en ANSI pour les plans mutualisés OVH : ICI (1)
FAQ du serveur HTTP Apache : ICI
Performances et temps de chargement avec Htaccess: ICI
Exemples de redirections avec Htaccess : ICI
Protection par .htaccess : ICI
Autres exemples avec Htaccess : ICI

REMARQUE ! Ce site utilise des cookies et autres technologies similaires.

Si vous ne changez pas les paramètres de votre navigateur, vous êtes d'accord. En savoir plus

J'ai compris

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de Cookies pour vous proposer un accès membre personnalisé et réaliser des statistiques de visites.

Vision du web sur votre réseau social

La sagesse du futur, celle qui évitera le suicide de l'humanité, ne consistera plus à gagner du temps mais à le remplir, à le vivre, à en prendre toute la mesure.
[Jacques Attali]

Votre hébergement internet avec LWS.