最近竞争对手被人脱裤了。。应该是论坛 discuz 直接访问了数据库造成的。。。作为一家没有专业运维的 phper ,老大就发话了,要保证安全。。。现在做了以下几点
1.使用的阿里云的 rds ,数据库只能内网访问,只要服务器不被攻破,那数据库还是很难进
2.所有上传文件均不留在自己服务器,都是放在阿里 oss
3.缓存服务器也不在本机,都是有另外服务器支撑
4.ssh 默认 22 端口已经改掉了
现在正在研究 docker ,以为把运行环境放到 docker 中会更安全,因为你嗅探的数据全是虚拟机的数据,无法对真实机器文件做嗅探,所以应该拿不到密码文件,但是刚看到
https://www.v2ex.com/t/355724#reply38
这篇底下评论 docker 并不安全,瞬间就方了。。。不知道有没有必要更换 docker ,还有哪些地方需要注意呢?
同样回复都会花铜币感谢,希望各位大神指教一二。。。。。。。
1
jarlyyn 2017-04-19 10:10:25 +08:00 via Android 1
并不更安全
|
2
lianxiaoyi OP @jarlyyn 大神能仔细解答一下么???非常感谢。。。。
|
3
gdtv 2017-04-19 10:11:52 +08:00 via Android 2
我搭车问一下, openbase_dir 有多安全?会不会被攻破,从而访问到网站目录外的文件?
|
4
ovear 2017-04-19 10:15:03 +08:00 1
|
5
ss098 2017-04-19 10:15:49 +08:00 1
他这句话并不正确。
Docker 确实能隔离环境,但是并不是你需要的那种“安全”。 |
6
gouchaoer 2017-04-19 10:16:57 +08:00 1
你服务器上跑了 N 个 php 应用就一定要用不同的 docker 容器跑, docker 是很好的方案
数据库内网访问没用,你 php 应用有漏洞还是可以拉你的库啊,然后 2/3/4 只是降低一些风险,意义不算大 你竞争对手是因为把 discuz 和主业务放一起被人从 discuz 下手搞了的吧 害怕被脱裤最主要的是害怕用户表被拖了,你可以把用户表分离出来,用不同的数据库存,然后 php 登录的地方用 rpc 调用另一个专门负责登录的 php 应用。。。基本上就这样了,没了。。。。 |
7
lianxiaoyi OP @gdtv 欢迎上车。。。。。吓得我赶紧百度了一下什么是 openbase_dir
|
8
gouchaoer 2017-04-19 10:20:57 +08:00 1
openbase_dir 根本就没用,还有啥 user_dir 啥的,这些策略 php 官方也慢慢持消息态度的
|
9
lianxiaoyi OP @ovear 我已经把 discuz 单独搞了一个服务器,买了阿里云的安骑士收费版,也为它单独买了一个 rds ,它的用户信息也和我原有业务不相同。。。。。可谓是下了血本。。。。。。
|
10
lianxiaoyi OP @gouchaoer 应该是从 discuz 下手的。。。我已经把 discuz 完全甩出去了。。。。啊哈哈 。。。。看来要想安全真够麻烦的 。。。。。
|
11
ovear 2017-04-19 10:25:04 +08:00 1
@lianxiaoyi 没用啊。。逻辑是:
你 Discuz 可以用->Discuz 服务器可以访问数据库->如果是 Discuz 有洞洞->Discuz 服务器被淦->通过 Discuz 服务器脱裤 问题在 Discuz 身上呀。。。 血本下错地方了。。血本应该放在对 Discuz 进行代码审计,还有做所有好日志 |
12
lianxiaoyi OP @ovear 我们的 discuz 不是很重要,只是一些资料放里面用户可以找到。。。。一天访问量也不到 2000 。。而且它现在也不访问我主业务的数据库。。。。已经用两个 rds 隔开了。。。。。相当于给 discuz 完全平移出去了,跟我主业务没半毛钱关系了。。。我现在只要我主业务代码审计做好就行了。。。不过我好久没看手底下人代码了。。。。囧。。。。。
|
13
yongzhong 2017-04-19 10:33:04 +08:00 1
docker 的侧重在于通过 image 方式进行部署,只关注应用,基础镜像会删掉很多不必要的软件,而不是像虚拟机一样让你 ssh 上去自己倒腾
docker 用 namespace,cgroups 帮你完成命名空间到 CPU 等资源的隔离 你的标题是一个伪命题,没有什么是绝对安全的 |
14
lianxiaoyi OP 我现在服务器还有 exec 函数权限。。。。醉了 。。。。打算开始用 python 写这部分 exec 内容。。。。。。。
|
15
sagaxu 2017-04-19 10:33:17 +08:00 1
用了 docker 会增加那么一点点安全性,起码隔离性好了,但是也无法完全杜绝。再好的运维,也没法阻止猪队友的垃圾代码产生的漏洞。
|
16
lianxiaoyi OP @yongzhong 好吧。。。使用 docker 平移生产环境镜像确实比较容易。。。。。。。是我想多了。。。。。
|
17
thankuu 2017-04-19 10:35:44 +08:00 1
这个锅 docker 不背,明明是 discuz 的锅
|
18
lianxiaoyi OP @sagaxu 我也是这么想的。。能有一点点隔离性也是好的。。。增加了一点点难度。。。多个小难度就会集结成大难度。。。。。。应该能防一部分人。。。。
|
19
lianxiaoyi OP @thankuu 哥。。我没说是 docker 的锅。。。。我是想问上 docker 后会不会更安全。。。。。。 discuz 我已经完全甩出去了。。。。
|
20
grayon 2017-04-19 10:44:45 +08:00 1
docker 是可以做数据隔离,但是不会增加 php 的安全性, php 被攻陷的话, php 能访问到的资源都会暴露
docker 本身没什么安全问题,但是 docker 有个远程管理问题可以直接拿到主服务器的 root 权限 |
21
lianxiaoyi OP @grayon 我想过对 php 代码进行加密。。。但是因为项目太大。。测试起来比较复杂。。。。所以不敢上加密。。。。。。。。。
|
22
Felldeadbird 2017-04-19 11:20:17 +08:00 1
要先知道攻击点在何处。 discuz 注入、 XSS 都可能会引起连锁问题。
用 docker 可以隔离多个 PHP 应用。这样 discuz 被注入了,也就是 discuz 当前隔离区被提权。那么接下来就是考验黑客是否需要对 docker 挖掘漏洞提取。。。。 你 PHP 加密作用也不大,源码基于 discuz 而来,该有的 0day 漏洞,一样会有。你加密和不加密实际上根本没帮助。 另外,安全这事情嘛,别交给开发了!既然都有对手来干你们,就安心地去聘请安全人员吧。 |
23
Ouyangan 2017-04-19 16:50:30 +08:00
docker 跟安全有什么关系...
|