ftp
우리 서버 중 하나에 있는 특정 파일에 액세스 하려는 클라이언트가 있습니다.
서버가 실행됩니다
CentOS 7
루트 로그인이 비활성화되었습니다
비밀번호 로그인이 비활성화되었습니다(로그인하려면 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는 ssh/scp가 아닌 sftp를 통해서만 연결할 수 있습니다.
답변2
FTPS(SSL을 통한 FTP)가 존재하지만 SSH가 이미 존재하는 경우 SCP 사용을 고려하십시오.