废话部分
最近看飞牛Nas爆出了好多的漏斗,还与黑客PK上了。虽然我用飞牛Nas也有大半年了,但未完全信认,常用的Nas用安装在CentOS上(用了十多年了,CentOS停更后想过换成Ubuntu,但到现在还没施行),飞牛Nas只是用来给家人分享自拍的家庭和娃的视频,之前用了Jellyfin,后面发现飞牛播放器更适合年纪大零技术背景的爸妈。只要每天把拍的视频放到制定文件夹刷新,按文件修改时间排序还有视频缩略图,爸妈那边就能用App直接观看了。
飞牛Nas配置
我的飞牛是安装在PVE中的,视屏数据通过Proxmox使用Virtio-fs文件共享,文件还是存到PVE主机中的,然后在pve中有一台Ubuntu网关虚拟机来充当需要外网访问服务的中转,这里也包括了飞牛视频的外网转发。对于只有飞牛Nas的小伙伴,可以在飞牛Nas中安装Ubuntu虚拟机来当转发网关。飞牛Nas禁用IPv6,只用IPv4内网,不登录Fn Connet账号。在Ubuntu网关做IPv6(DDNS解析) + IPv4(frp内网穿透)双栈访问,最后在Ubuntu网关配置Nginx做路径过滤并最少转发到飞牛Nas上。
graph TD;
A[家人手机/电脑/电视]-->|IPv6直连|B[Ubuntu 网关];
A-->|IPv4 frp穿透|B
B-->C[飞牛视频];
B-->D[其他内网服务];
这样,所有外网安全都压在Ubuntu网关上了。
Ubuntu 安全配置
-
禁用账号ssh登录,全改用ed25519密钥ssh登录
-
安装配置 fail2ban,直接默认配置就可以,可以防止一些暴力破解。
# 安装fail2ban sudo apt install fail2ban -y -
启用
ufw防火墙,仅允许 22 和 443(如果没其他服务)sudo ufw allow 22/tcp sudo ufw allow 443/tcp sudo ufw enable -
Nginx启用https,做路径过滤及最小转发原则。因为只用了飞牛视频,这里只转发
http://飞牛IP:port/v的指定路径。
server {
listen 443 ssl http2;
server_name 飞牛视频域名;
# ... SSL / 安全头等配置 ...
# 拦截路径遍历和可疑编码(含 query string)
if ($request_uri ~* "(%2e%2e|\.+\.+|%7b[0-9a-z]*%7d)") {
return 403;
}
# 只允许安全方法
if ($request_method !~ ^(GET|POST|HEAD)$ ) {
return 405;
}
# 反向代理 /v 到内网
location /v {
# 假设飞牛内网IP为192.168.1.100
proxy_pass http://192.168.1.100:5666;
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;
proxy_buffering off;
}
# 其他路径 404
location / {
return 404;
}
}
评论区