
리눅스 서버를 운영하다 보면 “Last failed login”, “There were XX failed login attempts” 같은 문구를 종종 본다.
이건 누군가 서버에 로그인 시도를 했는데 실패했다는 뜻이다.
보통 무차별 대입(Brute Force) 공격 흔적이거나, 관리자가 비밀번호를 틀린 기록이다.
오늘은 리눅스 SSH 보안 점검과 실패 로그인 기록을 확인하는 핵심 명령어를 정리한다.
SSH 로그인 실패 기록 확인
SSH를 통한 로그인 실패 시도는 대부분 /var/log/secure에 저장된다.
최근 20개의 실패 로그를 확인하려면 아래 명령어를 입력한다:
grep "Failed password" /var/log/secure | tail -20
최근 로그인 기록 확인
성공한 로그인 내역은 wtmp, 실패한 내역은 btmp에 기록된다.
# 성공한 로그인 목록
last | head
# 실패한 로그인 목록
lastb | head
root 직접 로그인 차단
vi /etc/ssh/sshd_config PermitRootLogin no systemctl restart sshd
fail2ban으로 자동 차단 설정
무차별 대입 공격을 막으려면 fail2ban을 설치하자.
yum install fail2ban -y
systemctl enable --now fail2ban
방화벽 기본 설정 점검
SSH 접속을 제한하거나 포트를 변경하는 것도 좋은 보안 습관이다.
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
마무리
보안은 “한 번 점검하고 끝”이 아니다.
서버 로그를 주기적으로 확인하고, 필요할 때마다 접근제한 정책을 업데이트해야 한다.
특히 /var/log/secure는 매일 한 번쯤 들여다보면 좋다.
“누가, 언제, 어디서 접근하려 했는가”를 아는 게 보안의 시작이다.