文件访问权限 - 个人小结

由于之前年少无知,在代码正式运行的环境中,犯过很多的严重错误。所庆幸的是,这些严重的错误并没有给之前服务的公司带来严重的后果,但是依然细思极恐。

接下来,下面列举一下,一些比较容易忽视的错误。

/.git 和 /.svn 文件夹访问权限

在之前一个外包公司工作的时候,因为接触到的项目很多,所以代码管理选择了用 git.开源中国 的私库对代码进行管理。

用 git 进行代码部署真的很方便:

一来,历史修改全部都有记录。

二来,在代码运行环境上执行 git pull origin master 一条命令,就能更新最新代码到运行环境,并且是一次性切换,没有中间过渡。

在 git 带来便利的同时,其实也带来了隐患:

文件访问权限 - 个人小结_第1张图片
未禁止 .git 目录访问

git 把所有相关信息存储到 /.git 目录下的文件当中。那么如果说,服务器没有处理对这个目录的访问权限的话,很可能黑帽会对整一份代码进行复制,可能会造成以下下严重后果:

1.数据库账号密码泄露,导致数据库泄露

2.关键秘钥文件提交记录泄露(例如支付秘钥)

3.代码bug嗅探,导致系统入侵。

4.可执行文件等(.sh,.exe)

那么我们其实可以简单的通过设置服务器程序,apache 或者 nginx 对 .git 文件夹的 访问权限来解决这个问题。

这里以 apache 为例,修改httpd.conf


文件访问权限 - 个人小结_第2张图片
禁止一切来源访问 .git

添加后,重启 apache httpd 服务 service httpd restart

得到效果:


文件访问权限 - 个人小结_第3张图片
服务器禁止 .git 目录的访问

.svn也是同样的道理。

触类旁通:

在下面也举一些常用需要禁止用户访问的文件类型:

1. sql 文件,因为有些系统喜欢把 sql 备份文件存储在运行的文件夹下。

2. log 日志文件,黑帽可以通过相关的log去分析系统能够接受的攻击类型。

3. 支付相关的秘钥文件,这个不用多说了。

总结

跟系统安全,私密性相关的文件或者文件夹访问权限,都需要多多注意一下,禁止访问权限,免得铸成大错。

你可能感兴趣的:(文件访问权限 - 个人小结)