/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 수준에서 필터 정규식 실행
- 소스 수정
첫 번째는 권장되는 방법입니다.