ドキュメントはしばらく前から書いていましたが、アップロードする勇気がありませんでした。サーバーのセキュリティについて知れば知るほど、自分が浅はかだと感じます。多くのことはまだ始めていないのです。これを投稿して、多くの素晴らしい人々の前で自分のスキルを披露しようとすると、気をつけないと切り刻まれてしまうかもしれません。 執筆中、何が起こっているのか、どう分析して対処すべきかは分かっているものの、それを言葉でどう表現すればいいのか分からない箇所が多々あります(知識が必要な時に使われることは少ないのも事実です)。そのため、文章力の限界についてはご容赦ください。 もっと深く話したり、理由を説明したりしたいところもありますが、私の個人的な能力には限界があり、基本的なことしか知りません。今、私が恥ずかしげもなく話せるのは、日常のサーバー管理方法と、最近遭遇したいくつかの問題の分析と対処方法だけです。他の攻撃方法については、実際に遭遇した後、状況に応じて対処するしかありません。それらの分析と対処方法については、まだ遭遇していないので、どのように話せばいいのかわかりません。記事で提案されている内容の一部は参考用であり、運用方法として使用できます。 前回の記事「サーバーセキュリティ導入ドキュメント」では、サーバーをより安全に導入する方法のみを書いていましたが、なぜこのように設定するのか、なぜMcAfeeファイアウォールを使うのかなど、詳しい説明はありませんでした。でも、よく考えてみると、本当に詳しく説明すると、ドキュメントの長さが半分以上になる可能性があり、皆さん本当に読んでいて目が回ってしまうでしょう、笑。しかし、この記事では、その内容のごく一部について、再度説明と補足を行います。 さあ、これ以上時間を無駄にしないで、本題に入りましょう。 目次 1. はじめに サーバーが安全に配備された後、毎日のメンテナンスが行われないと、柵で囲まれた羊の群れを何も注意を払わずに広い草原に放置するようなものです。ある日、狼が柵の問題を発見し、柵を破壊して群れの中に侵入し、楽しんでいる間に、飼い主は遠く離れていて気づかないのです。日々のメンテナンスが適切に行われていれば、問題を発見し、抜け穴を適時に修復することができ、損失を減らすことができます。 2. 導入環境 省略(サーバー展開ドキュメントを参照してください) 3.1. McAfee VirusScanコンソールを確認する 他のツールではなく McAfee を使うのはなぜかと尋ねる友人もいるかもしれません。これは、McAfee にはアクセス保護機能があるためです。対応するセキュリティ ポリシーが有効になっている限り、許可されていないすべてのソフトウェア (アクセス保護で設定された除外プロセス) は、対応する操作を実行できなくなります。たとえば、「Windows フォルダーでの新しい実行可能ファイルの作成を禁止する」を有効にしたり、サーバー上のすべてのディレクトリで dll ファイルと exe ファイルの作成を禁止するようにポリシーをカスタマイズしたりすると、誰かがサーバーをハッキングしたときに、一部のメソッドが実行されない可能性があります。攻撃者が当社のオープン サービスを利用してトロイの木馬をアップロードしたり侵入したりする場合、このセキュリティ戦略により、攻撃者が権限昇格操作を実行する際にも大きな困難が生じます。 これらのポリシーを有効にした後、除外するプロセスを追加するときは、理解できない、またはよく知らないプロセスをすべて除外する必要があります。一部のプロセスは使用する必要がないため、サーバーのセキュリティを強化するために一時的に開いた後に削除する必要があります。もちろん、神のような敵は怖くないですが、豚のようなチームメイトは怖いです。サーバー管理が雑で、ログにブロック項目が表示されたときに除外プロセスを追加するだけであれば、何も言うことはありません。 VirusScanコンソールを開く 関連する項目が正常に有効になっているかどうかを確認します アクセス保護ログを確認する 新しく無効化またはブロックされたレコードがあるかどうか、どのアカウントがレコードを操作したか、Web サイトの動作に影響があるかどうかを確認してから、ルール リストに追加するかどうかを検討します。一般的に、ブロック項目が Web サイトまたはサービスの動作に影響を与えない場合は、無視します。 ログからは、どのユーザーが操作しているか、どのプログラムが実行されているか、どのような操作がブロックされたかがわかります。一般的に、当社のサーバーはウェブサイトに使用されます。ここで SYSTEM または IIS 関連のアカウントが無効になっている場合は、これらのプログラムがウェブサイトの動作に必要かどうかを慎重に確認してください。必要であれば許可し、必要でない場合は無視してください。管理者アカウントの操作については、自分の操作によって発生したものであれば、一時的に許可するだけにしてください。そうでない場合は、侵入された可能性がないかどうか確認してください。 追加する必要がある場合は、アクセス保護の除外プロセスルールに追加します 追加後、再度テストして正常かどうかを確認します。それでも動作しない場合は、ログを再度開き、新しいログレコードで禁止されているプロセスを対応するポリシーに追加します。
McAfee HIP ファイアウォールは、サーバーのすべてのポートへの内部および外部からのアクセスを直接監視し、指定されたソフトウェアによる特定のポートの使用を直接無効にし、既知のゼロデイ攻撃、サービス拒否 (DoS) 攻撃、分散型サービス拒否 (DDoS) 攻撃、SYN フラッド攻撃、暗号化攻撃を即座に防御およびブロックできます。 アプリケーション ポリシーが有効になっている場合は、すべてのサーバー ソフトウェアの使用と操作を直接制御することもできます。 ファイアウォールアイコンをダブルクリックしてファイアウォールソフトウェアを開きます IPSポリシーの侵入防止ファイアウォールが有効になっているかどうかを確認します ファイアウォールが有効になっているかどうかを確認し、設定されているルールに新しく追加された項目があるかどうかを確認して、これらの項目が正常に設定されているかどうかを判断します。 アクティビティ ログを確認し、許可されているすべての項目のレコードを開いて、アクセス リンクを持つ新しいポートがあるかどうかを確認し、それらを許可するかどうかを決定します。ない場合は、ファイアウォール ルールに手動で追加します。 ブロックルールを手動で追加する アクティビティ記録を再度確認してください。この製品へのアクセスはブロックされています サーバーのセキュリティを強化したい場合は、アプリケーション ポリシー機能を有効にすることもできます。この方法では、サーバー上で実行されるすべてのソフトウェアに承認が必要になります。手間はかかりますが、システムのセキュリティと信頼性は高まります。仮想マシンでテストすることで、設定方法を確認できます。
Windows ファイアウォールを開いて、オンになっているかどうかを確認します (McAfee ファイアウォールはすでに存在しますが、一方のファイアウォールが誤ってオフになってももう一方のファイアウォールがオンのままにならないように、システム独自のファイアウォールをオンにする必要があります) ファイアウォールのポート開放状況を確認し、自分で設定したポートであるかどうか、また新たに開放されたポートがあるかどうかを確認します。ある場合は、それに応じた判断を行い、サーバーの他の管理者に相談してください。
主にいくつかのウェブサイトのディレクトリ設定をチェックして、ディレクトリの書き込み権限が有効になっているかどうかを確認し、書き込み権限を持つすべてのフォルダに実行権限があるかどうかを確認します。同時に、ウェブサイトに新しいディレクトリがあるかどうか(一部のディレクトリは、サーバー管理者の知らないうちに開発者によって勝手に追加される場合があり、一部はハッカーによって追加される場合があります)、これらのディレクトリ権限がどのように設定されているかなどを確認します。 書き込み権限の確認に加えて、新しいアカウントが追加されていないかどうかも確認してください。ルートディレクトリに書き込み権限がある場合は注意してください。また、新しいアカウントがある場合は、他の管理者によって追加されたかどうかにも注意してください。 書き込み可能なディレクトリに実行権限があるかどうかを確認します 上記の方法に従って、ウェブサイトの関連フォルダを確認します。また、JS、CSS、画像、構成、ログ、HTMLなど、実行する必要のないディレクトリについては、書き込み権限が設定されていないものの、スクリプト実行制限がないように設定することをお勧めします。
サーバー マネージャーを開き、アカウントがデフォルトのものであるかどうか、および新しいアカウントがあるかどうかを確認します (通常、サーバーが侵入された後、いくつかの新しいアカウントが作成されるか、元々ゲスト グループに属していたいくつかのアカウントが管理者またはユーザー グループの権限にアップグレードされます)。 このドキュメントは新しい仮想マシンでテストおよび作成されているため、IIS アクセス アカウントはアプリケーション プール アカウントを使用するため、前回の記事ほど多くのアカウントはありません。 管理者アカウントが属するグループが空かどうかを確認します。 DisableGuestアカウントがゲストに属しているかどうか、アカウントが無効になっているかどうかを確認します。 他のアカウントがある場合は、上記のチェックも行ってください
ログファイルは私たちにとって非常に重要です。ログファイルを使用して、さまざまなアカウントの操作トレースを表示できるため、ログの保存パスを変更するのが最適です。また、ログディレクトリの SYSTEM アカウント権限は、読み取り専用と追加専用に設定する必要がありますが、変更専用には設定しないでください。このようにして、システムが侵入されても、ログファイルを削除または変更することはできません。 (ログパスの変更についてはインターネット上に多くの記事がありますので、ここでは詳しく説明しません) ログをチェックし、主にログ内の警告やエラーメッセージを見て、どの例外がコードの問題によって発生したか(これらの例外を関連する同僚に送信して修復する)、どの例外がシステムエラーであるか(ファイアウォールルールによるものか、サービスまたはプログラムのエラーによるものかを判断し、対応する処理が必要かどうかを判断)、どの例外がハッカーによる侵入攻撃であるか(攻撃方法を分析した後、関連するコードページを再確認して処理し、侵入に成功する個々のページの脆弱性を回避することができます)を分析します...ログに表示される例外については、実際にはコード自体が原因ではないレコードが多数あります。より一般的なのは、誰かがXSSを使用して送信を攻撃することによって発生した例外です。これらの例外に注意を払う必要はありません。ページ送信入り口でのSQLインジェクションとXSS攻撃のフィルタリング操作が適切に行われていれば、問題はありません。 セキュリティ イベント ログについては、監査の成功と失敗の記録を注意深く確認し、次の点に注意してください。ログインとログアウトの正常または失敗の時間、サーバー管理者自身がログインしたかどうか、自分で作成していないアカウントがあるかどうかを確認します。バッチ ログイン イベント (および侵入成功の可能性) があるかどうかに注意してください。さまざまなアカウント管理イベントとセキュリティ グループ管理イベント (侵入成功後、アカウントの作成、パスワードの変更、アカウントの削除などが行われる可能性があり、記録されます)。監査ポリシーの変更イベント (管理者自身が変更したかどうか、管理者自身ではなく別の管理者の場合は、変更内容を確認します)。詳細については、Baidu で「監査 WINDOWS セキュリティ ログ」を検索し、さまざまな監査イベントの説明を注意深く調べてください。
ウェブサイトのアクセスログの検査や分析については、インターネット上に多くの紹介がありますが、ここでは繰り返しません。主に私個人の見解を述べます。 IIS ログには、ユーザーが Web サイトにアクセスしたすべてのリンクが忠実に記録されます。サイトで GET メソッドを使用してパラメータを送信する場合、ログからさまざまな SQL インジェクションおよび XSS 攻撃方法を簡単に確認できます。 POST を使用して送信した場合、これらの内容は表示されません。主に各種異常なアクセス方法を見つけるためにログを確認します。 たとえば、ログから、'、1=1、1>0、update、insert、<、>、#、$、{、sp_、xp_、exe、dll など、攻撃でよく使用される特殊文字を探します。画像拡張子のレコードにパラメータがあるかどうかを確認します (アップロードの脆弱性があるかどうかを確認します)。もちろん、分析ツールをダウンロードしたり、自分で作成したりすることもできます。 アクセス ログは通常は分離されておらず、他の関連ログと組み合わせて分析する必要があります。 以下に例を挙げて説明します。 2月10日、同社のバックエンド操作ログを確認したところ、上海のIPからのアクセス記録が複数見つかった(注:同社のウェブサイトのバックエンドは独立したドメイン名であり、他人には知られておらず、同社には上海に他のスタッフはいない。また、私が開発したバックエンド管理システムの各ページは暗号化されており、正常にログインせずにページが生成したURLをクリックすると、アクセス権がなくなります。フレームワークは、各管理者のすべての操作をバックグラウンドで注意深く記録します(ページ閲覧記録を含む)) バックステージ管理者の操作とアクセスログ情報: 見つけたときはとても驚きました、すぐに対応するログインログとIISログを確認しました ログインログレコードが見つかりません IIS ログには、上記のユーザー操作ログ レコードに対応するレコードなど、対応するレコードが多数あります (注: IIS ログ レコードのタイム ゾーンは、中国がある East 8 ゾーンではないため、時間を確認するときは 8 を追加します)。 KeyEncryptの暗号化コードは同じなので、対応する会社のIPアクセス記録がすぐに見つかりました。 そして手がかりを追ってユーザー操作ログを確認し、この時点で誰が操作していたのかを調べます。 それから私はすぐにその同僚のところに行き、彼のコンピューターが感染していないか、あるいは誰かが彼のブラウザを乗っ取っていないかを確認しました。 みんなはこれで一件落着だと思っていたのですが、同僚もシステムの再インストールをしていました~~~ 上記の方法で再度確認したところ、多くの同僚に同様の記録があることがわかりました。訪問したIPアドレスはすべて上海電信、深セン電信、中国聯通の複数のIPセグメントからのものであり、フロントエンドページにも同一のIPが見つかりました。アクセスリンクの該当IPアドレスは全国各地の顧客のものでした。全員が感染しているはずがありません。さらに、これらの訪問の特徴は、全員が指定ページを訪問した後、数分または30分後に、同じパスのアクセス記録が1つ以上あることです...突然、不気味な気持ちになりました。インターネットを閲覧するとき、どのようなプライバシーがあるのでしょうか?私たちがアクセスするすべてのページは、私たちがどこに行くかを確認する誰かによって監視されています。この時点では、何と言えばいいのか分かりません (サーバー ログをチェックして、次の IP アドレスがあるかどうかを確認してください)。アクセスを公開しているのは、使用しているブラウザーですか、それともファイアウォールですか?それとも他のソフトウェアですか?これを明らかにするにはさらなる研究が必要です。 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 今回はバックグラウンドアドレスが露出したにもかかわらず、システムへのアクセスは成功しませんでした。ただし、安全のため、バックグラウンドログインにはすぐにIP認証方式が追加されました(SMS認証コードを取得し、送信後に現在のユーザーのIP認証方式を取得する必要があります - SMSを受信できる携帯電話は、バックグラウンドシステムに入力された従業員の携帯電話番号です)。 ログ分析は、各人のシステムが異なるため、そのまま適用することはできません。決まったパターンはありません。具体的な状況に応じて運用する必要があります。ログ分析を自分の仕事にうまく適用できるように、ログ分析についての考え方を学ぶ必要があります。 Baidu でさらに検索して、他の友達がどのようにログを分析しているかを確認し、自分自身をさらに向上させる必要があります。 その他のログ分析例: https://www.jb51.net/hack/648537.html 3.8. FTPログを確認する FTP ログでは主に、誰かが侵入を試みているかどうか、どのアカウントを使用して試行したか、ログインが成功したかどうか、どのような操作が実行されたかなどを確認します。
ウェブサイトのフロントエンドとバックエンドの操作、支払い、および関連するビジネスインターフェースにログ記録がある場合は、それらも注意深く確認する必要があります。 まず、異常な記録がないか確認してください。異常な記録がある場合は、関係する担当者に修理を依頼してください。 ウェブサイトのバックエンドでは、ログインした管理者がアクセスしたIPアドレスが自社の所在地のものか、海外のIPアドレスはないか、ある場合は自社の従業員かなど、主に不正ログインがないか、どのページにアクセスしたか、どのような操作を行ったかなどをチェックします。 ウェブサイトのフロントエンドとビジネス インターフェースに関連するログは、主にビジネス ロジック、再充電、および特定のビジネスに依存するその他の関連情報をチェックします。
サーバーをインストールしたら、すぐにサーバー上で実行されているプロセスのスクリーンショットを撮って保存しておくのがベストです。定期的にサーバーをメンテナンスするときに、現在実行中のプロセスと比較して、見慣れないプロセスが追加されていないかどうかを確認できます。追加されている場合は、Baiduで検索して、それが何のソフトウェアであるか、その機能は何か、危険なバックドアプログラムであるかどうかなどを確認します。
データベースの自動バックアップをしっかり行い、その日のバックアップが成功したかどうかを頻繁にチェックしてください(データがいっぱいになったり、その他の異常が発生したりして、バックアップが成功しないこともあります)。バックアップが失敗してデータベースに問題が発生した場合、何が起こるかは予測できます。スペースが大きく、データが非常に重要な場合は、毎日より多くのバックアップやデータ同期操作を実行する方が安全です。友人のほとんどが 1 台または数台の独立したサーバーしか持っていない場合は、自動バックアップに加えて、データベースを圧縮して毎日ローカル バックアップにダウンロードする必要があります。 ウェブサイトと関連画像を定期的にバックアップしてください。 上記の各種ログを定期的にバックアップします(一定期間後に侵入が発見された場合など、何らかの情報を表示して分析する必要がある場合に、それらを使用する必要があります。このとき、脆弱性の原因がどこにあるかを確認し、修復できるように、履歴ログをゆっくりと確認する必要があります)。また、バックアップしたログファイルをクリーンアップします(友人の中には、ログをクリーンアップしない人が多く、ログの保存スペースがいっぱいになってエラーが発生することがあります)。
1. ハッキング対策は長くて大変な作業です。セキュリティ設定をしっかり行うだけでなく、サーバーに関する細かい点検やメンテナンスも定期的に行う必要があります。 5. 問題が発見された場合、攻撃者がどのように侵入し、どのような操作を行ったかを確認するために、新旧のログをすべて詳細に分析し、次の侵入を防ぐための適切な戦略を策定する必要があります。 7. もちろん、ウェブサイトのプログラムアーキテクチャを理解できれば、ウェブサイトのセキュリティにさらに役立ちます。 私の文章力に限界があるため、この記事には抜けているところがたくさんあると思います。ご指摘いただければ幸いです。最後に、この記事が皆様のお役に立てれば幸いです。 この記事が役に立ったと感じた場合は、ぜひ推薦してください。 著作権に関する通知: このコンテンツを公開する目的は、皆さんと一緒に学び、進歩することです。興味のある友人は、QQグループ:327360708に参加するか、私にメール(1654937#qq.com)して議論することができます。仕事が忙しいため、質問がある場合は、まずメッセージを残してください。返信が遅くなることをお許しください。 |
<<: vue cli3は環境ごとにパッケージ化の手順を実装します
>>: Linux CentOS MySQL データベースのインストールと設定のチュートリアル
背景最近、Docker 初心者の友人から、毎回プロジェクト構成ファイルにハードコーディングしてサービ...
http1.1 プロトコルのデフォルトのリクエスト ヘッダーでは、図に示すように、デフォルトで ke...
IDEA は Java で最も一般的に使用されている開発ツールであり、Docker は最も人気のある...
watch : データの変更を監視する(特定の値の変更イベント) vue2.x データ(){ 戻る ...
目次歴史pushState() メソッドpushState() の使用シナリオreplaceStat...
この記事では、WindowsでのMySQL 8.0.12のインストール手順と使用方法のチュートリアル...
ドロップダウンボックス、テキストフィールド、ファイルフィールド 上半分はデモンストレーション効果、下...
目次導入厳密モードの使用厳格モードの新機能例外を強制的にスローする変数の使用を簡素化する議論を単純化...
目次序文zxライブラリ$`コマンド` CD()フェッチ()質問()寝る()スローしない()チョークフ...
参考: MySQL 文字セットの概要utf8mb4 は MySQL 8.0 のデフォルトの文字セット...
以前、写真が与えられ、その写真スタイルに基づいてフォームを作成するという課題に遭遇しました。しかし、...
Gtid + Mha + Binlog サーバー構成: 1: テスト環境OS: CentOS 6.5...
目次1.vモデル2. プロパティとイベントのバインディング3. フォーム要素のバインディング3.1 ...
目次シナリオ中核問題ステータス監視状態監視の利点国家監視の欠点復興実行のアイデア依存関係の収集要約す...
PHP7 がリリースされてからかなり時間が経ちますが、パフォーマンスが大幅に向上したことはよく知られ...