2016-07-14 3 views
0

はじめに:私は安全な商用アプリケーション用に開発したばかりであり、あまりにも敏感かもしれないことを理解しています。このプロジェクトのセキュリティを強化するにはどうすればよいですか?

私は非常に切り詰められたフォーム認証とSHA1ハッシュ・サンズ・ソルトを使用するプロジェクトで、フリー・ランナーとしてスーパーバイザーとして働いています。このプロジェクトでは他のセキュリティは使用されていません。通常、MVCアプリケーションに付属する組み込みのセキュリティを使用しないよう明示的に指示されています。レンダリング/スクリプティングライブラリや、ロール認証やデータ用の組み込みのメソッド注釈。

私の知る限りでは、アプリケーションは従来のコードとやりとりすることはなく、これらのメソッドを使用する選択は既存のコードベースとの下位互換性にありません。

プロジェクトでは、SHA1のバージョンを使用してオーバーライドするか、フォーム認証方式の多くを使用しない暗号化、ロール、およびセキュリティにホームブリュー方式を使用します。

アプリケーションによって保存されるデータには、中小企業から政府機関に至るさまざまなエンティティおよび個人向けの財務および個人記録が含まれます。

私は、アプリケーションがほとんどのMVCセキュリティツールを使用していないこと、私の上司にもっとセキュリティを利用させるよう促して、プロジェクトの問題を文書化しているということに何度か不安を感じました。

私は、必要と考えているものを維持しながら、プロジェクトの要件に従ってカスタマイズするために、Asp.Net IDおよび他のツールを読むのに何時間も費やしましたが、その許可を拒否されました。

私の心配にもかかわらず、可能であれば、私はこのプロジェクトを終わらせたいと思っています。ここで公開される可能性のある種類のデータの法的な影響にユーザーをあまりにも悪くさらさないようにしてください。

以下の条件を考えると、私はこのプロジェクトのセキュリティを向上させる具体的な方法があるかどうかを知りたい:

  1. はOWIN/OAuthのかAsp.Netアイデンティティを使用することはできません。
  2. 初期認証は、機密ユーザーと金融情報がプレーンテキストで格納されている同じテーブルに対して実行する必要があります。以降のすべての認証およびロール管理は、セッション変数を格納する自家製のBREWコードに対して実行されます。
  3. パスワードで塩を使用することはできません。
  4. パスワードの作成にはパスワードの長さが唯一の要件であり、必要な長さは非常に短いです。
  5. ユーザーがシステムへのアクセスまたはログインを試行できる回数を追跡または制限できません。
  6. 二要素認証を使用できません。
  7. 認証チケットまたはセキュリティCookieが期限切れになるように設定することはできません。
  8. ロール、承認、および着信データの検証にある程度データアノテーションを使用することはできません(一部のものは不合格になっています。
  9. セキュリティのためにほかの誰のツールも使用できません。
  10. 組み込みクラスを使用してロールを作成または制限することはできません。ロールを制限するためには、自家製メソッドを使用する必要があります。
  11. User.Identityオブジェクトを使用することはできません。

一般に、格納されるデータの性質上、現在のセキュリティツールが存在しないことと相まって、自家製のセキュリティが機密情報にとって非常に困難な状況を作り出しているのではないかと心配しています露出しないようにする。

私の上司とのコミュニケーションは非常に貧弱です。私は、どのような対応でも、私が見ている脆弱性を伝えるためのより多くの/良い方法が得られることを期待しています。間違いなく、この時点で私の上司に迷惑をかけていることは間違いありません。私たちのコミュニケーションに寄与する要因はおそらく分かりますが、私は非常に心配しています。

また、私は、私が過敏であるか、私が間違っていると聞く準備ができています。私は、新しい開発者として、この分野の完全な理解をまだ開発していないことを痛感しています。私の経験の大半は学術的なものであり、教室は必ずしも実際のソフトウェア開発の実際のモデルではないことがわかっています。

私はまた、プロジェクトを終わらせ、私の上司だけを残す必要があることを聞く準備ができています。

しかし私が知っている限りでは、私が作り出していることは簡単には分かりづらいでしょう。私は何かを試してやることを義務付けています。上記の理由。

+0

LMFAO ...この仕事はトラブルの価値があるかどうかを考えているはず...ほとんどのだろうあなたのアプリを安全にするのを難しくする...今、それを安全にする... LMFAO ...誰がその制限を課すことが良いアイディアだったのですか?彼らは、彼らが何をしているかを知っているセキュリティコンサルタントを必要とします。 –

+0

これは私の結論でしたが、私はこれに新しいので、私が正しく見ているかどうか、そして/または実際に存在するより理想的な状況を仮定して、状況に教室を適用していないかどうかはわかりませんでしたここは現実の世界です。ありがとうございました。 – wormwood

+0

ここに1つのヒントがあります:署名された秘密IDはクッキーに保存されています...誰かがクッキーを取得します...あなたを簡単に偽装することができます。 –

答えて

2

あなたがここに書いたことは、あなたが関与したくないプロジェクトのように思えます。あなたがリストした制約は、90年代からウェブアプリケーションを構築しているように聞こえます。あなたがアプリケーションを安全にすることを計画しているなら、あなたがしたくないものまで、彼らはすべての拠点をカバーしたようです。

唯一言うことは、httpsを使用していることを確認することです。また、Captchasは明示的にここにはリストされていませんが、おそらくサードパーティのツールに該当します。 あなたがそれを強化できるかどうかを知るために自作コードベースを改訂するべきでしょうか?

そして、あなたはおそらく長いハードここにあなたがしなければならない11件の事のリストがある...

+0

プロジェクトでhttpsが使用されていることを確認できます。そして、私は今考えている。ありがとうございました。 – wormwood

+0

ねえ...あなたが法的に自分をカバーしている限り、食べ物をテーブルに置いている限り...彼らはあなたに大規模な制限を与えました...要求仕様は何ですか? –

+0

@PaulZahraそれは本当です。私はそれがあなたの選択肢が何であるかによると思います。もし何か他に取り組む必要がなければ、おそらくスティックしなければならないかもしれませんが、おそらく数ヶ月でうまくいくわけではありません。あなたのポートフォリオでも見た目が良くないかもしれません。しかし、すべての制約と監督者とのコミュニケーションが不十分で、それが記述されている方法。それはあなたが他の選択肢を持っている場合に関与したくないプロジェクトのように思えます。 –