TypechoJoeTheme

尘遇 logo

当我遇上你
排行榜
统计

防止根据IP查域名,防止源站IP泄露

醉书生站长
2个月前
2 评论
137 阅读
检测收录...
09/26
本文最后更新于2022年10月07日,已超过56天没有更新,若内容或图片失效,请留言反馈。

有的人设置了禁止IP访问网站,但是别人用https://ip的形式,会跳到你服务器所绑定的一个域名网站上。

直接通过https://IP,访问网站,会出现“您的连接不是私密连接”,然后点高级,会出现“继续前往IP”,然后点击后会跳到你服务器上的一个域名网站!

为了防止上面这种情况,所以继续看:

新建站点

网站——添加站点——域名随便写一个不存在的,如:ha.haha——PHP版本:纯静态,配置里添加 return 444;

设置默认站点

默认站点设置为上面所建的一个假域名网站ha.haha

禁止IP访问网站

一般方法

就是上面新建站点时的 return 444; 设置,一定要设置。
禁止IP访问网站,防止服务器被恶意解析

进阶方法

ClientHello 中是带着 SNI 的,所以其实握手阶段是可以知道访问的域名是否合法的,NGINX 1.19.4 中添加了一个新的配置项 ssl_reject_handshake 用于拒绝握手,也就不会提供证书。

使用方法也很简单,将原本默认配置中的 return 444 替换成 ssl_reject_handshake on 即可。

server {
    listen 443 default_server;
    server_name _;
    include conf.d/ssl.config;
    
    # 不用返回 444 了,直接拒绝握手
    ssl_reject_handshake on;
    # return 444;
}

配置后,再尝试 IP 访问,会发现浏览器报了 ERR_SSL_UNRECOGNIZED_NAME_ALERT 的错误,也看不到证书信息。

套用假证书

通过自签名证书,自签一个假的证书(假域名,假信息),然后套在上面假的域名网站上。
创建自签名SSL证书

到此完成。

此时通过https://IP,访问网站,会出现“您的连接不是私密连接”,然后点高级,会出现“继续前往IP”,然后会出现“ERR_HTTP2_PROTOCOL_ERROR”错误,无法访问此网站提示!

下面的配置信息供参考!

其他安全配置

Nginx常用安全屏蔽规则
Nginx进阶安全规则
Nginx通过User-Agent禁止采集机器人并返回炸弹
网站只允许cloudflare的IP访问
防止网站被其他网站通过iframe框架引用

本文共500个字数,您已阅读:平均阅读时长≈2分钟。
安全
朗读
点赞 0
赞助
海报
欢迎
版权属于:

尘遇

最后修改:

2022 年 10 月 07 日 08 : 18 AM

本文链接:

https://chenyu.me/1677.html(转载时请注明本文出处及文章链接)

已有 2 条评论
  1. 小羊u秀才 作者
    中国广东省 · Windows 10 · Google Chrome
    沙发

    不太行第一个方法,我跟着步骤结果跳到我一个二级域名网站上了,我在那个二级域名网站也加return444,然后再域名://IP 才有你那个效果但是那样我二级域名也变成这样了访问不了,所以说新建那个站点好像没起作用不知道为什么

    2022-10-07 23:16 回复
    1. 醉书生榜眼站长 作者
      中国上海市松江区 · Android · Google Chrome
      @小羊u

      还要套假ssl证书啊,你要全部部署啊

      2022-10-08 08:11 回复