私は、Azureにデプロイされたアプリケーションの世話をしなければなりませんでした。私は月に4時間割り当てられています。
私は基本的に、このアプリケーションをセキュリティで保護/維持するために半日の仕事をしています。私の時間の効率的な使用とは何ですか?
私は集中する必要があります:
またはいくつかの組み合わせ/他の何か?
私は経験ベースの回答を探しています。できれば、この種のセキュリティ保守を行う人からの回答を探しています。既存のベストプラクティス/ガイドラインがあり、それも本当に役立つ場合。
テクノロジースタックは次のとおりです。
いくつかの追加コンポーネントがありますが、私は実際には技術固有の答えを探しているのではなく、これに取り組む方法に関する戦略を探しています。
Azureソリューションのセキュリティを段階的に維持および改善できるように、Azureのトップセキュリティのベストプラクティスから始めます。
1〜7の準備ができたら、次のことに集中してください。
Azureセキュリティのベストプラクティス に関するMicrosoftのドキュメントをお読みください。
ドキュメンテーション:
コメントで述べたように、私も1か月に4時間は低すぎることに同意します。理解し、さらに重要なことに、4hではあまり期待すべきではないことを関係者に理解させます。彼らがあなたに4時間与えたことを考えると、彼らがこのアプリケーションのセキュリティ保護について真剣に考えているようにも見えません。
コメント、回答、自分の考えをもとに、ひとつにまとめてみます。ここに私はあなたのオプションが正しいように見えるべきだと思う方法です。
DoS保護は適切で必須ですが、上記の計画にそれを適合させる方法を見つけることができず、何もそれを交換することができませんでした。多分それはあなたの次のステップで文書化されるべきです。
全体として、それは4時間で何かを確保するというはるかに難しい要求です。しかし、私がそれを任された場合、私は上記の手順でそれを行います。システムがすでにハッキングされているかどうかの調査がこれらの4時間で実行可能かどうかはわかりません。保護に4hが与えられたら、アプリケーションを潜在的な脅威から保護するために費やすか、システム内の攻撃者を調査するかを選択できます(別のプランが必要です)。その最初の選択はあなた次第です。
これは非常に重要な回答です(実際のセキュリティとはほとんど関係がありません)ので、私のアドバイスは無視してください。この質問自体はかなり意見に基づいているため、まったく別の「種類」の答えを試してみようと思いました。
残念ながら、雇用主はアプリケーションを保護するために何が必要かについて非常に非現実的な期待を持っています。 4時間は、この仕事をうまく行うのに十分な時間とは言えません。明らかに、これはほとんどの企業(1か月にちょうど0時間の専用セキュリティ時間を割り当てている)よりも優れています。けれども現実は4時間はピットです。だからこれはあなたがすることです:
明らかに、結果がどうなるかについては保証できませんが、実際に与えられたのは、転職のためのトレーニングを自分で始める許可です。あなたの未来に投資する機会!セキュリティの専門家はエンジニアよりも需要が高いので、個人的に私はこれを採用して実行します。特にそれが私の好意でうまくいったなら、近視眼のために私が彼らに与えるつもりだった自由な仕事のために私の現在の雇用主に恥ずかしさえしません。
私は提案します
アプリケーションが非常に小さいと想定します。ログのスクリプトを書いて、場違いなものを検索します(理想的には、これは4時間の作業期間中には行われません)。主要なアプリケーションの障害回復がすでに行われているはずです(チェックアプリケーションでこのような作業が必要な場合。).
何が使用され、誰が使用するか、また使用頻度もわかるように、ドキュメントは重要です。これは、スクリプトの開発に役立ちます。
1か月分のログを圧縮するにはスクリプトが必要なので、慎重に選択してください。
バックアップを確認します。
常に使用されているテクノロジーと、POCまたはエクスプロイトがあるかどうかを確認してください。そこに飛び込んで自分でエクスプロイトを試み始めないでください。
アプリケーションが不可欠な場合は、追加のサポートを要求します。
理想的には、ドキュメントとスクリプティングだけが残りの時間をとるべきであり、かなり単純である必要があります。これは、プロジェクトの価値を判断し、4時間で十分かどうかを選択するのに最適ではありません。
ターゲットを理解することは、ターゲットをよりよく保護するのに役立ちます。
うまくいけば、彼らがそれを提供してくれるより良い答えがあると思います。
OP、あなたは主に開発者であるように見えます あなたの貢献 を見てください。では、セキュリティを強化するために開発者は何ができるでしょうか?
最初の月:
master
ブランチ、そして本番環境への独自の変更をプッシュするために必要なことをすべて実行します。他の開発がある場合はそれをピギーバックするようにしてください。ただし、この場合は、実際に有用なことを行った証跡を残すように特に注意してください(たとえば、いくつかのPRを作成します)。毎月繰り返しますが、2つの境界線を調整します。 (最終的な分割は3時間50分ではなく10分に近い可能性があります。)
このようにして、最悪のベクターを修正します。人気のあるコンポーネント/ライブラリの1つに、1か月前に公開された脆弱性(CVE)があります。ボットの群れがインターネット全体をスキャンし始め、すべての脆弱なデプロイメントが発生します。 (情報に基づいて?)推測するだけでサードパーティコンポーネントをアップグレードする場合、被害者になることはなく、必要性本当に不愉快な状況。
これは開発者にとっては取るに足らないことですが、ほとんどの企業では、開発者はこのような面白くないメンテナンスを避けています。これは、(アプリケーションを再コンパイルしないため)典型的なセキュリティ部門にとって大きな問題になります。 「ログを分析する」、「WAFを実装する」、または「脆弱性スキャンを実行する」ための多大な努力は、主に残りのすべての可能な角度からそのギャップをカバーするためにあります。
あなたの質問から、あなたはlearningに集中する方法を尋ねているようです。私は今ここでその前提に挑戦したいと思います。 1か月に4時間割り当てられた人は、すでに自分自身の教育から恩恵を受けて、彼ら自身の申請をすでに切り捨てました。それらの無責任!このプロジェクトに特化した何かを学び、それを実装し、エラーについて学び、繰り返す...それは毎月4時間のチャンクで行うことはできません。それはあなたの決定ではなかったので、これを「修正」しないでください!このプロジェクトの時間に、あなたがすでによく知っていることをしてください。
それはスターターです。あなたが自由な時間に学び、実行しようとするのは、あなたの好みとあなた自身のビジネスです。このサイトには広すぎると思いますが(セキュリティに興味がないと判断した可能性がありますが、これはまったく問題ありません)、他のサイトからは大量のリードが与えられました。他のプロジェクトでも役立つものを探してください。前者または後者の一部は、この4時間に収まり、プロジェクトの状態を改善するのに役立ちます。
他の人がすでに4時間と言ったのは手間が少なすぎますが、役立つと思われる場合に備えて、いくつかの推奨事項を提供します。
そのようなことをしなければならなかったシステム管理者から、私はdev VMを作成することをお勧めします。これはprodと交換できます。
リスクについては触れません。個人データなどが格納されますが、複雑なアプリケーションの場合、時間効率が非常に高いアプローチの1つにファズテストがあります。インジェクション攻撃の可能性があるメタキャラクターであり、エラー500が発生するたびに脆弱性を報告します。
悲しいことに、通常の対応は「それは悪用できない」であり、特に、あなたがそうであるようなセキュリティのない環境では。また、脆弱性をエクスプロイトに変えるには、予算の4時間以上かかります。
別の答え:この雇用主はいつでも廃業する可能性があるので、CVを磨く時間を費やしてください。