「社内ネットワークに入れば安全」——そんな時代は終わりました。リモートワークの普及、クラウドの多様化、SaaSの利用増加によって、もはや「社内と社外の境界」は意味をなさなくなっています。代わりに台頭してきたのが「ゼロトラスト(Zero Trust)」という考え方です。その名の通り「誰も・何も・最初から信頼しない」をセキュリティの原則とします。
ゼロトラストをたとえで説明すると「厳格な入国審査」のようなものです。昔の国境管理は「一度入国した人は国内では自由に移動できる」というモデルでしたが、ゼロトラストは「空港に入るたびに、国内にいても、毎回パスポートと渡航目的を確認する」モデルです。一度認証されたからといって、ずっと信頼されるわけではありません。
セキュリティ担当M:「VPNの維持コストとパフォーマンス問題で限界なんですよね。何かいい方法ないですか?」
コンサルタントN:「ゼロトラストへの移行を検討してみてください。VPNをなくしてIDPとゼロトラストNAのような仕組みに移行している企業が増えてますよ」
M:「コードや設定を全部見直すんですか?」
N:「段階的にできます。まずIDプロバイダー(IdP)の強化と多要素認証(MFA)の徹底から始めましょう」
ゼロトラストの実装ステップのひとつとして、mTLS(相互TLS)による通信の暗号化があります。opensslでクライアント証明書を作成する例を見てみましょう。
# CA(認証局)の秘密鍵と証明書を作成
openssl genrsa -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt \
-subj "/CN=MyZeroTrustCA"
# クライアント証明書の作成
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr \
-subj "/CN=my-service"
openssl x509 -req -days 365 -in client.csr \
-CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt
次に、OPAポリシーエンジンを使ったアクセス制御の例も見てみましょう。
# OPA(Open Policy Agent)でアクセスポリシーを定義するRegoの例
package httpapi.authz
default allow = false
# 管理者ロールを持つユーザーのみ /admin へのアクセスを許可
allow {
input.user.role == "admin"
input.path == "/admin"
}
ゼロトラストへの移行は一夜にしてできるものではありませんが、「全通信の暗号化」「最小権限の原則」「継続的な認証」の3つを柱に、段階的に進めることができます。VPNは「城壁」でしたが、ゼロトラストは「すべての扉に鍵をかける」アプローチです。今すぐ完全移行は難しくても、MFAの徹底から始めましょう。
コメントを残す