最近论坛里看到有人问"我的服务器天天被扫端口怎么办"、"网站访问日志里一堆奇怪的请求是怎么回事"之类的问题。作为一个同样被折磨过的人,我来分享下自己踩过的坑和总结的一些经验。
相信不少人和我一开始一样觉得:"我就一个小网站,谁会来攻击我啊?" 但现实是,现在的攻击基本都是自动化的,根本不在乎你是大站还是小站,反正扫一遍又不费什么事。
先说说我自己遇到的情况。
在 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.