fnOS安装后必做的10项初始设置
fnOS安装后必做的10项初始设置:从零搭建安全高效的家用NAS
刚装好fnOS,你可能会被简洁的界面吸引,但真正用好它,需要从系统底层开始做对10项关键设置。作为基于Linux深度定制的NAS系统,fnOS初始状态下存在默认端口暴露、SSH未加固、存储池未优化等问题。本文将带你一步步完成这些必须的初始化操作,确保你的NAS既安全又高效。
1. 更新系统与内核
新安装的fnOS可能包含已知漏洞,首先更新所有包。
sudo apt update && sudo apt upgrade -y
sudo fnos-upgrade
执行后重启系统:
sudo reboot
2. 修改SSH默认端口并禁用密码登录
默认22端口是暴力破解的重灾区。先修改SSH配置:
sudo nano /etc/ssh/sshd_config
找到#Port 22改为Port 2222(或其他高位端口)。然后设置密钥认证:
# 在客户端生成密钥(非NAS上执行)
ssh-keygen -t ed25519
# 将公钥复制到NAS
ssh-copy-id -p 2222 username@nas-ip
返回NAS,编辑SSH配置文件:
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
重启服务:
sudo systemctl restart sshd
安全提示:切勿关闭当前SSH会话,先另开终端测试新端口连接成功再退出。
3. 创建非root管理员账户
避免日常使用root账号操作,增加审计追踪:
sudo useradd -m -G sudo,sambashare adminuser
sudo passwd adminuser
赋予fnOS管理权限:
sudo fnos-cli user add adminuser --role admin
后续所有操作都通过此账户执行,root仅用于紧急维护。
4. 配置防火墙限制访问来源
fnOS默认iptables规则较宽松,建议限制管理端口:
# 允许本地网络访问(假设内网段192.168.1.0/24)
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 80
sudo ufw allow from 192.168.1.0/24 to any port 443
# 允许特定IP访问管理面板
sudo ufw allow from 你的公网IP to any port 8006
sudo ufw enable
查看规则:
sudo ufw status numbered
5. 配置存储池与自动快照
fnOS默认使用单盘模式,建议创建带校验的RAID阵列:
# 查看磁盘标识
sudo lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
# 创建RAID5(假设三块盘sdb,sdc,sdd)
sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
sudo mkfs.ext4 /dev/md0
sudo mkdir /data
sudo mount /dev/md0 /data
设置开机自动挂载:
echo '/dev/md0 /data ext4 defaults 0 0' | sudo tee -a /etc/fstab
配置定时快照(保留7天):
sudo fnos-cli snapshot create --pool /data --retention 7
6. 启用Samba安全共享
编辑Samba配置强化安全:
sudo nano /etc/samba/smb.conf
在[global]段添加:
min protocol = SMB3
max protocol = SMB3
server signing = mandatory
smb encrypt = required
restrict anonymous = 2
创建专用共享目录:
sudo mkdir -p /data/shared
sudo chown adminuser:adminuser /data/shared
sudo chmod 770 /data/shared
添加共享段:
[Shared]
path = /data/shared
valid users = @sambashare
read only = no
browseable = yes
create mask = 0660
directory mask = 0770
重启Samba服务:
sudo systemctl restart smbd nmbd
7. 配置自动备份至远程存储
使用rsync定时增量备份关键数据到另一台NAS或云存储:
# 安装rsync
sudo apt install rsync -y
# 创建备份脚本
sudo nano /usr/local/bin/backup.sh
脚本内容:
#!/bin/bash
SOURCE="/data"
DEST="user@backup-server:/backup/fnos"
rsync -avz --delete --exclude='.cache/' --link-dest=/backup/latest $SOURCE $DEST
设置执行权限并加入crontab:
sudo chmod +x /usr/local/bin/backup.sh
sudo crontab -e
# 添加每日凌晨2点执行
0 2 * * * /usr/local/bin/backup.sh
8. 配置系统日志远程转发
将日志集中到日志服务器,便于安全审计:
sudo nano /etc/rsyslog.d/remote.conf
添加:
*.* @日志服务器IP:514
重启日志服务:
sudo systemctl restart rsyslog
9. 启用Fail2ban防护
防止SSH和Web面板暴力破解:
sudo apt install fail2ban -y
sudo nano /etc/fail2ban/jail.local
配置内容:
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
[fnos-web]
enabled = true
port = 8006
filter = fnos-web
logpath = /var/log/fnos/access.log
启动服务:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
10. 配置UPS自动关机
保护硬件免受意外断电损坏:
sudo apt install nut -y
sudo nano /etc/nut/ups.conf
添加UPS配置(以APC为例):
[apc]
driver = usbhid-ups
port = auto
desc = "APC UPS"
配置自动关机策略:
sudo nano /etc/nut/upsmon.conf
添加:
MONITOR apc@localhost 1 admin secret master
SHUTDOWNCMD "/sbin/shutdown -h +0"
NOTIFYCMD /sbin/upsmon-notify
启动服务:
sudo systemctl enable nut-monitor
sudo systemctl start nut-monitor
结语
完成这10项设置后,你的fnOS已经具备了企业级NAS的基本安全防护能力。从端口隐蔽到存储冗余,从访问控制到灾难恢复,每个环节都经过精心设计。建议将本教程的配置步骤保存在安全位置,定期(至少每季度)检查防火墙规则和备份完整性。fnOS的强大在于其Linux底层的灵活性,但这份自由也意味着你需要主动管理安全边界。现在,你的NAS已经准备好承载重要数据,放心使用吧。