최민아 님께,
PROMPT_COMMAND와 logger를 활용하여 /etc/profile을 설정하는 방식은 기본적인 명령어 감사(auditing)에는 효과적일 수 있으나, 기업용 솔루션으로는 권장되지 않습니다. 다중 사용자 환경에서 히스토리 기반 로깅은 우회 가능성, 중복 기록, 비대화형(non-interactive) 셸에서의 명령어 누락, 그리고 사용자가 셸 히스토리 파일을 임의로 조작함으로써 발생하는 데이터 불일치 등의 문제에 취약합니다. 보안 감사 요건을 충족하기 위해서는 커널 수준에서 명령어 실행을 포착하고 중앙 SIEM이나 syslog 인프라로 안정적인 전송이 가능한 Linux Audit Framework(auditd)의 execve 감사 기능을 사용하는 것이 일반적으로 더 바람직합니다.
만약 PROMPT_COMMAND 방식을 계속 사용하시겠다면, 대화형(interactive) Bash 세션으로만 적용 범위를 제한하고, 중복 기록 방지 로직을 포함하며, 사용자, UID, TTY, 소스 호스트, 작업 디렉토리, 실행된 명령어 등의 정보를 기록하도록 설정해야 합니다. 셸 감사 이벤트를 일반 시스템 로그와 분리하기 위해 흔히 local6.notice와 같은 전용 설비(facility)가 사용됩니다. 로그를 중앙에서 수집할 때는 메시지 손실을 방지하고 무결성을 높이기 위해, UDP 대신 TLS 암호화가 적용된 TCP를 통해 로그를 전송하도록 rsyslog나 syslog-ng를 구성하십시오.
제 답변이 도움이 되셨다면 **'답변 채택(Accept the answer)'**을 눌러 주시기 바랍니다.
감사합니다.
HL.