最近论坛里看到有人问"我的服务器天天被扫端口怎么办"、"网站访问日志里一堆奇怪的请求是怎么回事"之类的问题。作为一个同样被折磨过的人,我来分享下自己踩过的坑和总结的一些经验。
相信不少人和我一开始一样觉得:"我就一个小网站,谁会来攻击我啊?" 但现实是,现在的攻击基本都是自动化的,根本不在乎你是大站还是小站,反正扫一遍又不费什么事。
先说说我自己遇到的情况。
在 Cloudflare 上部署了个特别简单的展示站,就两个页面,结果上线第一天就被扫了。
我的 worker 只处理/和/logs-collector 两类请求, 但仍然面临着持续的扫描攻击, 先来看看都是些什么奇怪的访问。
一开始其它的 URL 全部返回404, 上线当天就有香港主机开始扫, 源 IP 天天换, 但大部分是香港的. 由于有些用户是香港 IP 访问, 也不能直接 ban 地区.
以上这些 URL 全都是怀有各种目的的尝试, 这些契而不舍的尝试基本上都是为了寻找漏洞.
但这样扫占用 CF 免费请求数, 污染我的日志, 也不是什么好事。
修改将所有其它请求都返回200, 加上Host on Cloudflare Worker, don't waste your time
这样被扫的稍微少了点, 虽然我不知道是否有因果关系。
如果是运行在自己主机上的服务, 天天被这样扫, 而服务一直不做安全更新, 迟早有被扫到漏洞的一天。
对攻击者来说, 就是每天定时不停的尝试, 能攻破一个是一个, 基本都是自动化的, 设备和时间成本都不高。
说白了就是有人在用工具到处扫描,看看能不能碰到漏洞。一开始我还天真地觉得返回 404 就完事了,结果发现这帮人是机器人,根本不在乎你返回什么,该扫还是扫。
说实话,最安全的方式就是不要把服务直接暴露在公网上。你们肯定见过很多常用的子域名:
这些都是攻击者最爱尝试的。所以建议:
自己用的服务就别往外网放了
非要远程访问的话
赛博佛祖Cloudflare就不多说了, 在个人折腾者找到真正有商业价值的项目之前, 它肯定一直都是免费的。
国内的的就是阿里云ESA, 两个我都在用, 阿里云的免费用 3 个月, 正常是一个根域名 10 元一个月限 50G 流量, 在 CF 全免费面前我就不多做介绍了。
安全服务普遍比较贵, 不做保护的话, 被攻击了损失很大, 如果付费保护就是每天看着直接的"损失"。
边缘安全服务算是一种保险, 非常廉价, 性价比超高的安全服务, 典型的让专业的人做专业的事。
边缘安全主要目的是隐藏自己的真实 IP, 用户访问边缘节点, 边缘节点计算决策是否回源访问真实 IP 。
它的本质就是一个前置的反向代理, 集成了缓存, WAF, CDN, DDoS 防护等功能. 由于用户到服务中间插入第三者, 因此它有一定的概率会造成用户体验下降。
CF 和 ESA 我都在用, 总结来说就是让体验最好的一部分用户体验略微下降, 但是让更多地区的用户体验提升了, 整体来说仍然是非常值得.
这里所有 IP 都是边缘节点的 IP, 我可以放心的公开. 如果是刚起步的业务, 缺少安全方面的投入, 最好使用边缘安全服务, 本建议无广.
说两个我在用的:
Cloudflare:
国内的阿里云 ESA:
这些服务其实就是帮你挡在前面,别人访问的是他们的服务器,看不到你的真实 IP ,还能帮你防各种攻击,挺值的。
自己用的服务:
要给别人用的服务:
边缘安全服务我只知道 Cloudflare 和阿里云 ESA, 有其他推荐的欢迎补充。
最后,这些都是我的个人经验,欢迎各位大佬补充指正。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.