Linux에서 SSH를 통한 파일 수정 감사

Linux에서 SSH를 통한 파일 수정 감사

Linux 서버의 파일에 대한 모든 수정 사항을 모니터링하고 싶습니다.

일부 연구에서 다음 명령을 사용하여 감사 도구를 설치하고 구성한 것으로 나타났습니다.

yum install audit # installation
/etc/init.d/auditd start # started service
auditctl -w /root/file-name -p war -k password-file # configured rule to audit file 
ausearch -f /root/file-name # Command to search modifications

특정 파일에 대한 모든 수정 사항을 기록합니다.

다음을 만나기 전까지는 모든 것이 괜찮았습니다.

사례 1:서버 감사를 사용하여 모니터링하고 있는 파일을 삭제하려면 다음 명령을 사용했습니다.

rm -rf /root/file-name

다음과 같이 기록하세요
type=SYSCALL msg=audit(1540222267.321:1057): arch=c000003e syscall=2 success=yes exit=3 a0=7ffe22abf91a a1=941 a2=1b6 a3=7ffe22abed70 items=2 ppid=21053 pid=42458 auid=14628 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=5 comm="touch" exe="/bin/rm" key="password-file"

사례 2:다음 명령을 사용하여 원격 서버에서 파일을 삭제했습니다.

ssh cl14470 "echo 'rm -rf /root/chaithu'|sudo su - root"

다음과 같이 기록하세요
type=SYSCALL msg=audit(1540222588.196:1118): arch=c000003e syscall=263 success=yes exit=0 a0=ffffffffffffff9c a1=ce70c0 a2=0 a3=7fff52a6af40 items=2 ppid=42520 pid=42533 auid=14628 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=9 comm="rm" exe="/bin/rm" key="password-file"

이제 나를 혼란스럽게 하는 것은 명령을 원격으로 실행할 때 tty가 없음으로 기록되는 이유입니다.

이 문제에 대한 정보를 온라인에서 검색했지만 안타깝게도 혼란을 해소할 만한 정보를 찾을 수 없습니다.

사례 2에서 tty=(none)으로 기록되는 이유를 누군가 설명할 수 있습니까?

답변1

이것이 제어 tty 없이 명령이 실행되는 방식이기 때문입니다.

귀하의 경우처럼 인수를 사용하여 호출할 때 -t옵션을 전달하지 않으며 ssh의사 터미널은 기본적으로 할당되지 않습니다. ssh( ssh cl14470 "echo ...").

이는 맨페이지에 설명된 기본 동작입니다 ssh(1).

서버가 사용자의 신원을 승인하면 서버는 다음 중 하나를 수행합니다.비대화형 세션에서 주어진 명령을 실행합니다.또는 명령이 지정되지 않은 경우 시스템에 로그인하고 사용자에게 대화형 세션으로 일반 쉘을 제공합니다. 원격 명령 또는 셸과의 모든 통신은 자동으로 암호화됩니다.

대화형 세션이 요청된 경우기본적으로 ssh는 클라이언트에 대화형 세션이 있는 경우에만 pty를 요청합니다. -T 및 -t 플래그를 사용하여 이 동작을 대체할 수 있습니다.

따라서 ssh의사 터미널만 할당됩니다.외딴다음과 같은 경우 기본 머신ㅏ)"명령" 인수 없이 실행됩니다.그리고 b)SSH 클라이언트의 표준 입력현지의기계는 tty입니다.

-t옵션은 ssh가상 터미널을 강제로 할당하고, 이 -T옵션은 가상 터미널을 강제로 할당합니다.아니요다른 요소에 관계없이 하나의 항목을 할당합니다.

관련 정보