[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

【微强化v2】温和的安全事件体验

大家好,我是系统解决方案部的犬喜。

安全事件是用户所熟悉的;有一天,他们正在使用的服务成为网络攻击的目标,导致服务不可用或导致某些功能停止并以降级方式运行。

这次我参加了“Micro Hardening”活动,可以实际体验到这样的安全事件,所以我把我的经验总结在博客中。

拒绝

・为了避免剧透,本博客不包含使用微强化进行攻击的实际示例或详细的对策。
・包含很多犬崎的个人观点。
・有6套练习,但我们会将它们作为摘要发送给您。

什么是微淬火?

这是强化子项目之一,由 1 到 4 人组成的团队保护云上配置的小型环境免受各种网络攻击,并磨练他们在发生攻击时的响应能力。每次在短时间内、多次执行相同的攻击。

最初的 Hardening Project 的要求水平和参与门槛都很高,所以我认为 Micro Hardening 是一个推荐给非工程师和刚刚开始学习安全的人的强化活动,因为它可以让你轻松参与,甚至如果您没有事件响应经验。

版本差异

微强化 v2 的事件比 v1 更多。

还新引入了SLA 作为满足业务需求的标准在比赛中,重点更多地是满足既定的业务要求(营业时间和销售额),而不是服务质量。

主要故事

介绍

为了前往比赛场地所在的淡路岛,我们转乘地铁、JR、巴士到达。
前一天被无数的事件吓坏了我玩得很开心,睡不着,所以转车后我在车上小睡了一会儿。

除此之外,淡路岛。
由于是热门旅游胜地,所以位置非常好,从比赛场地SAKIA可以看到濑户内海。

此外, SAKIA是由一所关闭的小学改建而成的社区设施,包括餐厅、酒店和联合办公空间,氛围友好。

初步说明及团队划分

根据预先材料对活动和团队公告进行了解释。
(文档主体部分是竞赛环境信息,此处略去。)

团队的构成是当天公布的,所以无法提前沟通,但犬崎所在的Team 1有3名程序员和犬崎。

与他们交谈很有趣,因为每个人都有不同的背景和参加活动的原因。

活动开始

〇 第 1 组

“GET /__________________________________________________ HTTP/1.1” 404 486 “-” “curl/7.29.0” “GET /_____aaaaa__a_____a_____a__aaaaaaa______ HTTP/1.1” 404 486 “-” “curl/7.29.0” “GET /____a_____a____a_a____aa___aa__a_________________ HTTP/1.1" 40 4 486“-”“curl/7.29.0”“GET/____a_____a___a___a_a_a_a__a___HTTP/1.1”404486“-”“curl/7.29.0”“GET/____a__aaaa__a_____a__a__a__a__aaaaa____HTTP/1.1”404486“-”“curl” /7.29.0 “GET /____a_____a__aaaaaa__a_____a__a___ HTTP/1.1”404 486“-”“curl/7.29.0”“GET /____a_____a__a_____a__a_____a__a___ HTTP/1.1”404 486“-”“curl/7.29.0”“GET /_____aaaaa____ a_____a__a_____a__aaaa aaa___________ HTTP/1.1" 404 486 “-” “curl/7.29.0” “GET /_________________________________________________ HTTP/1.1” 404 486 “-” “curl/7.29.0” “GET /_________________________________________________ HTTP/1.1” 404 486 “-” “curl/7.29。 0" "GET /_____aaaaa____aaaaaa_____a_____aaaaaa___aaaaaaa__ HTTP/1.1" 404 486 "-" "curl/7.29.0" "GET /____a_____a_____a___a_a____a_____a_____a_____ HTTP/1.1" 404 486 "-" “curl/7.29.0”“GET /____a_ __________a______a___a___a_____a_____a_____ HTTP/1.1 ” 404 486 “-” “curl/7.29.0” “GET /_____aaaaa__a_____a_____a__aaaaaa__a_____ HTTP/1.1” 404 486 “-” “curl/7.29.0” “GET /__________a_____a_____aaaaaaa__a___a___a_____ HTTP/1.1” 404 486“-”“卷曲/7.29 .0" "GET /____a_____a_____a_____a_____a__a____a______a_____ HTTP/1.1" 404 486 "-" "curl/7.29.0" "GET /_____aaaaa____a_____a_____a__a_____a_____a_____ HTTP/1.1" 404 486 "-" "curl/7.29 .0" "获取 /_________________________________________________ HTTP/1.1 ” 404 486 “-” “卷曲/7.29.0”

游戏开始时输出到访问日志的[GAME START]的ASCII艺术已经开始...Micro Hardening。
暂时,我决定先在无人看守的情况下进行,基于“观看”的方针,组织活动,制定时间线。

距离开始已经过去了几分钟。
没有发生什么特别的事情,心里也没有那么紧张了。
(犬宿此时并不知道,这是暴风雨前的平静)

不久之后,我们收到报告称网站标题在团队内部被更改了……
当我们重新加载电子商务网站时,网站标题中显示了“黑客匿名”字样。
多么大胆的宣战啊。

当我们调查相关时期的访问日志时,我们发现了对可疑 URI 的请求。
此外,它返回 HTTP 状态代码 200。
当我查看文档根目录时,有一个 php 文件,其文件名是我无法识别的。
看来某种漏洞被利用来设置后门。

与此同时,发生了一起电子商务网站产品价格被欺诈操纵的事件。
电子商务网站数据库的管理用户信息很可能被泄露,或者记录被 SQL 注入错误更新。
如果是前者,此时您可能无法收集太多。

同时,产品页面中嵌入了误导用户的登录表单,或者将页面布局更改为攻击者最喜欢的让人眼花缭乱的布局……
最终服务瘫痪了。第一盘我的手已经破烂不堪。
我的经历非常糟糕。乐趣。

第一盘比赛,各支球队的成绩都停滞不前。

防御栏根据您清除的评估项目的数量而增加或减少。
由于这次没有后卫,所以我队的防守分是0分。
不过,如果你认真捍卫的话,可能会影响官方爬虫的购买步骤,而且即使捍卫了,SLA似乎也不一定会提高。

〇第2、3组在
第2、3组中,我们不知道如何确定具体的入侵路线,也不知道如何采取根本性的应对措施,所以我们的方针是“分工合作,忍耐不停服”! ” 在准备期间,我完成了各种设置更正并应用了安全补丁。

如上所述,根据时间线,特定的攻击和事件会在特定的时间发生,因此一旦采取对策,我认为以后的事情会相对容易。

……但是,服务中断的问题依然存在。
然而,尽管是暂时的,我们还是成功地阻止了一些入侵和篡改。

〇 第 4 组和第 5 组
根据上述结果,我们决定重新审视第 4 组和第 5 组中需要改进的地方,并根据第 3 组中出现的漏洞和事件再次制定改进/缓解措施。

特别是,服务在某个点停止是致命的,因此必须避免这种情况。
由于在事件到达 Web 服务器之前返回了超时,我认为可能在不同的层中发生了某种问题。

由于竞争环境中多台服务器并存,我想如果团队内部能详细理解并组织规范的话会更好……
最后,这套应用的改进…… - 缓解措施是不是很有效,并且 SLA 无法避免......

〇在第六盘最后一局之前
,我有机会收到部分提示,基于该提示我决定再次检查。
从结果来看,只需重启某个服务就解决了问题。


即使在我写这篇博客时,我也深感遗憾,因为我专注于响应其他事件,所以忽略了仔细检查相关服务的日志。

包括决赛在内的结果如下。


据说一开始一支球队只能发挥出50%的成绩,你可以看到每支球队的分数比第一盘和第六盘的差值都多一倍以上。
由此可见反复努力的重要性。

事实上,我认为球队能够顺利地应对第一盘和第六盘的事件。

充分享受微硬化的秘诀

对于那些将来参加该活动的人,我们总结了以下技巧(包括犬崎的反思),以充分享受微硬化。

1.需要一定的先验知识
如果您是非工程师或初学者,我认为最好限制LPIC-1上将询问的命令的使用。

这是因为练习涵盖了基本规范并提供了有关如何重新启动服务的补充说明,但不包括命令说明。

2.团队建设真的很重要
,让我们弄清楚这组的目的,谁将扮演什么角色,以及下一组如何解决。

在这种情况下,我敏锐地意识到,我只在第一组中创建了时间线,而没有花时间单独理解和组织团队内的规范,这对后来产生了影响。即使每个人都单独理解它,作为一个团队来完成它并达成相同的理解也很重要。

3. 留下你的工作痕迹
这可以在 Slack 或 Google Sheets 中,所以请保留它。
弄清楚谁后来采取了什么行动也很重要。

4、考虑使用外部服务和工具
为了发现问题、维护服务质量,充分利用外部服务和工具更为现实。

请不要以为你能像犬洧一样独自处理事情。
得分最高的团队善于利用这个区域。

5. 注意满足业务需求
仅仅让服务运行不会提高您的分数。
花点时间思考如何提高分数以及满足工作要求意味着什么。

概括

马上实现竞赛级别的环境可能很难,但我想至少在公司内部举办一次安全事件审判会。

感谢您阅读本文!

如果您觉得这篇文章有帮助,请点赞!
5
加载中...
5 票,平均:1.00 / 15
158
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

写这篇文章的人

关于作者

犬宿

2021 年 4 月作为应届毕业生加入 Beyond。
也许是因为我的输出有问题,但有时我会说一些奇怪的话。