.bash_history 파일 없이 Linux에서 모든 사용자의 기록을 보호하는 방법

.bash_history 파일 없이 Linux에서 모든 사용자의 기록을 보호하는 방법

우리는 서버에서 누가 무엇을 했는지 추적할 수 있는 환경을 설정하고 있습니다. 우리는 일반적으로 "last" 명령과 bash_history 파일에 중점을 두지만 완벽하게 도움이 되지는 않습니다. 즉, 명령을 실행하는 동일한 사용자가 여전히 bash_history 파일에서 항목을 삭제할 수 있습니다. 그래서 추적하는 것이 점점 더 어려워지고 있습니다.

명령 기록을 완벽하게 보호할 수 있는 방법이 있나요?

답변1

의존하지 마십시오 .bash_history. 계정(읽기 accton(8)및 친구)을 활성화한 다음 사람들에게 관리자 권한을 부여하세요 sudo. log 명령을 실행 sudo하고 로그를 원격 컴퓨터로 보냅니다.

답변2

명령 기록을 완벽하게 보호할 수 있는 방법이 있나요?

예, 사용자가 자신의 명령 기록을 완전히 보호할 수 있는 방법이 있습니다. 그들은 이렇게 해야 해

unset HISTFILE

그리고 더 이상 디스크에 기록되지 않으므로 기록을 모니터링하는 사람으로부터 완전히 보호됩니다.

답변3

나는 사용자가 자신의 흔적을 감추기 위해 자신의 .bash_history를 편집 및/또는 삭제하는 상황에 직면했습니다.

제가 생각해낸 간단한 해결책은 chattr +a 를 사용하는 것입니다. 이 방법은 파일 추가만 허용하고 편집이나 삭제는 허용하지 않습니다. 또한 루트 사용자만 이를 설정하거나 설정 해제할 수 있습니다.

모든 현재 사용자에게 배포하려면 루트로 su하고 다음을 실행합니다.

chattr +a /home/*/.bash_history

모든 신규 사용자를 유치하기 위해 30분마다 이 명령을 실행하는 간단한 스크립트를 작성했습니다.

사용자를 삭제하려면 사용자 디렉터리를 삭제하기 전에 이 디렉터리를 변경해야 한다는 점을 기억하십시오. 이는 다음 명령을 실행하여 수행됩니다.

chattr -a /home/username/.bash_history

그것은 매우 효과적인 것으로 입증되었습니다. 이제 AIX에서 이에 상응하는 항목을 찾으면 됩니다.

관련 정보