在Debian系统上加固SFTP(SSH File Transfer Protocol)的安全性,可以通过以下步骤实现:
确保你的Debian系统上已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install openssh-server
创建一个专门用于SFTP用户的组,例如 sftp_users。
sudo groupadd sftp_users
将需要使用SFTP的用户添加到 sftp_users 组中。
sudo useradd -m -G sftp_users <用户名>
sudo mkdir /home/<用户名>/upload
sudo chown <用户名>:sftp_users /home/<用户名>/upload
sudo echo "<用户名>:<密码>" | chpasswd
编辑 /etc/ssh/sshd_config 文件,进行以下配置:
# 禁用匿名用户登录
Subsystem sftp /usr/lib/openssh/sftp-server
# 限制SFTP用户组的用户
Match Group sftp_users
    X11Forwarding no
    AllowTcpForwarding no
    ChrootDirectory %h
    ForceCommand internal-sftp
sudo systemctl restart sshd
sudo mkdir -p /home/<用户名>
sudo chown root:root /home/<用户名>
sudo chmod 755 /home/<用户名>
sudo mkdir /home/<用户名>/upload
sudo chmod 755 /home/<用户名>/upload
通过设置 ChrootDirectory %h,用户将被限制在各自的家目录中,无法访问其他目录或系统目录。
如果使用 ufw(Uncomplicated Firewall),可以添加规则以允许新的SSH端口(例如2222):
sudo ufw allow 2222/tcp
sudo ufw reload
确保所有用户都使用强密码,可以通过修改 /etc/login.defs 文件来强制执行这些要求:
PASS_MIN_LEN 10
定期更新系统和软件包,以修复已知的安全漏洞,并监控SSH日志以检测可疑活动。
sudo apt update
sudo apt upgrade
通过以上步骤,你可以在Debian系统上配置一个安全的SFTP服务。记得定期更新系统和软件包,以保持安全性。