我想要一个本地Gitorious安装,该安装不能在我的本地网络外部访问,并且要尽可能安全和私有(private)。仓库将保存我需要保密和安全的代码,以防被黑客入侵或盗窃。

我不是Linux方面的专家,当然也不是git/gitorious方面的专家,因此,以下所述的有关改善我的安装的任何技巧都将非常有帮助!

我有:

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

  • 基于git://的请求和基于http://的请求通常都允许开放式回购克隆。删除git-daemon并将hi​​de_http_clone_urls设置为false似乎都禁用了这两个功能。现在,当我尝试克隆时,它们都传递错误。

    使用加密的LVM,可以在物理失窃的情况下保护机器的安全。同样,其他计算机上的所有克隆存储库也都保存在加密驱动器上。我在加密的LVM上使用了自定义脚本,如果尝试失败次数过多,该脚本会将色情内容填充到硬盘驱动器中。

    我目前的担忧:
  • 是否完全禁用了通过git://和http://进行回购访问?
  • 现在可以在ssh后面保护所有回购访问途径了吗?
  • 如果路由器发怒并向我报仇,是否有办法阻止所有不是来自本地网络对计算机的请求?
  • 万一出问题,我还能做些什么来加密或保护存储库?
  • 如何备份gitorious的数据?只是备份MySQL数据库和repos目录?

  • 谢谢。

    最佳答案

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

    您可以看一下我的debian软件包,该软件包具有许多默认配置,比Internet上提供的文档更好:

    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。

    您可能还需要监视和支持计划中的private repositories feature,它将提供对谁可以看到的内容的真实,安全的控制。

    另外,关于ssh的问题,我可以说是的,它很安全,并且仅允许访问在您奇特的安装中注册了公钥的人。

    关于请求问题,您可以查看apache allow, deny rules,您可以在其中创建类似以下内容的内容:

    Deny from All
    Allow from 192.168.0
    

    为了进行备份,您必须备份存储库文件夹和mysql数据库。

    07-28 13:16