2011-01-10 1 views
0

ここではセキュリティ上の問題があります。私たちは、管理者がログインしてフロントエンドを更新できるバックエンドシステムを備えたWebサイトを持っています。私たちの良い友達は、ログインページにSQLインジェクションを使ってバックエンドにハックしようとしました。成功し、管理者アクセス権を持つユーザーを作成できました。このWebサイトはC#のASP.NETで書かれています。IIS +プログラミングセキュリティ:Webサイトのバックエンドシステムのセキュリティ保留 - ログインページSQLインジェクション

私たちは、パブリックIPからログインページを削除したり、2層の保護(プログラムごとにIISのIP制限およびIPアクセスリスト)を追加することを検討しています。

IISとプログラムでこれをどのように行うことができますか?私がこれらのすべてのセキュリティのことを初めて知っているので、助けてください。

私たちは、ウェブの庭にこのウェブサイトを配布するには、彼らは私がIPアドレスのリストだけに壮大なアクセスに私のコードでこれを実装するにはどうすればよいxx.xxx.xx

のローカル/プライベートIPを共有するように、3台のサーバで構成されていまたはIPのグループ?

Simplecode

+6

ログインページでSQLインジェクションを修正するのはどうですか? – dotjoe

+0

私はdotjoeに同意します。私はdevグループがアプリケーションアーキテクチャの根本的な欠陥を回避しようと試みたあらゆる方法を見てきました。その日の終わりには、コードを修正してベストプラクティスを実装するだけで、FARの時間を節約できます。 – NotMe

+0

ありがとうございました。私はまだこの全部でnoobですので、ログインページでそれを修正する良い方法を探しています。私は喜んで学びます。私は – RoundOutTooSoon

答えて

3

、事前にそんなに

おかげでほんの少しダウンし、さらにこのウサギの穴に行きます。

まず、入力をサニタイズし、パラメータ化されたクエリを使用します。ちょうどコードを修正してください。これはあなたが今作業しているべき最も重要なことです。

第2に、ログインページを移動しても問題は解決されません。サイト内にアクセス可能な他のページがある場合は、他のSQLインジェクションの問題があると確信しています。上記の#1を参照してください。

第3に、あなたはXSSのような他のすべての方法にさらされていると思います。ちょっとして、彼らが何であるかを学んでください。その後、防御的な方法でコードを再学習するために時間をかけてください。ヒント:すべてを検証する。番号が必要な場合は、番号のみを受け入れます。短い文字列が必要な場合は、javascriptを埋め込まないでください。

念頭におくべきことは、ブラウザ、ユーザー、さらにはシステム管理者だけが絶対に信頼することです。つまり、あなたがサイトを信頼する必要がないような方法でサイトを構築します。

ほとんどの企業では、どのような脅威に直面しているのか分かりません。ヒント:外部の脅威またはその一部のみ。内部の脅威は、通常、はるかに悪いです。私はこれを単に言います。なぜならあなたは、問題のちょうど1つの部分に貼り付けようとする試みをして、他のすべてを無視しようとしているからです。


私は最近、セキュリティが落ち着いていると主張した会社と話しました。会議の前に私は彼らのウェブサイトに行って、彼らはすべてのURLに文書IDを持っていることに気づいた。 idは単純なintだった。空き時間の数分で、私はdoc id 1で始まり、サーバーがデータを与えるのを止めるまで繰り返しました。私は決して見ることができなかったかなりの数の書類がありました。良いサマリア人であるので、私は彼らにこのことについて話しました。

その物語のポイントは、SQLインジェクション、xssなどがすべてではないということです。あいまいさによるセキュリティは、まったく別の失敗です。

+0

ご連絡ありがとうございました!本当に。とても感謝しています。ログインページをよく見ていきます。私はちょうど卒業してこの仕事をしています。私はこのブランチと別のIT担当者の唯一のプログラマーです。彼は私のように新しいです。上記で言及した「良い友人」は、別の州のHQの「ITセキュリティ部門」です。彼らはもう一度このことが起こったら、私は解雇されたと私に言った。私はITセキュリティ部門のメンバーの助けを借りて、「公的IPからページを削除してください」と言ったものを頼んだ。とにかく、クリスに感謝してくれてありがとう、ありがとう。私はそれにしている – RoundOutTooSoon

+0

ああ、私はあまりにも作業する必要がありますので、idsのヒントのための簡単なintのおかげで!これらのアドバイスは、私が本当に学ぶ必要があるものです。ちょうど「ページを削除してください」というちょっとした助けではありません。もう一度ありがとう!!!! – RoundOutTooSoon

+0

@ SimpleCode:あなたのコーディングには、コーディングに関してベストプラクティスがありますか? MSDNの次の記事をご覧ください。古いバージョンのフレームワークについて言及していますが、今日でも有効です。http://msdn.microsoft.com/en-us/library/ff648339.aspx – NotMe

関連する問題