저는 SLES를 처음 접했고 어떤 IP 주소가 명령을 실행했는지 알아야 합니다. 내가 접한 모든 것을 검색했습니다.이것/var/log/auth.log
하지만 나에게는 또는 가 없습니다 /var/log/secure
. SSH를 사용해야하는지 모르겠습니다. 사용자의 기록( )을 보는 방법을 알고 있지만 .bash_history
IP 주소는 저장되지 않고 명령만 저장됩니다.
어쨌든 SLES에서 이 작업을 수행할 수 있나요? 11 특히 SSH를 사용하는 경우에도 마찬가지입니다.
답변1
IP 주소는 명령을 실행하지 않습니다. 명령은 항상 로컬로 실행되는 프로그램에 의해 실행됩니다. 명령을 실행한 사람에 대한 관련 법의학 정보는 프로그램을 실행한 사용자인 경우가 많습니다.
네트워크 입력을 수신하는 서버로 명령을 역추적할 수 있습니다. 예를 들어 SSH 서버 프로세스에 의해 생성된 세션에서 명령이 실행되었음을 검색한 다음 서버 프로세스가 수신 대기 중인 원격 컴퓨터를 찾습니다. 해당 명령이 터미널에서 실행된 경우 해당 명령이 어느 터미널에서 실행되었는지 확인하여 이 정보를 얻을 수 있습니다.who
이 명령을 실행하는 사용자와 로그인한 위치를 확인하세요. 이후 시간, 사용자 단말, IP 주소 간의 연관성은 다음을 통해 접근할 수 있습니다.last
.
개별 명령은 기본적으로 기록되지 않습니다. 이렇게 하려면 설정을 해야 합니다. 간단하고 오버헤드가 낮은 접근 방식은 다음과 같습니다.프로세스 회계:Install 을 실행하고 acct
서비스가 활성화되어 있는지 확인한 다음 각 개별 명령을 기록합니다(매개변수는 제외). 달리다
lastcomm
명령어, 시간, 터미널과 관련된 로그를 봅니다. 그런 다음 보고된 IP 주소로 정보를 교차할 수 있습니다 last
.
답변2
/etc/profile에 이 코드를 추가하세요.
mkdir /var/log/history;chmod 777 /var/log/history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
export HISTFILE=/var/log/history/$(whoami)-$USER_IP-history
사용 날짜에 기록 파일 이름을 추가할 수도 있습니다.