Que dois-je considérer pour sécuriser SVN sous Windows? [fermé]

14

Actuellement, j'utilise VisualSVN Server et il n'est accessible que sur mon réseau domestique. Il y aura éventuellement d'autres personnes qui y accèderont, mais pour l'instant c'est juste moi et j'aimerais pouvoir descendre au café (ou n'importe où) et pouvoir travailler loin de la maison.

Actuellement j'accède au serveur à http://user-pc:xx/svn/Projects/. Lorsque je configure mon routeur pour transférer le port XX vers mon serveur, quelles mesures dois-je prendre pour sécuriser le serveur?

Gardez à l'esprit que je fais cela sous Windows et bien que j'utilise largement l'invite de commande régulière, je ne suis pas sur SVN depuis très longtemps et je n'ai utilisé rien d'autre que TortoiseSVN pour travailler avec lui jusqu'à présent.

Edit : La seule chose nuisible qu'un attaquant pourrait faire, à ma connaissance, est de: deviner mon numéro de port, mon nom d'utilisateur et mon mot de passe pour accéder au référentiel. Cependant, comme le dit le proverbe, je ne sais pas ce que je ne sais pas.

Donc, je ne demande pas nécessairement des instructions étape par étape (bien que j'aimerais certainement avoir cela aussi) autant que ce que je dois garder en considération pour tout type d'attaque qui pourrait être faite une fois le port ouvert.

Brandon Moore
la source
Pouvez-vous définir ce qu'est «se protéger»? pour vous? Protégez votre code, votre Apache, votre Windows des script-kiddies?
Lazy Badger
@LazyBadger Voir mon montage
Pour répondre à la question que vous avez laissée dans le drapeau, les électeurs proches du SO n'ont pas pensé que cette question méritait plus d'attention. Ils pensaient que c'était clairement hors sujet (comme ici, il s'agit d'un serveur domestique qui est hors sujet) et ne voulaient pas passer du temps à expliquer à nouveau pourquoi, oubliant que pour chaque occurrence, c'est la première fois que quelqu'un . Je ne suis pas un habitué de SO, je ne peux donc pas expliquer quelle était leur réflexion sur le sujet.
sysadmin1138
@ sysadmin1138 Merci d'avoir pris le temps d'écrire. Je ne sais pas ce que vous entendez par passer du temps à expliquer "encore", car ils n'ont jamais rien expliqué pour commencer. Je suis d'accord qu'il semble hors sujet ici, mais ce n'était pas hors sujet chez Stack Overflow et j'aimerais toujours une explication à ce sujet. Je soupçonne qu'il n'y en a pas cependant, et qu'ils ont juste décidé arbitrairement qu'ils n'aimaient pas la question.
Brandon Moore
J'ai laissé un drapeau sur la question du SO pour voir si je pouvais changer cela pour une meilleure maison.
sysadmin1138

Réponses:

7
  1. Utilisez un bon mot de passe pour sécuriser le serveur VisualSVN
  2. Utilisez un port supérieur pour le serveur, par exemple 39517 au lieu du port par défaut 80 ou 443. Il est plus difficile à deviner pour un attaquant. L'attaquant devrait s'appuyer sur une analyse de port.
  3. Le serveur VisualSVN n'autorisera pas l'accès anonyme. Vous devez définir explicitement les utilisateurs.
  4. Accordez un accès utilisateur uniquement aux personnes que vous connaissez / faites confiance.
Un un
la source
1
Devrait - il pas 4. L' accès utilisateur uniquement Donner à des personnes de confiance (ne les laissez pas utiliser votre compte)
Compte tenu de son numéro 3, c'est ce que je supposais qu'il voulait dire.
@orn, c'est ce que je veux dire. Désolé pour mon anglais.
Une chose que je me demandais était les tentatives de piratage par mot de passe par force brute, mais j'oublie qu'ils devraient également deviner le nom d'utilisateur, donc c'est bien.
@BrandonMoore, ils devraient également connaître le port.
8
  1. Utilisez https côté serveur, pas http simple (AuthType Basic est interceptable) utilisez l'authentification Digest (devez configurer Apache à la main)
  2. Utilisez un certificat émis par une autorité de certification (gratuit) sur le serveur, pas auto-signé (vous pouvez utiliser un certificat auto-signé, mais aurez (?) Pour le vérifier à l'œil à chaque fois)
  3. Maintenir à jour la version du serveur VisualSVN (avec des correctifs pour d'éventuels problèmes dans Apache et | ou SVN lui-même)
  4. Activer la journalisation dans httpd.conf pour l'audit de sécurité (pas de journalisation par défaut dans VisualSVN Server)
Blaireau paresseux
la source
0

Je recommanderais d'utiliser l'accès ssh à votre serveur svn. Personnellement, je préfère l'authentification par clé publique / privée.

Même avec cela, les suggestions de desaivv sont également des choses que je recommanderais.


la source
Merci Robert. Dans mes recherches Google, c'est ce que j'ai trouvé, tout le monde le dit ... mais je n'ai pas encore trouvé d'instructions simples pour le faire avec VisualSVN. Finalement, je vais en apprendre davantage sur ce genre de choses, mais en attendant, si vous pensez que vous connaissez un guide du profane pour configurer ssh qui pourrait être plus simple que ceux que j'ai rencontrés, j'aimerais le voir.
Pour la configuration du client: visualsvn.com/support/topic/00008
1
@robertvoliva - VisualSVN Server est un protocole d'accès http / https uniquement , pour svn + ssh: // une autre solution doit être utilisée
Lazy Badger
1
@ brandon-moore Non, il s'agit de tunnels ssh du client (TortoiseSVN) vers un serveur compatible SSH, qui n'est pas le serveur VisualSVN
Lazy Badger
1
VisualSVN (pas serveur) est un module complémentaire pour l'accès client à SVN-repo, indépendant du protocole, basé sur le client svn existant. Le forum de support a deux catégories principales distinctes, un lien de la catégorie "VisualSVN", sans rapport avec le serveur
Lazy Badger