중앙 감사 서버를 만들고 로컬 서버에서 모든 감사 로그를 보냅니다.
특정 노드의 접근을 보고하고 싶습니다.
그래서 다음과 같은 줄을 사용하여 간단한 보고 스크립트를 만들었습니다. ausearch -n XXXXXX |aureport -i
다음과 같이 배열됩니다: 0 */4 * * * root /home/XXXX/report.sh
권한은 다음과 같습니다: -rwxr-xr-x 1 root root 743 Feb 10 11:27 report.sh
셸에서 스크립트를 실행하면 모든 것이 괜찮아 보이고 로그 출력이 포함된 이메일을 받습니다.
요약 보고서 ====================== 로그의 시간 범위: **2017년 2월 22일 23:24:09.603 - 2017년 2월 24일 10:16:26.313** 보고 시간 선택: **2017년 2월 22일 23:24:09 - 2017년 2월 24일 10:16:26.313** 구성 변경 횟수: 0 계정, 그룹 또는 역할 변경: 0 로그인 횟수: 22 실패한 로그인 수: 2 인증 수: 54 인증 실패 횟수: 0 사용자 수: 5 터미널 수: 4 호스트 이름 수: 4 실행 파일 수: 14 명령 수: 21 파일 수: 101 AVC 수량: 0 MAC 이벤트 수: 0 실패한 시스템 호출 수: 20 비정상 이벤트 수: 0 비정상 이벤트 응답 횟수: 0 암호화폐 이벤트 수: 256 무결성 이벤트 수: 0 가상 이벤트 수: 0 키 수: 1 프로세스 ID 수: 25087 이벤트 수: 96620
하지만 문제는 crontab을 통해 예약할 때입니다. 그런 다음 아무런 이벤트 없이 잘못된 날짜와 시간을 얻습니다. 다음과 같습니다.
요약 보고서 ====================== 로그의 시간 범위: **1970년 1월 1일 01:00:00.000 - 1970년 1월 1일 01:00:00.000** 보고 시간 선택: **1970년 1월 1일 01:00:00 - 1970년 1월 1일 01:00:00.000** 구성 변경 횟수: 0 계정, 그룹 또는 역할 변경: **0** 로그인 횟수: **0** 로그인 실패 횟수: **0** 인증 수: **0** 인증 실패 횟수: **0** 사용자 수: **0** 터미널 수: **0** 호스트 이름 수: **0** 실행 파일 수: **0** 명령 수: **0** 파일 수: **0** AVC 수량: **0** MAC 이벤트 수: **0** 실패한 시스템 호출 횟수: **0** 비정상 이벤트 수: **0** 비정상 이벤트 응답 횟수: **0** 암호화 이벤트 수: **0** 무결성 이벤트 수: **0**
내 Linux 버전: Linux 버전 3.10.0-514.2.2.el7.x86_64([이메일 보호됨]) (gcc 버전 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Dec 6 23:06:41 UTC 2016
왜 이런 일이 발생하는지 아시나요?
답변1
cron은 제한된 환경에서 실행되므로 이를 확장해야 합니다. PATH 변수를 현재 환경과 동일한 값으로 설정합니다. 크론탭 예:
PATH=/home/xxxxx/bin:/usr/local/bin:/usr/bin:/bin
SHELL=/bin/zsh
MAILTO=xxxxx
#
# minute 0-59
# hour 0-23
# dom 1-31
# mon 1-12 (or names)
# dow 0-7 (0 or 7 is Sun, or use names)
#
# mm hh dom mon dow command
* * * * * set > /tmp/cronenv
set > /tmp/myenv
귀하의 환경을 crons 환경과 비교하거나 사용량을 추적하는 데 유용합니다 ltrace -egetenv
.