1. トップ
  2. 【FreeBSD】proftpdをTLS1.2のみ対応にして検証した話

仕事でやったことメモ。

今更TLS1.2の話出てくる?って感じだったけどまあパパッと

検証したい内容

とあるプログラム、PHPのftp_ssl_connectを使ってデータを送信していて、その送信先が「TLS1.2しか使えなくするぞオルァ」ってイキってきた。

なのでまあversion見れば対応しているのはわかったんだけど、念のため確認のためにFTPサーバ立てて、データ送信プログラムが動くかどうか検証したかった。

検証用のFTPサーバ(proftpd)立てた

$ pkg install proftpd
$ vi /usr/local/etc/proftpd.conf

# <== add
LoadModule mod_tls.c

TLSEngine                on
TLSLog                   /usr/local/etc/proftpd/tls.log
TLSProtocol              TLSv1.1 TLSv1.2
TLSRSACertificateFile    /usr/local/etc/proftpd/cert/ftps.crt
TLSRSACertificateKeyFile /usr/local/etc/proftpd/cert/ftps.key
# add END ==>

$ mkdir -p /usr/local/etc/proftpd/cert/
$ openssl req -x509 -newkey rsa:1024 -keyout /usr/local/etc/proftpd/cert/ftps.key -out /usr/local/etc/proftpd/cert/ftps.crt -nodes -days 365
$ service proftpd onestart

で完了。

簡単に検証

	$_host = '000.000.000.000';
	$_user = 'user_name';
	$_pass = 'password';

	$_conn = ftp_ssl_connect($_host);
	$_login = ftp_login($_conn,$_user,$_pass);
	$ret = ftp_pasv($_conn,true);
var_dump($_conn);
var_dump($_login);
var_dump($ret);

とりあえず簡単に検証できればよかったのでこれで。

あとは検証サーバ側でtls.logを監視しつつ問題なし。

検証に使えるサーバがあるって楽だなあ