云计算百科
云计算领域专业知识百科平台

服务器被打后,我才懂“安全不是防,而是藏”

前两天我们官号发了一个视频,教大家怎么加固 SSH 登录。

结果没注意,一不小心在画面里露了 IP。

第二天,服务器就被打了。

——不是热度太高,而是 真的被 DDOS 了。

虽然是一台测试服务器,但那种体验,大概就像:

“我刚教完大家怎么锁门,回头发现自己家被砸窗了。”

所以今天,小泽就来和大家讲讲:

网站被 DDOS 后,除了“防”,更重要的是“藏”。

// 先说防护:为什么“厂商防护”没你想的那么稳

很多云厂商确实都带“基础 DDOS 防护”,

但要知道那只是“防几 Gbps 的流量”级别。

图片

图片

真要被人盯上——几十、上百 G 的流量打过来,

厂商的估计把你的服务器直接丢进黑洞。

这不是他们“不防”,

而是防御成本太高了。

DDOS 防护是一种“带宽换安全”的生意,

厂商得为你多买上行带宽、扩建清洗中心。

而这笔账,最后都会算到用户头上。

所以对大多数中小网站来说,

与其花高价买防护,不如——别被打到。

// 真正的核心:让攻击打不到你

1. 套 CDN:让前线帮你挡

CDN 是最简单、最有效的“隐身”方式,现在很多厂商其实都提供了免费的CDN服务,如果你只是个人或者一个中小网站,那完全可以试试这些免费的CDN,具体教程大家可以自行搜索:

比如:

  • 腾讯云 EdgeOne 或者阿里云 ESA

  • 如果你的网站海外用户多一些,那还可以试试 Cloudflare

这些服务的作用是:

把用户的请求会先打到 CDN 节点上,再由 CDN 转发到源站。这样别人看到的只是 CDN 的 IP,而不是你服务器的真实 IP。除此之外还可以设置缓存策略,把网站资源缓存到边缘节点,加快网站的访问速度。

如果你用的是付费 CDN,一定记得设置 “流量封顶”,

避免被攻击时账单飙升。

图片

2. 隐藏源站 IP:不只是关端口套了个CDN这么简单

很多人都以为套了CDN就找不到你的服务器的IP,

很多人觉得只开 80、443 就够安全,

但其实这两个端口,往往是攻击者找到你源站的入口。

真正危险的不是“端口暴露”,

而是 —— 证书暴露。

攻击者最常用的一招叫证书嗅探:

他们会对公网 IP 发起 HTTPS 握手,

只要你的服务器返回了网站证书(比如下图),

哪怕一句内容都没返回,

也能立刻知道:

“哦,这个 IP 对应的是 example.com。”

图片

一旦源站 IP 被嗅探出来,

CDN 再强也挡不住“直连攻击”。

正确做法一:防火墙锁门,只让 CDN 进

图片

无论是宝塔面板的防火墙,还是云厂商的安全组,

都能做到“只允许 CDN 回源 IP 段访问”。

你可以尝试将 CDN 厂商的回源 IP 添加到防火墙中,并丢弃除了 CDN 回源节点之外的其他访问流量,这样扫描器直接访问你的 IP 时,根本连不上端口,自然也拿不到证书。

不过问题如果你用的是腾讯云/阿里云提供的免费的 CDN 服务,那很遗憾,目前这两家不提供回源节点的 IP 范围,也就意味着你无法在防火墙设置限制,只能通过其他途径把 IP 藏好了。

正确做法二:Nginx 拒绝无关握手

图片

哪怕防火墙没来得及限制,

Nginx 也能在握手阶段直接拒绝“陌生人”的 TLS 请求,

彻底不暴露证书。

这就要用到一个非常实用的指令:

ssl_reject_handshake。

从 Nginx 1.19.4 起,它可以在握手阶段直接拒绝请求,

对扫描器来说——等于什么都没发生。

推荐配置:

1. 打开宝塔面板网站-PHP项目,新建一个站点,这个站点域名你可以随便写,比如default.com

图片

2. 创建完成后打开站点配置文件,直接将所有的配置文件替换成以下内容:

server {
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;
    ssl_reject_handshake on;
}

图片

这样即使攻击者直接访问你的 IP,

Nginx 在握手阶段就拒绝连接,不会返回证书。

比如我们再用同样的方法嗅探,你会发现无法获取到任何证书信息了已经。

图片

// 几个常见的误区

误区一:系统防火墙禁止海外访问,还被打?

很多人说:“我已经在宝塔的系统防火墙里禁止了国外 IP,为什么还被 DDOS?”

问题在于:

DDOS 是网络层的洪水攻击,防火墙生效太晚。

当流量到你机器的网卡时,

你的带宽已经被占满了,

即便防火墙把包 DROP 掉,也来不及——

因为这时候车已经堵在门口了。

所以这种防御在轻度扫描时有效,

但面对大流量攻击时,

唯一的结果是:你的机房链路先满,系统再死。

更简单一点说,哪怕你服务器一个端口也没放,也可能被DDOS打进黑洞。

误区二:开了Nginx防火墙,就能防 DDOS?

WAF(Web 应用防火墙)主要防的是 CC 攻击——

也就是短时间内大量请求网页的那种。

它防的是“七层”(HTTP 请求),

而 DDOS 更多发生在“网络层”。

简单理解:

WAF 是“门口的保安”,

DDOS 就是“堵在你家门口的大货车”。

当路都堵了,

你门口再多保安也没用。

// END

安全这件事,有时候不是拼谁更硬,

而是谁更“低调”。

在网络的世界里,真正安全的站点不是刀枪不入的那种,

而是——你根本找不到它。

就像江湖上的高人,

不一定天天亮剑,

更多时候,是悄无声息地避开危险。

当别人还在为高防账单发愁时,

你或许已经安静地躲在 CDN 背后,

看流量洪峰一波波打在云端,

而你的服务器,风平浪静。

所以,别一味想着“硬扛”。

把门锁好、窗拉上、灯调暗,

有时候,隐身就是最好的防御。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 服务器被打后,我才懂“安全不是防,而是藏”
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!