私のサーバーの1つ以上が、ハッカー、ウイルス、またはその他のメカニズムによって侵害されていると思います。
これは、このトピックの正規の投稿であることを意味します。 元はserverfaultから 。
元々はserverfaultから。Thanks to Robert Moir(RobM)
ここに投稿した内容から具体的なアドバイスをするのは難しいですが、私が何年も前に書いたブログにまだ悩まされていたときに基づいた一般的なアドバイスがあります。
まず最初に、侵入前に作成されたバックアップからシステムを復元する以外に「迅速な修正」はなく、これには少なくとも2つの問題があります。
この質問は、ハッカーがWebサーバーに侵入した被害者から繰り返し尋ねられます。答えが変わることはめったにありませんが、人々は質問をし続けます。理由はわかりません。おそらく、人々はヘルプを検索したときに見た答えが気に入らない、またはアドバイスを提供するために信頼できる誰かを見つけることができないだけかもしれません。あるいは、この質問への回答を読んで、ケースが特別で、オンラインで見つけられる回答とは異なる5%の理由に過度に集中しすぎて、ケースが十分に近い場合、質問と回答の95%を見逃しているのかもしれません。彼らがオンラインで読むものとして。
これにより、最初の重要な情報が表示されます。私はあなたが特別なユニークなスノーフレークであることを本当に感謝しています。あなたのウェブサイトもあなたとあなたのビジネスを反映したものであることを感謝します。少なくとも、雇用主のためにあなたの努力が反映されています。しかし、問題を調べてあなたを助けようとしているコンピュータセキュリティ担当者であれ、攻撃者自身であれ、外を見ている人にとっては、問題は他のすべてのケースと少なくとも95%同一である可能性が非常に高いです。今まで見た。
攻撃を個人的に受け取らないでください。また、ここに続く、または他の人から得た推奨事項を個人的に受け取らないでください。あなたがウェブサイトのハックの犠牲者になった後にこれを読んでいるなら、私は本当に申し訳ありません、そしてあなたがここで何か役立つものを見つけられることを本当に望みますが、あなたのエゴがあなたが必要とするものに邪魔をする時ではありません行う。
サーバーがハッキングされたことがわかりました。さて何ですか
パニックにならない。絶対に急いで行動しないでください。絶対に、起こったことのないふりをしたり、行動したりしないでください。
まず、災害がすでに発生していることを理解してください。これは拒否の時ではありません。何が起こったかを受け入れ、それについて現実的になり、影響の結果を管理するための対策を講じるときです。
これらの手順の一部は害を及ぼす可能性があり、(ウェブサイトに私の詳細のコピーが保存されていない限り)これらの手順のすべてまたは一部を無視してもかまいませんが、そうすることで最終的には状況が改善されます。薬はひどい味がするかもしれませんが、本当に治療法を機能させたい場合は、それを見落とさなければならないことがあります。
問題がすでにあるよりも悪化するのを防ぐ:
ただし、問題について顧客に説明してもらうように顧客を苛立たせる可能性がありますが、顧客に知らせないと、顧客はさらに苛立ちます。そして、誰かがクレジットカードの詳細を使用して8,000ドル相当の商品を請求した場合にのみ、顧客は気づきます。あなたのサイトから盗みました。
以前言ったことを覚えていますか?悪いことはすでに起こっています。唯一の問題は、あなたがそれにどれだけうまく対処するかです。
問題を完全に理解する:
検出したエクスプロイトまたはルートキットを「修復」してシステムをオンラインに戻すだけではないのですか?
このような状況で問題となるのは、そのシステムをもう制御できないことです。それはもはやあなたのコンピュータではありません。
システムを制御していることを確実にする唯一の方法は、システムを再構築することです。システムに侵入するために使用されたエクスプロイトを見つけて修正することには多くの価値がありますが、侵入者が制御を獲得すると、システムに他に何が行われたか確信が持てません(実際、採用するハッカーにとって前例はありません)システムをボットネットに組み込み、自分たちが使用したエクスプロイトにパッチを適用し、他のハッカーから「彼らの」新しいコンピュータを保護し、ルートキットをインストールします)。
復旧の計画を立て、ウェブサイトをオンラインに戻し、それに固執する:
誰もが必要以上にオフラインになることを望んでいません。それは当然です。このWebサイトが収益を生み出すメカニズムである場合、すぐにオンラインに戻すというプレッシャーが強くなります。唯一の問題があなた/あなたの会社の評判であるとしても、これはまだ物事を迅速に回復させるために多くのプレッシャーを生み出しています。
ただし、あまりにも早くオンラインに戻りたいという誘惑に負けないでください。代わりに、できるだけ早く移動して問題の原因を理解し、オンラインに戻る前に問題を解決してください。そうしないと、ほぼ間違いなくもう一度侵入の犠牲になり、「一度ハッキングされることは不幸に分類される可能性があります。すぐに再びハッキングされると、不注意のように見えます」(オスカーワイルドへの謝罪)。
将来のリスクを軽減します。
最初に理解する必要があるのは、セキュリティは、インターネットに面するシステムの設計、展開、および保守のライフサイクル全体にわたって適用する必要があるプロセスであり、後で安価なようにコードにいくつかのレイヤーを重ねることはできないということです。ペイント。適切に安全であるためには、サービスとアプリケーションを最初からこれをプロジェクトの主要な目標の1つとして念頭に置いて設計する必要があります。退屈だし、聞いたことがあるだろうし、ベータ版のWeb2.0(ベータ版)サービスをウェブ上でベータ版のステータスにするという「プレッシャーマンに気づかない」と私は思うが、これは事実です。それが最初に言われたときに真実であり、それがまだ嘘になっていないので、繰り返されます。
リスクを排除することはできません。あなたもそれをしようとするべきではありません。ただし、すべきことは、どのセキュリティリスクが自分にとって重要であるかを理解し、リスクの影響とリスクが発生する確率の両方を管理および削減する方法を理解することです。
攻撃が成功する可能性を減らすためにどのような手順を実行できますか?
例えば:
攻撃が成功した場合の影響を減らすために、どのような手順を実行できますか?
家の洪水の下層階の「リスク」が高いと判断したが、移動が必要なほど高くない場合は、少なくともかけがえのない家族の家宝を2階に移動する必要があります。正しい?
...そして最後に
私はおそらく他の人が重要だと考えることの終わりを省いていませんが、ハッカーの犠牲になるほど運が悪い場合は、上記の手順で少なくとも問題の整理に役立つはずです。
何よりも:パニックに陥らないでください。行動する前に考えてください。決定したらしっかりと行動し、私のステップリストに追加するものがあれば、以下にコメントを残してください。
Linuxでファイルを「削除不可」にするには、attributes、具体的には「不変」属性を使用します。属性を確認するには lsattr を、属性を変更するには chattr を参照してください。
ただし、これは根本的な原因にのみ答えます。 重要なことは、あなたのマシンが敵意のある制御を受け、ハイジャッカーが自分の不正な目的のために物事をインストールしたことです。特に、あなたがしようとしているようなクレンジングの試みにもかかわらずエントリを開いたままにするために、彼はおそらく rootkit をインストールしました。ルートキットは、マシン自体からは見えない方法でカーネルやシステムバイナリを変更している可能性があります。要するに、あなたのマシンは保存できないということです; 確実にマシンを再びきれいにして、ディスクを再フォーマットして最初から再インストールすることで節約する方法はありません。
将来の心配や頭痛から身を守ってください。 システムを軌道からnuke 。
ServerFaultからのクロスポストへの返信で言ったように。それは良い説明です。また、攻撃の種類によっても異なります。うまくいけば、または残念ながら、この攻撃は騒々しいので、進行中の攻撃として認識しました。または、攻撃の初期段階であることが合理的に確実である場合、この操作の順序は従うべき良い青写真と言えます。
しかし、あなたが知っている妥協の兆候が感染の全体像を描いていない可能性があり、その程度を理解するまでPCを切断することはあなたの最善の利益にならないかもしれません、私はそれを見つける方が良いかもしれないと主張しますエントリポイントと、影響を受けるシステム/デバイスをネットワークから削除する前に制御できないシステム。
問題の真実は、それらのアクターがあなたのシステムにあなたが思ったよりも長く存在していて、あまりに早く手を見せた(つまり、私があなたが私のシステムに座っていることに気付いた)ことで、根絶するのがはるかに困難になる可能性があります。
簡単な答えはありませんが、RobMが提供する答えは、十分な出発点です。すべてのプレッシャーにより、複数の正しい答えがあり、間違った答えになることもあります。不確実性の原則が適用されるのとほぼ同じように、試してみるまで、答えが正確かどうかはわかりません。
また、 (PDF)NIST Computer Security Incident Handling Guide も確認する必要があります。
この方法論は実際のシナリオとまったく同じですが、以下の方法が考えられます。
•私の最初のステップは何ですか?サイトに到着したときに、サーバーを切断し、「証拠」を保持する必要があります。他に初期の考慮事項はありますか?
Ans:もちろん、サーバーをネットワークから切断する必要がありますが、サーバーの電源を切ったりシャットダウンしたりしないでください。状況、インシデントの影響、および証拠(サーバーをシャットダウンすると、メモリ上のデータが消去される場合があります)。
危機管理とコミュニケーション–危機管理とDR/BCPポリシーがある場合は、前述の手順に従います。これもシナリオの影響を受けます。この場合、これはウイルスの増殖である可能性があるため、プロセスに従う必要がある場合があります。
•サービスをオンラインに戻すにはどうすればよいですか?
Ans:上記のように、危機管理/ DR/BCPの指示に従ってください。これは状況によって異なります。
たとえば、このウイルスが時限爆弾であるか、サーバーで何らかのアクションとランサムウェア攻撃によってトリガーされた場合、DRをすぐに立ち上げないことをお勧めします(これにより、DRサーバーから別のマルウェアの拡散がトリガーされる可能性があります)。最善の方法は、ネットワークへのインシデントの影響を評価し、サービスを回復するために必要なアクションを実行することです。
•同じことがすぐに再発しないようにするにはどうすればよいですか?
Ans:同じインシデントの再発を防ぐために、インシデントの根本原因をできるだけ早く特定する必要があります。上記の回答で示したように、ランサムウェアのシナリオでは、マルウェアがDR /バックアップに伝播されないようにする必要がある場合があります。
ネットワークの脆弱性が原因でインシデントが発生した場合(たとえば、ファイアウォールポートが誤って開かれ、攻撃がこのポートを介して行われた場合)、インシデントの再発を回避するために、既知の/識別された脆弱性を閉じるために直ちに対処する必要があります。
•このインシデントから学ぶためのベストプラクティスまたは方法論はありますか?
Ans:はい、すべての事件は本質的にユニークである可能性があります。したがって、危機管理/ DR/BCP手順を更新して、そのようなインシデントの学習を反映させます。
そのようなインシデントの回避/早期検出のために、予防的モニタリング/インシデント識別を実施することが常に推奨されます。たとえば、SOC(セキュリティオペレーションセンター)またはSIEM(セキュリティインシデントイベント管理)ツールを展開できます。
•インシデント対応計画をまとめたい場合、どこから始めればよいですか?これは、災害復旧または事業継続計画の一部にする必要がありますか?
Ans:これはBCP/DR計画の一部であり、通常は危機管理(BCP計画の一部)でカバーされている必要があります。
すべてをバックアップします。サンドボックスタイプの環境でフォレンジックを実行できるようにします。
次に、0から開始します-はい、NOTHINGから。
新しいO/S-完全にパッチされています。アプリケーション-バックアップからの最新のデータファイル....(可能であれば、侵害される前)。そうでない場合は、コンテンツと権限をすべてスキャンする必要があります。
次に、ハッカーがどのように侵入したかを徹底的に見直し、それが再び発生しないことを確認します。
何が起こったのかを見つけたら、それが再び起こらないように対策を講じ、発見した内容を(内部的および/または外部的に)公開します(対策は省略できます)。
これから学ばない限り-あなたは再び同じ運命に苦しむでしょう。