CentOSサーバーへの最新の成功したログインと失敗した試行の検索


29

ユーザー名/パスワードの不一致が原因で失敗した最新のログイン試行を報告するログファイルまたはサービスを探しています。CentOSで使用できるそのようなユーティリティはありますか?(組み込みが推奨されます)

2番目の質問、より一般的には、サーバーへの侵入試行のログファイルが必要です。理想的には、このログには、ログイン、httpdアクティビティ、およびその他の従来のオープンポートを含むすべての試行が含まれている必要があります。


2
2番目の質問への回答:OSSECを見てください
クォンタ

1
Serverfaultで質問をした後、このスレッドはStackoverflowから移動されました。次に、2番目の質問を議論するスレッドを示します。
ラシュガー

回答:


61

Linuxでは、lastコマンドは成功したログイン試行を表示し、セッション情報(pts、ソース、日付、および長さ)を表示します。

このlastbコマンドは、不正なログイン試行をすべて記録します。どちらも同じmanページを共有しますが、違いはlastバイナリ/var/log/wtmpファイルをlastb読み取り、/var/log/btmpデフォルトでファイルを読み取ることです。

これらのファイルの範囲は、ログローテーションスケジュールによって異なりますが、数週間かかるはずです。ほとんどのディストリビューションは/var/log/wtmp毎月ローテーションされるため、通常/var/log/wtmp.1-fパラメーターでファイルを指定することでリストされる以前のレコードを読み取ることができます...last -f /var/log/wtmp.1


17
+1lastb
ラシュガー

3
これが選択された答えである必要があります
コーダー

@acoder、行わ:親指:
lashgar

14

質問はここではオフトピックですが、非常に短い答えです:たぶん/ var / log / secureをチェックする必要があります(たとえば、「失敗」のgrep)。


それは実際に私の最初の質問に対する答えです。ServerFaultで2番目を尋ねます。ありがとう。
ラシュガー

1

これは古いスレッドですが、私はこのような同様のタスクを得たので、私の場合、これはログエントリです

Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2

ユーザーが静的であることが確実な場合は、このようにすることができます

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for git"
grep -i "$MESSAGE" "$LOG

ユーザーごとに知っている場合

#!/bin/bash
LOG=/var/log/secure
if [ -n "$1" ]
then
NEWUSER="$1"
else
NEWUSER="root"
fi
MESSAGE="Failed password for $NEWUSER"
grep -i "$MESSAGE" "$LOG"

したがって、スクリプトは次のように実行する必要があります

[root@megatron bash1]# ./failedlogin.sh git

またはより簡単なアプローチ

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.