本页面说明在生产环境中安全运行 Fess 的推荐安全配置。
Danger
安全非常重要
强烈建议在生产环境中实施本页面描述的所有安全配置。 如果疏忽安全配置,将增加未经授权访问、数据泄漏、系统入侵等风险。
必需的安全配置
更改管理员密码
必须更改默认管理员密码(admin / admin)。
步骤:
登录管理页面: http://localhost:8080/admin
点击「系统」→「用户」
选择
admin用户设置强密码
点击「更新」按钮
推荐密码策略:
至少 12 个字符
包含大写字母、小写字母、数字、符号
避免使用字典中的单词
定期更改(建议每 90 天)
启用 OpenSearch 安全插件
步骤:
从
opensearch.yml中删除或注释掉以下行:配置安全插件:
配置 TLS/SSL 证书
重启 OpenSearch
更新 Fess 的配置,添加 OpenSearch 的认证信息:
详情请参阅 OpenSearch Security Plugin。
启用 HTTPS
HTTP 通信未加密,存在窃听或篡改的风险。在生产环境中必须使用 HTTPS。
方法 1: 使用反向代理(推荐)
在 Fess 前端部署 Nginx 或 Apache,进行 HTTPS 终止。
Nginx 配置示例:
方法 2: 在 Fess 自身配置 HTTPS
在 tomcat_config.properties 中添加以下内容:
推荐的安全配置
防火墙设置
仅开放必要的端口,关闭不必要的端口。
应开放的端口:
**8080**(或 HTTPS 的 443): Fess Web 界面(如需要外部访问)
22: SSH(仅限管理用,仅允许可信 IP 地址)
应关闭的端口:
9200, 9300: OpenSearch(仅限内部通信,阻止外部访问)
Linux (firewalld) 配置示例:
IP 地址限制:
访问控制设置
考虑将管理页面的访问限制为特定 IP 地址。
Nginx 访问限制示例:
基于角色的访问控制 (RBAC)
Fess 支持多个用户角色。遵循最小权限原则,仅授予用户必要的最小权限。
角色类型:
管理员: 所有权限
普通用户: 仅限搜索
爬虫管理员: 爬取配置管理
搜索结果编辑者: 搜索结果编辑
步骤:
在管理页面点击「系统」→「角色」
创建必要的角色
在「系统」→「用户」中为用户分配角色
启用审计日志
为了记录系统操作历史,审计日志默认启用。
在配置文件(log4j2.xml)中启用审计日志:
定期安全更新
请定期应用 Fess 和 OpenSearch 的安全更新。
推荐步骤:
定期确认安全信息
在测试环境验证更新
将更新应用到生产环境
数据保护
备份加密
备份数据可能包含机密信息。请加密保存备份文件。
加密备份示例:
安全最佳实践
最小权限原则
不要以 root 用户运行 Fess 和 OpenSearch
使用专用用户账号运行
授予最小必要的文件系统权限
网络隔离
将 OpenSearch 部署在专用网络
内部通信使用 VPN 或专用网络
仅将 Fess 的 Web 界面部署在 DMZ
定期安全审计
定期确认访问日志
检测异常访问模式
定期实施脆弱性扫描
安全头配置
根据需要,在 Nginx 或 Apache 中配置安全头:
安全检查清单
部署到生产环境前,请确认以下检查清单:
基本设置
[ ] 已更改管理员密码
[ ] 已启用 HTTPS
[ ] 已更改默认端口号(可选)
网络安全
[ ] 已用防火墙关闭不必要的端口
[ ] 已对管理页面进行 IP 限制(如可能)
[ ] 已将 OpenSearch 的访问限制为仅限内部网络
访问控制
[ ] 已配置基于角色的访问控制
[ ] 已删除不必要的用户账号
[ ] 已配置密码策略
监控和日志
[ ] 已启用审计日志
[ ] 已配置日志保存期限
[ ] 已构建日志监控机制(如可能)
备份和恢复
[ ] 已设置定期备份计划
[ ] 已加密备份数据
[ ] 已验证恢复步骤
更新和补丁管理
[ ] 已建立接收安全更新通知的机制
[ ] 已文档化更新步骤
[ ] 已建立在测试环境验证更新的体系
安全事件响应
发生安全事件时的响应步骤:
检测事件
确认日志
检测异常访问模式
确认系统行为异常
初期响应
确定影响范围
防止损害扩大(停止相关服务等)
保全证据
调查和分析
详细分析日志
确定入侵路径
确定可能泄漏的数据
恢复
修复脆弱性
恢复系统
加强监控
事后处理
创建事件报告
实施防止再发措施
向相关人员报告
参考信息
如有安全相关的问题或疑问,请联系:
商业支持: https://www.n2sm.net/