Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 玩物志趣 › 「日志记录」雷池WAF+FRP内网穿透折腾日记

「日志记录」雷池WAF+FRP内网穿透折腾日记

Eswlnk的头像
Eswlnk
2024-05-29 21:47:33
「日志记录」雷池WAF+FRP内网穿透折腾日记-Eswlnk Blog
智能摘要 AI
本文介绍了在Intel NUC上安装和配置雷池WAF的过程。主要内容包括: 1. **硬件与初始设置**:购买了一台配置为8GB RAM和256GB SSD的Intel NUC,并将之前小主机上的内容迁移至此设备,旧的小主机则安装了雷池WAF作为防火墙。 2. **雷池WAF简介**:雷池WAF是由长亭科技开发的安全产品,用于实时监测和阻止恶意流量,确保网站安全。 3. **安装命令**: - 基础安装:`bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"` - 华为

最近在闲鱼上淘了一个Intel NUC,配置8+256,所以就把之前小主机上的内容搬迁到了这款NUC上。而之前的小主机我就安装了雷池WAF作为防火墙使用。

前提

本文的服务器部署方式如下图所示:

「日志记录」雷池WAF+FRP内网穿透折腾日记-Eswlnk Blog

关于雷池

雷池WAF是由长亭科技开发的一款网络安全产品。它的主要功能是实时监测和分析进出你网站的所有流量,迅速识别并阻止恶意攻击。这就像你家门口装了一个智能安保系统,不管是什么样的“坏人”,它都能在第一时间发现并阻止。

「日志记录」雷池WAF+FRP内网穿透折腾日记-Eswlnk Blog

雷池WAF:https://waf-ce.chaitin.cn/

复制以下命令执行,即可完成安装

bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

如果需要使用华为云加速,可使用

CDN=1 bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

如果需要安装最新版本流式检测模式,可使用

STREAM=1 bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

站点添加

在主机上安装好雷池WAF后,进入WAF的管理界面,例如我这里是:

https://192.168.1.102:9443/dashboard

代理设置页面记得设置源IP的获取方式:

「日志记录」雷池WAF+FRP内网穿透折腾日记-Eswlnk Blog

内网穿透

FRP官网:https://gofrp.org/zh-cn/

或者自己在GITHUB上找找一键部署的脚本,这里就各位自己去找找了。

注意,在配置文件中记得加以下:

proxy_protocol_version = v2

通过这个proxy_protocol协议,将远程IP以及详细信息反馈给雷池。

注意事项及脚本

由于雷池WAF的nginx是不支持proxy_protocol这个协议,并且每次在添加站点或者在健康检测的时候会重写相关的配置文件,所以这里我编写了以下脚本。

注意,使用默认的在线安装脚本,站点配置文件默认保存在以下目录:

/data/safeline/resources/nginx/sites-enabled

将脚本保存到这个目录执行就可以了。

unlock.sh

#!/bin/bash

# 恢复文件内容,移除 `proxy_protocol` 和在 `gateway_timeout_page;` 下一行的 4 行内容:
# \n```
# set_real_ip_from 192.168.0.0/16;
# set_real_ip_from 10.0.0.0/8;
# real_ip_recursive on;
# real_ip_header proxy_protocol;
# ```

find ./ -name "IF_backend_*" | while read filename; do

  if grep -q "proxy_protocol" "$filename"; then
    # 解锁
    chattr -i "$filename"

    # 移除所有 listen 语句中的 proxy_protocol
    sed -i '/listen.*proxy_protocol;/s/ proxy_protocol//' "$filename"
    
    # 移除在 gateway_timeout_page; 后添加的新的配置
    sed -i '/gateway_timeout_page;/,/^$/{
      /gateway_timeout_page;/!{
        /set_real_ip_from 127.0.0.1;/d
        /real_ip_recursive on;/d
        /real_ip_header proxy_protocol;/d
      }
    }' "$filename"
    
  else
    echo "文件 $filename 未包含 proxy_protocol,无需恢复。"
  fi
done

该脚本需要在修改站点(添加站点)配置的时候添加,包括在设置WAF的代理设置的时候,也需要运行。

set_proxy.sh

#!/bin/bash

# 查找所有匹配的文件并处理
find ./ -name "IF_backend_*" | while read filename; do

  # 检查文件中是否已经包含 proxy_set_header X-Real-IP
  if grep -q "proxy_set_header X-Real-IP" "$filename"; then
    echo "文件 $filename 已包含 proxy_set_header X-Real-IP,无需修改。"
  else
    # 解锁文件
    chattr -i "$filename"

    # 获取缩进前缀
    indent=$(grep -oP '^\s*' "$filename" | grep -m1 '')

    sed -i "/proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;/i ${indent}proxy_set_header X-Real-IP \$proxy_protocol_addr;" "$filename"
    echo "文件 $filename 已添加 proxy_set_header X-Real-IP $proxy_protocol_addr;"
  fi
done

该代码的作用是在所有的雷池站点配置文件中,添加proxy_set_header X-Real-IP $proxy_protocol_addr;,如果不添加这行header,那么当你的站点使用HTTPS时,WAF无法正常获取从FRP解析过来的IP信息等,所以这行很重要。

大多数网络上的教程都是不使用FRP的HTTPS,而是用Nginx再做一次转发,就很麻烦。

modify.sh

#!/bin/bash

# 修改文件内容在 `listen` 语句后面加上 `proxy_protocol`, 在 `gateway_timeout_page;` 下一行加上 4 行内容:
# \n```
# set_real_ip_from 192.168.0.0/16;
# set_real_ip_from 10.0.0.0/8;
# real_ip_recursive on;
# real_ip_header proxy_protocol;
# ```

find ./ -name "IF_backend_*" | while read filename; do

  if grep -q "proxy_protocol;" "$filename"; then
    echo "文件 $filename 已包含 proxy_protocol,无需修改。"
  else
    # 解锁
    chattr -i "$filename"

    # 在所有 listen 语句后面添加 proxy_protocol
    sed -i '/listen.*;/s/;/ proxy_protocol;/' "$filename"
    
    # 在 gateway_timeout_page; 后添加新的配置
    sed -i '/gateway_timeout_page;/a \
    set_real_ip_from 127.0.0.1;\
    real_ip_recursive on;\
    real_ip_header proxy_protocol;' "$filename"
    
    # 锁定文件
    chattr +i "$filename"
  fi
done

# 测试 Nginx 配置
docker exec -it safeline-tengine nginx -t

# 重载 Nginx 配置
docker exec -it safeline-tengine nginx -s reload

该脚本在添加完毕或者修改完毕站点配置,以及代理设置完毕后再执行该脚本,目的是增加proxy_protocol协议透传。

unfile.sh

#!/bin/bash

# 恢复文件内容,移除 `proxy_protocol` 和在 `gateway_timeout_page;` 下一行的 4 行内容:
# \n```
# set_real_ip_from 192.168.0.0/16;
# set_real_ip_from 10.0.0.0/8;
# real_ip_recursive on;
# real_ip_header proxy_protocol;
# ```

find ./ -name "IF_backend_*" | while read filename; do
  chattr -i "$filename"
done

该脚本用于当权限出现问题时,解锁所有的配置文件。

相关视频

相关文件

偷懒的脚本文件在这儿,我已经打包上传到网盘上了。若有问题,请留言反馈。或者右下角联系博主配置。

「日志记录」雷池WAF+FRP内网穿透折腾日记-Eswlnk Blog

相关脚本文件

发布时间 2024年 5月 29日 更新时间 2025年 2月 24日 文件大小 2.1 KB 来源 Eswlnk
回复后下载
已经回复?刷新

雷池WAF+FRP配置

¥38.00
已有3人购买

帮助配置一次WAF

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
linuxwaf安全服务器网络防火墙
4
1
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
「焦点话题」Excel中数字显示为小数点+E+17格式怎么办?
上一篇
「技术教程」使用Playwright进行API接口测试
下一篇

评论 (1)

请登录以参与评论
现在登录
  • 的头像
    Eswlnk

    录制了个教程视频,教会你基础操作

    1 年前 • 58.152.*.* • Google Chrome Windows • 回复

猜你喜欢

  • 「漏洞资讯」CVE-2025-12914:宝塔面板曝出注入漏洞
  • 事件记录:国内网络故障情况
  • 今日热点:伪Clash软件下载陷阱曝光,附防范建议
  • 漏洞资讯:Ollama 未授权访问漏洞分析与防护指南
  • 开发日志:解决Windows平台无法使用Metview解析数据的难题
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

如何破解压缩包的解压密码?五步教你轻松破解压缩包密码!
2023-08-03 0:25:06
「书本解读」三体智子为什么可以锁死基础物理学?
2023-09-10 16:12:40
Word段与段之间距离怎么调整?3个方法快速调整Word段间隔
2023-04-18 11:22:43

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 1.032 秒   |  SQL查询 29 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈