2012-01-23 4 views
0

バックエンドに管理パネルがあるウェブサイトを初めて構築しています。セキュリティ上の問題が懸念されています。セキュリティに関する一般的なアドバイスとSSL証明書

DETAILS

  • 管理パネルが
  • メインのWebサイトからアクセスすることはできませんすべてのユーザーが最初に最小化するために、MySQLデータベースにパスワードを格納するため
  • Blowfist(bcryptのを)管理パネルを使用するにはログインする必要があります虹の表のリスク
  • すべてのパスワードは、記号、az、0-9を使用し、8文字です。
  • bcrypt toブルートフォース攻撃を最小限に抑える
  • 複数のMySQLユーザーは、適切なタスク(たとえば、 SELECTのみ)すべてのユーザ入力がmysql_real_escape_stringの通過エスケープされ
  • ()+にhtmlentities
  • サーバー側+クライアント側の入力検証が
  • すべてのユーザ入力が適切なレベルに制限されている
  • すべての$ _GET変数が前に確認されている
  • ユーザーが機密データ
を投稿する必要はありませんだけで、サーバー側のセッション - クライアントサイドのクッキーを使用していません
  • 管理パネルを処理されています

    それは私が今持っているすべてです。これまで私はどのようにしていますか?また、この問題でSSL証明書が必要ですか?アドバイスや提案は非常に高く評価されており、事前に感謝します!

  • +0

    下記の素晴らしい回答のアドオンと同じように、パスワードは「8文字」と書かれています。これは、それよりも小さくてもそれ以上であってはならないということですか?パスワードの長さを設定することで、パスワードをずっと簡単に解読できます。代わりに、8〜14文字のような範囲を使用してください。 –

    +0

    @cillosis - 私に個人的に尋ねると、パスワードを20文字長くしても構いませんが、ユーザーが苦労することはわかります。 8は最小値で、すべてのユーザーはphpmyadminを使用して手動で管理します。私は、ログインごとに動的に生成された塩と一緒にブローフィッシュを使用していることを考慮すると、8文字はまだ悪いですか? – Mortis

    +2

    私の関心は必ずしも長さが固定されているとは限りません。 –

    答えて

    1

    はい、クライアントとサーバー間の通信(特にユーザー名とパスワード)を暗号化するには、SSL証明書(購入済みまたは自己署名済み)が必要です。そうしないと、ネットワークにアクセスできる人(特に、ワイヤレスネットワークを使用する人)は、これらの資格情報を監視して傍受することができます。

    また、ログイン(少なくとも!)が通常のHTTPではなくHTTPS経由で行われていることを確認する必要があります。そうしないと、SSL証明書を設定しても効果がありません。

    +1

    ありがとう!自己署名入りの証明書はすべてのブラウザで簡単にサポートされているわけではないので購入したいと思っています。すべてではないにしてもほとんどの場合、ユーザーは手動で検証証明書をインストールしなければなりません。 – Mortis

    2

    私は今までどのようにしていますか?

    あなたが始めて助けを求めています。公正な音。

    また、この問題についてはSSL証明書が必要ですか?

    あなたのニーズによって異なります。セキュリティは文脈から逸脱しているわけではありません。たとえば、あなたが今まで行ったことをすべて保護する価値のあるものがなければ、それは余計です。

    何が起きているのか何がないのかについては、OWASP websiteの良いイントロを得ることができます。このイントロには、あなたの質問で概説したポイントについて多くのguides and Cheat Sheetsがあります。

    あなたの特定の質問にお答えするには、このサイトのコンテキスト外です。だから、この答えは実際にはもっと長いコメントです。

    +0

    確かに! OWASPは私が研究を始めたときに私が訪れた最初の場所の1つでした。私は特別にチートシートを愛していました。 – Mortis