服务器/代码安全问题哪个问题更严重?

2020-07-20 21:47:45 +08:00
 cnbattle

先说问题,算是调研吧: 云服务器测试环境不关 debug 暴露 trace 信息,开发框架,开发语言 VS 管理后台 使用用户名 admin/system 等+弱密码 123456 等

前提: 服务器数据库.redis.SSH 等数据服务使用默认端口,关闭远程访问, 框架是 thinkphp,不定期 composer update

认为前者更严重扣 1,后者更严重扣 2,回复必感谢

1859 次点击
所在节点    问与答
19 条回复
cnbattle
2020-07-20 22:06:52 +08:00
有大佬回复下吗?个人认为后者更严重, 同事认为前者更严重, 相互都无法说服对方
loading
2020-07-20 22:12:30 +08:00
只能二选一的话,我两个都选。
cnbattle
2020-07-20 22:16:09 +08:00
@loading 所以我和同事是菜鸡互啄吗 0.0
loading
2020-07-20 22:19:07 +08:00
@cnbattle 这两项网上都一直有扫描器在扫描,就是哪种多而已。你用热门的,就惨些。

争论这个,还不如早点睡。
opengps
2020-07-20 22:19:45 +08:00
没得对比,严不严重都是取决于造成的后果,而不是单纯看弱点。平常所谓的 bug 评级只是粗略的估算出了一个后果,并没有套用实际案例
Oceanhime
2020-07-20 22:19:51 +08:00
前者是 云服务器测试环境不关 debug 暴露 trace 信息,开发框架,开发语言
后者是 管理后台 使用用户名 admin/system 等+弱密码 123456 等 对吗?
Oceanhime
2020-07-20 22:21:19 +08:00
@Oceanhime 没写完就发出去了,抱歉 233
个人觉得不需要对比吧。
不过如果要说破解难度的话,前者可能还需要有心人,后者如果挂到生产没几分钟就可以被自动 bot 爆破掉吧
cnbattle
2020-07-20 22:23:44 +08:00
@loading 我不想争论的,同事一边拿前者说安全问题怼我,测试环境我改了,正式环境一直是关的,一边使用 system 123456 当管理后台总管理员账户,被怼的怀疑有点人生
cnbattle
2020-07-20 22:28:52 +08:00
@Oceanhime 个人认为是后者安全问题更严重, 但跟同事说了,他没觉的有什么, 就是老是怼我前者的问题,我说我改, 他说 框架 开发语言都暴露了 担心这担心那的.
em70
2020-07-20 23:37:57 +08:00
不关 debug,破解找漏洞远比扫描 IP 攻击复杂,除非你系统有很大价值才值得这样做,两害取其重,肯定是后者
66450146
2020-07-20 23:56:10 +08:00
代码本身是没什么价值的。有价值的东西是产品,系统设计,和用户数据。
m4d3bug
2020-07-21 00:19:02 +08:00
木桶理论
locoz
2020-07-21 00:29:38 +08:00
都严重,只是相对而言后者更容易更快地被利用。

前者的情况是只要上线了、有人用,基本就会被爆掉,但如果没人用或者没人发现的话,或许没啥事。
后者的情况如果你玩过蜜罐的话应该会知道,天天都会有一堆机器人在扫的,弱口令爆破分分钟的事情。
yw9381
2020-07-21 04:33:56 +08:00
按知乎格式。不请自来。利益相关。信息安全从业人员
先说结论。2 更严重
楼主说有个大前提是使用的基础环境都是最新组件。也更新到最新版本。那么除非是 0day 漏洞。否则是在基础组件环境这里没法下手的。而 0day 漏洞是有使用成本的。不到万不得已不会去考虑使用。(不讨论有没有的问题。这里假定有)。而默认端口。这根本不算安全问题。非常正常的使用方式。修改端口并不能带来安全性的提升。全端口扫描加服务识别很快就有结果了。
基于这个大前提。攻击面就只剩下业务系统这一个了。按照楼主描述这应当是一个后台管理系统。在没有登录的情况下。其实很难有什么操作。除非开发人员意识不到位。框架提供的功能不用。偏要自己手写 SQL 。偏要自己处理文件上传。检查。改名等一系列操作。不过我想既然都上框架了。应该很少有人这么搞
那么整个攻击思路也只剩下围绕业务逻辑处理来展开。例如逻辑漏洞(前台购买。后台确认发货)。盗窃数据(订单。用户等)。对于弱口令来说。其实就相当于后台大门打开。谁都可以进去。完成上述操作。那么在业务上。轻则产生脏数据。重则影响业务本身处理(大量假订单之类。删除业务相关数据)。甚至利用当前权限来完成合乎业务逻辑的操作(修改订单金额并发货)从而造成经济损失(假设为自动化的发货系统)。退一步也能获取到这个后台的所有业余数据。这对于业务系统开始也是比较致命的(和拖库基本差不多)
而暴露测试环境。debug 打开。trace 信息打开这些信息只是给渗透过程提供信息参考。注意仅仅是参考。最终能否渗透成功。还是取决于业务本身是否存在漏洞。假定开发人员拥有良好的开发意识。那么即使给黑客一个测试环境。各种信息一应俱全。也不见得能拿下来。
所以说。万千防护敌不过一个 123456 。安全意识要比防护本身更重要。从一开始在代码 /框架 /依赖等根源上杜绝安全隐患要比后面使用防火墙等软硬件设备阻断要好得多
yw9381
2020-07-21 04:44:45 +08:00
接楼上。别说给什么 debug 信息了。就算你把源代码给黑客。如果系统本身在开发过程考虑到了安全问题并在编写代码时严格检查了输入。且开发及使用人员意识一流(有种总有刁民想害朕的意识从而导致系统安全性极高)。那么。黑客拿到源代码本身进行分析。甚至自己搭建了测试环境。也只是耗费了黑客的心力。最后无功而返。可能唯一潜在隐患是。源代码泄露出去可能意味着业务逻辑的泄露。以及使用的第三方服务的各种 API KEY 泄露。可能某些操作间接导致影响生产环境。但是也只是仅此而已。不会有更大的影响。第三方服务的 Key 要更换也很容易。
laozhoubuluo
2020-07-21 15:54:22 +08:00
其实楼上说的很清楚了,我就凑个数吧。个人认为明显弱口令这种更严重一些。

框架、语言、默认端口价值很有限,除非版本有 1 Day 或者大配置错误(例如那些无口令的 MongoDB,不过即使改了端口沦陷也是时间问题)。

但是即使能知道这些信息,如果大版本在维护期,小版本升级到最新的话,一般也没事,框架 0 Day 没那么好弄,而且报出来之后修复速度很快。Trace 信息可能有点价值,不过相对于直接进后台真的很有限了。

弱密码的话相当于稍微有心搞一搞后台直接沦陷了,这玩意一般都是大事,具体危害取决于后台什么样了(比如对业务的控制力度,有没有可能在后台进一步提权拿 Shell 之类的)。

吐槽下,中间 VS 也太不明显了,我第一次读以为 Visual Studio 开发工具呢,完了一直在想第一行和第二行怎么对比......
sugarkeek2
2021-02-26 11:15:38 +08:00
@cnbattle 一看问这个问题的人就是一坨屎 ,S b 一个 ,两者都是安全隐患,你都知道了,还来分个轻重搞毛 ,zz,拉低本站的颜值
cnbattle
2021-02-26 13:25:30 +08:00
@sugarkeek2 个人不想分轻重

只是当时 Sb 领导,线上环境系统账号使用弱密码,个人提了线上不要使用弱密码,领导不改不回应,反而转移到别的问题口口声声说安全很重要,不面对自己的问题,只会说别人,故而很气愤,这样的领导怕是 Sb 之子、zz 之子了

已在原公司离职,过去的就过去了,抱歉让你一个新注册三天的号费心了
sugarkeek2
2021-02-27 09:10:25 +08:00
@cnbattle 哦 离职了葛 热心助人是中华民族的传统美德。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/691724

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX