セキュアFTPサーバの構築(vsftpd+SSL/TLS:SuSE編)
vsftpd も バージョン2.0.1 からSSL/TLS対応になったので、おやじが使用している
ProFTPD と同様に SSL/TLS 化してみました。サポートしているのは ProFTPD同様に
Explisitモードで、クライアントとしては
こちらで紹介している、「GetIt FTP」や「SmartFTP」が使用できます。
■vsftpd のインストール
今回は、SuSE9.0のspecファイルを参考にして、管理を簡単にするためrpmを作ってからインストールすることにしました。rpmの作成方法を記述するのは大変なので、これに関しては
ダウンロードにrpmの他にsrpmを置いておきますので、興味のある方はそちらを見てください。SuSE9.0と9.1用を置いておきます。
なお、このrpmはSSL対応になっていますが、設定しなければ通常のFTPサーバとして使用できます。
おやじの所から rpm をダウンロードして、インストールしてください。インストールは、任意の場所(ここでは、/usr/local/src)にRPMを置いて、インストールします。
# cd /usr/local/src
# rpm -Uvh vsftpd-2.0.2-1.i586.rpm
|
■vsftpd の設定
vsftpd の設定は、/etc/vsftpd.conf で行いますが、基本的な設定は、
こちらを参考に行ってください。ここでは、SSL/TLS化に関する設定のみ示します。
vsftpd の設定は、大きく以下の3つの設定オプションのカテゴリがありますので、目的に応じて設定する必要があります。
- ブール・オプション
機能に対して YES/NO でその機能をどう扱うかを設定するもので、機能毎にデフォルト値が決まっており、変更する場合のみ記述すればよい。慣れないだけかもしれないが、いろいろなことを考えて設定しようとすると、ProFTPD
のほうが設定しやすく感じるのはおやじだけでしょうか?
- 数値・オプション
タイマ等の数値で設定するオプションであり、これもデフォルト値が決まっている。
- ストリング・オプション
ファイルのパス等、ストリング形式で設定するオプションであり、これもデフォルト値があるものとないものがあるので、適宜設定する。
注:いずれの場合も オプション=設定値 の形態をとるが、 「=」を挟んでどちら側にも絶対にスペースを入れないこと。
◆SSL/TLS関係の設定
SSL/TLS関係の設定項目は、多くはありません。以下に設定が必要な項目を示します。
- SSL機能の有効化
ssl_enable=YES (デフォルト:NO)
vsftpd はデフォルトでは SSL 機能が動かないので、本設定で動作するようにする。
- SSLプロトコルの設定
ssl_tlsv1=YES (デフォルト:ssl_tlsv1)
vsftpd はSSLのプロトコルとして、SSL v2(ssl_sslv2)、SSL v3(ssl_sslv3)、TLS
v1(ssl_tlsv1)の3種類をサポートしているが、デフォルトはTLS v1であり、多くの場合、この設定で問題ないのでデフォルトのままとする。
- anonymous接続時のSSLの使用有無
allow_anon_ssl =NO (デフォルト:NO)
anonymous接続でSSLを使用する場合は、YESとする。不特定の相手を対象とするanonymous接続でSSL接続は考えられないので、NOのまま(デフォルト:NOなので未記述でよい)とする。
- ローカルユーザ接続時のSSLの使用有無
force_local_logins_ssl=NO (デフォルト:YES)
force_local_data_ssl=NO (デフォルト:YES)
ローカルユーザ接続時に、ログインとデータコネクションでSSL接続を強制的に行うオプション。デフォルトで両方ともYESになっているので、SSL以外での接続ができない。必要時にユーザが指定すればSSLが利用できるようにするには、両方ともNOに設定する。
- サーバ証明書の指定
rsa_cert_file=/usr/local/certs/vsftpd.pem (デフォルト: /usr/share/ssl/certs/vsftpd.pem)
RSAサーバ証明書のファイルの位置を指定する。サーバ証明書はこちらを参考にして作成するが、作成するのは参照先ではメール用として記述してある証明書と鍵を一体化したメール用証明書(mail.pem)である。
上記の指定は、/usr/local/certs配下にCourier-imap用に作成したmail.pemをそのまま利用し、名前だけロジカルリンクしたものである。名前は何でも良いのでmail.pemのままでも良い。
# cd /usr/local/certs
# ln -s mail.pem vsftpd.pem
|
■起動設定
下記によりxinetd 用起動設定ファイル(/etc/xinetd.d/vsftpd)を開き、disable
を no に変更し、システム起動時にxinetd 経由で起動される設定変更し、chkconfig
でその内容を確認した後、xinetd をrestart して起動します。
# vi /etc/xinetd.d/vsftpd
# default: off
# description:
# The vsftpd FTP server serves FTP connections. It uses
# normal, unencrypted usernames and passwords for authentication.
# vsftpd is designed to be secure.
service ftp
{
socket_type = stream
protocol
= tcp
wait
= no
user
= root
server
= /usr/sbin/vsftpd
# server_args =
# log_on_success += DURATION
USERID
# log_on_failure += USERID
# nice
= 10
disable
= no
}
[Esc][:][w][q]で保存。
# chkconfig --list vsftpd
xinetd based services:
vsftpd: on
# /etc/init.d/xinetd restart
|
Top Pageへ