※ 本稿は主にエンジニア向けの情報発信です
サーバのログを監視して、このような記録があった場合にサーバ管理者のあなたはどうするべきかを解説します。
15:03:49 [crit] 3143#3143: *204728 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 185.233.187.214, server: 0.0.0.0:443
サーバのログより抜粋
15:04:01 [crit] 3143#3143: *204730 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 81.22.47.11, server: 0.0.0.0:443
15:04:14 [crit] 3143#3143: *204735 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 194.58.68.64, server: 0.0.0.0:443
15:04:25 [crit] 3143#3143: *204736 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 37.44.253.166, server: 0.0.0.0:443
15:04:38 [crit] 3143#3143: *204739 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 185.61.219.210, server: 0.0.0.0:443
記録はクリティカルエラー(重大エラー)となっていますが、これはあなたのサーバの問題によるエラーでは無いということで、まずは安心してください。
それでは安心したところで深堀りして行きましょう。SSL (TLS) 関係のエラーであるという事は判別できると思います。そして共有キーに問題があったようです。実はこれ、サイバー攻撃されたのです。
古いSSLパッケージのままのサーバの脆弱性を突こうと試みた爪痕です。ここでエラーとなっている事は寧ろきちんと最新のセキュリティ状態になっているという証です。このサイバー攻撃は何百何千あったところで完全防御できるということです。なのでこのログがあった場合は安心して良いです。
それぞれ攻撃者のIPアドレスが別々になっていることも本サイバー攻撃の特徴です。攻撃サーバのIPアドレスは他のサーバ管理者への注意喚起も考慮し敢えてシェアします。それぞれ攻撃元のサーバがある国は、当社チームで調査した結果、英国、ポーランド、オランダ、ノルウェーでした。しかしこれらのサーバはハッカーが所有しているものではなくハッカーによってファイアーウオールを突破され、バックドアを仕掛けられ乗っ取られた傀儡サーバである可能性が高いことが想定されます。
インターネット黎明期であれば、乗っ取られたと思われるサーバ管理者に連絡してあげることが可能でしたが、現代では公開しているサーバ管理者のアドレスはほぼ読まれておらず、そもそもサイバー攻撃の数が大量なので、いちいち報告している余裕が無い状況となりました。なので、せめて自社の管理しているサーバへこのような管理の甘いサーバから接続されないよう、ファイアーウォールで傀儡サーバを遮断をしてリスクヘッジすることが大切です。IPアドレスをファイアーウォールで指定して排除しましょう。
そして、あなたのサーバセキュリティの再点検ですが、
SSLプロトコルの SSLv2、SSLv3、TLSv1 は必ず無効化してください (MUST)。そのSSLプロトコルバージョンは古過ぎてサイバー攻撃の耐久性がなく、それらのSSLを許可していることでファイアーウオールを突破され傀儡サーバとなる危険性があります。
次に日本国内サーバでは大手企業や大手銀行、政府行政機関でさえ TLSv1.1 がいまだ使われている事が多いので中々移行が難しいところですが、TLSv1.1 も出来る限り無効化してください (RECOMMENDED)。特に大手企業銀行政府行政は率先して無効化してください。
現時点(執筆時点 2021年)で安全性が担保されているのは TLSv1.2 以降であることに注意してください。
米国の主要組織ではまずきちんと実施されていますが、日本国内ではセキュリティ対策が遅れ気味なようなので本当に心配しているところです。サーバ管理責任者の皆さん頑張りましょう!
それではまた次回をお楽しみに!
FormOK 技術チーム
FormOK技術チームはネットワークセキュリティ専門家が在籍、HP-UX、SunOS、IBM AIXなどUNIX OS から 各Linuxディストリビューションまで網羅した知見を有しています。我々はより良いネットワーク社会を目指し、今後も世の中のネットワークセキュリティの向上への啓蒙活動の一環として情報発信をします ※ 技術部ブログの投稿内容は私個人の見解に基づくものであり所属企業・部門見解を代表するものではありません