Linux에서 "개인"활동 로깅


11

따라서 이와 관련된 많은 게시물을 읽었으며 이전보다 더 혼란스러워졌습니다. ttyrec, snoopy, acct, rootsh, sudosh, ttyrpld, unix auditing 등 다양한 도구에 대한 권장 사항이 있습니다.

필자의 경우 시스템에서 실행 된 모든 명령 (타임 스탬프가 활성화 된 기록)을 기록하고 싶지만 누가 무엇을했는지 알고 싶습니다. 그러나 우리는 모두 ssh를 통해 동일한 소규모 사용자 계정에 로그인합니다 (우리가하는 일에 따라 다름). "누가"가 제공하는 정보 (연결과 관련하여)를 포함하여 명령 로그를 얻으려면 어떻게하면 일반 "사용자"의 입장에서 특정 사람에게 작업을 추적 할 수 있습니까?


스누피는 그렇게 할 수 있어야하며 아마도 다른 많은 대안 들일 것입니다.
3molo

2
시스템 호출, sudo, 쉘 히스토리, 파일 시스템 변경? 모든 사용자 프로세스가 반드시 로그인 쉘에서 시작되는 것은 아닙니다.

답변:


9

auditd패키지는 원래 로그인에 계정 뒷면에 활동을 추적 (그 사람이에서 로그인지를 결정하기 위해 로그인 로그를 확인) 할 수 있도록 각 로그인에게 세션 ID를 할당하는 PAM을 사용할 수 있습니다,이를 위해 설계, 사용된다 ausearch관심있는 이벤트를 찾기 위한 명령입니다. 여기 에서 매우 포괄적 인 안내서를 읽을 수 있지만, 세부 사항 중 일부는 분배에 맞게 변경해야합니다. Redhat에는 FAQ 및 기타 문서가있는 사이트가 있습니다 .

이것은 쉘에 입력 된 명령을 기록하거나 사용자의 명령 기록을 기록하려고 시도하지 않기 때문에 vi (X 또는 X에서 수행 될 수 있음)를 열고 screen스크립트를 작성하는 등의 일을 기록해야합니다 ( vi의 잘라 내기 / 붙여 넣기 명령과 몇 번의 실행 :.!/usr/games/fortune으로 로그 할 수없는 일부 소스 데이터를 얻은 다음 :%!/bin/bash명령 을 실행하십시오 .


이것은 가장 유망한 답변을 찾고 있습니다 ... 감사를 사용하면 로그인시 생성 된 감사 ID를 사용하여이 사용자가 채택 할 수있는 ID에 상관없이 로그인에서 로그 아웃을 통해 사용자의 작업을 일관되게 추적 할 수 있습니다. 원래 로그인 과정. 실제로 그것을 구현하는 방법을 알아 내기 위해 지금 내 부분에 대해 조금 더 읽으십시오. 선택 로트를 좁혀 주셔서 감사합니다!
Ashimema

이 답변을 수락 된 것으로 표시하는 데 시간이 너무 오래 걸린다는 점에 대해 사과드립니다. 꿈을 꾼다.
Ashimema

4

이미 사용할 수있는 다양한 도구가 있습니다. 귀하의 질문 (및 이러한 답변)은 역사, 스누피, 감사, sudo 로그 등과 같은 힌트를 제공합니다. 누가 무엇을했는지 서버에서 알 수 없습니다. 사용자가 구체적으로 사용하는 자신의 컴퓨터가 있고 키로거를 사용하여 해당 키보드에서 실제로 입력 한 내용을 알 수있는 경우, 누가 누구인지 구체적으로 알 수 있습니다.

계정을 공유 할 때마다 실제 진행 상황을 알 수 없습니다. 누가 루트 계정이나 bob 계정을 사용했는지 또는 사람들이 무엇을하고 있는지에 대한 추가 증거가 필요하기 때문입니다. 특정 사건에서 발생한 상황을 조사하려는 경우 액세스 정책 및 절차, 복구 절차를 검토하고 직원을 평가하거나 필요한 경우 재교육에 참여해야합니다 (또는 민감한 계정에 대한 신뢰도). 누가 그 일을했는지 ​​알아내는 데 더 많은 자원을 빨아 들일 수 있기 때문에 누가 어떤 일을했는지 ​​찾아내는 데 직접 집중하는 것보다

그렇지 않은 경우 발생한 상황을 추적하기위한 법 의학적 조사 기법 (드라이브 이미징, 로그 추적 등)을 조사하고 싶을 수 있습니다. 사건을 조사하지 않을 경우 정책을 검토하고 더 나은 추적 및 계정 확인을 설정하십시오. root, Bob만이 sudo를 사용하여 자신의 계정을 사용하여 더 높은 권한에 액세스하고, 감사를 설치 및 모니터링하는 등의 작업을 수행하며 신뢰할 수있는 서클이 현미경 아래에있는 것처럼 느끼지 않도록주의하십시오. 업무를 수행하거나 업무를 수행하는 데 방해가됩니다.


2

감사를받은 Linux ( http://people.redhat.com/sgrubb/audit/ )는 누가 무엇을했는지 감시하는 데 가장 큰 힘을 줄 것입니다. DerfK의 답변에 더 자세한 내용이 있습니다.

그러나 webadmin 계정에 액세스 할 수있는 사람이 n 명인 경우 webadmin으로 로그인 한 사람에게는 아무 것도 알려주지 않습니다. 각 사용자에 대해 명명 된 계정을 사용한 다음 su-또는 sudo를 사용하여 "기능"계정에서 명령을 실행하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.