1. 及时更新Jellyfin及相关组件
定期检查并安装Jellyfin的最新稳定版本,及时修补已知安全漏洞(如CVE-2021-21402未授权文件读取、CVE-2024-43801跨站脚本等)。同时,确保CentOS系统的系统库(如OpenSSL)也保持更新,避免因底层漏洞引发安全风险。
2. 配置防火墙限制访问
使用firewalld放行Jellyfin必需的网络端口(默认HTTP 8096、HTTPS 8920、DLNA 1900、Bonjour/mDNS 5353),并通过--permanent参数保存规则,最后执行firewall-cmd --reload使配置生效。若无需远程访问,建议仅允许本地连接(如将Jellyfin绑定到127.0.0.1),或通过反向代理进一步限制访问源。
3. 启用SSL/TLS加密通信
通过Let’s Encrypt等免费证书颁发机构获取SSL证书,将证书配置到Jellyfin的“网络”设置页面,强制启用HTTPS加密。这可防止Web界面数据(如用户名、密码、媒体元数据)在传输过程中被窃取或篡改。
4. 实施严格的用户与权限管理
jellyfin),避免使用root或高权限账户运行服务,降低系统被入侵的风险。5. 正确设置目录与文件权限
/var/lib/jellyfin)的所有权设置为jellyfin:jellyfin,权限设为755(所有者可读写执行,其他用户仅可读和执行),防止未经授权的修改。/var/log/jellyfin),所有权同样设为jellyfin:jellyfin,权限755,确保日志文件不被篡改。/etc/jellyfin/jellyfin.conf的权限为644(所有者可读写,其他用户仅可读),避免敏感配置泄露。6. 配置SELinux(若启用)
若系统启用了SELinux,需调整相关策略以保证Jellyfin正常运行:
sudo chcon -Rv --type=httpd_sys_content_t /var/lib/jellyfin(替换为实际数据目录)。sudo setsebool -P httpd_can_network_connect_db 1、sudo setsebool -P httpd_enable_homedirs 1。7. 使用反向代理增强安全性
通过Nginx或Apache配置反向代理,将外部请求转发到Jellyfin的本地端口(如8096)。反向代理可实现以下功能:
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri; # 强制HTTPS
}
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:8096;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
配置完成后重启Nginx(sudo systemctl restart nginx)。
8. 监控与日志记录
启用Jellyfin的内置日志功能,定期检查/var/log/jellyfin/jellyfin.log(或自定义日志路径),监控异常活动(如频繁的登录失败、未授权访问尝试)。可结合日志分析工具(如ELK Stack、Graylog)实现实时告警,及时发现潜在安全威胁。
9. 定期备份配置与数据
定期备份Jellyfin的关键数据,包括:
/etc/jellyfin/jellyfin.conf);/var/lib/jellyfin);