和黑客斗争的 6 天![通俗易懂]

和黑客斗争的 6 天![通俗易懂]互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找Sql注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都…

大家好,又见面了,我是你们的朋友全栈君。

和黑客斗争的 6 天![通俗易懂]

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。

有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都是各个黑客检测工具来扫描,当然更高级一点的入侵需要很多人工协助。

一般情况下,网站被黑客入侵都是因为开发人员平时没有安全意识导致的,厉害的黑客往往会对平台的业务和内部流程非常熟悉,很多漏洞是从逻辑上分析出来的

当然了,所有的黑客攻击行为都是有目的,99% 都是因为其中隐藏着暴利

比如2015-2017年,很多互联网金融公司遭遇黑客敲诈,最后都是打钱了事。

和黑客在线上斗争过很多年,积累了一些案例,互联网金融公司工作期间,分享过一系列黑客攻击的案例,查看案例文章可以在公号内回复:003

今天给大家分享的是,去年一家公司发生的事情。

1

一个客户反馈操作很慢引发的事件

第 1 天

2018年的某一天,客服接到个别用户反馈,公司某款 App 操作时某个界面响应很慢,客服将此问题反馈给了公司的相关技术人员。

技术人员接到这个反馈之后,在生产环境多次测试并没有复现这个问题,于是给客户反馈有可能是网络的问题,可以换个网络再试试。

第 2 天

客服接到更多用户反馈,手机操作某个功能时很慢,最长时间要等待超过 1 分钟。客服又将相关信息反馈到技术,并且将问题级别提高了一级

技术这边将问题上升到技术经理,开始排查问题原因,技术经理通过大量测试发现,这个缓慢现象在测试 10 次会复现 1 次

看来又是一个偶现的问题,偶现的 Bug 是最难处理的,技术经理带着研发人员在服务器调了一下前端业务日志,分析之后也没有找到具体的原因。

第 3 天

公司有一个核心代理商将此问题反馈到技术老总,老总安排技术总监来关注此问题。技术总监要求把访问路径的关键节点都打上日志,看看具体是哪部分操作慢了。

经过技术经理的排查,是在 App 操作某一个功能的时候出现偶发性的慢,但是这块的操作也有缓存作为支撑,缓存的使用率并不是很高。

既然问题是偶发并且后面的缓存使用率并不高,那么应该不是程序哪块出现 Bug 了,应该是其它方面的问题,遂要求排查是否是服务器问题。

先给大家画一下一张图,方便大家了解一下技术背景。

和黑客斗争的 6 天![通俗易懂]

前端用户使用手机操作某一个功能时,请求经过防火墙路由器分发到最前端的 Nginx,Nginx 又通过均衡负载分发到后面的五台业务服务器

业务操作的时候需要调用一组数据,这些数据会根据业务规则缓存到背后的缓存服务器集群中,用来缓解后端数据库的压力。

第 4 天

经过和运维人员配合调查发现,在分发的这 5 台业务服务器中,其中有 1  台服务器的压力比较大,凡是请求分发到这台服务器的时候就会出现慢的情况。

因为线上的服务器已经用了很多年,怀疑是不是服务器配置老化导致的问题,随后将压力比较大的服务器进行下线,无缝切换到新的服务器上。

过了半个小时后继续观察,又发现另外的一台服务器也出现负载压力大的问题。后面变了很多方案,比如减少到 3 台服务器来支撑,或者增加到 9 台服务器来支撑。

总是切换半个小时到两个小时的时候,其中的 1-2 台服务器的压力会突然上来,一直保持比较高的访问量,经过这些测试排除是服务器的问题

紧接着排除 Nginx 是不是分发的策略有问题,导致某个服务器分发的请求过多,试着变了几次 Nginx 的分发策略后,还是会复现出问题,排除 Ngingx 分发异常

第 5 天

技术人员继续跟踪,负载压力比较高的服务器线程 Down 出来和正常的服务器对比,发现在负载压力比较大的服务器上某个线程的调用数量异常的高

再继续跟踪这个线程,原来是某一个忘记密码的功能被频繁的调用,忘记密码应该是一个普通的接口,为什么会被这样高频率的调用呢?

然后再继续跟踪是哪些 IP 在频繁的调用这些接口,不跟踪不知道,一跟踪吓一跳,把调用最频繁的 Top 100 IP 列出来查了一下,发现都是国外的 IP。

什么 巴黎、孟买、菲律宾、泰国,几乎所有的外国的IP都有,但是作为一家国内的第三方支付公司,怎么可能会出现国外的 IP 呢?

大家都知道在手机上填忘记密码的时候,绝大部分平台都是使用手机号作为其中的一个条件,如果你没有在这家平台注册,那么就会反馈手机号不存在。

这是一个非常常见的功能,但是对于黑客来讲,这个功能够暴利了

很多同行业的竞争者需要挖角其它公司客户,但是怎么知道这些平台的客户有哪些?

直接通过这个接口,暴力破解就可以了

是不是很黄很暴力!

因为公司处理的业务都是国内业务,所以只要直接在 Nginx 写脚本,把所有来自国外的 IP 都给屏蔽,可以暂时解决被国外 IP 攻击的问题。

上线后果然消停了,服务器也不过载了,App 访问也正常了。

第 6 天

可能黑客过了一晚上也反应过来了,又开始使用国内的服务器代理 IP 高频调用此接口,既然黑客使用了国内的 IP 地址,肯定不能把国内 IP 都封了吧。

不过在 Nginx 之后还有一个前置服务器,在前置服务器中加一个非常简单的过滤器:设置一个 IP 地址在某个时间段内(可配置)只能访问此接口 5 次,即可解决此问题。

然后再以用户为维度加限制,一个用户在某个时间段内(可配置)只能访问此接口 5 次。

上面这些手段都上完之后,一切都安静了,再也没有出现过服务过载或者用户反馈操作反应慢的问题了。

但是如果黑客有足够多的国内 IP 呢,为了防止出现这样的问题,我们再接着对产品进行升级,来防止黑客的这种可能性。

我们都知道现在很多 APP 页面,为了方便用户操作在忘记密码的时候没有图形验证码,或者有图形验证码却比较简单可以机器破解。

所以需要升级新一代的智能验证措施,现在很多创业公司都可以提供这种服务,这样就从各个维度防止了黑客通过暴力手段获取客户信息。

2

总结

其实据我所知,很多互联网公司到现在仍然存在这种漏洞,很容易让黑客通过暴力破解拿到用户注册的手机号,只要拿到了用户的手机号后面就可以采用各种营销策略。

这是目前很多公司,采用的一种竞争手段。

有的时候,产品的易用性和安全性其实是有冲突的,产品在设计的时候,其实就应该和技术多考虑风控的相关设计,不然在产品运营的后期容易出现问题。

一个大型互联网公司中风险点非常多服务器风险点、业务风险点都需要做提前考虑,同时公司必须配备相应的安全人员,对公司网站做常规安全巡检。

监控公司所有的访问接口频次,定期把公司里面所有的 IP 访问情况做成图表进行分析,看哪些是正常的请求,哪些是异常的访问。

定期排查统计分析访问的所有请求,可以提前发现很多问题。

开发人员和黑客斗争其实是一个长期的工作,任何一个访问量比较大的公司都会遇到类似的问题,遇到问题不要惊慌,仔细排查每一个细节,最终肯定会找到问题的答案。

在我的职场经历中,和黑客有过非常多交手的经历,现在回过头来看,这些经历才是我提升最快的最好养分

解决问题是程序员成长的第一动力,解决大问题是成为大牛的关键。程序员的一生,也就是不断解决问题的一生。

这样看来,我们要感谢职场上遇到的那些困难!

所有能爬过去的问题都成为了经历和谈资,只有那些越不过的 BUG 才能称之为问题。

声明:转载本公号原创文章,请于原文发布48小时后经授权转载,谢谢!

作者简介纯洁的微笑,一个有故事的程序员(????详细了解曾在互联网金融,第三方支付公司工作,现为一名自由职业者,和你一起用技术的角度去看这个世界。我的微信号puresmilea,欢迎大家找我聊天,记录你我的故事。

 

< END >

最近又赶上跳槽的高峰期(招聘旺季),好多读者都问我要有没有最新面试题,找华为朋友整理一份内部资料《第6版:互联网大厂面试题》并分类  PDF,累计 926 页!

整个资料包,包括 Spring、Spring Boot/Cloud、Dubbo、JVM、集合、多线程、JPA、MyBatis、MySQL、大数据、Nginx、Git、Docker、GitHub、Servlet、JavaWeb、IDEA、Redis、算法、面试题等几乎覆盖了 Java 基础和阿里巴巴等大厂面试题等、等技术栈!

 

图片

据说已经有小伙伴通过这套资料,成功的入职了蚂蚁金服、字节跳动等大厂

图片

而且,这些资料不是扫描版的,里面的文字都可以直接复制,非常便于我们学习:

图片

 

如果你想获得完整PDF可以通过以下方式获得

面试大全怎么获取:

1. 关注下方公众号

2. 在下方公众号后台回复 【555 即可。

和黑客斗争的 6 天![通俗易懂]

?长按上方二维码 2 秒
回复「555」即可获取资料

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132250.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月11日 上午7:36
下一篇 2022年6月11日 上午7:46


相关推荐

  • 学生个人网页制作html_个人网页简单模板

    学生个人网页制作html_个人网页简单模板静态HTML个人主页学生网页作品作品介绍修改教程作品演示代码演示源码文件作品下载作品介绍大学生网页设计个人主页网站模板采用DIVCSS布局制作,网页作品共4个页面,包括个人介绍(文字页面)、我的作品(图片列表)、个人技能(图文页面)、在线留言(表单页面)CSS样式方面网页整体采用左右布局结构,制作了网页背景图片,左侧导航区域每个导航背景色不同,导航四个背景色与页面背景呼应,简洁漂亮。修改教程网页代码采用基础学生水平DIV布局制作,可使用Dreamweaver、HBuilder、Notepad++

    2022年10月9日
    5
  • qaManager

    qaManager

    2021年8月25日
    58
  • PHPStorm 安装说明

    PHPStorm 安装说明PHPStorm 安装说明与激活 1 进入 PHPStorm 官网 下载 PhpStorm 2020 1 3 版本 2 双击 PhpStorm 2020 1 3 exe 点击 next3 选择安装目录 点击 Next4 选择安装目录 点击 Next

    2026年3月20日
    2
  • java 盲水印_3步搞定图像盲水印?试试云开发扩展能力

    java 盲水印_3步搞定图像盲水印?试试云开发扩展能力你以为云开发还只能在微信小程序中使用 那你可能就 OUT 啦 你以为云开发只有基础服务 那你可能就 OUT 啦 云开发不仅支持多端 微信小程序 Web 应用 APP 应用 小程序 更提供丰富的扩展能力 现在 基于云开发 你不再需要进行复杂的配置和调试 可以高效地调用腾讯云上的其他服务和资源 有什么样的愿望 就有什么样的能力 云开发扩展能力正式发布 云开发 CloudBase 是一款云端一体化的产品方

    2026年3月19日
    2
  • java和python的就业前景_Java和Python哪个发展前景好?老男孩教育

    java和python的就业前景_Java和Python哪个发展前景好?老男孩教育对薪资不满意 担心自己以后不好找工作 不少人都会选择参加培训 转行 IT 行业 当然很多想要转行 IT 的人 都会犹豫选择哪门编程语言学习比较好 Python Java 大数据作为比较热门行业技术 不少人都很疑惑转行学 Java Python 大数据哪个好 今天老男孩 IT 教育北京校区的老师为大家详细的说说吧 Java Java 可以从事 web 开发 大数据开发 安卓开发 服务器开发 桌面开发以及游戏开发等 Ja

    2026年3月20日
    2
  • 掌趣科技 (300315.SZ)

    掌趣科技 (300315.SZ)

    2026年3月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号