CentOS 서버에 대한 최근의 성공적인 로그인 및 실패한 시도 찾기


29

사용자 이름 / 암호 불일치로 인해 실패한 최신 로그인 시도를보고 할 로그 파일 또는 서비스를 찾고 있습니다. CentOS에 사용 가능한 유틸리티가 있습니까? (내장 선호)

두 번째 질문이며, 일반적으로 서버에 대한 침투 시도 로그 파일이 필요합니다. 이상적으로이 로그에는 로그인, httpd 활동 및 기타 기존의 열린 포트를 포함한 모든 시도가 포함되어야합니다.


2
두 번째 질문에 대한 답변 : OSSEC을 살펴보십시오 .
quanta

1
이 스레드는 Serverfault에서 질문을 한 후 Stackoverflow에서 이동되었습니다. 다음 은 두 번째 질문을 논의하는 스레드입니다.
lashgar

답변:


61

Linux에서 last명령은 성공적인 로그인 시도를 표시하고 세션 정보 (pts, source, date 및 length)를 표시합니다.

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
lastb
lashgar의

3
이것은 선택된 답변이어야합니다
코더

@acoder, done : thumb :
lashgar

14

문제는 여기서는 주제가 아니지만 매우 짧은 대답입니다. / var / log / secure를 확인해야합니다 (예 : grep "failed").


실제로 첫 번째 질문에 대한 답입니다. ServerFault에서 두 번째를 물어 보겠습니다. 감사.
lashgar

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.