Meilleure pratique pour la configuration et l'administration de VPS (web / ftp / ssh)

Après une longue hésitation, j'ai finalement commandé un petit VPS pour ma propre utilisation, essentiellement l'hébergement web (plusieurs sites Web, pour moi et mes amis), entre autres (hébergement de server murmurant, server de vagues, etc.). Ce sera essentiellement une boîte LAMP basique.

J'aimerais offrir de l'espace d'hébergement à quelques amis et leur permettre de le modifier. Cela signifie qu'ils auront besoin de leur propre access FTP, et peut-être SSH (si suffisamment sécurisé).

J'ai une certaine expérience dans la configuration / administration de LAMP, mais pas beaucoup dans l'administration générale du server (configuration de l'user, ftp, etc.). C'est pourquoi j'aimerais commencer par les bases et créer quelque chose de fiable et sécurisé.

Gestion des users

Chacun de mes amis aura son propre user sur le système, mais y at-il quelque chose de spécial à faire à ce sujet? Est-ce que je crée un groupe par user, ou est-ce qu'ils partagent tous le même groupe? Je suppose que cela ne change que si je leur permet de me connecter via SSH, mais plus sur cela plus tard.

hébergement Web

Ma première préoccupation concerne l'hébergement partagé. Même si je ne vais pas héberger des données sensibles, je ne veux pas que les users dérangent avec les files des autres. J'ai résolu ce problème avant d'utiliser PHP / CGI et Apache suexec , mais après avoir lu les articles géniaux de Stuart Herbert sur les plates – forms Web , j'ai envie de passer avec mpm-itk . Avez-vous des commentaires à ce sujet?

Comme mon user cible est gentil de geeky, je pensais les laisser tordre leur propre php.ini. Qu'est ce que tu penses de ça ? Y a-t-il des menaces potentielles pour la security?

Ils pourraient par exemple augmenter considérablement leur limite de memory et affecter d'autres users, mais je ne pense pas que ce soit un problème.

FTP

Difficile de déployer votre site sans access FTP, n'est-ce pas? J'ai lu beaucoup de tutoriels pureftpd qui expliquent comment créer des users virtuels. Cela ne s'applique pas vraiment à moi, n'est-ce pas? Je pensais simplement à permettre aux users de se connecter via ftp, de les chrooter dans leur directory personnel, et c'est tout. Y a-t-il autre chose (appart de la désactivation de l'access root via ftp)?

SSH

C'est mon genre de problème principal. En tant qu'user, j'ai toujours aimé pouvoir me connecter à mon count via SSH, simplement pour exécuter des opérations par lots, ou extraire une archive directement sur le server au lieu d'avoir à download chaque file individuel via FTP. Cependant, je ne veux pas que mes users puissent naviguer dans l'set du système de files, etc. Je ne suis pas très familier avec la configuration SSH, de même que les users peuvent se connecter et les "chocar" dans leur maison ?

D'autres pensées

Je suis déjà en train de peaufiner de mon côté, mais j'aimerais vraiment avoir l'input de tous les gourous savants ici pour savoir comment faire les choses correctement et comment éviter les erreurs de recrue. J'ai un button "Reset OS" facile à utiliser dans l'interface d'administration de mon VPS, mais je ne veux pas l'avoir frappé régulièrement après avoir vu le message «H @ ked by th3 H4xx00r5» sur tous mes sites hébergés .

2 Solutions collect form web for “Meilleure pratique pour la configuration et l'administration de VPS (web / ftp / ssh)”

Je déploie tout mon contenu Web via SFTP, SCP ou en éditant sur le server (ou via le CMS que j'ai utilisé). Le FTP, en soi , ne devrait pas être nécessaire.

Deuxièmement – si vous avez des permissions d'user et de groupe correctes, elles ne pourront pas parcourir les sites Web d'autres personnes via la command line.

Certes, être en mesure de se connecter via SSH devrait cependant être autorisé pour exactement les raisons que vous avez indiquées.

Personnellement, je ne laisserais pas les gens "tordre" leurs propres files php.ini. Je ne suis pas sur le VPS que je cours de manière similaire à la vôtre (c'est-à-dire héberger quelques sites pour moi et pour les amis). C'est votre server, et vous êtes celui qui permet aux autres de l'utiliser: laissez-les utiliser selon vos règles. Je ne peux pas penser à un fournisseur d'hébergement partagé que j'ai jamais regardé, ce qui permet aux gens de modifier leurs parameters php.ini.

À quoi ressemblera-t-il, à un certain point, confie-t-il à vos amis de ne pas faire quelque chose de méchant / cruel l'un envers l'autre.

Si vous ne pouvez pas leur faire confiance, je ne leur permettrai pas d'avoir access en dehors d'un CMS.

Par exemple, j'ai configuré les racines Web de mes différents users:

 drwxr-x--- <user> apache 

Cela permet à apache de voir et du contenu du server, mais seul l'user peut apporter des modifications.

J'ai couvert un hôte depuis plusieurs années. Quelques choses que j'ai découvert à ce moment-là, c'est que si vous permettez à vos users d'exécuter des scripts CGI, c'est plus ou less "tous les paris". Ils ne peuvent pas toujours faire des choses involontaires, mais il est probable que vous sentirez la douleur plus tard pour permettre cela.

D'une part, vous avez considérablement augmenté les chances de security. J'ai eu des users installer phpBB (sous mon wrapper suexec) et ne jamais le mettre à niveau … J'ai eu des gens qui écrivaient des scripts CGI eux-mêmes, qui étaient des trous de security qui attendaient, car le manque de popularité l'empêchait.

J'ai mis chaque user dans son propre groupe. Cela m'a été utile lorsque j'ai fait un user dans un but (comme un MUD, lorsque ceux-ci étaient populaires) et que le propriétaire du MUD pouvait alors modifier les files en utilisant les permissions de groupe.

Dans tous les cas, si vous êtes prêt à aider et à vouloir consacrer le time à faire en sorte que les gens ne fassent pas de mauvaises choses, la plupart sont très faciles. Il suffit de prendre du time pour de meilleures choses IMHO.

  • Reassembly des keys VMS
  • Problèmes liés à la décrochage de SCP pendant la copy de file via VPN
  • requirejs "uid> = 1000" non rencontré par "root" user dans CentOS
  • Connectez-vous sans exécuter bash_profile ou bashrc
  • Comment faire pour que ssh échoue plutôt que requestr un mot de passe si l'authentification par key publique échoue?
  • Acceptez uniquement les nouveaux téléchargements de files sur SSH
  • Vous ne pouvez pas vous connecter à Openstack Instance via horizon, mais SSH fonctionne-t-il?
  • iptables ne permet plus que ssh et https
  • Comment détecter ou save des téléchargements interrompus avec le server OpenSSH SFTP?
  • login SSH lente sur certains réseaux
  • Erreur lors de la connection au server via ssh
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.