로깅 셸 사용자 활동을 감사하도록 PAM을 구성하는 방법
이것은 Linux 감사에 대해 진행 중인 시리즈입니다. 이 기사의 네 번째 부분에서는 Linux TTY 입력(쉘 사용자 활동 로깅) 감사를 위해 PAM을 구성하는 방법을 설명합니다. pam_tty_audit 도구를 사용하는 특정 사용자에 대해.
Linux PAM(플러그형 인증 모듈)은 애플리케이션 및 다양한 시스템 서비스에서 인증 서비스를 구현하기 위한 매우 유연한 방법입니다. 이는 원래 Unix PAM에서 나왔습니다.
인증 기능을 계정 모듈, 인증 모듈, 비밀번호 모듈 및 세션 모듈 의 네 가지 주요 관리 모듈로 나눕니다. . 이러한 관리 그룹에 대한 자세한 설명은 이 튜토리얼의 범위를 벗어납니다.
auditd 도구는 pam_tty_audit PAM 모듈을 사용하여 지정된 사용자에 대한 TTY 입력 감사를 활성화하거나 비활성화합니다. 사용자가 감사되도록 구성되면 pam_tty_audit는 auditd와 함께 작동하여 터미널에서 사용자 작업을 추적하고 구성된 경우 사용자가 하는 정확한 키 입력을 캡처합니다. 그런 다음 /var/log/audit/audit.log 파일에 기록합니다.
Linux에서 사용자 TTY 입력 감사를 위해 PAM 구성
/etc/pam.d/system-auth 및 /etc에서 특정 사용자 TTY 입력을 감사하도록 PAM을 구성할 수 있습니다. /pam.d/password-auth 파일, 활성화 옵션 사용. 반면에 예상대로 비활성화하면 지정된 사용자에 대해 아래 형식으로 비활성화됩니다.
session required pam_tty_audit.so disable=username,username2... enable=username,username2..
실제 사용자 키 입력(공백, 백스페이스, 리턴 키, Ctrl 키, 삭제 키 등 포함)에 대한 로깅을 켜려면 다음 형식을 사용하여 log_passwd 옵션을 다른 옵션과 함께 추가하세요.
session required pam_tty_audit.so disable=username,username2... enable=username log_passwd
그러나 구성을 수행하기 전에 다음 사항에 유의하십시오.
- 위 구문에서 볼 수 있듯이 활성화 또는 비활성화 옵션에 많은 사용자 이름을 전달할 수 있습니다.
- 비활성화 또는 활성화 옵션은 동일한 사용자 이름과 일치하는 이전 반대 옵션을 재정의합니다.
- TTY 감사를 활성화한 후에는 정의된 사용자가 시작한 모든 프로세스에 상속됩니다.
- 키 입력 기록이 활성화된 경우 TTY 감사는 먼저 키 입력을 버퍼에 저장하고 지정된 간격으로 또는 감사 대상 사용자가 로그아웃한 후 버퍼 내용을 /var/log에 기록하므로 입력이 즉시 기록되지 않습니다. /audit/audit.log 파일.
아래 예를 살펴보겠습니다. 여기서는 모든 터미널에서 키 입력을 포함한 사용자 tecmint
의 작업을 기록하도록 pam_tty_audit를 구성하고 다른 모든 터미널에 대해서는 TTY 감사를 비활성화합니다. 시스템 사용자.
다음 두 구성 파일을 엽니다.
vi /etc/pam.d/system-auth
vi /etc/pam.d/password-auth
구성 파일에 다음 줄을 추가합니다.
세션 필요 pam_tty_audit.so 비활성화=* 활성화=tecmint
그리고 tecmint 사용자가 입력한 모든 키 입력을 캡처하려면 표시된 log_passwd 옵션을 추가할 수 있습니다.
session required pam_tty_audit.so disable=* enable=tecmint log_passwd
이제 파일을 저장하고 닫습니다. 그런 다음 aureport 유틸리티를 사용하여 기록된 모든 TTY 입력에 대한 auditd 로그 파일을 확인하세요.
aureport --tty
위 출력에서 UID가 1000인 tecmint 사용자가 vi/vim 편집기를 사용하여 이라는 디렉토리를 생성한 것을 볼 수 있습니다. bin으로 이동하고 터미널을 지우는 등의 작업을 수행합니다.
특정 시간과 같거나 그 이후의 타임스탬프로 기록된 TTY 입력 로그를 검색하려면 -ts
를 사용하여 시작 날짜/시간을 지정하고 -te
를 사용하여 끝을 설정하세요. 날짜 시간.
다음은 몇 가지 예입니다.
aureport --tty -ts 09/25/2017 00:00:00 -te 09/26/2017 23:00:00
aureport --tty -ts this-week
자세한 내용은 pam_tty_audit 매뉴얼 페이지에서 확인할 수 있습니다.
man pam_tty_audit
다음 유용한 기사를 확인해 보세요.
- Linux 서버에서 PuTTY를 사용하여 "비밀번호 SSH 키 인증 없음" 구성
- RHEL/CentOS 7에서 LDAP 기반 인증 설정
- SSH 로그인을 위한 2단계 인증(Google Authenticator)을 설정하는 방법
- SSH Keygen을 사용하여 간단한 5단계로 SSH 비밀번호 없는 로그인
- Linux에서 비밀번호를 입력하지 않고 'sudo' 명령을 실행하는 방법
이 기사에서는 CentOS/RHEL에서 특정 사용자의 입력을 감사하기 위해 PAM을 구성하는 방법을 설명했습니다. 질문이 있거나 공유하고 싶은 추가 아이디어가 있으면 아래 댓글을 사용하세요.