루트 사용자가 내 서버에 성공적으로 SSH를 연결했는지 어떻게 확인할 수 있나요?

루트 사용자가 내 서버에 성공적으로 SSH를 연결했는지 어떻게 확인할 수 있나요?

다음 코드는 허용되었지만 사용자 이름으로 필터링되지 않은 모든 콘텐츠를 제공합니다.

sudo cat /var/log/auth.log | grep Accepted

답변1

grep 패턴에 사용자 이름을 추가하시겠습니까?

# grep -e "Accepted .* for root " /var/log/auth.log
May  3 23:09:01 lumi sshd[21046]: Accepted publickey for root from 1.2.3.4 port 44308 ssh2
May  6 21:25:20 lumi sshd[6642]: Accepted publickey for root from 1.2.3.4 port 44556 ssh2

또는 시작된 세션이 포함된 로그를 last읽는 를 사용하세요. /var/log/wtmp비대화형 세션은 여기에 저장되지 않습니다.

# last root
root     pts/38       somehost.somewhere  Sat May  6 21:25   still logged in   
root     pts/3        somehost.somewhere  Wed May  3 23:09 - 23:09  (00:00)  

최소한 이러한 로그의 위치는 시스템/배포에 따라 다를 수 있습니다.


그러나 우리는 루트 로그인에 대해 이야기하고 있으므로 루트 액세스 권한이 있는 사람은 누구나 로그를 편집하여 로그인을 숨길 수 있다는 점에 유의하는 것이 가장 좋습니다. 따라서 감사 목적으로 이 작업을 수행하는 경우~ 해야 하다외부 시스템에 로깅.

답변2

어쩌면 마지막 명령이 루트 로그인을 나열하는 데 도움이 될 수 있을까요? 이 예에서 마지막 명령은 1월 11일 수요일에 IP 주소가 10.1.57.140인 컴퓨터에서 의사 터미널 3(pts/3)을 사용하여 루트 로그인하는 것을 보여줍니다. 마지막 명령이 SSH를 명시적으로 나타내지는 않지만 pts/3은 아마도 SSH를 사용하여 연결이 설정되었음을 나타내는 강력한 표시일 것입니다.

[root@server1 ~]# last
john.doe  pts/0        server1.example.com  Thu Jan 12 12:04  still logged in
root      pts/3        10.1.57.140          Wed Jan 11 12:54 - 13:13  (00:19)
reboot    system boot  3-10-0-327.e17.x     Wed Jan 11 12:52 - 13:10  (00:01)
. . .

관련 정보