こんにちは!
CNDの勉強をしていきます
今回は「コンテナ」についてまとめていきます。
コンテナについて
コンテナとは、サーバー上でアプリケーションやその必要なものをまとめた箱のようなものです。アプリケーションやその必要なものを持ち歩いたり、他のコンテナと交換したりすることができます。
コンテナを使うと、サーバー上でアプリケーションやその必要なものを管理する手間が省けます。例えば、アプリケーションがどんな環境でも動くようにすることや、アプリケーションを別々に作っておく必要がなくなります!
また、CaaS(Container as a Service)というワードもあり、コンテナ技術により仮想化されたシステム基盤をサービスとして提供するものです。ユーザーはコンテナの作成や操作に関する手間や負担をかけずに、クラウド上でコンテナの運用や管理を利用できます
下記に関連する技術を記載します!
コンテナエンジン
コンテナと呼ばれる仮想化技術を実現するためのソフトウェアです。アプリケーションの実行環境を仮想的に構築する技術で、アプリケーションが使うミドルウェアやライブラリなどを一つのパッケージにまとめています。
コンテナオーケストレーション
複数のコンテナを効率良く運用・開発するための技術のことで、ソフトウェアコンテナと動的環境のライフサイクルを管理する自動化プロセスを行います。
サービスとしては、「Docker Swarm」「OPENS-IFT」「Kubrtnetes」などがあります。
アーキテクチャ
システムコンテナ
オペレーティングシステムとして利用され、複数のサービスを実行するコンテナです。
サービスとしては、「LXC」「OpenVZ」等があります。
アプリケーションコンテナ
単一のアプリケーションを実行するために使用されるコンテナです。
サービスとしては、「Docker」「Rocket」等があります。
Docker
Dockerは、コンテナ形式でアプリケーションおよびすべての依存関係を開発、パッケージ化、実行するために使用されるオープンソーステクノロジで、アプリケーションがシームレスな環境で動作することを保証してます。
OSレベルの仮想化を通じて、PaaSを提供しコンテナ化されたソフトウェアパッケージを配布しています!
また、ネットワーク構築アーキテクチャは、CNMというインターフェースのセットで開発されています。
Kubernets
K8sは、googleによって開発されたオープンソースの移植や拡張が可能なオーケストレーションプラットフォームで、コンテナ化されたアプリケーションやマイクロサービスを管理します。
分散型コンテナを管理して、デプロイパターンを生成しアプリケーションのフェイルオーバーや冗長性を実行する復元機能を持ったフレームワークが含まれています
コンテナセキュリティの脅威
イメージの脅威
・イメージに脆弱性
・マルウェアを組み込まれる
・信用できないイメージの使用
レジストリの脅威
・安全性の高くない接続
・レジストリの古いイメージ
・不十分な認証認可
コンテナの脅威
・ランタイムソフトウェアの脆弱性
・安全性の高くない設定
・アプリの脆弱性
ホストOSの脅威
・大規模な攻撃可能箇所
・共有カーネル
・コンポーネントの脆弱性
・ファイルシステムの改ざん
オーケストレーションの脅威
・無制限の管理アクセス
・非認証アクセス
・適切に分離されていないネットワークトラフィック
・ワークロードの機密レベルの混合
Dockerに対する攻撃
エスケープ
コンテナへのアクセス権を持ったユーザによるホストサーバのrootアクセス権の取得
クロスコンテナ攻撃
コンテナへのアクセス権の取得及び、それを利用した同じホストやローカルネットワーク内の他のコンテナの攻撃
コンテナ間攻撃
単一コンテナへの非認証アクセスの取得
Dockerレジストリ攻撃
Dockerレジストリへのアクセス権の取得
Dockerセキュリティ機能
Cgroup
コンテナによるCPU、メモリ、スワップ、ブロックIO、ネットワークへのアクセスを制御と制限をします
LSM
AppArmorやSELinuxがDockerエンジンでサポートされる
ケーパビリティ
デフォルトでDockerはLinuxケーパビリティグループの37個の内14個だけを許可します
Seccomp
細かいシステムコールごとの制御
Userns
ホスト制限のないIDにrootを再マッピングするユーザのネームスペースのプロセス
まとめ
ここまでです!
現在のITでは、欠かすことのできない存在になっているコンテナについて学びました!
ここら辺は、Dockerとかを触ってみるのが一番の勉強になるのかなと感じます!初めてブラウザで起動した画面が表示されたときは少し感動すると思います♪
ここまで読んでいただきありがとうございました。