사용자 이름 / 암호 불일치로 인해 실패한 최신 로그인 시도를보고 할 로그 파일 또는 서비스를 찾고 있습니다. CentOS에 사용 가능한 유틸리티가 있습니까? (내장 선호)
두 번째 질문이며, 일반적으로 서버에 대한 침투 시도 로그 파일이 필요합니다. 이상적으로이 로그에는 로그인, httpd 활동 및 기타 기존의 열린 포트를 포함한 모든 시도가 포함되어야합니다.
사용자 이름 / 암호 불일치로 인해 실패한 최신 로그인 시도를보고 할 로그 파일 또는 서비스를 찾고 있습니다. CentOS에 사용 가능한 유틸리티가 있습니까? (내장 선호)
두 번째 질문이며, 일반적으로 서버에 대한 침투 시도 로그 파일이 필요합니다. 이상적으로이 로그에는 로그인, httpd 활동 및 기타 기존의 열린 포트를 포함한 모든 시도가 포함되어야합니다.
답변:
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
lastb
이것은 오래된 스레드이지만 이와 비슷한 작업이 있으므로 제 경우에는 로그 항목입니다.
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"