◾️ 개요
waytothem.store 라는 DJANGO 기반 블로그를 AWS 사의 Lightsail 인스턴스 위에서 배포하고 있다.
해당 인스턴스의 경우 22번 포트로 들어오는 모든 트래픽을 허용하고 있는데, 문득 어떤 IP 들이 내 서버로 원격 접속 시도를 하고있는지 궁금해졌다.
그래서 가장 빠르게 확인해볼 수 있는 방법을 소개하려 한다.
▪️ journalctl -xeu
journalctl -xeu
명령은 시스템의 로그 메시지를 검색하고 조회하기 위한 Linux에서 사용되는 명령이다. journalctl
의 자세한 사용방법은 아래 게시글을 참고하도록 하자.
([Linux] journalctl 사용법 익히기 - WTT Devlog)
사용된 옵션의 의미는 아래와 같다.
-x
: 실패한 메시지 또는 에러 메시지리를 표시함. 이 옵션을 추가 정보를 제공하여 실패한 메시지 또는 에러 메시지를 자세히 확인할 수 있도록 한다.-e
: 마지막 로그 항목부터 역순으로 로그를 표시. 따라서 가장 최근의 로그 항목이 먼저 표시됨.-u
(단위,unit) 이름을 지정하여 특정 서비스 또는 유닛에 대한 로그를 필터링 함. 여기서는 특정 서비스의 로그를 조회하고자 할 때 많이 사용된다.
journalctl -xeu ssh.service | grep -i 'closed by' | tail -n 3
Dec 08 02:21:39 ip-172-26-11-115 sshd[15746]: Connection closed by 3.101.35.25 port 44848 [preauth]
Dec 08 04:12:27 ip-172-26-11-115 sshd[16833]: error: kex_exchange_identification: Connection closed by remote host
Dec 08 04:12:27 ip-172-26-11-115 sshd[16833]: Connection closed by 184.168.20.101 port 42768
서버를 닫아 두었다가 다시 켠지 하루 조금 안됐는데도 벌써 400건이 넘는 ssh 접속 시도가 발생하였다.
journalctl -xeu ssh.service | grep -i 'closed by' | wc -l
455
▪️ lastb -50
최근 50건의 SSH 접속 시도 조회
sudo lastb -50