Plug-and-Get-Security I、ドメイングローブのTLSセキュリティ

画像



安全なTLS構成は常に頭痛の種でした。 小規模リソースの所有者、およびインフラストラクチャの規模が数百または数千のドメインに達する可能性のある企業の両方。 TLS \ SSLの問題は常に表示されます-プロトコル自体、暗号アルゴリズム、またはそれらの実装の脆弱性。 よく知られているPoodleとHeartBleedから、 AES-NIの非常にエキゾチックで新鮮な(CVE-2016-2107)問題まで







そして、TLSの問題は何ですか?

ユーザーアカウントの盗難、管理者、悪意のあるコンテンツの導入、トラフィックへの広告、またはHeartBleedの場合のように、サーバーのメモリへの直接アクセスさえ。







全体像を見てみましょう。

2016年7月現在、Alexa Top 200kドメインの設定を分析するSSL Pulseプロジェクトによると:









つまり、私たち全員に問題があるということです!







画像






誰のせいですか?



これは、主にTLS \ SSLがかなり複雑なものであり、安全に準備する方法を理解することは決して単純ではないという事実によるものと思われます。 幸いなことに、このタスクを非常に容易にするいくつかのサービスを自由に利用できます。







» Qualis SSL Labs

» Comodo SSLアナライザー

» Mozilla SSL構成ジェネレーター







そして、TLS設定をチェックするタスクを自分で設定するときに、正確に知りたいことは何ですか:









その他の重要なこと-PFS、セキュアな再ネゴシエーション、HSTS、キーピニング、セッション再開などの存在。これらの用語は、5つの個別の記事に十分なので、荒らしません。







Qualys SSL Labsの例でどのように見えるかを見てみましょう。サービスは優れており、必要なほぼすべての情報を提供します。







構成の曲率と脆弱性の数に応じた、AからTまでの一般的な評価
画像






Webサーバーによるプロトコルおよび暗号化アルゴリズムのサポートの構成
画像






脆弱性情報やさまざまなTLS \ SSLメカニズムのサポートなどの構成の詳細
画像






どうする



かつて、 Craitと私は SSL / TLSの監視について考えました。 パブリックSSL検証サービスが既に存在しているという事実にもかかわらず、インフラストラクチャのサイズが非常に大きいため、この恩恵を受けることはできませんでした。 そして、これらは異なる都市の複数のDCに分散され、構成を展開する異なるシステム、接続されていないサーバーによって管理されているため、手動分析やパーソナライズされたアプローチは不可能でした。







観測されたすべてのドメインに関する情報を1か所で簡単に収集できるツールが必要でした。 構成の問題と脆弱性を強調表示し、関心のある基準に従ってサーバーを分類し、便利なインフォグラフィックを作成して、情報の関連性を確認します。 おそらく、Elastic + Kibanaについて話していることを既に推測しているでしょう。 始めましょう。







ソリューション作成



まず、ドメインに関する情報を収集できる機能が必要です。 Qualys SSL Labsには、APIとコンソールクライアントがあります。 残念ながら、動作は遅く、私たちにとってサーバーのクロール時間は重要でした+クライアントには、APIに送信されるリクエストが多すぎる場合に無限のスリープ状態になるなどのバグがあります。







あなたと私はファッション男ですか? ファッショナブルなので、cliのラッパーだけでなく、マイクロサービスも使用します! むしろ、いくつか。 これがなぜそうなのかはさらに明らかになるでしょう。 Michael Aksenov Craitの執筆とパッケージングに感謝します。







CLIを使用してssllabsへのマルチスレッドリクエストを実装するスクリプトが作成され、JSONでデータを収集し、Elasticに送信し、ログを書き込み、リクエストの結果に従って既存のapi問題をバイパスできます。 コードはgithubで入手できます。プロジェクトへの貢献に感謝します!







他に何が必要ですか? Elastic、Kibanaを上げて友達を作ることは、すべてお互いです。 もちろん、すべてを手作業で行うのではなく、Dockerを使用します。 コンテナをリンクし、Composeを使用して起動します。

次の相互作用スキームを取得します。







+--------------+ |tls-monitoring| ------> Internet +--------------+ | | Post data to Elastic REST api at port 9200 | +--------------+ |Elasticsearch | +--------------+ | | Get data from Elastic REST api at port 9200 | +---------------+ | Kibana | -----> UI localhost:5601 +---------------+
      
      





以前は、(たとえば)DNSサーバーからゾーンをアンロードすることを使用して、(または外部の)ドメインに関する情報のコレクションを整理できました。

Docker-Composeはpipからインストールする方が適切です。これは、リポジトリで使用可能な一部のディストリビューションのバージョンが非常に新しいため、ComposeのPythonへの依存関係を満たすことができないためです。







  pip3 install docker-compose wget https://raw.githubusercontent.com/dordyan/tls-monitoring/master/docker-compose.yml #       ./all_domains docker-compose up
      
      





どうした



数分で、最初のスキャンの結果を受け取ります。 現時点で実装されているダッシュボードは、監視プロセスを構築し、それに基づいてインフラストラクチャの状態を監視するのに十分な情報を提供します。







画像

評価でダッシュボードを並べ替えて、最初に注意する必要があるサーバーを確認できます。







画像



また、POODLE、Heartbleedに対する脆弱性、またはスクリプトが提供するその他のデータなどにより、視覚化を追加します。 データベースに他に何があるかを確認するには、[検出]タブを開いてJSONを展開します。 何かが足りない場合は、スキャンスクリプトに必要なチェックを追加するだけです。







これで、問題領域を特定した後、Mozillaから安全な設定を生成するためにサービスを使用できます。







藤堂



将来のリリースでは、以下を追加する予定です。









あなたがプロジェクトに興味があるなら -書いてください、私たちはあなたのコミットメントと改善のための提案を喜んでいます。







ウェブはあなたにとって安全であり、覚えておいてください、外部から脆弱性を見るのは彼だけです!








All Articles