FTPは、すべてのパスワードとすべてのデータがクリアテキストで転送されるため、非常に安全でないプロトコルです。 TLSを使用することにより、通信全体を暗号化できるため、FTPの安全性が大幅に向上します。この記事では、DebianSqueezeサーバーでTLSを使用してProFTPdを設定する方法について説明します。
これがあなたのために働くという保証はありません!
1予備メモ
このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100を使用します。これらの設定はユーザーによって異なる場合があるため、必要に応じて置き換える必要があります。
2ProFTPdとOpenSSLのインストール
TLSにはOpenSSLが必要です。 ProFTPdとOpenSSLをインストールするには、次のコマンドを実行するだけです。
apt-get install proftpd openssl
質問があります:
proftpdを実行します:<-スタンドアロン
セキュリティ上の理由から、次の行を/etc/proftpd/proftpd.confに追加できます(Reinaldo Carvalhoに感謝します。詳細については、http://proftpd.org/localsite/Userguide/linked/userguide.htmlを参照してください)。
vi /etc/proftpd/proftpd.conf
[...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...] |
3TLS用のSSL証明書の作成
TLSを使用するには、SSL証明書を作成する必要があります。 / etc / proftpd / sslに作成するので、最初にそのディレクトリを作成します:
mkdir /etc/proftpd/ssl
その後、次のようにSSL証明書を生成できます。
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
国名(2文字のコード)[AU]:<-国名を入力します(例:「DE」)。
州名または州名(フルネーム)[一部の州]:<-州を入力しますまたは州名。
地域名(例:市)[]:<-市区町村を入力してください。
組織名(例:会社)[Internet Widgits Pty Ltd]:<-組織名を入力してください(例:会社名)
組織単位名(例:セクション)[]:<-組織単位名(例:「IT部門」)を入力します。
一般名(例:あなたの名前)[]:<-システムの完全修飾ドメイン名を入力します(例: "server1.example.com")。
メールアドレス[]:<-メールアドレスを入力します。
4ProFTPdでTLSを有効にする
ProFTPdでTLSを有効にするには、/ etc / proftpd / proftpd.conf ...
を開きます。vi /etc/proftpd/proftpd.conf
...そしてインクルード/etc/proftpd/tls.conf行のコメントを外します:
[...] # # This is used for FTPS connections # Include /etc/proftpd/tls.conf [...]> |
次に、/ etc / proftpd / tls.confを開き、次のように表示します。
cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig
cat /dev/null > /etc/proftpd/tls.conf
vi /etc/proftpd/tls.conf
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSOptions NoCertRequest TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem TLSVerifyClient off TLSRequired on </IfModule> |
TLSRequiredをオンに使用すると、TLS接続のみが許可されます(これにより、TLSをサポートしていない古いFTPクライアントを持つすべてのユーザーがロックアウトされます)。その行をコメントアウトするか、TLSRequiredをオフに使用することにより、FTPクライアントがサポートするものに応じて、TLS接続と非TLS接続の両方が許可されます。
その後、ProFTPdを再起動します:
/etc/init.d/proftpd restart
それでおしまい。これで、FTPクライアントを使用して接続を試みることができます。ただし、TLSを使用するようにFTPクライアントを構成する必要があります(TLSRequiredを使用する場合は必須です)。FileZillaでこれを行う方法については、次の章を参照してください。
TLSに問題がある場合は、TLSログファイル/var/log/proftpd/tls.logを確認できます。
5TLS用のFileZillaの構成
FTPをTLSで使用するには、FileZillaなどのTLSをサポートするFTPクライアントが必要です。
FileZillaで、サーバーマネージャーを開きます。
TLSでProFTPdを使用するサーバーを選択します。 [サーバーの種類]ドロップダウンメニューで、通常のFTPではなくFTPESを選択します。
これで、サーバーに接続できます。これを初めて行う場合は、サーバーの新しいSSL証明書を受け入れる必要があります。
すべてがうまくいけば、サーバーにログインする必要があります:
6つのリンク
- ProFTPd:http://www.proftpd.org/
- FileZilla:http://filezilla-project.org/
- Debian:http://www.debian.org/