Linux 감사 및 Unix 시스템 로그 수집

이 문서에서는 감사 데몬(auditd) 및 Unix 시스템 로그를 수집하고 Google SecOps 전달자를 사용하여 Google SecOps에 로그를 수집하는 방법을 설명합니다.

이 문서의 절차는 Debian 11.7 및 Ubuntu 22.04 LTS(Jammy Jellyfish)에서 테스트되었습니다.

auditd 및 syslog에서 로그 수집

rsyslog를 사용하여 auditd 로그를 Google SecOps 전달자에 전송하도록 Linux 호스트를 구성할 수 있습니다.

  1. 다음 명령어를 실행하여 감사 데몬과 감사 전달 프레임워크를 배포합니다. 데몬과 프레임워크를 이미 배포한 경우 이 단계를 건너뛸 수 있습니다.

    apt-get install auditd audispd-plugins
    
  2. 사용자 및 루트를 포함하여 모든 명령어의 로깅을 사용 설정하려면 /etc/audit/rules.d/audit.rules에 다음 줄을 추가합니다.

    -a exit,always -F arch=b64 -S execve
    -a exit,always -F arch=b32 -S execve
    
  3. 다음 명령어를 실행하여 auditd를 다시 시작합니다.

    service auditd restart
    

auditd용 Google SecOps 전달자 구성

Google SecOps 전달자에서 다음 데이터 유형을 지정합니다.

  - syslog:
    common:
      enabled: true
      data_type: AUDITD
      batch_n_seconds:
      batch_n_bytes:
    tcp_address:
    connection_timeout_sec:

자세한 내용은 Linux에서 Google SecOps 전달자 설치 및 구성을 참조하세요.

syslog 구성

  1. /etc/audisp/plugins.d/syslog.conf 파일의 매개변수가 다음 값과 일치하는지 확인합니다.

    active = yes
    direction = out
    path = /sbin/audisp-syslog
    type = always
    args = LOG_LOCAL6
    format = string
    
  2. /etc/rsyslog.d/50-default.conf 파일을 수정하거나 만들고 파일 끝에 다음 줄을 추가합니다.

    local6.* @@FORWARDER_IP:PORT
    

    FORWARDER_IPPORT를 전달자의 IP 주소 및 포트로 바꿉니다. 첫 번째 열은 rsyslog를 통해 /var/log에서 전송되는 로그를 나타냅니다. 두 번째 열의 @@은 TCP를 사용하여 메시지를 보내는 것을 나타냅니다. UDP를 사용하려면 @을 하나 사용합니다.

  3. syslog에 대한 로컬 로깅을 사용 중지하려면 로컬 syslog에 로깅되는 항목을 구성하는 줄에 local6.none을 추가하여 rsyslog를 구성합니다. 파일은 각 OS마다 다릅니다. Debian의 경우 파일이 /etc/rsyslog.conf이고 Ubuntu의 경우 파일이 /etc/rsyslog.d/50-default.conf입니다.

    *.*;local6.none;auth,authpriv.none              -/var/log/syslog
    
  4. 다음 서비스를 다시 시작합니다.

    service auditd restart
    service rsyslog restart
    

Unix 시스템 로그 수집

  1. /etc/rsyslog.d/50-default.conf 파일을 만들거나 수정하고 파일 끝에 다음 줄을 추가합니다.

    *.*   @@FORWARDER_IP:PORT
    

    FORWARDER_IPPORT를 전달자의 IP 주소로 바꿉니다. 첫 번째 열은 rsyslog를 통해 /var/log에서 전송되는 로그를 나타냅니다. 두 번째 열의 @@은 TCP를 사용하여 메시지를 보내는 것을 나타냅니다. UDP를 사용하려면 @을 하나 사용합니다.

  2. 다음 명령어를 실행하여 데몬을 다시 시작하고 새 구성을 로드합니다.

    sudo service rsyslog restart
    

Unix 로그용 Google SecOps 전달자 구성

Google SecOps 전달자에서 다음 데이터 유형을 지정합니다.

  - syslog:
    common:
      enabled: true
      data_type: NIX_SYSTEM
      batch_n_seconds:
      batch_n_bytes:
    tcp_address:
    connection_timeout_sec:

자세한 내용은 Linux에서 Google SecOps 전달자 설치 및 구성을 참조하세요.