web-dev-qa-db-ja.com

FTPの安全な代替手段は何ですか?

このハッカーニュースストーリー は、FTPの欠点についてのすべてです。 FTPをセットアップする唯一の理由は、それが簡単であることです。

私はすでにscpについて知っていて使用していますが、サーバーへのsshアクセスを許可せずに誰かとファイルを共有したい場合があります。ファイルをアップロードおよびダウンロードできるようにしたいが、他には何もできないようにしたい。また、ファイルを1つのディレクトリに制限したい。また、接続をsshのように暗号化したい。

これらの基準を満たすFTPの代替案は何ですか?

22
Nathan Long

Proftpdには組み込みのsftpサーバーがあり、ファイル転送の目的でユーザーをsshdから完全に分離できます。完全に別のpasswdファイルを使用してさらに分離するように設定できます(実際に/ etc/passwdにユーザーがいない場合、sshでシステムにログインしてchrootを突破するのは困難です。 。)

また、proftpdを使用すると、chrootを実行して、sftpユーザーを一連のディレクトリに簡単に分離できます。

私たちはこのようなことをします:

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>
7
Travis Campbell

WebDav をhttps対応サーバーで使用します!その後、認証は標準のhttp認可スキームに基づいています。 Apacheでwebdavを設定するためのガイドは こちら にあり、そのリソースをhttpsの後ろに置くだけで十分です。すること それ

3
joecks

要件として「無料」を指定しなかったので、私はgrouplogicによるMass Transitパッケージを破棄します。それはおそらくほとんどの人にとって少々やり過ぎであり、価格帯の範囲外ですが、この機能スイートは驚くほど素晴らしいものです。 2台目のMass Transitサーバーを入手して、自動化を点灯させれば、いくつかのファイルを非常に高速に移動できます。

1
SpacemanSpiff

TLS暗号化を有効にして、pure-ftpdを使用できます。設定は非常に簡単です。設定ファイルで暗号化のコメント解除TLSオプションを有効にするには(1行のみ:))、ftpsを介して接続するようにクライアントを設定します。 (すべてのftpクライアントがftpsをサポートしているわけではないことを覚えておく必要があります)。

0
B14D3

sftpと同様のモードでsshを使用するftpを設定できます。

マシンにユーザーを1人以上作成でき(1人以上、各ユーザーがお互いのファイルにアクセスできるかどうかによって異なります)、Shell/bin/falseとchroot各ユーザーにディレクトリを指定しますこれらのファイルが配置される場所。

0
Luis