2

我想要一个本地的Gitorious安装,它不能在我的本地网络之外访问,并且尽可能安全和私密。存储库将保存我需要保持私密和安全的代码,以防黑客或盗窃。

我不是 Linux 专家,当然也不是 git/gitorious 专家,所以下面描述的任何改进我的安装的技巧都会很有帮助!

我有:

  • 在运行 Ubuntu Server 11.04 64 位的本地计算机上安装了 Gitorious,并使用加密的 LVM。
  • 如果有人好奇,请使用本指南进行 Gitorious 安装。
  • 修改 Gitorious 以支持本地 IP 作为主机名。
  • 在 gitorious.yml 中:
    • 主机字段是本地 IP(例如 192.168.xxx.xxx)
    • 公共模式:假
    • only_site_admins_can_create_profiles:真
    • hide_http_clone_urls:真
  • git-daemon 已安装,但现在已删除。
  • 没有端口由面向互联网的路由器转发到机器。

基于 git:// 和基于 http:// 的请求通常都允许公开克隆 repos。删除 git-daemon 并将 hide_http_clone_urls 设置为 false 似乎已禁用两者。当我尝试克隆时,它们现在都传递错误。

使用加密的 LVM,机器在物理盗窃的情况下是安全的。此外,其他机器上的所有克隆存储库也保存在加密驱动器上。我在加密的 LVM 上使用了一个自定义脚本,该脚本在硬盘驱动器中填充色情内容,以防尝试失败太多。

我目前的担忧:

  • 是否完全禁用了通过 git:// 和 http:// 的 repo 访问?
  • 现在所有的 repo 访问途径都在 ssh 后面吗?
  • 有没有办法阻止所有不是来自本地网络的机器请求,以防我的路由器生气并寻求报复我?
  • 如果出现问题,我还能做些什么来加密或保护存储库?
  • 如何备份gitorious的数据?只备份 MySQL 数据库和 repos 目录?

谢谢你。

4

1 回答 1

2

如果您的 git-daemon 未运行,则没有 git:// 访问权限。hide_http_clone_urls 不会禁用 http,它只是不显示链接。为了保护它免受未经授权的访问,您可能希望在 apache/nginx 上阻止对 git.yourdomain.com 的所有访问。

你可以看看我的 debian 包,它有很多默认配置,比互联网上的文档更好:

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

基本文件夹是存储所有配置的地方,例如 apache configs 和其他配置,还有用于创建默认用户和其他内容的 shell 脚本,只需探索源代码树即可。

更具体地了解 apache 配置,请看这里:https ://gitorious.org/gitorious-for-debian/gitorious/blobs/master/base/debian/etc/apache2/sites-available/gitorious

例如,如果您不添加 git.yourserver.com 别名,那么没有人应该能够从 http 进行 git clone。

您可能还想观看和支持计划中的私有存储库功能,这将提供真实、安全、控制谁可以看到什么。

同样对于关于 ssh 的问题,我可以说,是的,它是安全的,并且只会允许在您的 gitorious 安装上注册了公钥的人访问。

关于 requests 问题,您可以查看apache allow, deny rules,您可以在其中创建如下内容:

Deny from All
Allow from 192.168.0

对于备份,您必须备份存储库文件夹和 mysql 数据库。

于 2011-12-12T21:11:55.200 回答