FTP에 대한 안전한 대안은 무엇입니까? [닫은]


22

이 해커 뉴스 이야기 는 FTP의 단점에 관한 것입니다. FTP를 설정하는 유일한 이유는 간단하기 때문입니다.

scp이미 알고 사용 하고 있지만 때로는 ssh내 서버에 대한 액세스 권한을 부여하지 않고 다른 사람과 파일을 공유 하려고합니다. 나는 그들이 파일을 업로드하고 다운로드 할 수 있기를 원하지만 다른 것은 없으며 단일 디렉토리로 제한하고 싶습니다. 또한 연결이와 같이 암호화되기를 원합니다 ssh.

이러한 기준을 충족시키는 FTP의 대안은 무엇입니까?


2
ssh 없이 scp 를 사용할 수 있습니다 . serverfault.com/questions/354615/allow-sftp-but-disallow-ssh
Stone

1
필자는이 기사를 읽지 않아도되지만 FTP는 폐쇄 형 네트워크 (지층의 서버에서 / 지하실의 서버로)에서 사용하도록 설계되었다는 점을 기억할 가치가 있으므로 보안은 결코 고려되지 않았습니다. 공용 네트워크에서 여전히 사용되고 있다는 것은 놀라운 일입니다.
John Gardeniers

1
일부 사람들은 ftp가 전혀 설계되지 않았다고 주장 할 수도 있지만, 폐쇄 된 문과 화난별로 액세스 제어가 발생했을 때 폐쇄가 네트워크에서 관찰 가능한 속성이되기 전에 파일 전송을위한 소프트웨어를 만드는 다양한 사람들이 상상 한 좋은 아이디어를 통해 진화했다고 주장 할 수 있습니다.
Eroen

답변:


7

Proftpd에는 sftp 서버가 내장되어있어 파일 전송을 목적으로 sshd에서 사용자를 완전히 분리 할 수 ​​있습니다. 완전히 분리 된 passwd 파일을 사용하여 파일을 더욱 격리 시키도록 설정할 수 있습니다 (ssh로 시스템에 로그인하여 실제로 / etc / passwd에 사용자가없는 경우 chroot를 통과하기 어렵습니다 .. .)

proftpd를 사용하면 sftp 사용자를 chroot하고 디렉토리 세트로 쉽게 분리 할 수 ​​있습니다.

우리는 이와 같은 일을합니다 :

LoadModule mod_sftp.c

<VirtualHost 10.1.1.217>

    ServerName  "ftp.example.com"

    # from http://www.proftpd.org/docs/howto/NAT.html
    MasqueradeAddress   1.2.3.4
    PassivePorts 27001 27050

    UseSendfile off

    ExtendedLog         /var/log/proftpd/access.log WRITE,READ default
    ExtendedLog         /var/log/proftpd/auth.log AUTH auth

    AuthUserFile /etc/proftpd/AuthUsersFile
    AuthOrder           mod_auth_file.c 

    <IfModule mod_sftp.c>
        Port 10022
    SFTPAuthorizedUserKeys file:/etc/proftpd/ssh_authorized_keys/%u
        SFTPEngine On
        SFTPLog /var/log/proftpd/sftp.log
        SFTPHostKey /etc/ssh/proftpd-ssh_host_rsa_key
        SFTPHostKey /etc/ssh/proftpd-ssh_host_dsa_key
        MaxLoginAttempts 6
    </IfModule>
</VirtualHost>

1
: 영업 이익이 최대 설정에 도움을 필요로하는 경우, 초보자를 돕기 위해, 나는 여기에 완전히 기본적인 튜토리얼이 csrdu.org/nauman/2011/02/13/...
recluze

3

내가 사용하는 것이 WebDAV를 서버에서 사용하도록 설정된 https로! 그런 다음 인증은 표준 http 인증 체계를 기반으로합니다. 가이드는 아파치가 찾을 수 있습니다와 WebDAV를 설정하려면 여기를 다음 HTTPS를 뒤에 해당 리소스를 넣어 만이 켜지지이며, 여기에 내가 어떻게 할 수있는 좋은 설명을 찾을 것을 .


여기에 사용중인 언어가 주어지면 최소한 영어 버전의 기사에 연결되었을 수 있습니다.
John Gardeniers

하하 미안은 그 실수를 몰랐다. 수정 해 주셔서 감사합니다!
joecks

1

"무료"를 요구 사항으로 지정하지 않았으므로 grouplogic으로 Mass Transit 패키지를 버리겠습니다. 아마도 대부분의 사람들에게 약간 과잉이며 가격 범위를 벗어 났을 수도 있지만 기능 스위트는 결코 환상적입니다. 두 번째 Mass Transit 서버를 확보하고 자동화를 켜면 일부 파일이 정말 빠르게 이동합니다.


0

와 비슷한 모드에서 sftp사용 ssh하는 설정 을 할 수 있습니다 ftp.

컴퓨터에서 일부 사용자를 만들 수 있습니다 (하나 이상, 각 사용자가 서로의 파일에 액세스 할 수 있는지 여부에 따라 다름), 쉘 / bin / false 및 chroot각 사용자에게 해당 파일이있는 디렉토리 배치.


0

TLS 암호화가 활성화 된 pure-ftpd를 사용할 수 있습니다. 구성 파일 (한 줄만 :)에서 암호화 주석 해제 TLS 옵션을 활성화하고 클라이언트가 ftp를 통해 연결하도록 구성하면 매우 간단합니다. 모든 ftp 클라이언트가 ftp를 지원하는 것은 아닙니다.


-1

rsync를 사용자의 로그인 쉘로 설정하여 로그인을 허용하지 않고 ssh를 통한 rsync로 업 및 다운로드를 활성화 할 수 있습니다. 이렇게하면 셸 계정을 활성화하지 않고 (계정에 셸이 없지만 rsync =) 인증서 인증서, 암호화 및 표준 파일 시스템 권한 작업을 포함하여 ssh의 모든 기능을 사용할 수 있습니다.


그리고 어떻게 더 안전할까요? 여전히 평범한 텍스트 ...
EEAA

설정 방법에 따라 다릅니다. 일반적인 방법 (내가 본 것 중 유일한 방법)은 ssh를 사용하고 rsync를 로그인 쉘로 설정하거나 (루트 액세스의 경우) 명령 별 ssh certs입니다.
Eroen

1
Rsync는 서비스를 실행할 때 (답에서 권장하는대로) 암호화가 없습니다. 물론 rsync + ssh의 경우에는 해당되지 않습니다. 의미를보다 명확하게하기 위해 답을 편집 할 수 있습니다.
EEAA

변경 사항이 발생했습니다 (누군가가 위의 주석을 잘못 맞추는 경우).
Eroen

요청하지는 않았지만 FTP 및 FTP와 같은 프로토콜에 사용하기 쉬운 인터페이스가 많지만 개인적으로 rsync에 대한 인터페이스를 알지 못한다는 점도 언급 할 가치가 있습니다. 의도 된 사용자가 기술이 아닌 경우 문제가 될 수 있습니다.
John Gardeniers
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.