5

これが私の「問題」です。vsftpdのおかげでFTPサーバーをセットアップして、ログインとデータ転送の両方を暗号化する必要があります。

これが私のvsftpd.confファイルの興味深い部分です。

ssl_enable=YES
allow_anon_ssl=NO
require_ssl_reuse=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES

rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
ssl_ciphers=HIGH

FTPクライアントとしてFilezillaを使用していますが、接続は次のように構成されています。

Protocol : FTP - File Transfer Protocol
Encryption : Require explicit FTP over TLS
Logon type: Normal

注意すべき点:

  • 暗号化:プレーンFTP:機能しません。私はそれに満足しています。(応答:530非匿名セッションは暗号化を使用する必要があります。)

  • 暗号化:TLSを介した暗黙のFTPが必要:どちらも機能せず、サーバーによって接続が拒否されます。SSL接続を強制したからだと思います。

これで、(明示的な)接続が確立されると、Filezillaはウィンドウの下部に接続が暗号化されていることを示す小さなロックアイコンを表示します。詳細についてはアイコンをクリックしてください

データ転送が実際に暗号化されており、プレーンではないことを確認したかったので、すべてを自分のethでキャプチャしました。サーバーからコンピューターにファイルをダウンロードしているときにWiresharkを使用してカードを作成します。

SSLプロトコルの単一のパケットが見つからないことを除いて、すべてがTCPです。

filezillaがそう言っていても、転送されたデータが暗号化されていることを確認する方法については考えがありません。「vsftpdデータ転送が暗号化されていることを確認する方法」をグーグルで検索するたびに、「ssl_enable=YES」しか答えられません。または「SSLを使用するチェックボックスをオンにする」..。

よろしくお願いします!

4

1 に答える 1

6

もう少し調査した後、特にhttp://wiki.wireshark.org/SSLで完全なウォークスルーを実行した後、全体をよりよく理解できました。

以下が正しい限り、これがいつか誰かを助けることを願って、私は自分の質問に答えています...

また、これを書き留めておくことは、自分の問題を明確に理解しているかどうかを確認する良い方法だと思います。この答えを書くのが難しいと、私が間違っていることがわかります。

初め :

通常、SSL はトランスポート プロトコルとして TCP を使用します。

SSL は TCP でラップされているため、パケットのキャプチャ中に SSL プロトコルを明示的に観察できませんでした。

TCP パケットを分析するとき、「TCP ストリームを追跡する 」ことしかできず、 「SSL ストリームを追跡する」ことはできませんでした。これにより、パケットが暗号化されたデータを保持していないと誤解されました。観察可能なデータは人間が読み取れるものではなかったので、それは面白いです...とても暗号化されています。

それを復号化できるようにするには、wireshark に暗号化キーを提供する必要がありました。

RSA キー リスト

このオプションは、IP アドレス、ポート、プロトコル、および復号化キーの間のバインディングを指定します。

その後、暗号化されたデータと暗号化されていないデータの両方を観察できました。

また、 http://wiki.filezilla-project.org/でこれを読んだ後:

FTP サーバーに暗号化を適用すると、CPU は送信されるデータを暗号化し、受信するデータを復号化するために多くの計算を行う必要があります。

ファイルのダウンロード中に UNIX のtopコマンドを実行することにしました。暗号化されていないデータ転送とは対照的に、filezilla クライアント プロセスの高い CPU 使用率を観察できました。これは、転送されたデータが実際に暗号化されていたため、復号化する必要があることを確認した 2 番目の引数でした。

于 2012-06-01T19:34:41.787 に答える