做一个永不暴露真实IP的网站

防范DDoS攻击最主要的手段是加钱上高防,同时隐藏网站真实IP。前文 隐藏网站的真实ip 简要介绍了网站隐藏真实ip的基本操作,但不够详细和深入。本文详细介绍几种网站隐藏真实ip的方法和优缺点,让你能真正做一个永不暴露真实IP的网站。

做一个永不暴露真实IP的网站

既然不想暴露网站的真实IP,那么真实服务器前面至少套一层代理。一般来说,位于最前线的反向代理主要有如下几种:

  • CDN:内容分发网络,就近为用户提供服务,加速访问;
  • 高防IP:高防IP一般位于大带宽的骨干网节点上,用于清洗DDoS流量;
  • SLB:负载均衡器,用在大流量、繁忙的网站上,常见的SLB有LVS、F5等。

这三种反向代理主要作用不一样,配置好的情况下都能隐藏服务器真实IP。对于普通的网站,使用CDN或者高防就足够,业务量大的情况下才会用到SLB。

下面介绍使用了反向代理的情况下,隐藏网站真实IP的操作。

防火墙

使用防火墙是最简单的做法,即:将反向代理的回源IP加入白名单,屏蔽其他IP的任何请求。

例如使用CloudFlare的免费CDN服务,其回源IP可从 https://www.cloudflare.https://www.cloudflare.com/zh-cn/com/zh-cn/获取,然后将其加入白名单,同时屏蔽其他IP:

# 将cf ip地址放在 cf_ips.txt
# 首先将cf的ip加入白名单
while read -r line
do
  firewall-cmd --zone=trusted --add-source=$line
done < cf_ips.txt
# 然后移除其他ip对http和https服务的访问
firewall-cmd --remove-service=http
firewall-cmd --remove-service=https

经过上述设置,Cloudflare 的IP能正常访问,其他IP完全无法访问真实ip的网站服务器,很好的隐藏了真实IP。

该方法设置简单,适用于服务器托管单站点的情形。当服务器上托管多个网站,并且某些站点需要直接暴露外网时,这种做法缺乏灵活性,无法实现。

也可以通过Nginx的allow/deny指令达到相同效果

IPv6

对于防火墙和网络不熟悉的网友,可以考虑使用IPv6来隐藏网站的真实IP。具体操作为:

1.找一台有IPv6地址的服务器,只有IPv6的NAT VPS更好。目前IPv6地址正在普及中,许多商家都免费提供IPv6地址,例如 一些VPS商家整理 中的 阿里云、Vultr、Linode、CloudCone,有的还提供不止一个IPv6地址;

2. 设置网站只监听IPv6端口。以Nginx为例,网站配置文件形如:

server {
    listen [::]:80;
    server_name 主机名; # 请改成自己的主机名

    return 301 https://主机名$request_uri;
}
server {
    listen      [::]:443 ssl http2;
    server_name  主机名;
    ssl_certificate 证书路径;
    ssl_certificate_key ssl密钥路径;
    # 其他设置
}

3. 找一家支持只有IPv6的CDN,例如 Cloudflare,设置IPv6解析:

经过上面三步设置,基本上可确保不会泄漏真实IP,原因如下:

1. 绝大多数情况下,人们都会理所当然的找IPv4,不会想到你的网站根本不存在IPv4网络上;

2. 相对于IPv4,IPv6的地址段实在太庞大。即使有zmap这种几小时扫描完全球ipv4段的神器,或者Shodan搜索引擎,也很难从海量地址中寻找单个地址。

如果不放心,可以同样加上防火墙,就万无一失了:

# 首先将cf的ip加入白名单
while read -r line
do
  firewall-cmd --zone=trusted --add-source=$line
done < cf_ips.txt
# 然后屏蔽其他地址对ipv6的访问权限
firewall-cmd --add-rich-rule="rule family='ipv6' source address='::0/0' drop"

该方法同样设置简单,以奇招胜出,单台服务器能托管多个网站,并且其他网站可直接暴露不受影响。

CNAME

1. CDN回源时使用CNAME方式回源到另一个主机名上。例如tlanyan.pp.ua回源的www.abcdexfd.com。需要注意的是,前端域名和源站域名最好不是同一个,防止通过爆破二级域名泄漏真实IP;

2. 在源站服务器上设置默认站点,防止通过host方式爆破。由于默认站点只是为了防止SNI方式泄漏真实IP,因此使用自签证书即可:

# 生成密钥
openssl genrsa -out example.key 2048
# 生成证书,期间需要填一些信息
openssl req -new -x509 -days 3650 -key example.key -out example.pem

接着以Nginx为例,设置默认站点:

server {
  listen 80 default_server;
  server_name example.com;
  return 301 https://example.com$request_uri;
}

server {
  listen 443 ssl http2;
  server_name example.com default_server;
  ssl_certificate example.pem;
  ssl_certificate_key example.key;
}

然后重启Nginx即可。

该方法无需设置防火墙,设置较为简单,但是需要额外一个域名。

注意事项

以上操作只能让他人在明面上无法直接访问真实服务器,但请仔细阅读 隐藏网站的真实ip  中的建议,防止有发送邮件、WordPress pingback等隐式暴露IP的行为。

遇到DDoS怎么办?

如果域名之前从未用过,一出道就用上面提到的方法,基本上可以保证不会泄漏网站的真实IP。

但是不泄漏真实IP不代表不会被DDoS或者CC攻击,遇到DDoS怎么办?解决办法主要有:

1. 加钱上高防保平安;

2. DNS解析域名到127.0.0.1保平安;

3. 关机保平安。

请根据实际情况和业务需求采取相应措施。

THE END
抢沙发

请登录后发表评论

    暂无评论内容

相关推荐

公憩止痒玉米地

公憩止痒玉米地-可能资源网
公憩止痒玉米地是一个农田景观,位于中国某地的乡村之中。这片玉米地被当地村民精心耕种和管理,以确保玉米的生长和收成。在夏季的时候,玉米地绽放出一片翠绿的色彩,给人们带来了一种清新和自...
可能的头像-可能资源网可能7个月前
0106

风力发电机一台造价多少钱(一台几百万?)

风力发电机一台造价多少钱(一台几百万?)-可能资源网
风力发电机是一种利用风能转化为电能的设备。其工作原理是通过风轮叶片的受风力作用旋转,驱动发电机产生电能。风力发电机的造价是由多个因素决定的,包括发电机的类型、容量、制造材料、技术水...
可能的头像-可能资源网可能7个月前
069

吸血鬼幸存者修改存档教程

吸血鬼幸存者修改存档教程-可能资源网
最近看了一下这个吸血鬼幸存者还挺好玩的,就去研究了一下,挺简单的,不知道为什么葫芦侠为什么没有人发,和电脑版的修改方法几乎一样废话不多说,教程开始 警告!!!警告!!!警告!!!重...
可能的头像-可能资源网可能8个月前
094

八重神子把乳液喂给雷电将军

八重神子把乳液喂给雷电将军-可能资源网
八重神子是一位美丽善良的女性,她有着一双明亮的眼睛和温柔的微笑。她住在一个神秘的山谷里,与大自然和谐相处。 雷电将军是一位勇敢而威武的战士,他身穿铠甲,手持长剑,保护着人们的安全。...
可能的头像-可能资源网可能5个月前
0169

面包屑导航如何设置有利SEO?几点细节很关键

面包屑导航如何设置有利SEO?几点细节很关键-可能资源网
面包屑导航就是像面包一样一层一层的导航结构,这样有利于更好地帮助用户在栏目页能够返回网站首页或者点击进入下一层内容页面,提升用户体验好感,使用户浏览更清晰。因而在一定的程度上,面包...
可能的头像-可能资源网可能10个月前
171

刷机教程(零基础到大佬级教程)