FTPS環境構築に挑戦してみた

もともとSFTPを使えるようにしていたが、せっかくSSL証明書を入れたのでFTPSの構築に

挑戦してみた。SFTPとFTPSは似ているが、前者はSSHを使用したファイル転送機能、

後者は通常のFTPを暗号化(HTTPに対してHTTPSに相当)したものと、全然違います。

まあ、SFTPしか使わないと思うけど。

 

ググってやってみたけど、どうしてもうまくいかずにはまった点をメモしておきます。

SSLとvsftpdはインストール済みで、通常のFTPまではOKの環境を前提とします。

 

1.  # vi /etc/vsftpd/vsftpd.conf で、ファイルの最後に以下を足す。

ssl_enable=YES

rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem  ←ここが今回はまったところ

force_local_logins_ssl=YES

force_local_data_ssl=YES

allow_anon_ssl=NO

 

2.  /etc/pki/tls/certs/vsftpd.pem を作る

デフォルトではftps用の証明書がないので、作ります。

作るといっても、すでにSSL証明書が入っているはずなので、

「秘密鍵」と「証明書」をテキスト的に結合して1ファイルにするだけです。

私の場合は以下のようにしました。

# cd /etc/pki/tls/certs/

# (cat server.key ; cat startssl.crt) > vsftpd.pem

 

ミソは、「秘密鍵」→「証明書」の順で足し合わせること。

はじめは逆にやっていてどうしてもエラーが治まりませんでしたが、

逆にしたところうまくいきました。

というか、はじめはどのファイルとどのファイルを結合すればいいかも

わからなかったです。さらに順番もあるとは・・・。

 

どれが「秘密鍵」で、どれが「証明書」かは、/etc/httpd/conf.d/ssl.conf を見て確認します。

SSLCertificateKeyFile /etc/pki/tls/certs/server.key  ←秘密鍵

SSLCertificateFile /etc/pki/tls/certs/startssl.crt ←証明書

 

3. vsftpdを再起動する

# service vsftpd restart

 

 

これでFFFTPをつかって、FTPS接続できました。

iptablesではFTPポートと、PASVポートを開けただけで大丈夫でした。(FTPSポートは開けていない)

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)