LE SAVIEZ VOUS ?
MANA Actualité
| Info ManaSécurité & Menaces |
PARTICULIERS
| Testez votre connexion ADSL |
| Configurez votre routeur |
| Configurer votre adresse email |
| Sécurisez votre wifi |
PROFESSIONNELS
| Hébergements Web Mana |
| Messagerie Mana |
Astuce MANA
| Mot de passe mail oublié |
| Tutoriaux |
| Hébergement mutualisé |
|
|
|
Suite à une compromission de la sécurité des serveurs d'hébergement Mana, nos équipes ont mis en place une nouvelle politique de sécurité renforcée sur la plateforme web.
Cette nouvelle politique de sécurité devrait permettre de garantir une meilleure tolérance en cas de présence de code non sécurisé dans les sites hébergés. Cette sécurité vous tranquillise en tant que webmaster ou possesseur d'un hébergement chez Mana, mais elle s'accompagne aussi de nouvelles méthodes de développement, et de restrictions.
Ce document à pour but de souligner les nouvelles pratiques de développement à adopter, les choses à ne pas faire et celles à faire absolument sur les hébergements Mana.
Les Droits d'accès aux fichiers.
Les permissions sur les fichiers (lecture, écriture etc.) sont bien souvent une source d'erreur pour les développeurs, un raccourci que l'on peut voir sur certains forums voire même chez certains éditeurs de logiciels web, est de faire un chmod 777 en FTP sur les fichiers de votre site. Ceci est une source potentielle de trou de sécurité! Aussi si vos script php ont un mode égal à 777 (c'est à dire lecture, écriture et exécution pour tout le monde), ils généreront un code d'erreur 500 (erreur interne au serveur). En effet les scripts php étant interprété par le serveur, permettre leur modification par n'importe qui est une prise de risque considérable. En fait, et pour être plus précis, les scripts php ne doivent pas outre passer les droits 644.
Les paramètres du php.ini.
Le fichier php.ini est le fichier qui contrôle le comportement de l'interpréteur php sur le serveur. Il contient de nombreuses directives, chacune contrôlant un aspect de php.
Par le passé, Mana permettait de modifier ces paramètres en utilisant un fichier htaccess et les directives de configuration php associées. Afin de fournir une meilleure sécurité et une meilleure disponibilité de la plateforme web, les fichiers htaccess ne peuvent plus contenir ces directives. Ainsi le serveur renverra un code d'erreur 500 (erreur interne au serveur), si vous placez un fichier htaccess contenant :
– php_flag – php_admin_flag – php_value – php_admin_value
Il est donc impératif de retirer ces directives de tous fichiers htaccess. Isolation des sites.
Tous les sites hébergés chez Mana sont isolés les uns des autres par divers mécanismes. Ainsi, si un site venait à être compromis à cause de code non sécurisé, les autres sites du même serveur ne peuvent être piratés (à moins de contenir un trou de sécurité eux aussi). De même les données hébergées sur un site ne doivent pas être visibles pour les autres sites. Ceci semble évident, mais la mise en place de cette sécurité apporte elle aussi son lot de restrictions.
Suite à une compromission de la sécurité des serveurs d'hébergement Mana, Nos équipes ont mis en place une nouvelle politique de sécurité renforcée sur la plateforme web. Cette nouvelle politique de sécurité devrait permettre de garantir une meilleure tolérance en cas de présence de code non sécurisé dans les sites hébergés. Cette sécurité vous tranquillise en tant que webmaster ou possesseur d'un hébergement chez Mana, mais elle s'accompagne aussi de nouvelles méthodes de développement, et de restrictions. Ce document à pour but de souligner les nouvelles pratiques de développement à adopter, les choses à ne pas faire et celle à faire absolument sur les hébergements Mana.
Les Droits d'accès aux fichiers. Les permissions sur les fichiers (lecture, écriture etc.) sont bien souvent une source d'erreur pour les développeurs, un raccourci que l'on peut voir sur certains forums voire même chez certains éditeurs de logiciels web, est de faire un chmod 777 en FTP sur les fichiers de votre site. Ceci est une source potentielle de trou de sécurité! Aussi si vos script php ont un mode égal à 777 (c'est à dire lecture, écriture et exécution pour tout le monde), ils généreront un code d'erreur 500 (erreur interne au serveur). En effet les scripts php étant interprété par le serveur, permettre leur modification par n'importe qui est une prise de risque considérable. En fait, et pour être plus précis, les scripts php ne doivent pas outre passer les droits 644 Les paramètres du php.ini. Le fichier php.ini est le fichier qui contrôle le comportement de l'interpréteur php sur le serveur. Il contient de nombreuses directives, chacune contrôlant un aspect de php. Par le passé, Mana permettait de modifier ces paramètres en utilisant un fichier htaccess et les directives de configuration php associées. Afin de fournir une meilleure sécurité et une meilleure disponibilité de la plateforme web, les fichiers htaccess ne peuvent plus contenir ces directives. Ainsi le serveur renverra un code d'erreur 500 (erreur interne au serveur), si vous placez un fichier htaccess contenant : - php_flag - php_admin_flag - php_value - php_admin_value Il est donc impératif de retirer ces directives de tous fichiers htaccess. Isolation des sites. Tous les sites hébergés chez Mana sont isolés les uns des autres par divers mécanismes. Ainsi, si un site venait à être compromis à cause de code non sécurisé, les autres sites du même serveur ne peuvent être piratés (à moins de contenir un trou de sécurité eux aussi). De même les données hébergées sur un site ne doivent pas être visibles pour les autres sites. Ceci semble évident, mais la mise en place de cette sécurité apporte elle aussi son lot de restrictions. Lorsque vous souhaitez accéder à un répertoire de votre site (par exemple pour y lister les fichiers) vous devez obligatoirement le terminer avec un « slash ». Ainsi on obtiendra une erreur avec : opendir(/srv/www/html/www.monsite.pf); En revanche, le script s'exécutera avec succès avec : opendir(/srv/www/html/www.monsite.pf/) Ceci est aussi valable lorsque l'on souhaite ouvrir le répertoire courant : utilisez donc'./' (point slash) et non ‘.' (point). De même il est interdit d'ouvrir des fichiers qui ne se trouvent pas dans votre espace d'hébergement.
La fonction phpinfo() permet d'obtenir de précieuses informations lors du développement, comme par exemple le chemin d'accès de la racine de votre site. Son utilisation n'est donc pas proscrite. Une fois la phase de développement terminée, l'accès aux informations qu'elle fournit doit être supprimé ou au moins restreint à des utilisateurs clairement identifiés Cette fonction est utilisée pour ouvrir des pages distantes. Ces pages peuvent être de simples fichiers html mais aussi des scripts php. Cette fonction est bien souvent à l'origine d'attaque de type «crosssite-scripting ». Malgré sa dangerosité cette fonction est difficilement remplaçable et donc lorsqu'elle doit être utilisée, veillez à toujours l'utiliser avec précaution ; notamment en vous assurant qu'elle ne puisse ouvrir que la page que la ou les pages désirées. Les variables php ont une certaine portée, c'est à dire qu'elles ne sont pas toutes accessibles de la même façon. Si la directive de configuration php register_globals est activée, toutes les variables ont alors une portée maximale. Ceci est très dangereux car les variables deviennent alors modifiables par l'utilisateur. Ce comportement de php doit être évité à tout prix! La fonction move_uploaded_file sert à déplacer un fichier, par exemple une image, qui vient d'être transféré au serveur depuis un répertoire temporaire, vers le répertoire de destination désiré. Par défaut, cette fonction ne donne que les droits de lecture/écriture aux scripts php. Ceci est insuffisant pour que l'image apparaisse dans le navigateur web d'un client lorsqu'il visite le site. C'est pourquoi l'utilisation de cette fonction doit toujours être suivit de la fonction chmod(), qui permet d'attribuer plus de droits sur le fichier. Pour que l'image (ou autre type de fichier) apparaisse, les droits 644 sont suffisants, il n'est ni nécessaire ni souhaitable de faire un chmod 777. Cette page vous détaille le fonctionnement de la fonction move_uploaded_file http://www.php.net/manual/fr/function.move-uploaded-file.php
Les permissions sur les fichiers (lecture, écriture etc.) sont bien souvent une source d'erreur pour les développeurs, un raccourci que l'on peut voir sur certains forums voire même chez certains éditeurs de logiciels web, est de faire un chmod 777 en FTP sur les fichiers de votre site. Ceci est une source potentielle de trou de sécurité! Aussi si vos script php ont un mode égal à 777 (c'est à dire lecture, écriture et exécution pour tout le monde), ils généreront un code d'erreur 500 (erreur interne au serveur). En effet les scripts php étant interprété par le serveur, permettre leur modification par n'importe qui est une prise de risque considérable. En fait, et pour être plus précis, les scripts php ne doivent pas outre passer les droits 644. A la racine de votre espace d'hébergement, se trouve un répertoire appelé tmp. Il ne faut surtout pas le supprimer. Il est nécessaire au bon fonctionnement de votre site. Si malgré tout vous le supprimiez par mégarde, vous pouvez le recréer et lui attribuer les droits de lecture/écriture pour le possesseur et le groupe, soit 775. Les CMS (pour Content Management System) sont des outils qui rendent la création et l'édition de sites web bien plus facile! On compte parmi eux, Joomla, Drupal, WordPress, SPIP et encore bien d'autres. Ces outils (ainsi que d'autres comme les forums...) peuvent eux aussi contenir des failles de sécurité, c'est pourquoi il est toujours important de se tenir à jour des versions et éventuels patchs. Il est à noter que si vous utilisez un CMS moderne, il doit se conformer à la plupart des « règles » établies ici.
|
||||
| Dernière mise à jour : ( 19-06-2010 ) | ||||


