権限を正しく設定する
IT専門家が語るコンテナセキュリティのヒントと注意点
コンテナのセキュリティを確保するためには、コンテナ、ホスト、Kubernetes、アプリケーションの各構成を詳しく調べる必要がある。
優秀なIT部門がコンテナオーケストレーションを導入した。そこで問題になるのが、複数のソフトウェアが混在する大規模インフラの中で完全なセキュリティをどのように確保するかということだ。
まず着手しなければならないのは、セキュリティに抜け道ができる可能性をなくすために、「Docker」と「Kubernetes」両方のデフォルト設定を変更することだ。例えば配布されているコンテナイメージのデフォルトコンポーネントとして、「docker.sock」という名前が付いたソケットを考える。このソケットが、用途を管理するためのセキュリティツールなしでマウントされたとする。このソケットに脆弱(ぜいじゃく)性があると、攻撃者はこれを使用してホストOSにアクセスし、その後バックエンドデータベースにアクセスしてデータを持ち出してしまう恐れがある。同様に、KubernetesのAPIのデフォルト設定では、コンテナから悪意のあるポッドを通じてホストOSにアクセスされる恐れがある。
2018年9月前半に米ボストンで開催されたセキュリティカンファレンス「DevSecCon」のプレゼンテーションで、ジェイソン・パターソン氏は次のように語った。同氏は、オンラインバンキングと小売業者向けに金融取引システムを製作する企業NCRで、アプリケーションセキュリティアーキテクトを務める。「コンテナには他の仮想マシン(VM)と同じ問題もある。コンテナは、社内ネットワーク経由で相互に通信する。つまり、1つの構成ミスが環境内のほぼ全てのコンテナを危険にさらす恐れがある」
重要なのはコンテナのセキュリティ構成設定
NCRは、Red Hatのコンテナ管理ツール「Red Hat OpenShift」を利用している。OpenShiftはKubernetesのAPIの設定に標準で制約を設けている。「だが認証情報を定義するためのセキュリティコンテキストについては、ユーザー自身が制約を設定しなければならない」とパターソン氏は言う。
一般に、ユーザーのアクセス許可と各コンテナの機能には可能な限り厳しい制約を設け、実行を承認された呼び出しと操作のみをホワイトリストに入れるようにコンテナイメージを構成するのが最適だ。しかし「それでもまだ最高の方法とはいえない」と同氏は付け加える。
「コンテナ外部、あるいはコンテナを実行しているホストOSで、コンテナの管理権限を持つユーザー(ルートユーザー)が実行可能なことを制限する、という選択肢もある」――DevSecConの別のプレゼンテーションでこう話したのは、PaaS(Platform as a Service)製品を展開し、2011年にSalesforceに買収されたHerokuでシニアセキュリティエンジニアを務めるエティエンヌ・スタルマンズ氏だ。そのためには、コンテナの管理者がLinuxカーネル内でアプリケーションをサンドボックス化するメカニズム「seccomp」の設定を調整して、アプリケーションのアクセス許可や権限を設定する必要がある。
「依然としてルートユーザーには権限があるが、コンテナ外での権限はなくなる。つまり、コンテナを利用するユーザーの全権限を削除してから、必要な権限だけを付け直すのが最適だ」(スタルマンズ氏)
特に重要なアプリケーションに対しては、ハイパーバイザーによる分離が必要だ。分離すれば、攻撃者がホストOSにアクセスする危険性はなくなる。Intel、Google、Microsoftなどのベンダーは、コンテナ分離用に調整を施したハイパーバイザーを提供している。
従業員管理とベンダー管理ソフトウェアを販売するBeelineは、「Smith」というOracle製のコンテナ構築ツールを使用して不必要なOS機能を取り除いている。Beelineでエンタープライズアーキテクトを務めるジェイソン・ルーニー氏は「このツールによって当社のDockerイメージのサイズは65MBから800KB~2MB程度にまで減らすことができた」と話す。
ホストOSよりもコンテナのセキュリティに注意
コンテナセキュリティに関する著名な手法の大半は、攻撃者が侵害したコンテナインスタンスから、ホストOSやその他のバックエンドシステムにアクセスしないよう抑制するというものだ。一方でAPIへの不正アクセスを防ぐことも重要だ。クラウドサービス「Amazon Web Services」(AWS)ベースのシステムへの攻撃で、ホストOSではなく、脆弱性のあるAPIを標的としていたものが注目を集めていたためだ。DevSecConのプレゼンテーションでこう語ったのは、ITセキュリティソフトウェアベンダーThreat Stackで、最高セキュリティ責任者(CSO)を務めるサム・ビスビー氏だ。
ビスビー氏によると、攻撃者は必ずしも大量のデータを探しているわけではないという。「セキュリティポリシーは、重要なデータだけではなく、インフラ全体をカバーしなければならない」と同氏は言う。
Kubernetesのバージョン1.8では、従来の属性ベースのアクセス制御から、ロールベースのアクセス制御(RBAC)に切り替えることで、APIのセキュリティを強化している。Kubernetesの導入企業、あるいはベンダーの大半が、RBACのKubernetesのAPIへのアクセスをデフォルトで実装するようになってきている。一方でユーザーは、信頼できないポッドがKubernetesのAPIと通信するのを防ぐために、構成設定を細かく調整する必要がある。
「(Kubernetesコミュニティーでは)RBACをデフォルト設定にしようという議論がある。『Calico』『Istio』『Weave』などのコンテナネットワーキングユーティリティーを通じて設定することも可能だ。しかしこれは新しい標準設定が決まるまで、ファイアウォールによる防御という原始的な手法が必要なことを意味する」(ビスビー氏)
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
事例
[サイボウズ株式会社] DXに必要な「Dスキル」「Xスキル」を持った人材を育成するには? -
市場調査・トレンド
[サイボウズ株式会社] データで見る、DXが「順調に進む企業」と「つまずく企業」の違い -
製品資料
[サイボウズ株式会社] 賛否が割れがちな「Notesからの移行」 新環境への移行を納得してもらうには? -
事例
[ServiceNow Japan合同会社] 農林中金に学ぶ内製開発 処理効率を約2倍に高めAI活用も加速させた方法とは? -
事例
[ServiceNow Japan合同会社] NTTグループのデジタル変革術、17万人が利用する決裁プロセス刷新の全貌
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
AI全部入り「Microsoft 365 E7」に企業が二の足を踏む訳 移行意向はわずか4%
-
2
【基本情報技術者試験】「デュプレックスシステム」と「デュアルシステム」の違いは?
-
3
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
4
なぜOpenAIやAnthropicのAIは「脱走」したのか 情シスが迫られるエージェント統制
-
5
GitHubが指摘 AIが書いた「おそらく動くコード」が招くシステム崩壊
-
6
「高すぎるGPU」を捨てAI推論をCPUへ Armが示す電力とコストの現実解
-
7
Anthropicが明かす AIは入力データを「どこまで覚えているのか」
-
8
【漫画付き】"RAG導入失敗3例"と処方箋 「入れても使われない」を終わらせる
-
9
「にゃんこ大戦争」がAWSを脱出した理由 無停止移行に潜む“わな”
-
10
なぜ10億円払って“高額な塩漬け”を作るのか? SAPクラウド移行の闇
ホワイトペーパーランキング PR
-
1
生成AIのハルシネーションを防止 回答精度を高めるセマンティックレイヤーとは
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
4
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
-
9
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
10
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー