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

4분 분량
0

Linux Audit 시스템을 켜서 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 파일 시스템 변경 사항을 모니터링하려고 합니다.

간략한 설명

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

파일 시스템에 대한 모든 변경 사항을 추적하려면 해당 파일 시스템을 마운트하는 모든 클라이언트에서 Linux Audit 시스템을 켜세요.

**참고:**auditd 구성 요소를 실행하면 시스템 성능에 영향이 갈 수 있습니다. 자세한 내용을 알아보려면 Red Hat 웹사이트에서 감사 활성화로 인해 시스템 성능 저하가 있나요?을 참조하세요.

해결 방법

  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 명령을 실행하세요. 다음의 예시는 3단계의 예제 작업을 기반으로 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

    3단계의 예제 명령을 실행하면 지정된 삭제 관련 명령만이 로그에 표시됩니다.

    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 웹사이트에서 Defining persistent audit rules and controls in the /etc/audit/audit.rules file을 참조하세요.

관련 정보

Red Hat 웹사이트의 시스템 감사

Red Hat 웹사이트의 Auditd를 사용한 사용자 지정 파일 모니터링

AWS 공식
AWS 공식업데이트됨 7달 전