내 auth.log
Debian 컴퓨터는 다음 메시지로 가득 차 있습니다:
CRON[1736]: pam_unix(cron:session): session opened for user root by (uid=0)
sshd[1742]: Connection closed by ::1 port 38518 [preauth]
CRON[1736]: pam_unix(cron:session): session closed for user root
sshd[1748]: Connection closed by ::1 port 38592 [preauth]
CRON[1752]: pam_unix(cron:session): session opened for user root by (uid=0)
sshd[1758]: Connection closed by ::1 port 38672 [preauth]
...
설명을 따르세요여기다음 줄을 추가했습니다 /etc/pam.d/common-session-noninteractive
.
session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid
그러나 다음 줄이 auth.log
파일에 계속 추가됩니다.
Jun 17 10:39:47 <machine> sshd[2175]: Connection closed by ::1 port 41262 [preauth]
Jun 17 10:40:21 <machine> sshd[2188]: Connection closed by ::1 port 41340 [preauth]
Jun 17 10:40:54 <machine> sshd[2194]: Connection closed by ::1 port 41416 [preauth]
Jun 17 10:41:28 <machine> sshd[2205]: Connection closed by ::1 port 41494 [preauth]
Jun 17 10:42:02 <machine> sshd[2228]: Connection closed by ::1 port 41576 [preauth]
Jun 17 10:42:35 <machine> sshd[2235]: Connection closed by ::1 port 41668 [preauth]
Jun 17 10:43:09 <machine> sshd[2246]: Connection closed by ::1 port 41764 [preauth]
Jun 17 10:43:42 <machine> sshd[2252]: Connection closed by ::1 port 41842 [preauth]
Jun 17 10:44:16 <machine> sshd[2262]: Connection closed by ::1 port 41922 [preauth]
Jun 17 10:44:50 <machine> sshd[2269]: Connection closed by ::1 port 41998 [preauth]
Jun 17 10:45:23 <machine> sshd[2285]: Connection closed by ::1 port 42084 [preauth]
Jun 17 10:45:57 <machine> sshd[2292]: Connection closed by ::1 port 42164 [preauth]
...
나는 이것들을 제거하는 방법을 모른다. 먼저 IP(v6) ::1
(즉, localhost)를 보여줍니다. 그러나 한 가지는 확실합니다. 호스트는 외부 세계에서 접근할 수 없으며(내 연결에서 IPv6가 활성화되지 않았기 때문에 IPv6를 통해서는 말할 것도 없고) OpenBSD 게이트웨이/방화벽 뒤에 있습니다. ::1
내 로컬 컴퓨터에서 실행 중인 것 같습니다. 따라서 매분마다 실행되는 cronjob에서 나온 것이라고 확신합니다. cronjob은 다음과 같습니다.
php foo.php
sleep 30
php foo.php
이는 단지 30초마다 PHP 스크립트를 실행하는 (나쁜) 방법일 뿐입니다. 스크립트는 몇 초 안에 완료됩니다.
그런데 이상한 점은 로그 시간을 보면 그렇습니다. 당신은 항목을 기대합니다전체 분(+/- 1~2초), 그리고 30분마다 한 번 더(+/- 몇 초, 첫 번째 스크립트에 걸린 시간에 따라 + 30초). 그러나 그것은 진실이 아니다. 각 로그 줄 사이의 시간은 34, 33, 34, 34, 33, 34, 33, 34, 34, 33, 34, ...초입니다. 이는 시간이 "표류"하고 있음을 의미합니다.
더 낯선 사람: crobtab 줄을 주석 처리하고 작업이 1분마다 실행되면 "연결이 닫혔습니다..." 줄이 계속 나타납니다. 해당 특정 작업/스크립트가 비활성화된 경우에도 마찬가지입니다. 그래서 이것은 나에게 이것이 될 수 있다는 것을 말해줍니다아니요이러한 줄을 발생시키는 cronjob입니다. 이것을 설명할 수 있는 다른 cronjob은 없습니다.
그런 다음 tcpdump를 실행했습니다.
tcpdump -i lo port 22
물론, 잠시 기다리면 트래픽이 들어오는 것을 볼 수 있습니다.
11:18:29.548247 IP6 localhost.46846 > localhost.ssh: Flags [S], seq 1675216317, win 43690, options [mss 65476,sackOK,TS val 1107033 ecr 0,nop,wscale 7], length 0
11:18:29.548270 IP6 localhost.ssh > localhost.46846: Flags [S.], seq 3867254410, ack 1675216318, win 43690, options [mss 65476,sackOK,TS val 1107033 ecr 1107033,nop,wscale 7], length 0
11:18:29.548279 IP6 localhost.46846 > localhost.ssh: Flags [.], ack 1, win 342, options [nop,nop,TS val 1107033 ecr 1107033], length 0
11:18:29.551956 IP6 localhost.ssh > localhost.46846: Flags [P.], seq 1:40, ack 1, win 342, options [nop,nop,TS val 1107034 ecr 1107033], length 39
11:18:29.551967 IP6 localhost.46846 > localhost.ssh: Flags [.], ack 40, win 342, options [nop,nop,TS val 1107034 ecr 1107034], length 0
11:18:29.551982 IP6 localhost.46846 > localhost.ssh: Flags [P.], seq 1:40, ack 40, win 342, options [nop,nop,TS val 1107034 ecr 1107034], length 39
11:18:29.552005 IP6 localhost.ssh > localhost.46846: Flags [.], ack 40, win 342, options [nop,nop,TS val 1107034 ecr 1107034], length 0
11:18:29.552448 IP6 localhost.ssh > localhost.46846: Flags [P.], seq 40:792, ack 40, win 342, options [nop,nop,TS val 1107034 ecr 1107034], length 752
11:18:29.552475 IP6 localhost.46846 > localhost.ssh: Flags [F.], seq 40, ack 792, win 354, options [nop,nop,TS val 1107034 ecr 1107034], length 0
11:18:29.552778 IP6 localhost.ssh > localhost.46846: Flags [F.], seq 792, ack 41, win 342, options [nop,nop,TS val 1107034 ecr 1107034], length 0
11:18:29.552784 IP6 localhost.46846 > localhost.ssh: Flags [.], ack 793, win 354, options [nop,nop,TS val 1107034 ecr 1107034], length 0
11:19:03.202403 IP6 localhost.46962 > localhost.ssh: Flags [S], seq 4240077294, win 43690, options [mss 65476,sackOK,TS val 1115447 ecr 0,nop,wscale 7], length 0
11:19:03.202427 IP6 localhost.ssh > localhost.46962: Flags [S.], seq 3703193700, ack 4240077295, win 43690, options [mss 65476,sackOK,TS val 1115447 ecr 1115447,nop,wscale 7], length 0
11:19:03.202442 IP6 localhost.46962 > localhost.ssh: Flags [.], ack 1, win 342, options [nop,nop,TS val 1115447 ecr 1115447], length 0
11:19:03.206034 IP6 localhost.ssh > localhost.46962: Flags [P.], seq 1:40, ack 1, win 342, options [nop,nop,TS val 1115448 ecr 1115447], length 39
11:19:03.206044 IP6 localhost.46962 > localhost.ssh: Flags [.], ack 40, win 342, options [nop,nop,TS val 1115448 ecr 1115448], length 0
11:19:03.206077 IP6 localhost.46962 > localhost.ssh: Flags [P.], seq 1:40, ack 40, win 342, options [nop,nop,TS val 1115448 ecr 1115448], length 39
11:19:03.206093 IP6 localhost.ssh > localhost.46962: Flags [.], ack 40, win 342, options [nop,nop,TS val 1115448 ecr 1115448], length 0
11:19:03.206573 IP6 localhost.ssh > localhost.46962: Flags [P.], seq 40:792, ack 40, win 342, options [nop,nop,TS val 1115448 ecr 1115448], length 752
11:19:03.206601 IP6 localhost.46962 > localhost.ssh: Flags [F.], seq 40, ack 792, win 354, options [nop,nop,TS val 1115448 ecr 1115448], length 0
11:19:03.206981 IP6 localhost.ssh > localhost.46962: Flags [F.], seq 792, ack 41, win 342, options [nop,nop,TS val 1115448 ecr 1115448], length 0
11:19:03.206986 IP6 localhost.46962 > localhost.ssh: Flags [.], ack 793, win 354, options [nop,nop,TS val 1115448 ecr 1115448], length 0
약 33~34초 후에 더 많은 트래픽이 쏟아집니다. 하지만 다시 말하지만, 트래픽이 어디서 오는지 전혀 알 수 없습니다...
그래서 두 가지 질문이 있습니다.
- 어떤 프로세스/이 로그 줄의 원인이 무엇인지 어떻게 알 수 있나요?
- 이러한 로그 줄을 어떻게 제거합니까(물론 1에 따라 달라질 수 있음)
답변1
괜찮아, 내가 알아냈어. 그것은감시 장치SSH 데몬을 모니터링합니다. 나는 바보다. 나는 monit( service monit stop
)을 중지하고 추적했으며 auth.log
더 이상 항목이 없습니다. 미스터리가 해결되고 모니터가 다시 시작됩니다. 이제 그 이유를 알았으니 더 이상 시놉시스가 마음에 들지 않습니다.