我有一個客戶想要ftp
訪問我們其中一台伺服器中的某個文件
伺服器運行
CentOS 7
root 登入已停用
密碼登入已停用(需要 ssh 金鑰才能登入)
ssh 透過非標準端口
讓客戶端 ftp 存取該檔案可行/可能嗎?我覺得我已經遵循了所有“最佳實踐”來保護伺服器,而 ftp 似乎可能會破壞其中的一些。
我在這裡錯過了什麼嗎?我們是否必須找出不同的方法來維護安全?
答案1
FTP 本質上是不安全的,因為它以透明方式傳輸所有內容。
因為你已經有 ssh 那麼要嘛使用SCP或者sftp兩者都利用 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。