最近在浏览大家博客和窥群时都有发现,不少网友在网上发布自己网站链接后遭到了恶意攻击,我们无法确定是何人所为,所以在你发布网站链接之前,一定要做好防护措施,我会在本文里写上一些我用到的防护方案,欢迎参考。

分区域解析

将大陆和海外分开解析,推荐使用华为云 DNS,支持单独为各个国家和区域设置解析线路。

dns

无备案网站的大陆线路推荐使用一些专为大陆优化的香港/日本等节点的CDN,如FarCDN,如您网站有备案,则可以选择使用更快的国内CDN服务,但建议不要直接使用腾讯云之类的CDN,因为一旦欠费,巨额账单你无法承受,可以使用像多吉云这样的融合 CDN 商家,价格便宜,线路更多;当然还是推荐使用带有防护的 CDN 产品,如百度云加速,注意不是百度智能云。

海外线路可以直接无脑接入 CloudFlare,目前 CloudFlare 除了DNS接入方式外,可以使用 SAAS 方式接入,这个方法可以自行百度,此处不做过多赘述。

CF

使用分区域解析的原因很简单,攻击者使用的都是海外IP池,分开解析后这部分攻击会被 CloudFlare 接下,不影响正常访问。

如果你在此前已经被攻击过,请在你的服务商更换 IP 后再使用此方案,否则源 IP 仍会被恶意攻击。

加强方案

给服务器设置一个默认站点,并给默认站点配置一个 ssl,可以有效避免攻击者通过 ssl 证书查询到您的源服务器 IP。

宝塔用户可添加一个网站(域名随意写),然后为这个网站配置一个无效的证书,配置好证书之后在宝塔面板后台:【网站】-【默认站点】中心选择刚才添加的这个网站作为默认站点。

可以使用这个证书:

证书(PEM格式)

-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgK0HE3hTJQDg6p/fj
nS92eSuRKZEZ5F4grT6tWFKNYVmhRANCAAQIP4WfZQx4/3/tIw0QDdt05DRKiIuO
pghp8GVQ94JcS5fmtZqX1yx0hBU4qZ0skIJr5D2M0BmhCBQ9Kulv2YDL
-----END PRIVATE KEY-----

密钥(KEY)

-----BEGIN CERTIFICATE-----
MIIDITCCAsagAwIBAgIUTcEWLzynkLCFCoAC1iDH2vG3EkYwCgYIKoZIzj0EAwIw
gY8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBDbG91ZEZsYXJlLCBJbmMuMTgwNgYDVQQL
Ey9DbG91ZEZsYXJlIE9yaWdpbiBTU0wgRUNDIENlcnRpZmljYXRlIEF1dGhvcml0
eTAeFw0xOTAxMTMxNDMxMDBaFw0zNDAxMDkxNDMxMDBaMGIxGTAXBgNVBAoTEENs
b3VkRmxhcmUsIEluYy4xHTAbBgNVBAsTFENsb3VkRmxhcmUgT3JpZ2luIENBMSYw
JAYDVQQDEx1DbG91ZEZsYXJlIE9yaWdpbiBDZXJ0aWZpY2F0ZTBZMBMGByqGSM49
AgEGCCqGSM49AwEHA0IABAg/hZ9lDHj/f+0jDRAN23TkNEqIi46mCGnwZVD3glxL
l+a1mpfXLHSEFTipnSyQgmvkPYzQGaEIFD0q6W/ZgMujggEqMIIBJjAOBgNVHQ8B
Af8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMAwGA1UdEwEB
/wQCMAAwHQYDVR0OBBYEFCEZF6Eyem01XPbgwr6DXLZV1qsQMB8GA1UdIwQYMBaA
FIUwXTsqcNTt1ZJnB/3rObQaDjinMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcw
AYYoaHR0cDovL29jc3AuY2xvdWRmbGFyZS5jb20vb3JpZ2luX2VjY19jYTAjBgNV
HREEHDAaggwqLmRuc3BvZC5jb22CCmRuc3BvZC5jb20wPAYDVR0fBDUwMzAxoC+g
LYYraHR0cDovL2NybC5jbG91ZGZsYXJlLmNvbS9vcmlnaW5fZWNjX2NhLmNybDAK
BggqhkjOPQQDAgNJADBGAiEAnrequCk/QZOOrcPH6C3Hgcy4SPNUy5rQtku/aYkj
qQoCIQCN6IyYNiXuwG+8jUgJrveiirBjiz2jXZSTEfVAyibjTg==
-----END CERTIFICATE-----

以上证书可生成的一个 dnspod.com 的域名 ssl 证书,可用于预防 ssl 证书泄露 IP,证书过期也可以继续使用。

您可以访问 https://search.censys.io/ 输入域名查询您的 IP 有没有被证书泄露,可访问 https://ipchaxun.com/ 查询到域名历史解析记录,如您直接解析过 A 记录,可能已经被这种网站记录下来,所以强烈建议更换 IP 后再使用以上方案。

邮件通知

如您网站有邮件通知,请务必换成第三方发信,如阿里云邮件推送,否则攻击者可通过 SMTP 邮件获取到你的服务器 IP 地址,从而攻击源站。

对象存储

如您使用了国内大厂的对象存储服务,您可以给对象存储域名再套一层防护CDN,比如您使用了腾讯云oss,要求您将xx.xx别名解析到oo.oo,那么你可以使用CDN防护服务,将CDN源站地址写oo.oo,然后将xx.xx解析到CDN提供的地址上,再开启CDN的防御策略,则可有效避免对象存储被盗刷。

禁用端口

大部分攻击方式为 UDP,您可在服务器防火墙禁用并拦截所有 UDP 端口。