リバースプロキシによるTLS 1.0/1.1の無効化対応
ついに今月中にIE以外のほとんどの主要ブラウザでtls1.0、1.1のみしか設定されていないwebサイトが閲覧できなくなるようです。
IEも2020年上半期中には見れなくなるぽいですね。
なんでTLS1.0/1.1が無効化されるの?
以前から脆弱性が指摘されており、IETF(InternetEngineeringTaskForce)が1.0と1.1を非推奨とし、脆弱性が見つかってももう直さない宣言したことから、
各ブラウザがTLS1.0/TLS1.1の通信を無効化することになったようです。
TLS1.0/1.1の無効化による影響は?
閲覧できなくなります
怖いですね。その日はある日いきなり訪れるでしょう。
どうすればいいのか
TLS1.0/1.1の無効化及び1.2の有効化しましょう。方法は調べればいくらでもでてきます。
しかし実はとても恐ろしい罠があります。
TLS1.2を有効化するには、apache2.4系である必要があるのです。
サポートが終わっているredhat5とかだとupdateできないんですね。。ましてやapache2.2でしか動かないプログラムを使用している場合など。。
まあサポート切れてるのに稼働してるのがそもそもまずいのですが。
どうすればいいのか2
リバースプロキシさせてしまいましょう。
以下簡単な手順です。詳細なやり方は調べればでるので省きます。
1. リバースプロキシサーバの設置
適当なスペックのサポートが切れていないOSのサーバを立ち上げ、以下を行います。
1. apache2.4いれる
2. opensslもいれる
3. もとのサーバのSSL証明書を設定
4. 一旦apacheデフォルトページが表示されるか確認
2. IPのつけかえ
もとのサーバのIPをリバースプロキシサーバへ割り当てます。
そしてもとのサーバへは新しいIPを割り当てましょう。
3. リバースプロキシの設定
# 「conf.d」ディレクトリ配下の「**.conf」ファイルは自動でapacheが読みます。 vim /etc/httpd/conf.d/proxy.conf
ProxyPreserveHost On SSLProxyEngine On SSLProxyCheckPeerCN Off SSLProxyCheckPeerName Off ProxyPass / https://{2.でもとのサーバに割り当てたIP}/
4. 表示確認
IE以外のブラウザでドメインでアクセスし、元のサーバのSSL証明書が設定されている & 有効な証明書となっていることを確認しましょう。
これでDNSのレコードを変更することなく、TLS対応完了です。
不織布マスク 50枚入り1箱 業務用マスク 使い捨てマスク レギュラーサイズ 大人用 フェイスマスク
- メディア: ヘルスケア&ケア用品
javascript 正規表現 IEエラー
改行も含めて一定文字数以上あれば、文字列切って「...」をくっつける という3点リーダーの実装。
IEではフラグを使用する場合、リテラルの場合大丈夫なのに、RegExpコンストラクターだとエラーになる。。
OK
replace(/^(.{2}).+$/s,'$1...')
NG
replace(new RegExp(`^(.{${TEST}}).+$`, 's'),'$1...')
検証した結果、どうやら「s」「u」「y」のflagsが使えない模様。 変数をパターンに含めるのはリテラルでは実現できないので、フラグを使わずパターン自体を改行コードも含むように修正。
なんでかは結局わからず。。調査次第追記予定
知っている人いたら教えてほしいです。
不織布マスク 50枚入り1箱 業務用マスク 使い捨てマスク レギュラーサイズ 大人用 フェイスマスク
- メディア: ヘルスケア&ケア用品