Où peut-il y avoir des failles de sécurité sur les serveurs ?
Attention: cet article sert seulement à vous donner un bref aperçu des failles de sécurité sur les serveurs et à montrer les possibilités qui s'offrent à vous pour analyser les erreurs.
Les structures de serveurs compromis sont, par ailleurs, trop complexes pour décrire des moyens clairs pour résoudre vos problèmes.
Si vous n'avez que peu d'expérience en matière d'administration des serveurs, nous vous recommandons d'utiliser des outils d'analyse.
- Checkrootkit: http://www.chkrootkit.org/ (recommandation du BSI, le Bundesamt für Sicherheit in der Informationstechnik — Office fédéral de la sécurité des technologies de l'information)
- Rootkit Hunter: http://www.rootkit.nl/projects/rootkit_hunter.html
Conseil: nous vous recommandons également d'installer, de manière encore plus sûre, le service SSH sur votre serveur Linux et vous proposons, comme mode d'emploi, l'article suivant de la FAQ de STRATO FAQ: Comment puis-je installer, de manière encore plus sûre, le service SSH sur un serveur Linux?
Failles de sécurité:
1. Logiciels installés
Les logiciels/services installés sur le serveur (qmail, Apache, FTP, MySQL, etc.) peuvent présenter des failles de sécurité. Il est très facilement possible pour des tiers de savoir quel logiciel est installé sur votre serveur (exemple : nmap -A HOST [indique les ports ouverts et quel logiciel/version de logiciel tourne sur ce port]). En cas de failles de sécurité connues, l'effraction s'avère alors relativement facile.
Mesures préventives auxquelles vous devriez faire attention: les mises à jour régulières du logiciel que vous utilisez.
2. Sites Internet dynamiques
D'une manière générale, on peut dire que des failles de sécurité sont très souvent présentes sur les sites Internet dynamiques. La plupart des systèmes de gestion des contenus, les forums, les blogs, les boards, etc. offrent des possibilités de charge de fichiers (Joomla, Mambo, PostNuke, phpBB, TYPO3, WordPress, etc.).
Il est de ce fait possible que des fichiers défectueux s'incrustent sur le serveur. Des failles de sécurité peuvent cependant aussi provenir d'une mauvaise programmation de ces systèmes dynamiques. En ce qui concerne les systèmes usuels de gestion des contenus, les failles de sécurité sont décelées et des patchs sont proposés rapidement. C'est la raison pour laquelle nous vous recommandons de mettre régulièrement à jour les systèmes que vous utilisez.
3. Paramètres PHP
De mauvais paramètres PHP peuvent également être à l'origine de failles de sécurité. Cela vaut, tout particulièrement, pour les options register_globals et safe_mode.
Si l'option PHP register_globals est activée (ON), il est relativement facile, pour des tiers, d'y incruster le code PHP (manipulation de la variable, injection du code). C'est la raison pour laquelle il est ici recommandé de mettre cette valeur sur OFF.
Cela vaut aussi pour l'option de PHP safe_mode. Si l'option safe_mode est désactivée (OFF), les tiers ont également la possibilité de compromettre le serveur. C'est la raison pour laquelle nous vous recommandons, ici aussi, d'activer l'option safe_mode. Une variante encore plus sûre serait l'utilisation de PHP en tant que programme (suPHP) au lieu du module Apache.
Que faire quand le serveur est compromis ?
Vous devriez tout d'abord essayer d'identifier le processus. Pour ce faire, penchez-vous précisément sur les points suivants :
- Surveiller à intervalles réguliers le trafic sur la carte réseau (outils : ifconfig, netstat). Un trafic excessif peut être un indice ;
- Vérifier la présence de ports inhabituels/inconnus sur lesquels se trouvent des programmes inhabituels/inconnus (par exemple avec netstat -anp) :
- Afficher les processus et rechercher ceux qui sont inconnus/inhabituels et y mettre fin (par exemple à l'aide de ps axf -Aef) ; Remarque : toujours supprimer le processus parent, étant donné que supprimer les processus enfants, souvent, n'entraîne pas l’effet escompté;
- Examiner les attributs avancés du fichier. Les fichiers/scripts malveillants peuvent posséder des attributs de fichier avancés (en règle générale l'attribut i qui empêche la suppression de ces fichiers).