Où maintenir un repository source central?

Quelle est la meilleure pratique de l'indussortinge concernant la sécurisation de l'access au code source? Je pense que les connections SSL uniquement via apache sont autorisées sur notre server sur un port obscur qui ne contredit pas autre chose. Ce qui me dérange, c'est le stockage du code source sur un server public, c'est-à-dire non seulement accessible via un réseau local. En outre, ce server a plusieurs utilisations. Apache dessert déjà d'autres sites internes d'entreprise. J'aimerais que tout le monde puisse accéder au code source de n'importe où (les maisons, l'aéroport, n'importe quoi) pour autant qu'ils possèdent les informations d'identification correctes. Suggestions?

7 Solutions collect form web for “Où maintenir un repository source central?”

Si vous êtes préoccupé par le fait qu'il soit sur un server public, mais que vous souhaitez accéder à n'importe quel endroit, vous devriez envisager de faire en sorte que vos développeurs utilisent un VPN basé sur le client pour se connecter à votre réseau à distance pour accéder à un server de contrôle source interne.

Je ne suis pas trop sûr de savoir pourquoi les gens pensent que l'approche VPN est la meilleure. Ce n'est pas nécessairement plus sécurisé et offre uniquement un avantage que je peux imaginer.

PPTP par exemple est connu pour avoir une security inférieure à la garantie idéale, même si je crois que cela s'est amélioré quelque chose depuis la première introduction … alors faites attention à la solution VPN que vous utilisez. J'irais avec OpenVPN ou IPSEC.

Cependant, vous ne pouvez pas dépasser la commodité de SSL / TLS sans VPN (lire plus loin). Et pour le rendre encore plus sécurisé, vous ne pouvez le certifier que.

Cependant, si vous pensez que vous pourriez offrir d'autres services que le contrôle source, considérez une solution VPN car vous allez installer d'autres services sur elle.

L'inconvénient d'utiliser un VPN est que votre PC devient effectivement une partie du réseau auquel il se connecte. Cela peut aussi être un avantage. Mais, si vous êtes à un million de kilomètres de chez vous et que la connection réseau à la base n'est pas trop rapide, chaque fois que vous voulez faire un diff ou un code check in ou out vous pourriez vous connecter et déconnecter le VPN.

Je peux parler d'une expérience personnelle ici car je suis un développeur et c'était une véritable douleur dans le bum de faire ça !!! Idéalement, les deux options sont préférées.

Donc, si vous allez naviguer sur le Web, etc., cela pourrait rendre la lecture des nouvelles, etc. plutôt lente. Mais au less, vous obtenez un access sécurisé au courrier électronique. Alors, considérez comment vous allez l'utiliser en premier … Si j'étais vous, je considérerais la mise en œuvre des deux.

En fait, j'aime votre suggestion. Si vous rendez votre référentiel de code source accessible UNIQUEMENT via SSL / TLS, et vous assurez-vous que vos développeurs n'utilisent pas de passwords de force faciles à brouiller (ou mieux encore, utilisez des certificates), cela devrait être aussi sécurisé que n'importe quoi .

Vous pouvez, à la place, cacher votre server dans votre réseau local et forcer les développeurs à utiliser un VPN pour get un access, mais cela signifie simplement que vos développeurs doivent mettre leur nom d'user / mot de passe (et / ou cert) dans une boîte de connection différente. Je reorderais de créer un point d'input dans votre réseau dont les implications de security peuvent ne pas être toujours évidentes, juste pour permettre l'access à un service unique. Si vous avez déjà un VPN configuré et sécurisé pour d'autres utilisations, assurez-vous, c'est évident, allez-y et utilisez-le. Sinon, il peut être plus simple et donc plus sécurisé de rendre le service lui-même directement disponible via SSL / TLS.

La norme de l'indussortinge dépend probablement de ce que votre indussortinge (ou de vos clients) est 🙂

Pratiquement, vous devez considérer à qui vous souhaitez donner access, et ce qu'ils peuvent gérer. Certaines personnes dont vous pourriez vouloir / devez accéder ne pourront pas faire face à beaucoup plus qu'un nom d'user / mot de passe. D'autres pourraient être en mesure de se lancer sur ssh et d'une key privée, qui vous permet de vous fournir la key en toute security, n'est pas grave. Le client TortoiseSVN peut gérer ssh + svn et prend en charge les keys privées avec un peu de torsion du arm. Cela a été assez bon pour mes besoins.

Un tunnel VPN est également une suggestion équitable, bien que dans de nombreux endroits, vous seriez heureux de donner aux personnes externes un access à votre contrôle source, mais pas à votre réseau!

Comme d'autres, je préfère un VPN. Une alternative serait un tunnel SSH, ce qui, je suppose, en termes pratiques est une sorte de VPN de toute façon.

Faites-le uniquement en interne et implémentez une solution VPN à distance. / Doh-duplicate.

Si vous voulez accéder à partir de n'importe où, alors vous avez besoin d'un server public – ce qui est clair.

Sur ce server, vous souhaitez exposer le less possible , de preference juste Mercurial / Subversion et rien d'autre. Il s'agit d'empêcher une violation de la security de se propager du contrôle source au rest de votre entreprise. Pour cette raison, je suis d' accord avec Matt quand il dit qu'un VPN peut être dangereux: il offre un access beaucoup plus large que nécessaire.

Pour Mercurial, vous pouvez bloquer les choses de manière étroite en utilisant hg-ssh pour restreindre les commands disponibles pour les clients qui se connectent sur SSH. En utilisant SSH, vous pouvez facilement exiger que les clients utilisent l'authentification de key publique au lieu de passwords. Cela protège votre server contre les attaques de connection de force brute.

Même si une key SSH est compromise (peut-être a-t-elle une phrase de passe faible et l'ordinateur portable stocké, il a été volé), alors le dommage le plus grave qu'un attaquant peut faire est d'append l'historique des ordures à Mercurial. Le protocole utilisé est insortingnsèquement ajouté uniquement, de sorte que rien ne peut être supprimé avec hg push .

Pour HTTPS, l' authentification est effectuée par le server web frontal . Cela signifie que vous pouvez exiger des certificates de site client si vous le souhaitez et get une security comme l'authentification de key publique SSH ci-dessus.

  • Apache peut-il être authentifié automatiquement?
  • Les crochets de subversion ne fonctionnent plus
  • Authentification de Svnserve avec SASL et counts d'users normaux
  • Quelles methods HTTP utilise Subversion?
  • Port satellite svn
  • Utilisez git pour plusieurs files de configuration de server
  • Chercher un logiciel central de gestion des utilisateurs [fermé]
  • Quel système de version à utiliser?
  • Problème SVN sur OS X: version RA incorrecte
  • SVN: erreur de validation du certificate de server pour svn hook linux
  • Git / svn - maintien de deux référentiels avec différents droits d'access
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.