web-dev-qa-db-ja.com

Linuxサーバーがrootkits / backdoors / botnetsなどからクリーンであるかどうかを確認する方法は?

Linuxサーバーが非常に低いセキュリティポリシー(r/w匿名のSambaフォルダー、デフォルトの管理者パスワードが設定されたFirebirdデータベースサーバー、ファイアウォールなしなど)でインターネットに1週間公開された場合、システムが完全なフォーマットと再インストールなしで妥協せず、SSH経由でリモートからのみアクセス

9
Ivan

通常、 chkrootkit などのツールを使用してローカルチェックを行うことをお勧めしますが、チェックを実行する唯一の方法がリモートで行う場合は、代わりに Rootkit Hunter を試すことをお勧めします。

Rookit Hunterは、次のようなテストを実行して、ルートキットやその他のアクティビティをチェックします(詳細については プロジェクト情報 を参照してください)。

  • MD5ハッシュ比較
  • ルートキットが使用するデフォルトファイルを探す
  • バイナリの誤ったファイル権限
  • LKMおよびKLDモジュールで疑わしい文字列を探します
  • 隠しファイルを探す

他の人が言ったように、サービスを改ざんされていないことを確認する唯一の確実な方法は、それを再構築することです。これらのツールはうまく機能しますが、成功を100%保証するものではありません。

7
runlevelsix

[〜#〜] ossec [〜#〜] ルートキットをチェックし、不審なアクティビティを検出します。

2
chmeee

この答えはあなたが聞きたいものではないことは知っていますが、とにかくここに行きます。システムがクリーンであることを確認するための最良の方法は、サーバーをワイプして再構築することです。私は次のようにします:

  • コンピューターをインターネットから削除する
  • データと構成情報をバックアップしてデバイスを削除する
  • フォーマットストレージ
  • ベース/標準セットアップ/アップデートを再インストールします
  • 参照として古いデータを使用してサーバーを再構成する
  • ユーザデータを復元します

まだ読んでいない場合は、ここから読み始めます。

[リンクテキスト] [1] リンクテキストリンクテキストリンクテキスト

[1]: http://www.sans.org/reading_room/whitepapers/linux/linux-rootkits-beginners-prevention-removal_901 "Linuxルートキットの初心者"

2
JJ01

また、希望する答えではありませんが、システムがルート化された可能性がある場合、システムがクリーンであることを100%確認することは非常に難しい場合があります。ルートキットは検出が困難になるように設計されています。さまざまなルートチェッカーを実行してクリーンチェックアウトした場合、システムは「おそらく」クリーンです。

セキュリティが懸念される場合は、上記のように再構築するか、適切なバックアップから復元することを検討します。

2
USACASD

RKhunter、Tripwireなどは素晴らしいですが、インシデントの前にインストールされている場合にのみメリットがあります。これは、キーファイルが変更されたかどうかを検出するのに優れているためです。今すぐRKHunterをインストールして実行すると、多くのルートキットが含まれていることが検出されますが、OSまたは使用しているアプリケーションで攻撃者が開いたバックドアは検出されません。

たとえば、コンピュータに忍び込み、新しいユーザーを作成し、SSHおよびSudo権限を付与し、その後クリーンアップして、正当に見える構成をそのままにしてルートキットを残さないようにして、後で戻って悪を行うことができます。

最善の方法は、どのポートがサービスをリッスンしているかを調べ、次にそれらすべてのサービスの構成を調べ、それらがすべて正当であることを確認することです。次に、ファイアウォールの構成を調べ、不要なポートを受信と送信の両方でロックダウンします。次に、RKHunterなどをインストールして、スクリプトキディがルートキットを乱雑にそこにドロップしたかどうかを確認します。

正直に言うと、JJが提案して再構築する作業は、コンピューターが侵害されていないことを確認するよりも少ない作業です。 OSや構成ではなく、貴重なデータです(セットアップの工数は別です)。

あなたよりも賢い誰かによってそれがクラックされなかったと確信することは決してないでしょう。

1
dunxd

ここで積極的に行動する必要があります。マシン上のルートキットを検出する信頼できる方法はありません。そのため、最初にルートキットがそこに到達するのを防ぎ、侵入時にそれらを検出する方法を見つける必要があります(たとえば、トリップワイヤーやロックダウンされたインターフェースを介して)。

マシンが何らかの方法で悪用されたと思われる場合は、本当に再インストールする必要があります。再インストールしない限り、マシンをクリーンアップする保証された方法はありません。はるかに安全なオプションです。

1
Adam Gibbins

最初のステップは実際にはrkhunter/chkrootkitでなければなりませんが、特定のパッケージマネージャーに組み込まれている機能(たとえば、「rpmverify」など)を使ってシステム上のすべてのパッケージを調べ、それらに含まれるファイルのMD5Sumは、ディスク上のファイルと変わりません。

コアバイナリは、実際にはRPMまたはDPKGデータベースで指定されているものと同一のMD5を持っている必要があります。

0
JamesHannah