我有一个客户想要ftp
访问我们其中一台服务器中的某个文件
服务器运行
CentOS 7
root 登录被禁用
密码登录已禁用(需要 ssh 密钥才能登录)
ssh 使用非标准端口
是否允许客户端通过 ftp 访问文件?我觉得我已经遵循了所有“最佳实践”来保护服务器,而 ftp 似乎可能会破坏其中的一些。
我是不是漏掉了什么?我们是否需要想出其他方法来维护安全?
答案1
FTP 本质上是不安全的,因为它以明文方式传输所有内容。
由于您已经有 ssh,因此可以使用SCP或者安全FTP两者都利用了 ssh 协议。您甚至可以使用 filezilla 等客户端连接到您的 sftp 服务器。
如果尚未启用,您可以添加
Subsystem sftp /usr/lib/openssh/sftp-server
到你的 /etc/ssh/sshd_config 文件也是如此。
您可以通过向 sshd_config 添加指令来进一步锁定特定用户(如果需要)
Match User alice
# Force the connection to use SFTP and chroot to the required directory.
ForceCommand internal-sftp
ChrootDirectory /home/alice
# Disable tunneling, authentication agent, TCP and X11 forwarding.
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
这只会让 alice 使用 sftp 连接,而不允许 ssh/scp 连接。
答案2
FTPS(通过 SSL 的 ftp)存在,但如果 SSH 已经存在,则考虑使用 SCP。