Apache Security - 10 conseils pour une installation sécurisée

Publié: 2022-01-05

Apache est l'une des applications de serveur Web les plus populaires utilisées aujourd'hui et ce depuis longtemps. Il est open-source et téléchargeable gratuitement, ce qui le rend très attrayant comme option pour ceux qui cherchent à héberger leurs sites Web avec un budget limité.

Mais Apache relève également de la catégorie des logiciels "à usage général", ce qui signifie qu'il peut être utilisé par toute personne ayant accès à son code ou à ses scripts d'installation. Cela vous expose à des risques de sécurité potentiels si votre site n'est pas configuré de manière sécurisée dès le début.

Dans cet article, nous allons passer en revue 10 conseils pour sécuriser votre installation Apache afin que vous n'ayez aucun problème sur la route - lisez la suite !


Apache Security - 10 conseils pour une installation sécurisée

1) Désactiver la directive server-info

Si vous activez la directive dans httpd.conf et visitez votre page de configuration Apache, elle vous indiquera ce qui se passe de ce côté !

Cela peut inclure des informations sensibles concernant les paramètres de votre serveur, telles que la version du logiciel que vous utilisez et l'emplacement de stockage de ces fichiers sur la machine.

En utilisant ces informations, un attaquant pourrait déterminer si votre serveur exécute une version vulnérable d'OpenSSL.

Corrigez ce problème en supprimant le module mod_info dans le fichier de configuration Apache httpd.conf : #LoadModule info_module modules/mod_info.so


2) Désactiver la directive server-status

La directive répertorie les informations sur les performances des serveurs de votre application, telles que leur disponibilité et leur charge. Ces informations peuvent être utilisées par des attaquants pour déterminer lesquels de vos serveurs sont les plus actifs et les plus vulnérables. Vous pouvez résoudre ce problème en le commentant dans le fichier de configuration Apache httpd.conf :

 #<Emplacement /statut-serveur>
# Statut du serveur SetHandler
# Commande refusée, autoriser
# Refuser de tous
# Autoriser depuis .votre_domaine.com
#</Emplacement>

3) Désactiver la directive ServerSignature

La directive ServerSignature est un excellent moyen d'ajouter des informations supplémentaires sur votre serveur Web, y compris la version d'Apache que vous utilisez et sur quel système d'exploitation.

Apache a besoin que cette directive soit désactivée pour que vous ne voyiez aucune information sensible sur votre ordinateur. Utilisez ServerSignature Off dans votre fichier de configuration Apache httpd.conf.


4) Définissez la directive ServerTokens sur Prod

La directive ServerTokens est utilisée pour renvoyer une série d'informations dans le champ d'en-tête de réponse. Une directive Apache ServerTokens peut avoir de nombreuses syntaxes différentes, y compris celles répertoriées dans la documentation.

Lorsque la directive ServerTokens est définie sur Prod, seul Apache sera affiché dans les en-têtes de réponse du serveur. Pour ce faire, ajoutez ServerTokens Prod à votre fichier de configuration Apache httpd.conf.


5) Désactiver la liste des répertoires

La liste des répertoires vous montre tous les fichiers du système, ce qui permet à un attaquant d'afficher facilement toutes les informations sensibles qu'il pourrait souhaiter. Activer cette option ne vaut pas le risque !

Vous devez toujours être prudent en ce qui concerne le code source de votre application. Un attaquant qui obtient l'accès pourrait potentiellement utiliser ces informations à des fins malveillantes, telles que l'analyse des failles de sécurité ou l'obtention de plus de détails sur ce que vous faites à l'intérieur du programme lui-même.

Définissez la directive Options dans le fichier Apache httpd.conf :

 <Répertoire /votre/site/répertoire>
Options -Index
</Répertoire>

6) Activer uniquement les modules requis

Le serveur HTTP Apache est un outil puissant, mais il peut aussi être accablant s'il n'est pas configuré correctement. Il existe de nombreux modules préinstallés et activés par défaut que vous pouvez ou non utiliser, alors avant l'installation, assurez-vous que ces options font ce dont elles ont besoin dans votre environnement !

Mais que se passerait-il si vous activiez tous ces modules sans penser à leur effet sur httpd ? Eh bien, il pourrait y avoir de graves conséquences. L'activation de ces modules revient à ouvrir le serveur à tous les problèmes de sécurité qui pourraient exister ou être découverts à l'avenir.

L'un des meilleurs moyens de vous assurer que vous avez installé tous les modules nécessaires pour votre site Web consiste à consulter la documentation d'Apache. Assurez-vous de n'utiliser que les modules dont vous avez besoin et désactivez ceux qui ne sont pas utilisés.


7) Utilisez un utilisateur et un groupe appropriés

Apache est un serveur Web puissant et polyvalent, mais il est préférable de l'utiliser avec un compte non privilégié, plutôt que sous démon (par défaut). Cela aide à garder votre système sécurisé en limitant l'accès à Apache uniquement lorsque cela est nécessaire !

De plus, deux processus différents exécutés avec le même utilisateur et le même groupe peuvent entraîner des exploits dans l'un d'entre eux. La modification de l'utilisateur et du groupe Apache nécessite la modification du fichier de configuration httpd.conf en directives Changer d'utilisateur ou de groupe.


8) Restreindre les services indésirables

Si vous souhaitez sécuriser votre Apache, il est préférable de ne pas exécuter de service ou de créer des liens symboliques s'ils ne sont pas nécessaires. La désactivation des services est facile avec la directive Options dans httpd.conf, et vous ne pouvez le faire pour un répertoire particulier qu'en cas de besoin !

Voici un exemple de ce qu'il faut faire :

 <Répertoire /votre/site/répertoire>
Options -ExecCGI -FollowSymLinks -Includes
</Répertoire>

9) Utiliser le WAF ModSecurity

ModSecurity est un logiciel open source qui peut être utilisé comme pare-feu d'application Web. Il dispose de différentes fonctionnalités, notamment le filtrage, le masquage de l'identité du serveur et les fonctions de prévention des attaques null Byte pour protéger votre site contre les pirates !

Un excellent moyen d'améliorer la sécurité de votre serveur Web et de vous protéger contre une multitude d'attaques consiste à installer mod_security. Cela vous permettra également de vous protéger contre le déni de service distribué (DDOS).


10) Activer la journalisation

Afin d'enquêter sur la cause de problèmes particuliers, vous souhaiterez que la journalisation apache soit activée. Cela fournit des informations détaillées sur les demandes des clients effectuées sur votre serveur Web et il n'y a pas de meilleur moyen que de le mettre en place lors de l'examen des problèmes !

Le module mod_log_config vous permet de journaliser les actions d'Apache. Pour ce faire, assurez-vous qu'il est inclus dans votre fichier de configuration httpd.


Pourquoi la sécurité Apache est-elle importante ?

Il est important de mettre en place la sécurité Apache, car elle aide à protéger votre serveur Web contre les accès non autorisés, ainsi qu'à protéger votre site Web contre d'éventuelles attaques.

Ne pas prêter attention à la sécurité d'Apache peut entraîner le piratage de votre site Web, ce qui pourrait entraîner la perte ou le vol de données. En suivant les conseils décrits dans cet article de blog, vous pouvez vous assurer que votre installation Apache est aussi sécurisée que possible !


Conclusion

En conclusion, en suivant ces conseils simples, vous pouvez aider à sécuriser votre installation Apache. Ces directives ne sont qu'un point de départ, alors assurez-vous d'approfondir vos recherches sur la sécurité de vos besoins spécifiques en matière d'applications Web !

La chose la plus importante à retenir est que la sécurité n'est pas un événement ponctuel, c'est un processus continu. Restez vigilant et protégez votre site !