【折腾笔记】雷池WAF+FRP+Nginx实现安全可靠的内网穿透

news2024/9/24 11:42:15

前言

在网上看了许多关于WAF+FRP+Nginx的方式来保护内网穿透的Web服务,但是在网上搜寻的结果都是将WAF部署在了源站上面,由于我的Web服务都是部署在NAS上面,然后使用Frp来穿透访问的,我认为WAF应该部署在服务器上面比较合适,在服务器上面进行拦截异常访问和攻击,这样能大大降低源站的压力。

本次教程主要讲解雷池WAF的安装部署过程以及配合FRPNginx来实现安全可靠的内网穿透,FRP和Nginx的部署教程我在前面的笔记中已经有记录。

我的网站大致的路由拓扑图如下:

简介

雷池WAF(Web Application Firewall)是一款由长亭科技开发的Web应用防火墙,其核心检测能力由智能语义分析算法驱动,旨在为企业级用户提供专业的网络信息安全解决方案。雷池WAF的主要特点包括:

  1. 防护Web攻击:能够防御SQL注入、XSS、代码注入、命令注入、CRLF注入、LDAP注入、XPath注入、RCE、XXE、SSRF、路径遍历等攻击类型。

  2. 防爬虫、防扫描:通过人机验证功能,可以识别并放行真人用户的流量,而阻断由自动化程序如爬虫、漏洞扫描器等发起的恶意流量。

  3. 前端代码动态加密:即使在用户浏览到的网页内容不变的情况下,也能对HTML和JavaScript代码进行动态加密,确保每次访问时代码都以随机且独特的形态呈现。

  4. 基于源IP的访问速率限制:可以限制用户的访问速率,从而保护Web服务免遭CC攻击、暴力破解、流量激增等攻击。

  5. HTTP访问控制:提供基于源IP的访问控制,增强网站的安全性。

雷池WAF的安装和配置相对简单,支持一键安装和容器化管理,适配多种运行环境。它还提供简洁的操作界面,专为社区设计,使得用户能够轻松上手并实现躺平式管理。

此外,雷池WAF还提供了一些高级防护能力,如身份认证功能,可以解决未授权访问的问题;动态防护功能,可以实时分析并拦截恶意流量,并对网页代码进行动态加密保护。

对于希望保护Web应用免受黑客攻击的用户来说,雷池WAF是一个不错的选择。它不仅提供了强大的安全防护功能,还通过智能化的方式简化了安全管理,使得用户可以更加专注于业务本身。

部署

安装FRP

安装FRP的教程请参考【Docker】搭建实用的内网穿透工具 - FRP

需要注意的是frpc.txt​中的远程端口(remotePort)需要更换成其他非80​和443​端口。因为80和443端口需要由雷池WAF来进行监听并且做反向代理。

​frpc.txt​中的本地端口(localPort)直接填写你内网Nginx的监听端口,例如80​和443​。

安装Nginx

安装Nginx的教程请参考【Docker】搭建强大的Nginx可视化配置工具 - nginxWebUI

内网安装Nginx主要用来监听内网的80和443端口来进行反向代理到不同端口下的Web服务。

环境依赖

安装雷池前请确保你的系统环境符合以下要求

  • 操作系统:Linux

  • CPU 指令架构:x86_64

  • CPU 指令架构:支持 ssse3 指令集

  • 软件依赖:Docker 20.10.14 版本以上

  • 软件依赖:Docker Compose 2.0.0 版本以上

  • 最低资源需求:1 核 CPU / 1 GB 内存 / 5 GB 磁盘

可以根据以下命令来查看相关信息

uname -m                                    # 查看指令架构
cat /proc/cpuinfo| grep "processor"         # 查看 CPU 信息
lscpu | grep ssse3                          # 确认 CPU 是否支持 ssse3 指令集
docker version                              # 查看 Docker 版本
docker compose version                      # 查看 Docker Compose 版本
docker-compose version                      # 查看老版本 docker-compose 版本
free -h                                     # 查看内存信息
df -h                                       # 查看磁盘信息

安装雷池

自动安装
  1. 使用你熟悉的ssh工具连接到服务器上,使用 root 权限执行以下命令

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

  2. 雷池安装目录我直接使用默认的/data/safeline​,所以直接回车就行。

  3. 直接输入y​,然后回车继续执行。

手动安装

请参考官方文档 安装雷池 | 雷池 SafeLine (chaitin.cn)

使用雷池

  1. 在浏览器中输入服务器IP:9443​来访问WAF控制台。

    注意对9443​的端口打开访问!

  2. 登录的用户名默认是admin​,默认的随机密码在终端的控制台中有显示。

  3. 在“防护站点”中找到“证书管理”,点击“添加证书”。

  4. 目前雷池暂时不支持泛域名的证书申请,如果需要使用泛域名证书,需要通过其他方式申请并在雷池中上传已有证书。

    如果需要申请泛域名证书并且实现自动续期SSL证书,请参考【折腾笔记】雷池WAF社区版自动SSL续签。

  5. 在“防护站点”中找到“站点管理”,点击“添加站点”。

  6. 填写站点信息:①我需要所有站点都经过WAF再进入内网,所以我这里直接用通配符来匹配所有二级域名,请根据自己的情况进行修改。②端口使用默认的80​和443​即可。③证书选择我们刚刚上传的证书即可。④选择“代理到已有网站”。⑤上游服务器直接填写回环地址https://127.0.0.1:60443​,此处的端口可以根据自己使用穿透的远程端口进行修改,如果上游服务器访问正常,旁边会出现一个绿色的✅图标。⑥点击“提交”即可。

    需要所有站点都经过WAF的话,域名这一栏中直接填写*​

  7. 在“防护配置”中找到“频率限制”,开启“高频访问限制”和“高频攻击限制”,其中的参数需要根据你自己的站点访问情况进行修改。如果参数设置的过于严格,容易被误报或者拦截,所以根据自己站点访问情况进行调整一个适中的频率。

  8. 如果你的在正常访问的网站出现一些异常,大概率是被拦截了,这个时候可以通过在“防护配置”中的“自定义规则”点击“添加”来增加白名单进行过滤。

  9. 例如你的站点开启了人机验证,网站调用你部署的其他服务API,并且该API也需要经过WAF的话可能会无法正常调用,所以需要增加白名单来过滤。

  10. 建议在“防护配置”中的“通用配置”内找到“拦截页面”填写“附加说明”,当正常用户访问你的站点时,被误判时,用户能够通过附加说明中留下的联系方式与你取得联系。

  11. 当你完成以上配置以后,在“数据统计”中能够看到请求数和QPS等数据,表明你的配置基本没有什么大问题。

验证雷池的防护效果

尝试手动模拟攻击

https://blog.uptoz.cn​ 为例,然后尝试访问来模拟黑客攻击。

用你的网站地址替换下方的 https://blog.uptoz.cn​

  • 模拟 SQL 注入攻击:https://blog.uptoz.cn/?id=1+and+1=2+union+select+1​

  • 模拟 XSS 攻击:https://blog.uptoz.cn/?id=<img+src=x+οnerrοr=alert()>​

  • 模拟路径穿越攻击:https://blog.uptoz.cn/?id=../../../../etc/passwd​

  • 模拟代码注入攻击: https://blog.uptoz.cn/?id=phpinfo();system('id')​

  • 模拟 XXE 攻击:https://blog.uptoz.cn/?id=<?xml+version="1.0"?><!DOCTYPE+foo+SYSTEM+"">​

不出意外的话,这些攻击都将被雷池拦截,如下图所示。

若攻击没有被拦截,说明你的雷池配置有误。

升级雷池

  1. 执行以下命令进行升级,升级不会清除历史数据。

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

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

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

  2. [可选] 执行以下命令删除旧版本 Docker 镜像,释放磁盘空间。

    docker rmi $(docker images | grep "safeline" | grep "none" | awk '{print $3}')

    较老版本的雷池安装路径在 /data/safeline-ce​,安装之后可能会发现需要重新绑定 OTP、配置丢失等情况,可以修改 .env 的 SAFELINE_DIR​ 变量,指向 /data/safeline-ce​

文章出处:https://blog.uptoz.cn/archives/61ebvJfW
作者原创:@小小笔记大大用处 https://blog.uptoz.cn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2160249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于STM32F103C8T6单片机的农业环境监测系统设计

本设计是基于STM32F103C8T6单片机的农业环境监测系统&#xff0c;能够完成对作物的生长环境进行信息监测和异常报警&#xff0c;并通过手机APP来实现查看信息和设定阈值的功能。为了实现设计的功能&#xff0c;该系统应该有以下模块&#xff1a;包括STM32单片机模块、水环境PH值…

css禁止图片保存,CSS中的图片保存方法

“css中的图片”指的就是镶在CSS样式表中的图片。在我们用在浏览器保存网页时&#xff0c;很多时候&#xff0c;下载网页里的图片都下载不到&#xff0c;这样的话就会使网页非常不美观。所以&#xff0c;今天小编就给大家介绍集中保存方法。 以下是几种保存方法。 (一)使用网…

Unity 设计模式 之 行为型模式 -【中介者模式】【迭代器模式】【解释器模式】

Unity 设计模式 之 行为型模式 -【中介者模式】【迭代器模式】【解释器模式】 目录 Unity 设计模式 之 行为型模式 -【中介者模式】【迭代器模式】【解释器模式】 一、简单介绍 二、中介者模式&#xff08;Mediator Pattern&#xff09; 1、什么时候使用中介者模式 2、使用…

java项目之基于springboot的医院资源管理系统源码

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的医院资源管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风…

计算存款利息-C语言

1.问题&#xff1a; 假设有本金1000元&#xff0c;想存一年&#xff0c;有三种方法可选择&#xff1a; A活期&#xff0c;年利率为0.0036&#xff1b; B一年期定期&#xff0c;年利率为0.0225&#xff1b; C存两次半年定期&#xff0c;年利率为0.0198。 请分别计算出一年后…

Ubuntu的基本用法与指令(为后面学习ROS打基础)

目录 0.声明&#xff1a;此博客的部分内容来自B站up主 机器人工匠阿杰&#xff0c;欢迎大家前往up主视频区学习&#xff08;本人正在跟随此up主的视频学习无人机的部分相关知识&#xff09; 1.win空格&#xff08;切换中英文&#xff09; 2.终端指令 1.ls&#xff1a;显示主…

ATTCK实战系列-Vulnstack三层网络域渗透靶场(一)

ATT&CK实战系列-Vulnstack三层网络域渗透靶场&#xff08;一&#xff09; 一、环境搭建1.1 靶场拓扑图1.2 靶场下载链接1.3 虚拟机配置1.3.1 Windows 7 (web服务器)1.3.2 Windows 2008 (域控)1.3.3 Win2k3 (域内主机) 二、外网打点突破2.1 信息搜集2.2 phpmyadmin 后台 Get…

netfilter和iptables--netfilter源码篇

netfilter和iptables–netfilter源码篇 防火墙是保护服务器和基础设施的重要工具&#xff0c;在Linux系统下&#xff0c;目前广泛使用的防火墙工具是iptables&#xff0c;但实际进行规则实施并产生实际作用的是Netfilter&#xff0c;iptables与内核中的netfilter框架中Hook协同…

❤Node11-登录人token信息接口

❤Node11-登录人token信息接口​ 上一章我们已经从登录部分拿到了用户的登录jwt返回的token信息&#xff0c;接下来我们就通过token来换取用户信息 这里我们可以将其理解为一种加密以及解密的思想来思考这个jwt和token的关系&#xff0c;token就是一个加密的字符串&#xff0c…

【JavaEE】——内存可见性问题

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯&#xff0c;你们的点赞收藏是我前进最大的动力&#xff01;&#xff01;希望本文内容能够帮助到你&#xff01; 目录 一&#xff1a;内存可见性问题 1&#xff1a;代码解释 2&#xff1a;结果分析 &#xff08;1&#xf…

《现代畜牧兽医》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《现代畜牧兽医》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定 学术期刊。 问&#xff1a;《现代畜牧兽医》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;辽宁省科学技术协会 …

vue2实现提取字符串数字并修改数字样式(正则表达式)

如果你要在循环中提取 item.companyName 中的数字&#xff0c;并且希望为这些数字改变颜色和边距&#xff0c;可以对每个 item 进行处理。此处是一个实现示例&#xff1a; <template> <div> <div class"box" v-for"(item, index) in coldBase…

学校气膜体育馆:低成本、高效率的灵活运动空间—轻空间

在当前教育设施的升级中&#xff0c;传统体育馆的建设往往面临长时间、高成本、以及繁琐的审批流程等诸多挑战。然而&#xff0c;学校无需再为这些问题烦恼&#xff0c;只需选择气膜结构的体育馆&#xff0c;就能快速、高效地解决体育场地需求。气膜体育馆凭借其灵活的设计和高…

Java项目实战II基于SSM的国外摇滚乐队交流和周边售卖系统的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者 一、前言 随着互联网技术的飞速发展&#xff0c;信息传播的广度和深度不断拓展&#xff0c;为各行业的创新发展…

二分查找算法(4) _搜索插入位置

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 二分查找算法(4) _搜索插入位置 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 …

太爱这5本书了,建议所有大模型人去翻烂它❗

要说现在最热门的技术&#xff0c;可谓非大模型莫属&#xff01; 不少小伙伴都想要学习大模型技术&#xff0c;转战AI领域&#xff0c;以适应未来的大趋势&#xff0c;寻求更有前景的发展~~ 然而&#xff0c;在学习大模型技术这条道路上&#xff0c;却不知道如何进行系统的学…

无人机飞手培训校企合作特训技术详解

随着无人机技术的飞速发展&#xff0c;其在航拍、农业、测绘、救援等多个领域的应用日益广泛&#xff0c;市场对高素质无人机飞手的需求急剧增加。为满足这一需求&#xff0c;促进教育与产业深度融合&#xff0c;无人机飞手培训校企合作模式应运而生。本文将从确定合作目标、共…

可视化大屏看阿里,阿里出品,必属精品。

阿里云有自己的可视化平台——dataV&#xff0c;经常会出一些高颜值、强交互的大屏&#xff0c;本期为大家分享一波。

HTML、CSS

初识web前端 web标准 Web标准也称为网页标准&#xff0c;由一系列的标准组成&#xff0c;大部分由W3C (World Wide Web Consortium&#xff0c;万维网联盟) 负责制定。三个组成部分: HTML: 负责网页的结构(页面元素和内容)。CSS: 负责网页的表现(页面元素的外观、位置等页面样…

Tableau|一入门

一 什么是BI工具 BI 工具即商业智能&#xff08;Business Intelligence&#xff09;工具&#xff0c;是一种用于收集、整理、分析和展示企业数据的软件系统&#xff0c;其主要目的是帮助企业用户更好地理解和利用数据&#xff0c;以支持决策制定。 主要功能&#xff1a; 1.数据…