Ubuntu 16.04의 특정 사용자에 대해 auth.log에서 sudo PAM 메시지를 중지하는 방법은 무엇입니까?

Ubuntu 16.04의 특정 사용자에 대해 auth.log에서 sudo PAM 메시지를 중지하는 방법은 무엇입니까?

/var/auth.log저는 Ubuntu 16.04를 사용하고 있으며 네트워크의 특정 호스트가 활성화되어 있는지 주기적으로 확인하는 스크립트가 넘쳐나는 것을 막으려고 노력하고 있습니다 . 스크립트는 내부적 sudo으로 nmap.

내 파일에 다음이 있습니다 /etc/pam.d/sudo.

#%PAM-1.0

session [success=1 default=ignore] pam_succeed_if.so quiet uid = 0 ruser = deployer
session [success=1 default=ignore] pam_succeed_if.so quiet uid = 0

session    required   pam_env.so readenv=1 user_readenv=0
session    required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
@include common-session-noninteractive

session [success=1 default=ignore] pam_succeed_if.so quiet uid = 0 ruser = deployer
session [success=1 default=ignore] pam_succeed_if.so quiet uid = 0

그러나 /var/log/auth.log에는 여전히 다음이 표시됩니다.

Dec  1 10:27:43 TimeBox sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Dec  1 10:27:44 TimeBox sudo: deployer : TTY=unknown ; PWD=/data/deployer/timeagent ; USER=root ; COMMAND=/usr/bin/nmap -sn -PR -n -v0 -oX /tmp/nmap.xml20161201-5387-rn90pj 192.168.88.16
Dec  1 10:27:44 TimeBox sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Dec  1 10:27:44 TimeBox sudo: deployer : TTY=unknown ; PWD=/data/deployer/timeagent ; USER=root ; COMMAND=/usr/bin/nmap -sn -PR -n -v0 -oX /tmp/nmap.xml20161201-5387-dni0n5 192.168.88.20
Dec  1 10:27:44 TimeBox sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Dec  1 10:27:44 TimeBox sudo: deployer : TTY=unknown ; PWD=/data/deployer/timeagent ; USER=root ; COMMAND=/usr/bin/nmap -sn -PR -n -v0 -oX /tmp/nmap.xml20161201-5387-1vk93k7 192.168.88.19
Dec  1 10:27:44 TimeBox sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Dec  1 10:27:44 TimeBox sudo: deployer : TTY=unknown ; PWD=/data/deployer/timeagent ; USER=root ; COMMAND=/usr/bin/nmap -sn -PR -n -v0 -oX /tmp/nmap.xml20161201-5387-j4hcxl 192.168.88.21
Dec  1 10:27:44 TimeBox sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Dec  1 10:27:44 TimeBox sudo: deployer : TTY=unknown ; PWD=/data/deployer/timeagent ; USER=root ; COMMAND=/usr/bin/nmap -sn -PR -n -v0 -oX /tmp/nmap.xml20161201-5387-6krabn 192.168.88.13

내가 뭘 잘못하고 있는지 어떤 아이디어가 있습니까?

답변1

문제는 @include common-session-noninteractive에 있는 것 같습니다. 이것은 /etc/pam.d/sudo에서 저에게 효과적이었습니다.

  #%PAM-1.0

  session [success=1 default=ignore] pam_succeed_if.so quiet uid = 0 ruser = deployer
  session    required   pam_env.so readenv=1 user_readenv=0
  session    required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0

  @include common-auth
  @include common-account
  # @include common-session-noninteractive

또한 실제 sudo 행이 기록되는 것을 방지하기 위해 /etc/rsyslog.d/35-pam_unix.conf를 만들었습니다.

if $syslogtag contains 'sudo' and $msg contains '/data/deployer/timeagent' then ~

답변2

3가지 선택이 있습니다:

  • nmap을 루트로 실행
  • syslog 수준에서 필터 정규식 실행
  • 소스 수정

첫 번째는 권장되는 방법입니다.

관련 정보