ゼロトラストと聞いて分かってますよ感出せる程度の基礎を学ぶよ


やあ、おはよう:relaxed:
緊急事態宣言、出たね。
昨年１回目の緊急事態宣言が発動して、そこからテレワークを開始した（せざるおえなかった）会社さんも多いんじゃないかな？
:relaxed: はネットワークやセキュリティのことは初心者よりも初心者なんだけれど、
その頃から「ゼロトラストネットワーク」というワードを聞くことが増えたよ。
これまでは会話の中で「ゼロトラスト」という言葉がでても、潔く「わかりません・・すみません・・」って顔をしていたけれど、
「ああ、あれねえ」程度な顔をできるようになりたいと思うよ。


##教材
NIST(米国立標準技術研究所)が発行したSP 800-207 Zero Trust Architectureを読んで、
自分の言葉で説明できる感じで噛み砕くよ。
今回は分かってますよ感が出せれば良いので、２章のゼロトラスの基本まで勉強するよ。

公式:https://csrc.nist.gov/publications/detail/sp/800-207/final
日本語訳:https://www.pwc.com/jp/ja/knowledge/column/awareness-cyber-security/zero-trust-architecture-jp.html


また、前もって断っておくと、当方は上記の通りネットワークについて苦手意識があるくらいに無知なので、
間違えたことを言っていたら教えて欲しいです。


####なぜゼロトラストが注目されているの？
社内・社外の境界線の定義が難しくなってきたことで、従来の境界防御型のセキュリティだと対処ができなくなってきていることがあげられるみたいだよ。

【従来の境界防御型セキュリティの環境と考え方】
・サーバーはオンプレミス。
・社内のシステムへのアクセスはオフィスに置かれたデスクトップPCからのみ。
・社員＝いい人。
→オフィスに置かれているルーターが社内と社外の唯一の境界線だから、ここにセキュリティ対策を施しておけば、中は安全・安心だよね。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482103/95af17c3-ff81-9a44-156f-3e967d83504d.png">

【現状の社内環境】
・サーバーはオンプレミス一択だったところに、クラウドという選択肢が追加。
　コストや利便性から自社内にサーバー置くよりも良いよね、と選ばれることも増えた。
・業務用のデバイスに、デスクトップの他にノートPC・スマホと行ったモバイル端末も増加。
　持ち運べるからこそ、オフィスの外からの社内システムにアクセスするというケースも。
・社員＝いい人。だけど、全員がセキュリティ意識が高いかというと微妙・・。
　うっかり偽サイトにアクセスしちゃったり、うっかりウイルス付きのメールの添付を開いちゃったりすることも考えられるよね。
→社内・社外の境界線はどこ？　侵入には備えているけれど、攻撃者を中から招待しちゃったらどうすれば良い？
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482103/21245a8e-d74d-699b-da0b-b0e9d8d1cc8a.png">


企業の置かれる状況の変化によって、従来型のセキュリティの考え方ではカバーしきれなくなった部分が大きくなり、セキュリティのあり方自体が見直されるようになったんだね。


###ゼロトラストの基本
社員はいい人・オフィスは安全、といった暗黙の信頼を前提とするのではなく、社内も社外と変わらず危険、という考え方。
その上で、

**・守るべきデータなどのリソースに対し、本当に必要な人に、必要な範囲を絞って、必要な権限だけを認可することで、リスク自体を減らす。**
**・アクセスも「ログイン成功したからその後の行動は全て安心安全信頼しているよ！」ではなく、「ログインしたし、今のアクセスは認証に耐えうるレベルだけど、次のアクセスはどうかな？」と継続的に分析・評価し続ける。　**


ことが重要みたいだよ。


###ゼロトラストの考え方７箇条
ここからよく出てくるワードが「資産」と「主体」で、定義は以下の通り。
・資産＝デバイス・インフラ・アプリ・クラウドなど。
・主体＝エンドユーザーやアプリケーションなど、リソースからデータをリクエストするもの全て。

---
**1. すべてのデータソースとコンピューティングサービスをリソースとみなす。**
会社の業務用PC・サーバーだけではなく、例えば個人のスマホで会社のリソースにアクセスするとしたら、それもリソースとして見なすという考え方。

---
**2. ネットワークの場所に関係なく、すべての通信を保護する。**
従来の社内・社外の枠で区別するのではなく、リソースにアクセスする通信を全て平等に厳しく監視するという考え方。

---
**3. 企業リソースへのアクセスは、セッション単位で付与する**
タスクを完了するための最小限の権限を付与し、アクセスしてきた元が「今」信頼できるかを評価する。
あるリソースへの認証・認可がOKでも、次にアクセスするリソースに同じように許可されるわけじゃないというよーという考え方。

---
**4. リソースへのアクセスは、クライアントアイデンティティ、アプリケーション/サービス、リクエストする資産の状態、その他の行動属性や環境属性を含めた動的ポリシーにより決定する。**
なんか難しいこと書いてあるよー:relaxed:
従来だと例えば、メールアドレスとパスワードの組み合わせがアクセスルールセット＝ポリシーなことが多かったよね。
でも、ゼロトラストでは、アクセスした人のユーザー属性や、その人が使っているデバイスのバージョン・ネットワークの場所・リクエストを投げた日時といったデバイスの特性の他に、　ユーザーやデバイスが変な使われ方がされていないか、　とか、　アクセス元のネットワークが最近受けた攻撃があるか、などをひっくるめて許可ポリシーが作られるべきという考え方かな。

---
**5. すべての資産の整合性とセキュリティ動作を監視し、測定する**
基本的にデバイスも人も資産は全て信頼しない、という前提のもとに、デバイスにどんなセキュリティ対策が施されているかを常に監視し、必要なアップデートを適宜行うことを求める。
で、危険なデバイスに対しては、安全なデバイスができるリソースへのアクセスを拒否するなど、異なる扱いをしてリスクを回避するという考え方。

---

**6. すべてのリソースの認証と認可を動的に行い、アクセスが許可される前に厳格に実施する**
一度認証にパスしたらその後OKではなく、アクセスに対し、常に信頼できるかのチェックを行うという一定のサイクルを行う必要があるという考え方。

---

**7. 資産、ネットワークインフラストラクチャ、通信の現状について可能な限り多くの情報を収集し、セキュリティ態勢の改善に利用する**
企業は資産のセキュリティ状況やアクセスログなどの組織内のネットワーク全てのデータを収集し、そこから求められる分析をポリシーの改善のために役立てるべきとの考え方。

---



重複するけれど、７つの考え方に共通するのは　「全て」のアクセスに対し「継続して」「多面的に」監視・測定し、「必要最小限の」認可を出すというところかな？




###ネットワークにおけるゼロトラスト的な見方
さっきの原則をもとに、実際ネットワークを構築する際の前提条件が6項目あげられています。
原則を落とし込んだものなので、内容としては重複していますが、ちょこちょこ目新しいところだけ追記して行くよ。

**1.企業のプライベートネットワークは、暗黙のトラストゾーンとみなさない。**
さっきの原則の２にも通じるよね。具体的な対応策としては、常に攻撃者がネットワークにいると考えて、全ての接続を認証したり、全ての通信を暗号化したりすることがあげられるみたいだよ。

**2.ネットワーク上のデバイスは、企業が所有していないか、構成可能なものではない場合がある**
BYOD（Bring-your-own-device）がかっこいい響だ・・。でも確かに会社に訪問してきた人がネットワーク使いたいってことあるよね。そうなることを想定に含めて、その場合のポリシーを用意すべき、ということだね。

**3.どんなリソースも本質的に信頼されるものではない**
はい、何度も聞きました。
「企業リソースへの認証には、主体のクレデンシャルだけでは不十分である。」という一文があって、クレデンシャルって何だよ、と思ったのは:relaxed:だけかな。正解は「ユーザー認証に必要な情報（ユーザーID・パスワード）の総称」らしいです。

**4.すべての企業リソースが企業のインフラストラクチャ上にあるわけではない**
クラウドサービスや、企業の外にいるユーザーも考慮しなさいよーということ。

**5.リモートの企業主体と資産は、ローカルネットワークの接続を完全に信頼できない**
これも原則のところで散々聞いた内容だね。

**6.企業のインフラストラクチャと非企業のインフラストラクチャとの間で移動する資産とワークフローには、一貫したセキュリティポリシーが必要**
ついつい企業のネットワークばかり気にしてしまうけれど、そこから外れた外部のネットワークに移動した場合や、ワークフローの中でネットワーク間を移動する場合も、セキュリティポリシーを一貫して保つ必要があるってことだね。


###２章まで読み終わってのまとめ
ゼロトラストときくと、名前から信頼しないんだろうなー程度の想像していたけれど、

・企業が保有しているデバイスからかどうか、社内か社外かにかかわらず、全てのアクセスが評価の対象
・継続的に評価・分析し、許可できるかを判断する
・ユーザー属性だけではなく、デバイスの状態・行動属性・環境属性といった複数の要素からポリシーを決定する

あたりは、なるほどーという感がしたよ。あとは、必要な人に必要な範囲を絞って、というもの納得。
特に成長中の企業さんなんかだと、最初は一人当たりの業務の幅が広かったのが、人が増えるにつれて業務内容が細分化していく、ということがあるよね。その時に、誰がどこまで許されるか、というのが曖昧になって、必要以上に広い権限が割り当てられてしまう、ということがあるんじゃないかな。そうではなく、常にポリシーも改善していく必要があるんだね。


まだまだ勉強が足りないけれど、まずは「さわりだけ知っていますよ」って顔ができそうだよ:relaxed:
最初に断った通り、素人なので、間違っていたり、こういう解釈の方が良いのでは、といったアドバイスがあれば教えてください。

###参考にさせていただいたサイト
NIST Special Publication 800-207「Zero Trust Architecture」
公式:https://csrc.nist.gov/publications/detail/sp/800-207/final
日本語訳:https://www.pwc.com/jp/ja/knowledge/column/awareness-cyber-security/zero-trust-architecture-jp.html

ゼロトラストちゃんとわかりたいなと思ったきっかけ
[「人とパケットは違う」――セキュリティの一線で活躍するエンジニアが語る「本当の信頼」とは(1/2)](https://www.atmarkit.co.jp/ait/articles/1906/17/news004.html)