Linuxサーバーがハッキングされたことを物語る兆候は何ですか?定期的に監査レポートを生成してメールで送信できるツールはありますか?
Linuxサーバーがハッキングされたことを物語る兆候は何ですか?定期的に監査レポートを生成してメールで送信できるツールはありますか?
回答:
あなたはしません。
私は知っている-私は知っている-しかし、それは本当に妄想的で悲しい真実です;)もちろん多くのヒントがありますが、システムが具体的に標的にされた場合-それを伝えることは不可能かもしれません。完全に安全なものはないということを理解するのは良いことです。しかし、より安全に作業する必要があるため、代わりに他のすべての答えを指摘します;)
システムが危険にさらされた場合、システムツールのどれもが真実を明らかにすることはできません。
過去に私をひっくり返したいくつかのこと:
ls
(これは壊れたルートキットで発生する可能性があります)/
またはに隠されたディレクトリ/var/
(ほとんどのスクリプトキディは愚かすぎるのでトラックをカバーできません)netstat
あるべきではない開いているポートを示しますbind
、常に使用しますdjbdns
)さらに、ボックスが侵害されていることを示す信頼できる兆候が1つあることもわかりました。システムを継承した管理者の勤勉さ(更新など)について気分が悪い場合は、注意してください。
ハッキングされたサーバーをチェックする方法がありますkill
-
基本的に、「kill -0 $ PID」を実行すると、プロセス識別子$ PIDにnopシグナルが送信されます。プロセスが実行されている場合、killコマンドは正常に終了します。(FWIW、nop killシグナルを渡すため、プロセスには何も起こりません)。プロセスが実行されていない場合、killコマンドは失敗します(終了ステータスがゼロ未満)。
サーバーがハッキングされた場合/ルートキットがインストールされた場合、最初に行うことの1つは、プロセステーブルなどから影響を受けるプロセスを隠すようカーネルに指示することです。ただし、プロセス。そして、これはつまり
a)このチェックは広範なチェックではありません。適切にコード化された/インテリジェントなルートキットにより、カーネルがこのプロセスを冗長にする「プロセスが存在しない」という応答を返すことが保証されるためです。b)いずれにせよ、ハッキングされたサーバーで「不良」プロセスが実行されている場合、通常は/ procの下にPIDは表示されません。
そのため、これまでここにいた場合、システムで使用可能なすべてのプロセス(1-> / proc / sys / kernel / pid_maxのすべて)を-0で強制終了し、実行されているが報告されていないプロセスがあるかどうかを確認する方法です/ procにあります。
一部のプロセスが実行中として起動しているが、/ procで報告されていない場合、おそらくそれを見ると何らかの問題があります。
これをすべて実装するbashスクリプトは、https://gist.github.com/1032229です。それをいくつかのファイルに保存して実行します。procで報告されていないプロセスが見つかった場合は、掘り始めるためのリードが必要です。
HTH。
ここで指定された応答を2番目に追加し、独自の応答を追加します。
find /etc /var -mtime -2
これにより、メインサーバーファイルのいずれかが過去2日間に変更されたかどうかをすばやく確認できます。
これは、ハッキングの検出に関する記事から です。サーバーがハッキングされているかどうかを検出する方法。
IDSを使用する
SNORT®は、ルール駆動型言語を利用したオープンソースのネットワーク侵入防止および検出システムであり、署名、プロトコル、および異常ベースの検査方法の利点を組み合わせています。これまでに何百万ものダウンロードがあったSnortは、世界中で最も広く導入されている侵入検知および防止技術であり、業界の事実上の標準となっています。
Snortはネットワークトラフィックを読み取り、「ドライブバイペンテスト」など、誰かがサーバーに対してメタスプロイトスキャン全体を実行するようなものを探すことができます。私の意見では、このようなことを知っているのは良いことです。
ログを使用...
使用状況に応じて、ユーザーがログインしたとき、または奇数のIPからログインしたとき、rootがログインしたとき、または誰かがログインしようとしたときに知ることができるように設定できます。私は実際に私のサーバーに電子メールを持っているすべてのログメッセージ高いデバッグより。はい、通知さえ。もちろん、それらのいくつかをフィルタリングしますが、毎朝10件のメールに関するメールを受け取ったとき、それを修正して、それが起こらないようにします。
設定を監視する-リビジョンを追跡できるように、実際には/ etc全体をSubversionに保持します。
スキャンを実行します。LynisやRootkit Hunterなどのツールを使用すると、アプリケーションのセキュリティホールの可能性を警告できます。すべてのビンのハッシュまたはハッシュツリーを維持し、変更を警告できるプログラムがあります。
サーバーを監視します-ディスクスペースについて述べたように-何かが異常な場合、グラフがヒントを与えてくれます。私はCactiを使用して、CPU、ネットワークトラフィック、ディスク容量、温度などを監視します。何かがおかしいと思われる場合はおかしいので、なぜおかしいのかを見つけてください。
これに追加したいだけです。
bashの履歴を確認します。空で、設定を解除したり空にしたりしていない場合は、誰かがサーバーを侵害した可能性があります。
最後に確認してください。不明なIPが表示されるか、非常に空に見えます。
その後、受け入れられた答えが述べたように、システムファイルはしばしば変更されます。変更された日付を確認してください。しかし、彼らはしばしば変更された日付を改ざんします。
多くの場合、ランダムポートで実行されている別のバージョンのsshをインストールします。これはしばしば奇妙な場所に隠されています。通常、ssh以外の名前に変更されることに注意してください。したがって、netstatを確認し(頻繁に置き換えられるため機能しない場合があります)、iptablesを使用して不明なポートをブロックします。
いずれにせよ、これは予防が治療よりも優れている状況です。侵害された場合は、フォーマットしてもう一度やり直すことをお勧めします。ハックを正常にクリーニングしたことを確認することはほとんど不可能です。
サーバーが危険にさらされるのを防ぐために、次のことに注意してください。
1台のサーバーに接続すると、bashの履歴を確認し、そのサーバーからsshを介して接続した他のサーバーを探すことに注意してください。次に、それらのサーバーへの接続を試みます。そのため、パスワードが不十分なために強引に強制された場合、他のサーバーに接続し、それらを侵害する可能性が非常に高くなります。
それはい世界です、私は予防が治療よりも優れていることを繰り返します。
少し調べてみると、これもあります。これは、上にリストしたものを実行します。他のものの中では:http : //www.chkrootkit.org/とhttp://www.rootkit.nl/projects/rootkit_hunter.html
GuardRailをチェックアウトする必要があります。サーバーを毎日スキャンして、変更点を視覚的にわかりやすく表示できます。エージェントを必要とせず、SSH経由で接続できるため、エージェントでマシンとリソースをジャンクする必要はありません。
何よりも、最大5台のサーバーで無料です。
こちらをご覧ください: