ftp
弊社のサーバーにある特定のファイルにアクセスしたいというクライアントがいます
サーバーは
CentOS 7
ルートログインが無効になっています
パスワードログインは無効です(ログインするにはSSHキーが必要です)
sshは非標準ポート経由です
クライアントにファイルへの FTP アクセスを与えることは実現可能でしょうか? サーバーを保護するためのすべての「ベスト プラクティス」に従ったつもりですが、FTP によってこれが一部損なわれる可能性があるようです。
何か見落としているのでしょうか? セキュリティを維持するために別のアプローチを考え出す必要があるのでしょうか?
答え1
FTP はすべてをそのまま送信するため、本質的に安全ではありません。
すでにsshがある場合は、SCP-10 ...または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 は ssh/scp ではなく sftp を使用してのみ接続できるようになります。
答え2
FTPS (ftp over SSL) は存在しますが、SSH がすでに存在する場合は SCP の使用を検討してください。