snmp를 통해 서비스를 원격으로 시작/중지/다시 시작하는 데 몇 가지 문제가 있습니다.
허용 모드에서는 SElinux에서 제대로 작동하는 것처럼 보이지만 강제 모드에서는 이러한 유형의 오류 메시지와 함께 실패합니다(/var/log/secure에 표시됨).
Aug 17 15:29:43 tester2-RHEL8 sudo: PAM audit_log_acct_message() failed: Permission denied
Aug 17 15:29:43 tester2-RHEL8 sudo: testuser : PAM account management error: Permission denied ; TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/sbin/service router stop
메시지 자체가 쓸모가 없습니다
명령이 /var/log/messages에서 성공적으로 실행된 것 같습니다.
Aug 17 15:29:43 tester2-RHEL8 snmpd[1501]: RTRSnmp : stopping RTR service
Aug 17 15:29:43 tester2-RHEL8 snmpd[1501]: RTRSnmp : starting external process "sudo service router stop &" as user testuser
Aug 17 15:29:43 tester2-RHEL8 snmpd[1501]: RTRSnmp : external process "sudo service router stop &" exited with status 0
snmpd.conf 파일입니다.
###########################################################################
snmpd.conf
###########################################################################
# SECTION: Access Control Setup
# SNMP v1 and v2
rocommunity public
rwcommunity testuser
# SNMP v3
createUser testuser SHA testusersnmp
rouser testuser
createUser testuserrw SHA testusersnmp
rwuser testuserrw
###########################################################################
# SECTION: Trap Destinations
trapcommunity trapdest
trap2sink 127.0.0.1 testdir
doNotRetainNotificationLogs yes
###########################################################################
# SECTION: System Information Setup
syslocation s-RTR
syscontact [email protected]
###########################################################################
# SECTION: RTR SNMP Module
dlmod S_RTR /home/testuser/release/release_1/bin/libRTRSnmpAgent.so
rtr_ip 127.0.0.1
rtr_port 4500
rtr_retry_period 10
rtr_end_system_id 000000000
rtr_service_user testuser
rtr_service_start sudo service router start
rtr_service_stop sudo service router stop &
rtr_service_restart sudo service router restart &
지겨워서 결국 묵념만 지웠어
semodule -DB
sealert에서 제안한 대로 selinux 정책을 추가하더라도 이는 성공하지 못한 것으로 판명되었습니다.
새로 설치를 생성했고 이제 위의 권한 거부 오류로 돌아왔습니다. SElinux가 snmp를 통해 원격으로 이 명령을 사용하는 데 문제가 있는 것 외에 근본 원인이 무엇인지 거의 알 수 없습니다.
snmpset -v3 -u testuserrw -l authNoPriv -a SHA -x AES -A password -X password 192.168.0.122 "0.0.0.0.0.0.40140.0.0.0.0.0" i 0
더 많은 정보를 얻기 위해 ssh를 통해 동일한 명령이 실행됩니다.
여기서부터 어디로 가야할지 모르겠습니다. Redhat 문서에서 이에 대한 내용을 볼 수 없기 때문에 로깅을 늘리는 방법에 대한 일부 정보라도 큰 도움이 될 것입니다.