Sécurisé, Privé, Local Gitorious

Je souhaite avoir une installation Gitorious locale inaccessible en dehors de mon réseau local et aussi sécurisée et privée que possible. Les pensions auront un code dont je dois garder privé et sécurisé en cas de piratage ou de vol.

Je ne suis pas un expert de Linux, et certainement pas un expert de git / gitorious, donc tout conseil pour améliorer mon installation décrit ci-dessous serait très utile!

J’ai:

  • Installé Gitorious sur une machine locale exécutant Ubuntu Server 11.04 64 bits, avec un LVM chiffré.
  • Utilisé ce guide pour l’installation de Gitorious, si quelqu’un est curieux.
  • Modifié pour prendre en charge les adresses IP locales en tant que noms d’hôtes.
  • Dans gitorious.yml:
    • les champs hôte sont une adresse IP locale (par exemple 192.168.xxx.xxx)
    • public_mode: false
    • only_site_admins_can_create_profiles: true
    • hide_http_clone_urls: true
  • git-daemon a été installé, mais est maintenant supprimé.
  • Aucun port transmis par Internet à un routeur sur une machine.

Les requêtes basées sur git: // et http: // permettraient normalement le clonage ouvert des mises en pension. Supprimer git-daemon et définir hide_http_clone_urls sur false semble avoir désactivé les deux. Ils livrent tous les deux des erreurs maintenant lorsque je tente de cloner.

Avec un LVM chiffré, la machine est sécurisée en cas de vol physique. En outre, tous les repos clonés sur d’autres machines sont également stockés sur des disques chiffrés. J’ai utilisé un script personnalisé sur le LVM chiffré qui remplit le disque dur avec du porno en cas de trop nombreuses tentatives infructueuses.

Mes préoccupations actuelles:

  • Est-ce que repo est accessible via git: // et http: // complètement désactivé?
  • Est-ce que toutes les possibilités d’access aux pensions sont sécurisées derrière ssh maintenant?
  • Existe-t-il un moyen de bloquer toutes les demandes adressées à la machine qui ne proviennent pas du réseau local, au cas où mon routeur se fâche et cherche à se venger de moi?
  • Que puis-je faire de plus pour chiffrer ou protéger les pensions en cas de problème?
  • Comment sauvegarder les données de Gitorious? Il suffit de sauvegarder la firebase database MySQL et le répertoire repos?

Je vous remercie.

Si votre démon git ne fonctionne pas alors pas de git: // access. hide_http_clone_urls ne désactive pas http, il ne montre tout simplement pas le lien. Pour le protéger contre les access non autorisés, vous pouvez bloquer tous les access à git.votredomaine.com sur apache / nginx.

Vous pouvez jeter un oeil à mon paquet Debian, qui a beaucoup de configurations par défaut, mieux que les documentations disponibles sur Internet:

https://gitorious.org/gitorious-for-debian/gitorious/

le dossier de base est l’endroit où toutes les configurations sont stockées, comme les configurations apache et autres, il y a aussi les scripts shell qui créent les utilisateurs par défaut et d’autres choses, explorez simplement l’arborescence source.

Etant plus précis sur la configuration d’Apache, jetez un coup d’oeil ici: https://gitorious.org/gitorious-for-debian/gitorious/blobs/master/base/debian/etc/apache2/sites-available/gitorious

Si, par exemple, vous n’ajoutez pas l’alias git.yourserver.com, personne ne devrait pouvoir cloner depuis http.

Vous souhaiterez peut-être également surveiller et prendre en charge les fonctionnalités de référentiels privés planifiées, qui fourniront un contrôle réel et sûr de qui peut voir quoi.

Aussi pour la question sur ssh, je peux dire que oui, c’est sûr et ne donnera access qu’à ceux qui ont une clé publique enregistrée sur votre installation.

A propos de la question des requêtes, vous pouvez jeter un coup d’oeil à apache allow, deny rules , où vous pouvez créer quelque chose comme:

Deny from All Allow from 192.168.0 

Pour la sauvegarde, vous devez sauvegarder votre dossier de référentiel et vos bases de données mysql.