2011-09-02 70 views
2

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

我不是Linux的专家,当然也不是git/gitorious的专家,所以下面介绍的改进我的安装的任何提示都会非常有帮助!

我:

  • 运行Ubuntu 11.04服务器64位本地机器上安装Gitorious与加密LVM。
  • 使用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://的请求通常都允许开放克隆repos。删除git-daemon并将hi​​de_http_clone_urls设置为false似乎已禁用了这两项。当我尝试克隆时,它们现在都会传递错误。

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

我现在的顾虑:

  • 是通过混帐回购协议的访问://和http://完全禁用?
  • 回购存取的所有途径现在都在ssh后面了吗?
  • 有没有办法阻止所有来自本地网络内的机器的请求,以防万一我的路由器生气并寻求报复我?
  • 还有什么我可以做的加密或保护回购,以防出现问题?
  • 如何备份gitorious的数据?只需备份MySQL数据库和仓库目录?

谢谢。

回答

2

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

你可以看看我的Debian软件包,有许多默认配置,在互联网上优于本细则可供选择:

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

基础文件夹是所有配置存储,如Apache配置和其他,还有一些shell脚本可以创建默认用户和其他东西,只需浏览源代码树即可。

更加具体的关于Apache的配置,看看这里:https://gitorious.org/gitorious-for-debian/gitorious/blobs/master/base/debian/etc/apache2/sites-available/gitorious

如果,例如,你不加git.yourserver.com别名,那么没有人应该能够从克隆的git HTTP。

您可能还想观看并支持计划编制的private repositories feature,这将提供真实,安全的控制谁可以看到什么。

同样对于有关ssh的问题,我可以说,是的,它是安全的,并且只会授予在您的gitorious安装中注册了公钥的人员。

关于请求的问题,你可以在apache allow, deny rules,在那里你可以创建类似看一看:

Deny from All 
Allow from 192.168.0 

进行备份,你必须备份您的存储库文件夹和MySQL数据库。

+0

基督教徒确认他们获得了该功能所需的所有捐款,因此他们将在2012年实施它。希望尽快看到此功能。 http://blog.gitorious.org/2011/12/08/private-repositories/#comment-965 –

+0

私有存储库已经实现,我现在使用它在我的私有Gitorious instancce – sola