大部分问题都有文档支持,关注报错信息进行分析,如果问题不能解决,可加入 雷池微信群 与社区用户共同讨论,或在 百川论坛 内发帖求助。
如果站点报错如上,说明tengine容器可能出现问题,需要自行排查一下原因
可能原因:站点配置错误、雷池机器本地环境有问题等原因
排查方法:
1.使用docker ps,查看tengine容器的状态,确认是否healthy
2.使用docker logs -f safeline-tengine 查看tengine容器日志。根据日志内的报错信息自行解决问题
检查容器网络问题,因为雷池容器网络使用SUBNET_PREFIX=172.22.222
检测是否有本地防火墙规则或者其他情况导致容器无法正常连接
尝试手动删掉报错中的/etc/resolv.conf里面的那个ipv6
可能有端口冲突了,尝试修改报错的端口监听情况
检查是否直接访问了源站,没有走雷池的配置站点访问
某些环境升级雷池或者安装雷池后配置站点会有上游访问异常的错误
检查一下 雷池机器的网能不能通,雷池mgt容器内的网是否通
如果mgt容器内网不通,说明容器网络出问题了,可以尝试重启docker解决
威胁情报的云服务部署在百川云平台,域名是 https://challenge.rivers.chaitin.cn/
雷池部署在内网的师傅需要加白一下,就可以正常同步情报数据了。
站点设置直接开启,可以在线查看(专业版功能)
手动修改配置(用于社区版,比较麻烦)
默认情况下雷池是并不会保存请求记录的,如果需要保存请求记录,可以修改waf的安装目录下的resources/nginx/nginx.conf
如图所示,去掉文件第 98 行的注释,删除第 99 行的内容,保存后运行命令检查配置文件
docker exec safeline-tengine nginx -t
检查应显示
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
最后应用配置文件
docker exec safeline-tengine nginx -s reload
配置生效后,访问日志将会保存至安装路径下的logs/nginx
注意:该操作会加快对硬盘的消耗,请定时清理访问日志
这个地址是百川服务器的地址,出现当前报错说明与百川服务器无法正常连接
可能原因:
在 waf 机器上执行下面的命令即可
docker exec safeline-mgt app/mgt-cli reset-cert
注意:该操作会清除所有日志信息,且不可恢复
docker exec safeline-mgt cleanlogs
如果域名处填写的分别为 IP 与域名,那么当使用进行 IP 请求时,则将会命中第一个配置的站点
以上图为例,如果用户使用 IP 访问,命中 example.com。
如果域名处填写的分别为域名与泛域名,除非准确命中域名,否则会命中泛域名,不论泛域名第几个配置。
以上图为例,如果用户使用 a.example.com 访问,命中 a.example.com。 如果用户使用 b.example.com,命中 *.example.com。
雷池每次修改站点或者重启服务时,都会在waf的安装目录下的 resources/nginx/sites-enabled/ 重新生成 nginx conf 文件。因为没法“智能”合并用户自定义的配置和自动生成的配置。但是也还是有方式能持久化地添加一些 nginx conf,不会被覆盖。
每个 IF_backend_XXX
的 location 中都有 include proxy_params;
这一行配置,且 resources/nginx/proxy_params
这个文件不会被修改站点、重启服务等动作覆盖。2.1.0 版本之后支持 /etc/nginx/custom_params/backend_XXX;
可以自定义站点级的 nginx location 配置。
server {
location ^~ / {
proxy_pass http://backend_1;
include proxy_params;
include /etc/nginx/custom_params/backend_1;
# ...
}
}
所以只需要根据需求修改对应的文件就可以了。比如在 resources/nginx/proxy_params
里面增加如下配置,即可支持 X-Forwarded-Proto
:
proxy_set_header X-Forwarded-Proto $scheme;
修改完成后运行命令检查配置文件
docker exec safeline-tengine nginx -t
检查应显示
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
最后应用配置文件
docker exec safeline-tengine nginx -s reload
攻击日志中显示的域名字段是取的 HTTP Header 中的 Host,如果这个字段不存在,则默认使用目的 IP 作为域名。如果客户端修改了 HTTP Header 的 Host,那么这里显示的就是修改之后的。
放一张截图更容易理解,注意下面「请求报文」中的 Host 字段:
攻击日志的请求地址是根据 http 协议组装的,在下面的情况下会出现此情况
docker ps
docker logs -f safeline-tengine
docker logs -f safeline-mgt
根据错误日志的信息进行排查
进入雷池安装目录 (默认在 /data/safeline
)
cd /data/safeline
停用 Docker 容器,停用 Docker 网络(注意不要直接删除容器)
docker compose down
删除雷池相关文件
rm -rf /data/safeline
大流量情况下,统计数据比较占用存储空间,如果发现luigi文件空间占用过大
有些环境需要使用docker-compose的命令,自行替换即可
停止雷池,在安装的safeline目录下执行命令:docker compose down
直接删除 safeline/resources/luigi 文件夹
启动雷池,在安装的safeline目录下执行命令:docker compose up -d
删除文件会丢失统计数据,注意数据备份
可能是某种情况下导致sqlite数据库损坏了
在 resources/luigi 目录下,全删了,再重启雷池就好了
如果是docker-compose,需要自行替换成docker-compose命令
1.在安装的safeline目录下执行命令:docker compose down ,全部停止
2.在安装的safeline目录下执行命令:docker compose up -d,全部启动
准备好需要迁移的雷池环境,版本保持和原环境一致
1.两个环境都停止容器
2.复制原环境的safeline目录 ,覆盖新环境的safeline目录(或者直接把原safeline目录删除)
3.在新的safeline目录内,使用命令重启新环境的雷池容器,迁移完成
问题表现:重启或升级后编辑任何站点配置都报错,后台 tengine 一直在重启。
可能原因是 tengine 配置在当前设备环境上不合法,导致 tengine 无法以原配置启动。
例如重启过程中网站端口被其他进程所占用、网站 dns 配置异常导致解析不到 IP 等。
解决方案:可以通过查看 tengine 容器的日志,排查问题,也可以使用安装目录下的 reset_tengine.sh
脚本重置 tengine 容器配置。
# 执行时间根据网站数量和配置情况而定, 请耐心等待
cd /data/safeline && bash reset_tengine.sh
执行成功后会有如下输出,此时可以尝试重新编辑/删除站点配置,观察是否正常。
[SafeLine] 是否重新生成 tengine 的所有配置 (Y/n)
重新生成 tengine 配置完成
默认支持流量转发,不支持检测与拦截
地址 | 端口 | 说明 |
---|---|---|
waf-ce.chaitin.cn | 443 | 搜索引擎爬虫白名单、左下角的更新提示 |
challenge.rivers.chaitin.cn | 443 | 恶意 IP 情报 |
safeline-cloud.chaitin.com | 50052 | 专业版/商业版的授权校验 |
acme-v02.api.letsencrypt.org | 443 | acme 证书申请 |
rivers.chaitin.cn | 443 | 百川推荐工具(浏览器使用) |
欢迎推荐雷池社区版给客户、公司和朋友!
但是,请注意,我们不允许以下行为:
对软件进行破解、逆向工程、二次包装、篡改版权信息等操作
在未获得长亭授权的情况下,出售雷池社区版或提供商业化的技术服务
其他任何侵犯雷池社区版知识产权的行为,查看授权协议
感谢您的理解和支持!
社区版具有基础的WAF流量监测能力,保护网站不被黑客入侵。
专业版在社区版本基础上升级,额外增加安全能力和管理能力。
商业版在专业版的基础上升级,额外增加更多的安全能力,且能满足等保合规的需要。
企业版与社区版(专业版、商业版)架构不一样,可以根据业务形态选择软件或硬件版本。企业版功能完善、部署模式灵活,能满足等保合规的需要。另外,企业版提供完善、一对一的支持服务,包括方案咨询、售后支持、漏洞应急服务等。企业版还有完善的开发管理流程和事故响应机制,能够对稳定性做承诺。
企业体量较大的客户可以使用社区版/专业版,但功能有限,可以在边缘的网站、内部网站上使用。
如对企业版/商业版感兴趣,可以联系销售申请试用,官网留电话即可。
如有其他疑问咨询企业微信群内的张华杰