EC2 Linux 인스턴스에서 파일 시스템의 보안 관련 변경 사항을 모니터링하려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2020년 11월 25일

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 파일 시스템 변경 사항을 모니터링하기 위해 Linux Audit 시스템을 사용하려고 합니다. 어떻게 해야 하나요?

간략한 설명

Linux Audit 시스템은 중요한 파일에 대한 액세스를 추적하고 파일 손상이나 기타 의도하지 않은 변경 사항이 발생할 경우 감사 추적을 생성합니다. Linux 감사 시스템을 사용하여 Amazon Elastic File System(Amazon EFS) 또는 다른 파일 시스템 유형의 파일에 대한 변경 사항을 추적할 수 있습니다. 많은 유형의 정보를 기록하도록 감사 시스템을 구성하면 로컬 시스템 성능에 영향을 줄 수 있습니다. 시스템에 Linux Audit 시스템을 설치한 후 파일 시스템의 활동을 모니터링하는 규칙을 만들 수 있습니다.

중요: 파일 시스템의 모든 변경 사항을 추적하려면 파일 시스템을 탑재하는 모든 클라이언트에서 Linux Audit 시스템을 사용하세요.

해결 방법

1.    ec2-user/ubuntu/root userSSH를 사용하여 EC2 인스턴스에 연결합니다. ubuntuAMI의 사용자 이름으로 바꿉니다.

2.    다음 명령을 실행하여 감사 패키지를 설치합니다.

RHEL 및 CentOS:

# sudo yum install audit

SUSE Linux:

# sudo zypper install audit

Ubuntu:

# sudo apt install auditd

3.    Linux Audit 시스템에 대한 규칙을 만듭니다. 처음에 규칙을 테스트하려면 auditctl 명령을 사용하여 규칙을 즉시 추가하거나 제거합니다.

참고: 다음 예제에서는 EFS 파일 시스템에 대한 규칙을 보여줍니다.

다음 명령을 사용하여 파일 시스템이 탑재된 모든 작업을 모니터링합니다.

$ auditctl -w /home/ec2-user/efs -k efs_changes

다음과 같은 작업을 기록하도록 감사 시스템을 구성할 수 있습니다.

$ mkdir dir1
$ touch file1
$ touch file2
$ mv file1 file3
$ rm -f file2
$ chmod 600 file3
$ rmdir dir1
$ rm -f file3

4.    그런 다음 ausearch -k efs_changes 명령을 사용하여 감사 로그를 봅니다. 다음 예에서는 앞의 예제 작업에 표시된 mkdir 명령에 대한 감사 로그를 보여줍니다.

time->Thu Jan  9 21:30:59 2020
type=PROCTITLE msg=audit(1578605459.080:127433): proctitle=6D6B6469720064697231
type=PATH msg=audit(1578605459.080:127433): item=1 name="dir1" inode=4989235361872937641 dev=00:16 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1578605459.080:127433): item=0 name="/home/ec2-user/efs/audit" inode=12759736523397539955 dev=00:16
    mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=CWD msg=audit(1578605459.080:127433): cwd="/home/ec2-user/efs/audit"
type=SYSCALL msg=audit(1578605459.080:127433): arch=c000003e syscall=83 success=yes exit=0 a0=7fffe6aca6e1 a1=1ff a2=1ff a3=7fffe6ac7720 items=2 ppid=18661 pid=2948 auid=500 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=18369 comm="mkdir" exe="/bin/mkdir"     key="efs_changes"

위의 예제에서는 원시 감사 로그를 보여줍니다. 감사 로그에는 각 작업에 대한 많은 양의 정보가 들어 있습니다.

aureport 명령을 사용하여 감사 로그에 덜 상세하지만 여전히 모든 작업을 표시하는 출력을 생성합니다.

$ ausearch -k efs_changes | aureport -f -i

10118. 01/09/2020 21:36:29 file1 open yes /bin/touch ec2-user 127450
10119. 01/09/2020 21:36:29 dir1 mkdir yes /bin/mkdir ec2-user 127449
10120. 01/09/2020 21:36:29 file2 open yes /bin/touch ec2-user 127451
10121. 01/09/2020 21:36:29 file3 rename yes /bin/mv ec2-user 127452
10122. 01/09/2020 21:36:29 file2 unlinkat yes /bin/rm ec2-user 127453
10123. 01/09/2020 21:36:29 file3 fchmodat yes /bin/chmod ec2-user 127454
10124. 01/09/2020 21:36:29 dir1 rmdir yes /bin/rmdir ec2-user 127455
10125. 01/09/2020 21:36:35 file3 unlinkat yes /bin/rm ec2-user 127456

모든 작업을 기록할 필요는 없습니다. 예를 들어 삭제 관련 작업만 기록하는 규칙을 만들 수 있습니다.

auditctl -a always,exit -F arch=b64 -F dir=/home/ec2-user/efs -S unlink -S unlinkat -S rename -S renameat  -S rmdir -k efs_changes

사용자가 원래 예제 작업 집합에 표시된 것과 동일한 명령을 실행하면 지정된 삭제 관련 명령만 로그에 나타납니다.

10126. 01/09/2020 22:17:08 file3 rename yes /bin/mv ec2-user 127519
10127. 01/09/2020 22:17:08 file2 unlinkat yes /bin/rm ec2-user 127520
10128. 01/09/2020 22:17:08 dir1 rmdir yes /bin/rmdir ec2-user 127521
10129. 01/09/2020 22:17:09 file3 unlinkat yes /bin/rm ec2-user 127522

5.    규칙을 영구적으로 만들려면 /etc/audit/audit.rules 파일에서 해당 규칙을 구성합니다. 자세한 내용은 Red Hat 고객 포털의 /etc/audit/audit.rules 파일에 지속적 감사 규칙 및 제어 정의를 참조하세요.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?