2012-02-06 25 views
1

このような状況を防ぐには、最善の方法が必要です。プログラミング/セキュリティの問題

ここに背景があります これはすべて内部ネットワーク上で実行されます。 iis上で動作する古典的なaspを持ついくつかの小さなWebサイトがあります。彼らはすべてフォームを通してusername/pwを渡し、サーバ上のdllであるこのクラスを呼び出します。その後、アクティブディレクトリに対して認証され、返されます。今は明らかに、フォームをdllに渡すことは安全ではありません。 DLLからアクティブなディレクトリに安全でないのでしょうか? これを保護する最も簡単な方法は何でしょうか。 ssl?他のアイデアやあなたが知っていれば、他のdllの質問に答えてください単語「安​​全な」と

おかげ

+0

C#で従来のaspを使用することはできませんが、C#タグがある理由はわかりません。 –

+0

セキュリティが必要なものは? DLLにフォームを渡すのがなぜ安全でないのですか? DLLは入力チェックをしていませんか? – cha0site

+0

@MystereMan http://stackoverflow.com/questions/tagged/asp-classic+c%23 ':(' –

答えて

1

問題は、それが非常に主観的用語をイアということです。 「安全」なのかどうかは、セキュリティ対策が破られた場合に起こりうるアプリケーションの種類と損害に実際に依存します。

暗号化されていない、または暗号化された形式でパスワードをメモリに表示することは、ある意味で「安全」ではありません。しかし、私はセキュリティの狂信的な怒りの危険を冒し、サーバの揮発性メモリにユーザのパスワードを持たせることは、熱核戦争と許容されるリスクを免れないことを示唆します。

実際には起こらないAD井戸との通信に関しては、パスワードによってサーバーのメモリが他の場所に移動することはありません。代わりに、ADは、サーバーでローカルに実行されているセキュリティAPIがパスワードを使用して応答するように構築するという難題を定式化しています。チャレンジに対するレスポンスはADに返されますが、このレスポンスにはパスワードは含まれていませんが、正しいパスワードが存在するという証拠があります。

イントラネット環境では、このような問題が発生しており、ユーザ名とパスワードを入力しなおすことに悩まされています。 Windows統合セキュリティに頼るほうがよいでしょう。

「NTLMを使用しないようお勧めしました」というメッセージを読んだことがあります。はい、それは現代のマシンNTLMで私たちが好きかもしれないほど安全ではありませんが、本当にあなたの要件のためにあまりにも弛緩ですか?おそらくそれは統合セキュリティですが、Kerberosも使用できます。

私の提案は、IISでNTLMをオフにして、Kerberosだけで認証を処理するようにして、dllを捨てることです。この方法でパスワードをどこにでも移すことはなく、ユーザーはパスワードを再入力することに困惑しません。コードに何もせずにNTLMを使用しないでください。

+0

熱核戦争につながる可能性はほとんどありません。;) –

+0

@Niklas:セキュリティ狂のために起こりうるすべての違反は、核兵器戦争につながるとの疑いがあります。P – AnthonyWJones

+0

ウェブアプリケーションと広告は同じサーバーにありません。 – Sirus

関連する問題