私は、Apache、Bind9、およびDjangoを備えたUbuntuServerを実行している個人のWebサイト用に自宅で自分のサーバーを実行しています。定期的に追跡するのに最適なログを提案しますか? (何かがうまくいかないときに読むことに基づくのではなく)。侵入の試み(以前にSSHエラーが発生したことがあります)およびサイトでの異常なトラフィックまたはエラーの検出を考えています。
関心のあるログ:
logwatch パッケージを使用して、SMTPトラフィックとSSHログイン、および認証の試行を監視します。デフォルトでUbuntuを含むほとんどのLinuxディストリビューションから入手できます。
aptitude install logwatch
過去に私は logsurfer + も使用しました。これは複雑なソフトウェアですが、高度に構成可能です。
これらのツール(logwatch、logsurfer +)のいずれもニーズを満たさない場合は、さまざまなベンダーのログ管理ソリューションが多数あります。ソフトウェアパッケージから専用デバイスまで。追加の調査を行いたい場合は、ここから始めてください。私はこれらの会社や製品のいずれとも提携していません。
OSSECを使用してログを監視することをお勧めします。デフォルトでは、重要なログファイルを自動検出し、それらすべてをリアルタイムで監視します。
Ubuntuを使用している場合は、すべての認証ログ、Apacheログ、apt-getログ(新しいアプリがいつインストールされるかを確認するため)などが調べられます。
オープンソースであり、活発な開発チームがあり、使いやすいです。ログウォッチのようにX時間ごとにログを確認するのではなく、ログをリアルタイムで確認するため、ログウォッチから移行しました。
リンク: http://www.ossec.net
私は通常、上記のファイルを監視しますが、ほとんどはsyslogファイル(/ var/log/messages)です。私は通常、より良いフィルタリングを提供するためにsyslog-ngを設定し、すべてを表示できるように* .debugとしてログに記録するようにsyslogを設定します。これはすべて、logcheck.shにルーツを持つシェルスクリプトによって読み取られ(申し訳ありませんが、リンクが失われました)、興味深いアイテムが毎日メールで送られてきます。これは、除去するのが難しいノイズの量が増加しますが、私はヘルスチェックとしてもノイズレベルを使用します-ノイズレベルが突然増加または減少した場合、何かが変化しました。
ログウォッチについて1つ注意点があります。それは、探すべき「何」です。単語の発見と相関を実行するために、petitというツールを作成/使用しました。自然言語処理のいくつかの簡単な手法を使用して、ストップワードを削除します。これにより、ログ分析を担当する管理者/アナリストは、ログウォッチを使用して必要なすべてのイベントを実際にキャッチしていることを確信できます。
これは、鶏が先か卵が先かという基本的な問題であり、以前に見たことがない限り、何を検索する必要があるかをどのように知ることができますか。プチの単語発見モードはこれを助けます。また、CLIのグラフ化とハッシュを提供します。