您当前的位置:首页 > 学海无涯 > 信息安全网站首页信息安全
SVN安装与安全配置
发布时间:2015-11-04作者:♂逸風★淩軒
八、安全配置
apache:
<Directory ~ "~ ^(.*)\/\.svn\/"> Order allow,deny Deny from all </Directory>
nginx:
location ~ ^(.*)\/\.svn\/ { deny all; }
相应web service添加上述 屏蔽外部对web上.svn目录的访问
vim /etc/sysconfig/iptables
添加下列保存后重启iptable(为了安全建议只允许指定固定IP访问)
-A INPUT -s xx.xx.xx.xx/32 -p tcp -m tcp --dport 23690 -j ACCEPT
九、常用指令
1、把/var/www/html/目录导入到svn的repo目录下
svn import /var/www/html/ file:///home/svn/repo -m "test" svn import /var/www/html/ file:///home/svn/repo -m "test"
2、发布代码时使用svn export导出,而不要使用svn co检索,防止泄露目录结构。
svn export使用示例
svn export [-r 版本号] http://路径 [本地目录全路径] --username 用户名 svn export [-r 版本号] svn://路径 [本地目录全路径] --username 用户名 svn export 本地检出的(即带有.svn文件夹的)目录全路径 要导出的本地目录全路径
十、错误配置及其利用
SVN导致的漏洞主要有两类:
1、SVN未设置密码并允许匿名访问。
2、发布代码时使用了SVN co并且未限制对服务器上的.svn文件夹的访问。
SVN未设置密码并允许匿名访问将导致重要的源代码、数据库连接信息和服务器配置信息等敏感信息泄露,进而可能将导致服务器沦陷。
发布代码时使用了SVN co时服务器将导出一个带.svn文件夹的目录树,.svn文件夹中有包含了用于版本信息追踪的“entries”文件。如此时未限制对服务器上的.svn文件夹的访问便可被用于摸清站点结构。
更严重的问题在于,SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码。
如果解析了该后缀,可能会有文件解析的漏洞,可能会有扩展解析漏洞,找地方上传xxx.php.gif也许就可以直接得到webshell了。
附上个遍历.svn/entries展现网站目录结构的两个脚本:
关键字词:信息安全,安全,SVN,服务搭建,代码管理

上一篇:Mysql安全配置