web-dev-qa-db-fra.com

Comment un serveur doit-il être sécurisé?

En ce qui concerne Ubuntu 10.04, édition du serveur, quels outils/pratiques recommanderiez-vous pour sécuriser le serveur?

22
Grant Palin

Ceci est un peu non spécifique, mais en général, vous devrez

  • Exécutez un pare-feu tel que iptables ou fw pour gérer la connexion aux ports ouverts.

  • Installez uniquement le logiciel dont vous avez besoin.

  • N'exécutez que les services essentiels au fonctionnement du serveur.

  • Gardez ce logiciel à jour avec tous les correctifs de sécurité.

  • Configurez de nouveaux utilisateurs avec le moins de privilèges dont ils ont besoin pour exécuter leurs tâches.

  • Exécutez denyhosts ou fail2ban pour vérifier les attaques par force brute.

  • Exécutez logwatch pour vous envoyer un courriel d’anomalie dans les fichiers journaux.

  • Vérifiez vos journaux souvent pour des activités suspectes.

  • Utilisez Sudo toujours et utilisez des mots de passe forts.

  • Désactiver les chiffrements faibles et moyens en SSL pour Apache, Exim, Proftpd, pigeonnier, etc.

  • Définissez les services pour n'écouter que localhost (le cas échéant).

  • Exécuter chkrootkit quotidiennement.

  • Exécutez clamscan aussi souvent que nécessaire pour rechercher les virus Windows (le cas échéant).

  • Soyez vigilant, connaissez votre serveur, sachez ce qu'il devrait faire et ce qu'il ne devrait pas faire.

Vous ne gardez les choses en sécurité qu'en vérifiant et en sécurisant constamment. Si vous ne savez pas ce que fait quelque chose, comment ou pourquoi, ou si quelque chose semble suspect, demandez simplement conseil aux autres.

25
Richard Holloway

Réponse géniale de Richard Holloway. Si vous recherchez un guide spécifique étape par étape, consultez le guide en 2 parties de la bibliothèque Slicehost.

  1. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-1
  2. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-2

Je l'utilise presque partout lorsque je dois installer une instance de serveur Ubuntu. Je suis sûr que tu aimerais ça.

Une autre excellente source est la bibliothèque Linode à l’adresse http://library.linode.com/

Consultez les articles aux deux endroits. De nombreuses informations y sont disponibles et vous disposerez de suffisamment de connaissances pour gérer parfaitement votre serveur.

PS: En aucun cas, une bibliothèque ne peut se substituer aux capacités d’intuition, de perspicacité et de prise de décision d’un administrateur système formidable.

9
Mir Nazim

Quelque chose que je ne vois pas mentionné est "utiliser 64 bits". Cela garantit, entre autres, la protection de la mémoire NX.

2
Kees Cook

Trois choses que j'ai tendance à recommander sont:

  • Montez toutes les zones accessibles en écriture (/ tmp,/var/tmp) en tant que 'noexec': ceci est en grande partie sécurisé sans bizarreries, sauf (au moment de l'écriture), sauf si vous choisissez de mettre à niveau votre système. Voir le bogue n ° 572723 sur le tableau de bord pour plus de détails.

  • N'installez aucun compilateur ou assembleur à moins que cela ne soit absolument nécessaire: je pense que cela va de soi.

  • Premiers pas avec AppArmor: AppArmor peut être considéré comme une alternative à SELinux. Il s'agit d'une fonctionnalité intéressante d'Ubuntu pour les applications en cours d'exécution en mode bac à sable, afin de garantir qu'elles n'ont pas plus d'accès que ce dont elles ont besoin. Je vous recommande de consulter le guide sur les forums si vous êtes intéressé. http://ubuntuforums.org/showthread.php?t=1008906

1
ibuclaw
  • Installez et configurez iptables avec un ensemble de règles approprié pour votre environnement. Filtrage du trafic entrant et sortant.
  • psad pour détecter et alerter sur les analyses de ports effectuées sur votre système.
  • Utilisez fail2ban pour empêcher les tentatives de connexion brutales contre SSH.
  • Interdire l'accès à distance à l'aide du compte root, car cela signifie notamment que si un attaquant tente de forcer brutalement l'accès à votre serveur, il doit maîtriser le nom d'utilisateur et le mot de passe.
  • Utilisez des mots de passe forts pour tous les comptes d'utilisateurs.
  • Limitez l'accès SSH à n'être disponible qu'à partir de certaines adresses IP si possible.
  • Utilisez Tripwire d'un autre système de détection d'intrusion basé sur l'hôte.
  • Surveillez le serveur avec un programme de surveillance réseau tel que nagios.
1
Mark Davidson

Pour les pare-feu, vous pouvez jeter un oeil @ Firestarter ou fw avec gufw .

0
ssanj