1. 选择安全的文件共享协议
优先使用SFTP(基于SSH)或Samba(SMB/CIFS),避免使用不安全的FTP(明文传输)。SFTP通过SSH加密数据传输,无需额外配置加密;Samba是Linux与Windows跨平台共享的主流选择,支持加密和权限控制。
2. 强化身份验证机制
sshd_config限制用户组(如sftpgroup),强制使用内部SFTP命令(ForceCommand internal-sftp),禁止Shell访问;启用SSH密钥对认证(PubkeyAuthentication yes),禁用密码认证(PasswordAuthentication no),避免密码泄露风险。security = user(用户级安全),要求用户提供系统账号和Samba密码(sudo smbpasswd -a username);禁用匿名访问(public = no),仅允许授权用户访问共享。3. 细化访问权限控制
chown user:group /path/to/shared -R,chmod 770 /path/to/shared),确保只有授权用户可读写。chroot将用户限制在专属目录(ChrootDirectory /srv/sftpuser/%u),防止越权访问系统文件;设置目录权限为755(root拥有,用户可进入)。/etc/samba/smb.conf中为共享添加valid users(如valid users = user1, @smbgroup)、read only = no(允许写入),限制特定用户或组的访问。4. 配置防火墙限制访问
使用ufw(Uncomplicated Firewall)仅允许信任的IP地址访问共享服务端口:
sudo ufw allow from trusted_ip to any port 22;sudo ufw allow samba(或手动开放139/tcp、445/tcp端口);sudo ufw allow 40000:50000/tcp)。5. 启用传输加密
encrypt passwords = yes(默认开启),防止密码在网络中明文传输;如需更高安全性,可配置SSL/TLS证书(需生成证书并修改smb.conf中的ssl ca cert、ssl cert等参数)。6. 定期维护与监控
sudo apt update && sudo apt upgrade,修复已知安全漏洞;/var/log/samba/(如log.smbd),通过tail -f /var/log/samba/log.smbd实时查看异常访问;SSH日志位于/var/log/auth.log,检查非法登录尝试;ls -ld /path/to/shared检查目录权限,使用smbstatus(Samba)查看当前连接用户,及时撤销未授权账户的访问权限。