web-dev-qa-db-fra.com

Comment sécuriser une installation VPS?

Quelles sont les étapes de base pour sécuriser une installation VPS sur laquelle je prévois d'installer Webmin pour héberger mes blogs et projets personnels?

16
JFW

la réponse de danlefree à cette question similaire est tout à fait pertinente ici: Quelle est la difficulté d'un VPS non géré?

Sécuriser un serveur est plus qu'une tâche ponctuelle.

Les tâches uniques initiales comprennent:

  • Durcissement de SSHd (il existe un certain nombre de conseils et de tutoriels pour cela, this est le premier bon résultat de recherche.
  • S'assurer que les services inutiles sont désactivés (ou mieux, désinstallés).
  • Assurez-vous que les services qui ne doivent pas nécessairement être accessibles au public ne le sont pas. Par exemple, configurez votre serveur de base de données pour n'écouter que sur les interfaces locales et/ou ajoutez des règles de pare-feu pour bloquer les tentatives de connexion externe.
  • Assurez-vous que tous les utilisateurs que vos processus de serveur Web (et autres services) exécutent n'ont aucun accès en lecture aux fichiers/répertoires non pertinents pour eux et aucune écriture sur autre chose sauf s'ils ont besoin d'un accès en écriture aux fichiers/répertoires sélectionnés. (pour accepter des images téléchargées par exemple).
  • Configurez une bonne routine de sauvegarde automatisée pour conserver les sauvegardes en ligne (de préférence sur un autre serveur ou à la maison) afin que votre contenu soit copié ailleurs afin que vous puissiez le récupérer au cas où le serveur arriverait au pire (crash total irrécupérable ou piratage)
  • Découvrez tous les outils que vous avez installés sur votre serveur (lisez la documentation, installez-les peut-être dans un environnement de test, disons un VM local sous virtualbox, essayez différentes configurations et corrigez-les) afin de pouvoir résoudre les problèmes s'ils surviennent (ou au moins, diagnostiquez-les correctement afin d'aider quelqu'un d'autre à résoudre le problème). Vous vous remercierez pour le temps passé à ce sujet dans le futur!

Les tâches en cours comprennent:

  • Assurez-vous que les mises à jour de sécurité pour votre système d'exploitation de base sont appliquées rapidement. Des outils tels que apticron peuvent être utilisés pour vous tenir informé des mises à jour à appliquer. J'éviterais les configurations qui appliquent automatiquement les mises à jour - vous voulez vérifier ce qui est sur le point de changer avant de vous lancer (dans le cas de debian/ubuntu) aptitude safe-upgrade, afin que vous sachiez ce qui va être fait sur votre serveur.
  • Assurez-vous que les mises à jour des bibliothèques/applications/scripts que vous installez manuellement (c'est-à-dire qui ne proviennent pas des référentiels standard de vos distributions à l'aide de la gestion intégrée des packages) sont également installées à temps. Ces bibliothèques/applications/scripts peuvent avoir leurs propres listes de diffusion pour l'annonce de mises à jour, ou vous devez simplement surveiller régulièrement leurs sites Web pour vous tenir informé.
  • Se tenir au courant des problèmes de sécurité qui doivent être résolus par des modifications de configuration plutôt que par des packages corrigés ou qui doivent être résolus jusqu'à la création d'un package corrigé + testés + publiés. Abonnez-vous à toutes les listes de diffusion relatives à la sécurité gérées par les personnes qui gèrent votre distribution et surveillez les sites technologiques qui peuvent également signaler de tels problèmes.
  • Gérer une forme de sauvegarde hors ligne pour plus de paranoïa. Si vous sauvegardez votre serveur sur une machine personnelle, écrivez-en une copie régulièrement sur un CD/DVD/clé USB.
  • Testez vos sauvegardes de temps en temps pour vous assurer qu'elles fonctionnent correctement. Une sauvegarde non testée n'est pas une bonne sauvegarde. Vous ne voulez pas que votre serveur meure et découvre ensuite que vos données n'ont pas été correctement sauvegardées depuis quelques mois.

Toutes les bonnes distributions Linux s’installent immédiatement dans un état raisonnablement sécurisé (du moins après la première série de mises à jour lorsque vous intégrez les correctifs de sécurité publiés depuis que le CD/image d’installation a été pressé/publié), de sorte que le Le travail n’est pas difficile, mais il vous faudra plus de temps que prévu pour réussir.

13
David Spillett

La grande chose à propos d'un VPS linux est qu'ils sont assez sûrs hors de la boîte. Ma première recommandation est de parler à votre hôte et de voir s’il renforcera ou optimisera la sécurité pour vous. La plupart des VPS avec un panneau de contrôle (webmin, cpanel, etc.) sont "gérés" et feront beaucoup pour vous. Surtout si vous n'êtes pas sûr de ce que vous faites, c'est le meilleur choix, à mon avis.

Si vous êtes seul, commencez par regarder vers un pare-feu tel qu'APF (Advanced Policy Firewall?) Ou CSF (ConfigServer Firewall). CSF a l'option d'une détection d'échec de connexion. Si vous tentez de vous connecter et échouez une fois de plus, elle bannit automatiquement votre adresse IP. Je ne suis pas sûr que ce soit "nécessaire" car Linux ne répond pas sur les ports, il n'écoute pas pour le trafic de toute façon, mais ils offrent certainement un peu de concentration. Et si vous avez beaucoup de ports ouverts pour une variété de trafic, alors peut-être que vous voulez un pare-feu.

Le plus important est probablement de s’assurer que les applications que vous installez sont à jour. Un plus grand nombre de sites sont piratés via un exploit Wordpress (par exemple) que par le biais d'un exploit dans le système d'exploitation du serveur. Si vous utilisez des scripts de codage personnalisés, veillez également à la sécurité, car vous ne souhaitez pas laisser par inadvertance une porte ouverte par un truc aussi ridicule que votre formulaire de contact.

4
elconejito

Sécuriser une machine, VPS incluse, n’est pas une recette exacte, mais vous pouvez commencer avec les tutoriels de 2 fournisseurs VPS principaux: Bibliothèque Linode et Articles Slicehost

3
intlect
  • Supprimer les services indésirables ( netstat est votre ami)

  • Désactiver la publicité de service (révéler vos numéros de version est idéal pour Scriptkiddies )

  • Remplacez les numéros de port administratifs (non publics) par des éléments obscurs (SSH sur 22 sera simplement analysé en permanence)

  • Déterminez vos quotas et vos limites: cgroups , limits.conf , qos , etc. - et surveillez-les activement - si un code de développeur Web ou un Une attaque par DDoS assomme votre site et rend votre boîte inaccessible, il sera trop tard pour y remédier

  • Certaines distributions ont des profils SELinux / AppArmor /etc pour les applications en réseau, utilisez-les

Les trois premiers peuvent être effectués via WebMin (d'une manière). Vous voudrez peut-être regardez par ServerFault pour cela cependant.

2
Metalshark

Je vois que vous mentionnez webmin, ce sera donc une machine Linux. Veuillez consulter la documentation de la distribution Linux que vous installerez sur ce serveur.

Pour CentOS, voir ceci http://wiki.centos.org/HowTos/OS_Protection

1
Cristi

Juste quelques points. - Changez votre port SSH. - désactiver la liste des répertoires de fichiers. - supprimer la signature du serveur, les jetons. - installer un pare-feu

il y a beaucoup plus de choses..Je viens de dire des choses qui sont venues à mon maintenant ..

1
Vamsi Krishna B