5

3 週間前、私は自分の Web サイトのユーザーのリストと Paste Bin に関する情報を見つけて、すべてのプライバシーを公開していました。更新を実行し、SQL インジェクションから保護しました。また、保護が不十分な場合にインジェクションを分析できるようにするためにユーザー入力が必要な場合はいつでも、SQL をテキスト形式で LOG テーブルに保存するための事前要求を追加しました。

それから今日、同じ投稿が最近のエントリで再び貼り付けビンにあったので、ログテーブルをチェックしてクリーンなエントリだけを見つけました。注射以外に気をつけることはありますか?Web では、注射に関する情報のみが提供されているようです。

彼らはサーバー上のphpファイルのdbpasswordにアクセスでき、外部サーバーから接続できたでしょうか?

dbpassword は頻繁に変更する必要がありますか?

セキュリティ計画のホスティングなど、十分に効率的であるはずのスクリプト以外のソリューションはありますか?

ハッキングされたユーザーから物理的な脅威を受けており、これをすぐに閉じたいと思っています...

4

7 に答える 7

7

ユーザー入力に対して独自の保護を実装している場合は、おそらく間違っています。ほとんどの標準データベース ライブラリは、適切にサニタイズされるクエリにパラメーターを渡す方法を提供します。これらは、おそらく認識しているよりも多くのことを念頭に置いてコーディングされています。セキュリティ関連で車輪を再発明するのは悪い考えです!

その他の心配事項:

  • パスワード ポリシー (強力なパスワード)
  • データベース サーバーへのアクセス (ファイアウォールで保護されていますか?)
  • サーバーへの SSH アクセス (これもファイアウォールで保護されていますか?)
  • すべてのソフトウェアを最新の状態に保つ
于 2012-08-07T21:16:50.173 に答える
2

まず第一に、MySQL データベースへのネットワーク アクセスが「知っておく必要がある」ことを確認してください。ほとんどの場合、これは単純bind-address 127.0.0.1です。

次に DB パスワードを変更します。変更できます (C)

考えてみてください:誰かがあなたの PHP ファイルからあなたの DB パスワードを取得した場合、あなたはすでに深刻な問題に直面しています:彼または彼女がそのスタントを繰り返すことを止めるものは何もありません! アプリケーションのバックドア (問題が発生した後) と、ユーザーがどのようにそこに侵入したか (問題が発生する前) を監査する必要があります。異常なGETパラメータを含むリクエストがないか、Apache ログを確認してください。

于 2012-08-07T21:19:32.293 に答える
2

これに対する最善の保護は、アプリケーションが実行されているマシンからのみ mysql データベースへの接続を許可することです。

于 2012-08-07T21:17:00.637 に答える
0

最初に、DB パスワードを含むこの "php ファイル" が Web ルート ディレクトリ内にないことを確認する必要があります

次に、データベースへのアクセスに使用するパスワードをすぐに変更します。

3 番目に、mysql が「localhost」からの接続のみを受け入れ、どこからの接続も許可しないようにします。「%」。専用サーバーの場合は、ボックスを「強化」し、サーバーの IP からの mysql アクセスのみが許可される IPTables に IP ルールを追加する必要があります。これらの変更により、データベースのユーザー名/パスワードの資格情報を取得した場合、リモート コンピューターからデータベースにアクセスできなくなります。代わりに、アプリケーションを悪用するか、サーバーに ssh してデータベースにアクセスする必要があります。

次に、サイトのすべてのユーザー アカウントを無効にし、クローズド ループ検証プロセスを使用してパスワードを更新するよう強制する必要があります。これにより、ユーザーまたはそのアカウントで進行中の悪意のあるアクティビティが発生していないことが保証されます。

これらは実行する手順のほんの一部です。ローカル ユーザーのログイン アクティビティの追跡など、他にも手順があります。システムのユーザー アカウントの 1 つが侵害された (root 化された) 可能性があります。ポイントは、システムとその中のサービスへのすべてのアクセスポイントを考慮する必要があるということです。それができない場合は、経験豊富なシステム管理者を雇うか契約する時期かもしれません。

于 2012-08-07T21:28:28.457 に答える
0

私はラズヴァンに同意します。また、CMS または事前にパッケージ化された Web ページを実行している場合は、それらが最新バージョンであることを確認してください。ほとんどの場合、Web サーバーから localhost としてアクセスします。ハッカーはそれらの変更ログを追跡し、セキュリティ パッチがリリースされるたびに、古いバージョンを実行しているサーバーで公開されている脆弱性を攻撃します。多くの場合、クローラーによって一括で実行されます。オッズは、サーバーが古いバージョンのものを実行しているとリストされているデータベースを持っている可能性があります。

于 2012-08-07T21:20:08.663 に答える
0

これが共有 Web ホスティングであり、別のユーザーがシェル アクセスでログインし、Web ルートへのパスを推測でき、パスワード構成 (PHP またはその他のスクリプト) ファイルが誰でも読み取り可能である場合、そのユーザーはそれを読み取ることができます。

これは最も一般的な脆弱性の 1 つであり、悪用は非常に簡単です。

このような場合は:

この問題を解決するには、構成ファイルを Web ルート フォルダーの外に移動するか、アクセス許可を変更して、誰でも読み取り可能にしないようにしてから、データベースのパスワードを変更する必要があります。

ほとんどの場合、ユーザーはアプリケーションに何も挿入できません。

悪意のあるユーザーが同じ Web サーバー上にいて、引き続きアクセスできるため、ローカルまたは Web サーバーにのみアクセスできるようにデータベース サーバーを変更しても、何の役にも立ちません。

悪意のあるクエリが表示されなかった場合は、アプリケーションではなく、MySQL コマンド ライン (または PHPMyAdmin またはその他のツール) を介してデータベースにアクセスしている可能性があります。

一般的なクエリ ログを有効にすると、すべてのクエリをプレーン テキストでログに表示できますが、これが共有 Web (および MySQL サーバー) ホスティングである場合、おそらくこれを有効にすることはできません。

これは、Web ホストに報告する必要がある場合があります。彼らは攻撃者を見つけてアカウントを停止したり、証拠を提供したりできる可能性があります。

于 2012-08-08T14:13:02.627 に答える