まだTLSv1.3(OpenSSL 1.1.1-pre8)はお勧めできない。(2018/08/18現在)


自宅サーバーをOpenSSL1.1.1にしてTLSv1.3でWEBサーバーを設定してニヤニヤしてしました。

でもね。OpenSSL1.1.1にしたことで色々めんどくさいことになったのであんまりお勧めしないです。もっとこの辺りの知識があれば良いのだけれど、私の力では今の所うまくやりきることができてないです。というか誰か助けてください。

こういうめちゃくちゃコアなものはOS標準から更新しないほうが良いですね。

追記

Ubuntu18の標準バージョンは1.1.0gなのでソースから引っ張ってきてmake,make installすると1.1.1はなかったことになりました。今から様子見

sudo su
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz
tar xzvf openssl-1.1.0g.tar.gz
cd openssl-1.1.0g
./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
make
sudo make install

環境

Unbunt 18

OpenSSL1.1.1のインストールについて

これは簡単です。makeしてmake installして再起動するだけ

sudo su
cd /usr/loca/src
wget https://www.openssl.org/source/openssl-1.1.1-pre8.tar.gz
tar zxf openssl-1.1.1-pre8.tar.gz
cd openssl-1.1.1-pre8
./config
make -j 4
make insatall
# 再起動
init 6

WEBサーバーを設定して起動した感じ

H2Oはもう一度makeしてinstallしないといかんです。
取り込むOpenSSLを新しくしないといけないからね。
Apacheとかも同じだと思う

下記みたいな感じになって最先端!って 一瞬嬉しくはなるんだけど、その後が辛い。

なにが起こったか

これからも色々起こると思います。辛い。
まぁ、多分色々再インストールすれば良いのだろうけど。
つらい。

1. phpからfile_get_contentsとかしているところがこける。

httpsに接続しようとしてこける。辛い。
下記みたいなコードを入れないといけなくなります。

$POST_OPTIONS['ssl']['verify_peer']=false;
$POST_OPTIONS['ssl']['verify_peer_name']=false;

phpについてはなんとかなった

https://curl.haxx.se/docs/caextract.html
からpem落としてきてphp.iniに設定したらなんとかなった。

sudo su
cd /etc/ssl
wget --no-check-certificate https://curl.haxx.se/ca/cacert.pem

(wgetにも設定しないといけないのは辛い)

fpmのphp.iniとかcliのphp.iniとか

openssl.cafile=/etc/ssl/cacert.pem

して、

sudo /etc/init.d/php7.2-fpm restart

2. vue initができぬ。

vue init webpack my-projectができなくなります。これはとても辛い
下記みたいになる。

npm_config_strict_ssl=false vue init webpack my-project

nodeとかvueとかインストールしなおしても状況変わらないのでしんどいです。

感想

もうちょっとOpenSSLについて突っ込みたいですが、ソフトウェアに軸足を置くおじさんの領分からは外れそうな感じ、あるのでやめます。
「ディストリが提供してくれてるの、使おう。」
間違ってもプロダクションではまだやるべきではないですね。
脆弱性のパッチとかならいざ知らず、バージョンアップですもの。

というか誰か助けてください。