Hbaseの組み込みのzookeeperコンテナイメージのアップグレードにより、脆弱性が修正されます

脆弱性分析の手順

脆弱性の名前と説明:
名前: Apache ZooKeeperセキュリティ制限バイパスの脆弱性(CVE-2018-8012)
説明:
Apache Zookeeperは、大規模分散コンピューティング向けのオープンソース分散構成サービス、同期サービス、および名前付き登録機能を提供できます。x000D
x000D
Apache ZooKeeperバージョン3.4.10、3.5.0 -alphaから3.5.3-betaより前では、認証/承認検出の実装にセキュリティの抜け穴があり、任意のエンドポイントがクラスターに参加してコンテンツを変更できるようにします。
解決策:
https //lists.apache.org/thread.html/c75147028c1c79bdebd4f8fa5db2b77da85de2b05ecc0d54d708b393@%3Cdev.zookeeper.apache.org%3E

名前: Apache Zookeeperバッファオーバーフローの脆弱性(CVE-2016-5017)
脆弱性説明:
Apache Zookeeperは、Apache Software Foundationのソフトウェアプロジェクトであり、大規模分散コンピューティング、同期サービス、命名登録、および命名登録のためのオープンソース分散構成サービスを提供できます。その他の機能。
3.4.9より前のバージョンのApacheZookeeperおよび3.5.3より前の3.5.xバージョンのCcliシェルには、バッファオーバーフローの脆弱性があります。'cmd:'バッチ処理を使用する場合、攻撃者はより長いコマンド文字列を使用してこの脆弱性を悪用し、サービス拒否を引き起こす可能性があります。
解決策:
https //zookeeper.apache.org/security.html#CVE-2016-5017

脆弱性ソリューションの分析:
上記の2つの記事を読むことで、現在のzookeeperバージョンを3.4.10または3.5.4-beta以上にアップグレードして、上記の2つの脆弱性を修正することを検討できます。
ここに画像の説明を挿入ここに画像の説明を挿入

画像の構築履歴とZookeeperバージョンを表示する

コンテナーイメージは他の担当者によって作成されたため、参照ドキュメントは残されず、hbaseに組み込まれているzookeeperコンテナーイメージの脆弱性がスキャンされました。関係情報は、次のようにdocker history--no-truncから照会できます。

:最初のミラーリング建設の歴史チェック
ドッカ履歴--no-TRUNC $ IP / alaudaorg / HBaseのを:a3630ce3101408c34c306103203044b4fc7ffd85は
ここに画像の説明を挿入
:組み込みの飼育係とのHBaseのアドレスを見つけ
https://mirrors.tuna.tsinghua.edu.cn/apache/ hbase

zookeeperとhbaseのバージョンを表示します。
ここに画像の説明を挿入

ここに画像の説明を挿入

清華大学のオープンソースWebサイトにアクセス
ここに画像の説明を挿入
します。現在のhbaseバージョン1.2.6によると、上の図の提案と組み合わせて、hbaseの1.4.13バージョンのダウンロードを検討して
くださいwget https://mirrors.tuna.tsinghua.edu .cn / apache / hbase / 1.4 .13 / hbase-1.4.13-bin.tar.gz
解凍してhbase-1.4.13 / lib /と入力し、zookeeperに関連するjarパッケージのバージョンを確認します。zookeeperが
ここに画像の説明を挿入
見つかりました。上記の脆弱性のないバージョンである必要があります。以下を検討してください。ダウンロードしたhbaseに基づいて新しいイメージを作成し、同時に本番環境とテスト環境に変更します(本番環境とテスト環境で同じイメージが使用されます。イメージIDが同じであるため):
本番環境:
ここに画像の説明を挿入
テスト環境:
ここに画像の説明を挿入

dockercommitを使用して新しいイメージを作成します

ホストを見つけ、現在実行中のイメージをローカルにプルして、コンテナーを開始し
ます。dockerrun -d -P $ IP / alaudaorg / hbase:a3630ce3101408c34c306103203044b4fc7ffd85

docker exec -it 882e30ae13a3 bashで、コンテナーに入り、次の操作を実行します。
さらに、構成ファイルを個別にバックアップします
。tar-czvf hbase-conf.tar.gz conf /

元のhbaseバージョン全体をバックアップし
ここに画像の説明を挿入
ます。ダウンロードした新しいバージョンのhbaseをコンテナーにコピーし、解凍し
ます。dockercp hbase-1.4.13-bin.tar.gz 882e30ae13a3:/ root
tar -xzvf hbase-1.4.13-bin .tar .gz

hbaseの元のバージョンを削除し、新しいバージョンを/ optにコピーして名前を変更してから、現在のコンテナー内の無関係なプロセスを強制終了し、現在のコンテナーを終了します。プロセスは次のとおりです。
ここに画像の説明を挿入
構成ファイルの復元を忘れる、構成ファイルを復元する以下では、新しいバージョンのファイルのデフォルト構成を削除し、長いバージョンの構成ファイルを
cp -a hbase-conf.tar.gz / opt / hbase /
tar -xzvfhbase-conf.tar.gzの下の/ opt / hbase /に抽出します。
rm-rfhbase-conf.tar。gz

現在のコンテナを新しいイメージとして送信します:
docker commit 882e30ae13a3 $ IP / alaudaorg / hbase:gzxc20200917-01

docker history --no-truncコマンドを再度使用して、新しいイメージにCMD / ENTRYPOINTなどのミラーレイヤーが含まれているかどうかを確認します。ミラーレイヤーがある場合は、コンテナーが起動できない可能性があります。を使用する必要があります。イメージをビルドするためのDockerfile。この状況は、この送信には存在しません。
ここに画像の説明を挿入

イメージを本番環境とテスト環境に変更します

最初にイメージをミラーウェアハウスに
プッシュします:docker push $ IP / alaudaorg / hbase:gzxc20200917-01

yamlのミラーアドレスを変更します:
cd
/root/private_1.13-PKG-20181024/yaml/onebox cp common.yaml common.yaml-hbase-zk.200917bak
vim common.yamlここに画像の説明を挿入

用docker-compose更新:
docker-compose -f common.yaml up -dここに画像の説明を挿入

検証

更新前のコンテナ内のプロセス:更新後、
ここに画像の説明を挿入
コンテナが起動し、内部のプロセスは次のとおりです。
ここに画像の説明を挿入ここに画像の説明を挿入
ポートは次のとおりです:
ここに画像の説明を挿入
OK!通常、zookeeperバージョンがアップグレードされ、期待に達しました。再スキャンの結果を待ちます、抜け穴があるかどうか!

参照:
https //www.orchome.com/484
https://blog.csdn.net/u013673976/article/details/47279707

おすすめ

転載: blog.csdn.net/yangyi_CSDN/article/details/108651513