Comment puis-je sécuriser une installation VPS?

16

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?

JFW
la source
Il serait utile que vous fournissiez des détails sur le système d'exploitation.
Tim Post
Une installation Linux va très probablement être Ubuntu ou CentOS.
JFW

Réponses:

13

La réponse de danlefree à cette question similaire est tout à fait pertinente ici: dans quelle mesure un VPS non géré est-il difficile?

La sécurisation d'un serveur est bien plus qu'une tâche ponctuelle.

Les premières tâches ponctuelles comprennent:

  • Durcissement de SSHd (il existe un certain nombre de conseils et de didacticiels pour cela, ce fut le premier beau résultat d'une recherche.
  • Assurez-vous que les services inutiles sont désactivés (ou mieux, désinstallés).
  • Assurez-vous que les services qui n'ont pas besoin d'être accessibles au public ne le sont pas. Par exemple, configurez votre serveur de base de données pour écouter uniquement sur les interfaces locales et / ou ajoutez des règles de pare-feu pour bloquer les tentatives de connexion externe.
  • S'assurer que tous les utilisateurs de vos processus de serveur Web (et autres services) fonctionnent car n'ont aucun accès en lecture aux fichiers / répertoires qui ne les concernent pas et ne peuvent écrire en rien, 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 si le pire devait arriver au serveur (crash irrécupérable complet ou piratage)
  • En savoir plus sur tous les outils que vous avez installés sur votre serveur (lire la documentation, peut-être les installer sur un environnement de test, par exemple une machine virtuelle locale sous virtualbox, pour essayer différentes configurations et les casser + les réparer) afin d'avoir une chance de pouvoir pour résoudre les problèmes s'ils se produisent (ou au moins diagnostiquer correctement ces problèmes afin que vous puissiez aider quelqu'un d'autre à résoudre le problème). Vous vous remercierez pour le temps passé à ce sujet à un moment donné 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 en temps opportun. Des outils comme apticron peuvent être utilisés pour vous tenir informé des mises à jour qui doivent être appliquées. J'éviterais les configurations qui appliquent automatiquement les mises à jour - vous voulez revoir ce qui est sur le point de changer avant d'exécuter (dans le cas de debian / ubuntu) aptitude safe-upgrade, afin que vous sachiez ce qui est sur le point d'être fait sur votre serveur.
  • Assurez-vous que les mises à jour des bibliothèques / applications / scripts que vous installez manuellement (c'est-à-dire pas à partir de vos référentiels standard de distribution à l'aide de la gestion de package intégrée) sont également installées en temps opportun. Ces bibliothèques / applications / scripts peuvent avoir leurs propres listes de diffusion pour l'annonce des mises à jour, ou vous devrez peut-être simplement surveiller leurs sites Web régulièrement pour vous tenir informé.
  • Se tenir informé des problèmes de sécurité qui doivent être corrigés par des changements de configuration plutôt que des packages corrigés ou qui doivent être contournés jusqu'à ce qu'un package corrigé soit créé + testé + publié. Abonnez-vous à toutes les listes de diffusion liées à la sécurité gérées par les personnes qui maintiennent votre distribution et gardez un œil sur les sites technologiques qui peuvent également signaler de tels problèmes.
  • Gérer une forme de sauvegarde hors ligne pour une paranoïa supplémentaire. Si vous sauvegardez votre serveur sur une machine domestique, écrivez régulièrement une copie sur CD / DVD / clé USB.
  • Testez vos sauvegardes de temps en temps, afin que vous sachiez 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écouvrez ensuite que vos données n'ont pas été correctement sauvegardées depuis quelques mois.

Toutes les bonnes distributions Linux s'installent dans un état raisonnablement sécurisé prêt à l'emploi (au moins après le premier ensemble de mises à jour lorsque vous récupérez les correctifs de sécurité qui ont été publiés depuis que le CD / l'image d'installation a été enfoncé / libéré) le travail n'est pas difficile, mais il faudra plus de temps pour bien faire que vous ne le pensez.

David Spillett
la source
4

La grande chose à propos d'un VPS linux est qu'ils sont assez sûrs prêts à l'emploi. Ma première recommandation est de parler à votre hôte et de voir s'il durcira 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 ils 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, regardez d'abord un pare-feu comme APF (Advanced Policy Firewall?) Ou CSF (ConfigServer Firewall). CSF a l'option d'une détection d'échec de connexion, et si vous essayez de vous connecter et échouez une fois de plus, il 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 qu'il n'écoute pas pour le trafic de toute façon, mais ils offrent certainement une certaine tranquillité d'esprit. Et si vous avez beaucoup de ports ouverts pour une variété de trafic, alors peut-être que vous voulez un pare-feu.

Il est probablement plus important de s'assurer que les applications que vous installez sont à jour. Plus de sites sont piratés via un exploit Wordpress (par exemple) qu'ils ne le font via un exploit du système d'exploitation du serveur. Si vous êtes des scripts de codage personnalisés, assurez-vous également de surveiller la sécurité, car vous ne voulez pas laisser par inadvertance une porte ouverte à travers quelque chose de stupide comme votre formulaire de contact.

elconejito
la source
2
  • 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 )

  • Changez les numéros de port administratifs (non publics) en quelque chose d'obscur (SSH sur 22 sera juste continuellement analysé)

  • Déterminez vos quotas et vos limites: cgroups , limits.conf , qos , etc. - et surveillez-les activement - si un code de développeur Web ou une attaque DDoS détruit 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 basées sur le réseau, utilisez-les

Les trois premiers peuvent être exécutés via WebMin (d'une manière). Vous voudrez peut-être consulter ServerFault pour cela.

Metalshark
la source
1

Je vois que vous mentionnez webmin sera donc une boîte Linux. Veuillez vérifier la documentation de la distribution Linux particulière que vous installerez sur ce serveur.

Pour CentOS, consultez ce http://wiki.centos.org/HowTos/OS_Protection

Cristi
la source
1

Juste quelques points. - Changez votre port SSH. - désactiver la liste des fichiers dans le répertoire. - 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 me sont venues maintenant ..

Vamsi Krishna B
la source