menu Web-Worker 归档 留言 朋友 致谢 关于
devices rss_feed color_lens more_vert

Star_caorui 发布的文章

可能会咕咕咕?

自建博客主题

基于MDUI写一套自己的博客主题 :)

开发状态:暂时停止,等待时机恢复开发
初版预计完成时间:预计2021年春节期间回复开发

Bedrock-Panel

对,这个项目近期有诈尸的打算。

开发状态:暂时停止,等待时机恢复开发
初版预计完成时间:未开始,目前仅有意向

站点健康度(状态)跟踪器

可跟踪你加入的网站的基本状态,运行状态,证书到期时间,服务器到期时间等...

开发状态:近期将会尝试开发
初版预计完成时间:2021-3-1 前完成

Web-Worker API

分私有API和公有API,近期可能不会开发,需求不高。

开发状态:暂时停止,等待时机恢复开发
初版预计完成时间:未开始,目前仅有意向

起因

我在启用CDN后,每次审查日志都会发现客户端的IP地址都是CDN节点的IP,非常不方便我分析日志。于是我找到了这个解决办法。

解决方法

在Nginx的配置里加入下列参数配置
示例配置文件路径 /var/log/nginx/...

set_real_ip_from   0.0.0.0/0;
real_ip_header     X-Forwarded-For;

死贫道不死道友,取消密码了。:-)

从DNS入手

DNS 历史记录

如果目标网站曾直接解析过源站,你可以提供一些记录DNS历史记录的工具找到他的源站地址。

防御方法:更换IP后不要再把域名直接解析到服务器上。

子站扫描

有些CDN限制接入数量,可能子站就没接入CDN,可以通过扫描二级域名来寻找。

防御方法:把子站也接入CDN。

从CDN入手

逼迫CDN解析源站

有些CDN在流量包用完时,会解析源站,你可以把量刷完,逼迫其解析源站。

防御方法: 使用不限量的CDN,例如cf。或者CDN设置达量停止解析。

从源站入手

软件漏洞

例如博客程序的评论回复邮件,在邮件里很容易泄露源站IP。

防御方法:停用此类插件,发送邮件可以单独准备一台邮件服务器用于发送邮件。或者使用类似的互联网服务。例如阿里邮箱

全网扫描

如果目标服务器有套CDN,你可以使用一些全网扫描的工具,全网IPV4地址扫描。如果某个服务器的ssl证书是有效的,且是你要扫描的域名的,那么这台服务器大概率是此域名的源站服务器。
你可以使用censys来实现全网扫描。

防御方法:设置防火墙,一律拒绝,白名单添加CDN的IP,搜索引擎的IP,你自己的常用IP段。

本文内容可能涉嫌违法,请三思而后行。
本文在基于Arch Linux的前提操作,理论支持其他发行版。有不支持之处可以评论留言告诉我。

第一步: 安装操作系统(可选)

使用Arch Linux 作为您的操作系统。

您可以回看我这篇文章:[教程] 如何在云服务器上装 Arch Linux

第二步:安装v2ray,nginx (必选)

如果您是Arch Linux的话,执行下面这条命令即可。

pacman -S nginx v2ray

如果您是其他发行版,请采用其他方法安装。

例如:一键安装脚本配合宝塔面板等...

第三步:搭建一个网站

搭建一个网站需要您配置nginx。

在nginx的配置文件里,新建一个虚拟站点,可以在已有的网站里操作。

在该网站的server段内,加入下列代码段

/v2ray ,http://127.0.0.1:23333 这俩个参数需要和下文v2ray的配置文件的这俩参数相等。

location /v2ray {
    proxy_pass http://127.0.0.1:23333;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
    proxy_read_timeout 300s;
}

第三步:搭建v2ray服务端

在安装好v2ray后,编辑v2ray的配置文件。

下方是供参考的配置文件

您需要更改端口号(23333),路径(path处的/v2ray),以及uuid。

{
  "inbounds": [
    {
      "port": 23333,
      "listen":"127.0.0.1",
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "12345678-1234-5678-1234-123456781234",
            "alterId": 64
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "wsSettings": {
        "path": "/v2ray"
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}

最后:启动服务

如果是Arch Linux或同使用systemd的发行版,可以使用下列命令。

启动服务

systemctl start nginx
systemctl start v2ray

查询服务状态

systemctl status nginx
systemctl status v2ray

关闭服务

systemctl stop nginx
systemctl stop v2ray

设置开机自启服务

systemctl enable nginx
systemctl enable v2ray

取消设置开机自启服务

systemctl disalbe nginx
systemctl disalbe v2ray