samedi 1 mars 2014

OVH Problème d'accents lors du passage d'un hébergement 90 Plan à Perso 2014

Il y a quelques jours j'ai rencontré un problème de disparition de certains caractères accentués du site d'un de mes clients lors d'un changement d'hébergement chez OVH.

Ce site était hébergé depuis une dizaine d'années sur une ancienne offre 90 Plan et je devais le transférer vers la nouvelle offre Perso 2014.

L'encodage des caractères utilisé était ISO-8859-1 et l'affichage du contenu du site faisait appel à la fonction Php htmlspecialchars.
La version de Php utilisée sur l'ancienne offre d'hébergement était PHP 4 alors que sur les mutualisés 2014, la version par défaut est actuellement PHP 5.4.

Avec PHP 4, la valeur par défaut du paramètre facultatif encoding de htmlspecialchars est ISO-8859-1 alors qu'avec PHP 5.4 cette valeur est UTF-8.

La solution la plus simple et la plus rapide pour retrouver mes caractères accentués a été de revenir à la version 5.3 de Php en plaçant à la racine du site le fichier .ovhconfig suivant :

app.engine=php
app.engine.version=5.3
http.firewall=none
environment=production

Remarque : Un autre problème courant pouvant survenir lors du passage de PHP 4 à PHP 5 est lié aux modifications de la directive Register_globals. Voir ici.

lundi 3 février 2014

Comment utiliser root sous Ubuntu

Après l'installation d'Ubuntu, l'utilisateur root n'est pas actif et on ne peut pas l'utiliser. L'utilisateur standard du système est sensé passer par la commande sudo lorsqu'il a besoin d'exécuter des commandes réservées à l'administrateur. Personnellement je trouve cela vraiment inconfortable et je préfère ouvrir un terminal et basculer sous root par su.

Pour activer l'utilisateur root, il suffit de lui affecter un mot de passe en passant par sudo :
sudo passswd root

samedi 4 janvier 2014

Une astuce toute simple pour renforcer la sécurité d'un serveur ssh sous linux

Ssh est un protocole permettant la connexion à des machines distantes en cryptant les données circulant sur le réseau.
Il est très utilisé pour l'administration de serveurs à distance et offre pour cela un niveau de sécurité supérieur à telnet, ce qui ne dispense pas de prendre quelques précautions :

Les serveurs reliés à internet sont presque inévitablement scannés à l'aide d'outils cherchant des ports ouverts pouvant éventuellement être exploités dans des intentions malveillantes.
Si un serveur ssh est installé sur votre machine, l'ouverture du port 22 sera rapidement découverte et des connexions en tant que root vont tout aussi vite être tentées.

Il va sans dire que le mot de passe de l'utilisateur root doit être sérieux mais deux précautions valent mieux qu'une :
Je conseille vraiment de configurer le serveur ssh de façon à ce qu'il interdise les connexions du root et n'autorise que les connexions d'un utilisateur prédéfini auquel on aura attribué un login improbable, un vrai mot de passe, les droits les plus restreints et que l'on aura exclu de la liste des sudoers.

De cette façon, vous pouvez établir la connexion en utilisant cet utilisateur puis utiliser la commande su pour travailler en tant que root. Par contre si une personne mal intentionnée arrive à entrer en possession des informations lui permettant de se connecter via ssh, il faudra encore qu'elle trouve le mot de passe du root pour disposer des droits d'administration sur la machine.

Cette configuration est simple à mettre en place dans le fichier /etc/ssh/sshd_config où il suffit d'indiquer :

  • PermitRootLogin no pour interdire les connections en tant que root
  • AlloUsers toto pour n'autoriser que les connections de l'utilisateur toto.