1. 更新系统与OpenSSH软件包
定期运行sudo apt update && sudo apt upgrade -y更新Debian系统及OpenSSH服务器,及时修补已知安全漏洞,降低被攻击风险。
2. 配置SSH服务限制SFTP访问
编辑/etc/ssh/sshd_config文件,通过以下配置强化SFTP安全性:
PermitRootLogin no;Subsystem sftp internal-sftp;sftpusers)的访问权限,强制使用SFTP并禁用端口转发:Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
修改后重启SSH服务:sudo systemctl restart sshd。3. 创建专用SFTP用户组与用户
sudo groupadd sftpusers;sftpuser):sudo useradd -m -G sftpusers -s /bin/false sftpuser(-s /bin/false禁止shell登录);sudo chpasswd(输入密码)。4. 正确配置Chroot Jail环境
sudo mkdir -p /home/sftpuser/upload;sudo chown root:root /home/sftpuser;sudo chmod 755 /home/sftpuser;sudo chown sftpuser:sftpusers /home/sftpuser/upload;sudo chmod 755 /home/sftpuser/upload。5. 启用SSH密钥认证(禁用密码登录)
ssh-keygen -t rsa -b 4096(默认保存至~/.ssh/id_rsa);.ssh文件夹:ssh-copy-id sftpuser@your_server_ip;/etc/ssh/sshd_config,禁用密码登录:PasswordAuthentication no;sudo systemctl restart sshd。6. 配置防火墙限制访问
使用ufw(Uncomplicated Firewall)限制SSH/SFTP端口(默认22)的访问:
sudo ufw allow OpenSSH;sudo ufw enable;sudo ufw allow from your_trusted_ip to any port 22。7. 安装与配置Fail2Ban防暴力破解
sudo apt install fail2ban -y;sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local;jail.local,启用SSH防护:[sshd]
enabled = true
maxretry = 3 # 允许的最大失败次数
bantime = 600 # 封禁时间(秒)
sudo systemctl restart fail2ban。8. 最小化系统安装与定期审计
/var/log/auth.log日志,监控异常登录尝试(如多次失败登录、陌生IP访问);