var/log/secure
다음 정보를 제공해 주십시오.
Mar 20 08:07:07 testing sshd[29749]: Accepted password for oracle from 10.51.1.12 port 49239 ssh2
Mar 20 08:07:07 testing sshd[29749]: pam_unix(sshd:session): session opened for user oracle by (uid=0)
Mar 20 08:12:16 testing sshd[29759]: Received disconnect from 10.51.1.12: 11: Disconnect requested by Windows SSH Client.
Mar 20 08:12:16 testing sshd[29749]: pam_unix(sshd:session): session closed for user oracle
oracle
그런데 위의 정보로는 사용자가 어떤 명령을 실행했는지 알 수 없나요?
/home/oracle/.bash_history
실행할 명령에 대한 정보를 제공하십시오.
cat /u01/up_apps.sh
cd daily/work
less Auto_Clone.log
cat Auto_Clone.log
exit
exit
cat /home/oracle/ashfaq/Auto_Clone/Auto_Clone.sh
cat /u01/down.sh
cd /u01/oracle/inst/apps/TESTING_testing/admin/scripts/
./adstpall.sh apps/apps
./adstrtal.sh apps/apps
cat /home/oracle/ashfaq/Auto_Clone/Auto_Clone.sh
cat /home/oracle/ashfaq/demo/main_exec.sh
cd /home/oracle/ashfaq/demo/
ls -ltr
cat main_exec.sh
그러나 어떤 IP나 호스트 이름에서 사용자가 이러한 명령을 실행했는지는 알려주지 않습니다.
root
시간, IP, 사용자 이름( , , ) 및 이러한 사용자가 실행한 명령과 함께 이 모든 정보를 하나의 파일에 저장하는 사용자 정의 파일을 만들 수 있습니까 ?oracle
ricky
답변1
이를 수행하는 도구가 있습니다. 이라고 불리는 audit
이 프로그램은 한 명 이상의 특정 사용자 또는 모든 사용자에 대해 많은 양의 정보를 기록할 수 있습니다. 그러나 서버의 모든 시스템 호출에 대해 감사 규칙을 확인하므로 이로 인해 성능이 저하될 수 있습니다. 또한 IP 정보가 포함되어 있지 않습니다. 이를 달성하려면 감사 로그와 SSH 로그를 결합하여 사용자가 어떤 IP에서 로그인했는지 확인해야 합니다.
감사 규칙을 적용하는 방법에 대한 정보는 를 실행하여 찾을 수 있습니다 man auditctl
.