
网站安全,保护你的源站IP不被泄露。
在这里,我会详细介绍攻击者如何查找源站IP,以及如何保护你的源IP不被找到。
知己知彼方能百战不殆。
本篇会持续更新。
攻击篇
本篇以攻击者的角度,让你了解为什么你的源站会被泄露。
同时,跟着本篇一起,将攻击目标改成你自己的网站,查看是否已经泄露。
DNS泄露源IP
DNS相关的问题非常多,究其原因还是对方没有套CDN。
我们可以使用如下方式:
一、历史DNS解析查询
使用如下网站提供的服务,可以查找一些域名在套CDN之前,已经解析并且传播的DNS解析记录。
已中招防范方法:换IP吧。
二、使用网络空间测绘引擎抓取
通俗一点的讲,这些就是一个不停歇的爬虫程序,不断地扫描全网开放端口、SSL证书、DNS解析记录等信息,然后收录其中。
通用简单查询语法:
ip="IP地址"
cert.subject="域名"
domain="域名"
三、邮件服务器设置不当。
查询MX记录获取源站IP。
使用在线DNS查找工具,查找MX记录,如果配置不当,就会显示你的IP地址。
IP泄露域名
一、IP可直接访问导致泄露。
这个很好理解,在初次建站,绑定域名前,你的IP端口如果时直接可以访问的,并且在这段时间内,被fofa收录了,那么恭喜你,源站泄露了。
寻找方法也很简单。
搜索引擎直接搜索网站标题、域名。
测绘引擎直接搜索网站标题、域名。
全网扫描有可能扫出来(验证方法:你可以直接访问你的IP:你的网站端口)。
二、ip的SSL证书泄露源站源站域名。
当你的网站设置了默认站点,即所有未设置的域名访问全都重定向到目标站点。而这个站点是你本机部署的站点时,访问https://ip:443。
此时,浏览器就会提示:与此站点的连接不安全此网站的证书无效。
而你点击证书,你会发现,他会出现你为该IP申请的域名证书。
而这些信息,也会被一些网站收录。
例如:
防御篇
在攻击篇中,你的网站是否已经泄露了呢?
那么,下次再建站,一定要注意这些方面啦。
首先,如果已经中招,那么我首先推荐更换IP。
或者使用高防服务器。
最后坐着等死。
DNS泄露防护
开启CDN
推荐使用cloudflare,在DNS记录中开启小黄云。
使用防火墙规则屏蔽所有非CDN IP的流量。
IP泄露防护
最开始建站的时候就要开启CDN防护,关闭IP对外访问。
后续也不要让你的IP可以直接访问。
IP证书泄露
新的教程
新建一个站点,例如default.com,域名什么的都无所谓。
重点是将其设置为默认站点,然后在其配置中设置,让无论谁访问都返回444。
server {
listen 80 default_server;
listen 443 ssl http2 default_server;
server_name default.host;
# 无论是谁都断开连接。
return 444;
}
不要启用SSL,这样别人访问ip:443就无法访问了。
旧的教程(有点多此一举)
新建一个站点,域名随便填写。
为其设置一个假的自签名证书。
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/default.key -out /etc/nginx/ssl/default.crt
将其设置为默认站点,并且让其返回444;
server {
listen 80 default_server;
listen 443 ssl http2 default_server;
server_name default.host;
# 配置伪造的SSL证书。
ssl_certificate /etc/nginx/ssl/default.crt;
ssl_certificate_key /etc/nginx/ssl/default.key;
return 444;
}
概括:创建一个默认站点,配置一个假的证书(可以浏览器搜索SSL证书在线生成)
当然,有不少小伙伴是使用面板搭建的,那么,根据以下步骤一键复制吧(以1panel面板为例)。
一、添加自定义证书。
证书:
-----BEGIN CERTIFICATE-----
MIIDnTCCAoWgAwIBAgIICN0meTm2thgwDQYJKoZIhvcNAQELBQAwgYoxCzAJBgNV
BAYTAkNOMRMwEQYDVQQDDApleGFtcGxlLmNuMRAwDgYDVQQKDAdDb21wYW55MREw
DwYDVQQLDAhEaXZpc2lvbjEOMAwGA1UECAwFQW5IdWkxDjAMBgNVBAcMBUhlRmVp
MSEwHwYJKoZIhvcNAQkBFhJleGFtcGxlQGV4YW1wbGUuY24wIBcNNzAwMTAxMDAw
MDAwWhgPOTk5OTEyMzEyMzU5NTlaMIGPMQswCQYDVQQGEwJDTjEUMBIGA1UEAwwL
Ki5hc29yZC5vcmcxEjAQBgNVBAoMCXZjTkFRa0JGaDETMBEGA1UECwwKTDg3dWd3
RFFZSjESMBAGA1UECAwJNFlXMXdiR1V1MRMwEQYDVQQHDAp2Y05BUWtCRmdBMRgw
FgYJKoZIhvcNAQkBFglGdGNHeGxRR1YwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQCmWANJpbIphMoALf5useEurAFHIJHcY8v+vANhNk9CsRYm/K0nKkdQ
RhLlsxl5CnfF8lkPqxnDGuTAo20NpsFoes2vgqdR7tF1hfGfWCBsHDZlfRoWoAJh
qhNEbyO5yDjJERYF1dlIaeupHKMsaNK1XernaF3m5Sub/uVLz4U18fhd+wbT4Ct+
XWe6+QIgA3h/5fIlgBNAg76YpgJh2yGzCYqvL7sSWbxVptXbnpdKoPrPxGkLtSq7
XIZHYS/inbg7Khn6sm75aBzOZ+JOt3IDe86DNzp9wqQhnMkHjBro/cjhabYt2uBr
+SKJk3u0eIWkGFoRP19x/l/nQ7xJwvPrAgMBAAEwDQYJKoZIhvcNAQELBQADggEB
AHE1B9SC+oqqFl7Ut3b4OX28HSDMn65ZA4+k7iFij2Wr4AtUZdjobA12cIWLxZxf
6wmFeE1/HmMkiGg7o7SlK/l2qUz4+TcNefx6CrDzt53JOdLjqQEShMuY8/UYRHYR
6fO5P0KGfpDUUG9Xjvb7UoTFyTABKiD+TrJTyAlecEfJLQsnaz/3jjTsOdyl0fA4
zcQT0Fbfyg0texyNKl43CU44XQCuM390UAhScgLik2NE2vsD3MzRmscCtfgcTZkA
ofg2W64mxyrPekbsIctky6+qqM5tssZZ06WpDnUBUiKbrEhHWSLCTlJ1QFIPfOs7
r+GtSO+3JkdVR/PhgpRnfRs=
-----END CERTIFICATE-----
私钥:
-----BEGIN RSA PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmWANJpbIphMoA
Lf5useEurAFHIJHcY8v+vANhNk9CsRYm/K0nKkdQRhLlsxl5CnfF8lkPqxnDGuTA
o20NpsFoes2vgqdR7tF1hfGfWCBsHDZlfRoWoAJhqhNEbyO5yDjJERYF1dlIaeup
HKMsaNK1XernaF3m5Sub/uVLz4U18fhd+wbT4Ct+XWe6+QIgA3h/5fIlgBNAg76Y
pgJh2yGzCYqvL7sSWbxVptXbnpdKoPrPxGkLtSq7XIZHYS/inbg7Khn6sm75aBzO
Z+JOt3IDe86DNzp9wqQhnMkHjBro/cjhabYt2uBr+SKJk3u0eIWkGFoRP19x/l/n
Q7xJwvPrAgMBAAECggEADTeuHzJ+2yS1hlkhP/t7aKF7QoMYg/ocEgQvgpB1sNdw
aq2mNpf57at7weu+yOrnhH+Syxdt5x5icdoqhqyq7pnfcSRBFlYTJ7L6dY5jmSOO
wPa1VXnmZotEl6n7HT6HIJbueI07BDGCa8AeSR+VKpspWLTmzTuFgRI6dxEoxRXx
FfTGVcrfkXSNq1aWIWGVVU4dcrqFwZMRYEnkIFNNPhPkhVoEdyTvXX5oIK5HRowi
KdFBzHBh0VFtsCItiS57bHh8YwiR+xWBMSwZ3cuZ2C0h/q/5mWcrS2jdNrtOtvmf
6equYSm/wqlYISij4rdXoQlmUkWA/v4uuksvF45qhQKBgQD7cIC2IcrGBDS4EGYe
rtTQ2kj/EMqVOB89IcSd1uVqhtTxnVNypl0KoovCmRFkkTW1fcU/OHSkdHC4x+yj
5YUkAmt3+UfbsPyrN0znzVHgiRxnGf9S+c467jXj4bOscTSU+szbbT0lQgDTzgef
ptlEjYaNIC5pcyNy/mIDajJ+DwKBgQCpXGOpq/PzMF0uzI4lZERsEhY9MnO94v2X
i1FbyB5E4cVR2YV5vuy3ersJFF7XsFQ0VoX6hhY1uABToKUPLb0i72DE4i1lKdGC
trmwc4K8319rjJ1uEm5wysgtKY5TXe+NirQkR1UZ5j9BaP5gFD9Z2Joj31pLVlON
imzmPG1IZQKBgAI9lmgJFQ1+rBmXy9EqLatOxqe/No7t2RlqW54sdA7m9K7SgBPd
d6bInAY35vfGc3wSitdtYVy1zOtYnLs5KF6RxvNivUkv4pCEBaNrKPefQSmKCcRr
hXLw/HnzYO6Ac7+AHKM37fuPAwLgKyE5E2aQ/En1p3Q5Gm/D5IuzPo/xAoGBAIsI
XoTGteDZvlWR9ct6cbUqb/lTNrMW6koDRAoN0dOIaH1WDf4xH5FMfsjoYSe+CJJi
yWAtvYPiBtqgUYCRcuiADTfz2YJn/yfIq83QNe6pjWL0L7VSCjosLoLsz3te7S6M
RHBX4uP9Ican09O6K3utlnSGglDAkJzsm5Oy3aAFAoGAXvVXaLU+7E0HbTIYXWUo
2W2Ti1/u3ymIDdIE10PUlBTHRbQ+5BKCfe6Aq1vre1cyytmVUBQVPeomNAPgIlss
F0KLnjy9o3ktC+rAEkty4jEbdCV8t7ErbfdWjzwIkLnduid7P6iUUq70o/T0rnyn
wern9fAy7FjKaLSmXKpnAlQ=
-----END RSA PRIVATE KEY-----
二、创建网站
三、设置为默认站点。
四、添加SSL证书。
点击你新建的域名,进入管理页面。
五、修改配置文件,让其返回444。
在配置文件的server中的随便一行,添加
return 444;
即可
关于DDOS
如果说,真被盯上了,对方花大手笔,发动大规模DDOS,给你免费的CF盾(CDN)穿了。
那么,解决方法有几个:
开启CDN的waf,一般的CDN都支持waf(CF也有五条免费WAF规则,足够了),开启js质询(即无感的人机验证),狠心一点可以开手动人机验证(比较影响用户体验。
高防CDN,反正就是对方花钱D你,你花钱防御。
多主机waf与多节点负载均衡,将用户请求均匀地分配到多个服务器上,这样能够很大程度减轻服务器压力,避免穿盾流量或者未缓存流量导致服务器宕机。
防火墙过滤可疑流量,限制单IP一段时间内的访问速率。
进行流量清洗。
拔线关机()。