
- ライター:渥美 淳一
- セキュリティアーキテクトとして活動。変革し続けるニーズからセキュリティのあるべき姿を見極める。「セキュリティには統合された認証基盤が欠かせない」と考えている。
目次
コンテナ。
どうしてそんなにコンテナなの?
何がそんなに良いの?
そう思っていた昨日までの私に、そっと腕ひしぎ逆十字固めをしてあげたい。
そう思いました。
これまでの仮想マシンも十分優れモノですが、それよりさらに、速い!安い!巧い!
(※安いに関しては諸説あります)
オンプレでもクラウドでも有効活用できる!
開発環境で作ったモノを本番環境に移行(デプロイ)しやすい!
管理も比較的ラク!
なるほど確かに三ツ星を狙える技術ですね。
グッバイ昨日までの私。
ただ、思いました。
「セキュリティは大丈夫?」と。
日本でも大いなる成長が期待されるコンテナ技術。
そこを狙う脅威があったら不安ですよね。
渥美 動きます。
コンテナを狙う脅威なんてあるの?
あります。
例えば、コンテナが「デフォルト設定のまま動いていて、通信ポートがバッチ来い状態」というケースです。
セキュリティあるあるですね。
他にも「脆弱性が狙われちゃう」「設定ミスを突かれちゃう」「マルウェアに感染しちゃう」など。
どれもコンテナに限った話じゃないですよね。

対策も同じです。
まずは「修正プログラムを適用」しましょう。
加えて「使わない機能は無効化する」「脆弱性がないアプリを開発する」「設定ミスをしない」ですね。
簡単に言うな、って思いますよね。
だって、開発・即・展開したいためにコンテナを活用するわけですから。
セキュリティ対策に時間も手間もかけられません。
脆弱性やマルウェアの対策は、従来のセキュリティ対策に任せましょう。
次世代ファイアウォールやWebアプリケーションファイアウォール(WAF)などですね。
特に最近のWAFは、APIを保護する機能もついていますので、利用価値ありです。
ただし脅威を見つけるためには、TLS(SSL)によって暗号化された通信を解読できるものを選ぶ必要があります。
F5ネットワークス社のBIG-IPシリーズのような、TLS(SSL)解読の性能と実績を誇り、さらに高機能なWAFを同時に提供できるものを選びましょう。
従来のセキュリティ対策だけで大丈夫?
大丈夫じゃないんです。
最近ではWebアプリケーション通信の多くがTLS(SSL)で暗号化されています。
このTLSのバージョンが古いと、悪意ある者に狙われやすくなります。
TLSは新しいバージョンを使いましょう。
次に、コンテナイメージに問題があるケースです。
コンテナイメージには「オープンソース」のパッケージが多く含まれます。
オープンソースは無料ですし、利用すれば開発がしやすくなります。
しかし脆弱性が発見された場合、自らなんとかしなければなりません。
加えて、コンテナイメージを作ったのが悪意ある者だったら、コンテナイメージの中に意図的に不正コードが仕込まれている可能性もあります。

コンテナを異常に気づかずに公開してしまうと、そのコンテナを経由してサーバーや他のコンテナが攻撃される恐れがあります。
コンテナセキュリティの雄「Twistlock」を組み込んだPalo Alto Networks社の「Prisma Cloud Compute」のような、コンテナイメージの中に脆弱性や不正コードなどの異常があることを検知できるサービスを使いましょう。
また、コンテナイメージに含まれるパッケージ等を減らすこともセキュリティ対策になります。
攻撃可能なポイントを減らすことにつながるからです。
コンテナのオーケストレーションツールは大丈夫?
Kubernetesなどですね。
こちらも大丈夫じゃないんです。
これらにもやはり脆弱性がありますから。
しかもKubernetesは、誰もがアクセスできるゼロトラストな環境で使うことを想定して生まれました。
たくさんのコンテナをうまいこと管理できるツールだからこそ、攻撃されたときの影響範囲も大きく、よく狙われてしまうんですね。
過去にはKubernetesのすべてのノードの管理者権限が手に入っちゃう致命的な脆弱性もありました。

脆弱性をなんとかするには、そこを管理してくれるクラウドのKubernetesサービスに任せるのも手です。
例えばMicrosoft社の「Azure Kubernetes Service」に任せた場合、常に最新のOSセキュリティ更新プログラムとKubernetesが実行されますので安心です。
Kubernetesマスターにやってほしいことをお願いする窓口(API)への不正アクセスも心配です。
クラウドが提供するKubernetesサービスは、基本的にインターネットから窓口にアクセスできてしまいます。
必要なIPアドレス以外からのアクセスを拒否しましょう。
Azure Kubernetes Serviceの場合、Kubernetesが提供する「ロール(権限)ベースのアクセス制御」とAzure Active Directory(以下Azure AD)を統合し、より確実に柔軟に不正アクセスから保護できます。
Azure ADは、AzureやMicrosoft 365(旧Office 365)のユーザーとアクセスの管理、認証と承認(認可)、APIアクセス制御、シングルサインオンなどを提供する基盤として有名です。
企業向けに提供される堅牢なAzure ADがKubernetesのために必要なユーザーやグループを管理し、それらが清く正しく美しくKubernetesにアクセスできるよう尽力してくれますので、恐悦至極に存じます。
最後に
今回はセキュリティエンジニアを気取ったおじさんの視点でコンテナと向き合ってみました。
素敵なコンテナライフをご堪能中の皆さんの一助となれば幸いです。
昔も今も、人々を最高のビジネス、最高の喜びに導こうと、多くの先進技術が生まれ続けています。
しかしそれを悪用しようとするケースも後を絶ちません。
コンテナもそうですし、人工知能(AI)をサイバー攻撃に使う例もそうです。
せっかく生み出されたものが、悪意によって活躍の場を奪われるなど、あってはならないことです。
そう、生殺与奪の権を他人に握らせてはいけません!
セキュリティはそのためにある、と私は解釈しています。
私たちネットワンは、セキュリティを含めた活動のすべてが「カスタマーサクセス」、お客様の成功につながることを願っております。
お客様の声をもとに、先進技術やトレンドをネットワン流に取り入れていきたいと考えております。
ぜひ、お気軽にお問い合わせください。
※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。