今では、セキュリティ ルール ゼロを十分に聞いて、暗記しているはずです。 あなたはそれを心の中で知っていますよね?
念のため、思い出してみましょう:
ユーザー入力を信頼してはならない。 これまで。
素晴らしい。 基本的なルールが確立され、準備が整ったので、セキュリティ ルール 1 について説明しましょう。 ご想像のとおり、セキュリティには複数のルールがあります。 それでは、ルール 1 に移りましょう。
セキュリティルール1: 資格情報をハードコードしてはいけません。 これまで。
トークン化 (API で人気) とフェデレーション ID によるアクセス制御の時代では、このルールは一般向けアプリではほとんど破られません。 このルールが破られたり無視されたりすることが多いのは、組織の内部です。 そして、NetOps が組織のデジタル変革イニシアチブをサポートするために IT を最適化する役割を果たすためにスクリプトと自動化の使用を強化するにつれて、これは急速に問題になりつつあります。
インターネットで見つけた非常に現実的な例の 1 つで説明しましょう。 包括的なリストを提供する時間も余裕もないので、1 つだけ挙げます。 その習慣は広く浸透している。
右側には、プレーンテキスト、ハードコードされた資格情報など、非常に一般的なセキュリティ上の失敗が見られます。 職場環境では受け入れられないことを認めるコメントや、より安全な認証方法を使用する必要性に同意するコメントさえありません。
これは、NetOps 側の観点からは深刻な問題です。共有の企業ネットワークをいじると、影響範囲が著しく大きくなるからです。
このようなセキュリティ問題が発生する理由の 1 つは、NetOps が自動化を採用しているのは事実ですが、必ずしも戦略的に導入しているわけではないことです。 私たちが目にしているのは、NetOps プロフェッショナルのかなりの割合が Python を採用し、従来の CLI ベースの構成および管理方法と組み合わせているということです。
コマンドラインで資格情報を入力するのと同じように、同じ資格情報をスクリプトに入力して、それで終わりにします。
結局、これは問題となるでしょう。 誰かがこの慣行を悪用し、それが何日もニュースフィードに掲載されることになるだろう。 以前にもそういうことがあったから。 OneLoginを覚えていますか? スクリプトは資格情報とともに保存されていませんでしたが、ファイルは資格情報とともに保存されていました。 それがどんな混乱を招いたかは想像がつくでしょう。
問題は、NetOps はスクリプトにコマンド ライン資格情報を入れることにかなり自信を持っているかもしれませんが、そのスクリプトはどこに行き着くのでしょうか。 適切に管理されていますか? インフラストラクチャ・アズ・コードが好きですか? バージョン管理されてリポジトリに保存されていますか?
Network to Code コミュニティの調査で、NetOps の間で (待ってください…) Github の採用率が高いことが示されたことを覚えているかもしれません。
では、リポジトリはどこにあるか自問してみましょう。 オフサイトですか? 現場で? どのように保護されているのでしょうか。また、誰かがそれを手に入れた場合の爆発半径はどのくらいでしょうか。
ビジネスを維持し、ビジネスに貢献するためには、スクリプトと自動化によって業務を拡大する必要があります。 NetOps はその方向に進む必要がありますが、プレーンテキストの資格情報がどこに保存されているかの影響を真剣に検討せずにそうすべきではありません。
少なくとも、スクリプトの呼び出し時には資格情報の入力が必要になります。 資格情報はファイルやスクリプトに保存しないでください。プレーンテキストで保存することは絶対にしないでください。 最適な方法は、より高度な資格情報管理ソリューションを使用して認証を強制し、内部スクリプト全体でトークン化を使用することです。 しかし、現在、NetOps における自動化の大量導入が始まったばかりであり、一歩ずつ進んでいく必要があることはわかっています。
それを念頭に置いて、少なくとも呼び出し時に資格情報を要求します。 現在の実装ではそれが難しすぎる場合は、一歩下がって IT の全体的な自動化戦略を見直す時期かもしれません。 最初の質問は、あなたはそれを持っていますか? それとも、あなたが行っていることは、ビジネスからの要求に対する戦術的(かつ原始的)な対応なのでしょうか?
なぜなら、長期的な解決策は、すべてのスクリプトでプレーンテキストの資格情報を使用するべきではないし、できないからです。 明らかなセキュリティ リスクとは別に、発生する技術的負債についても考慮してください。 資格情報を変更する必要がある場合は、すべての場所で変更する必要があります。 それらを追跡するには時間と労力がかかります。 おそらく、あなたには時間と労力がないのでしょう。そうでなければ、そもそも自動化を導入して時間を作ろうとは思わないでしょう。
したがって、セキュリティルール 1 に違反しないでください。 それよりも安全かつ賢く行動しましょう。 自動化は、規模と速度の要件に対する戦術的な対応であってはなりません。 それは戦略的であるべきであり、実際戦略的であり、それはそれをどのように実装するかの長期的な影響にもっと注意を払うことを意味します。