우리 네트워크의 컴퓨터는 많은 양의 인터넷 대역폭을 소비합니다. 그러나 시스템을 사용하는 사용자는 없습니다.
서버에 SSH로 접속하여 실행하면 who
사용자가 내가 인식하지 못하는 IP에서 로그인한 것으로 표시됩니다. 시스템에서 이 사용자를 생성하지 않았습니다. 그리고 /etc/sudoers
사용자는 무제한 루트 액세스 권한을 갖습니다.
test11 ALL = NOPASSWD: ALL
세션을 종료하고 루트 비밀번호를 변경했습니다. 사용자도 삭제했습니다.
이제 안전할 것 같지만 왜 이런 일이 발생했는지, 사용자가 어떤 활동을 했는지 분석해야 합니다.
이 사용자가 수행한 작업에 대한 추가 정보를 어떻게 찾을 수 있나요? IP, 기간, 명령 실행, 방문한 인터넷 사이트 등에 대한 자세한 정보를 얻는 데 도움이 되는 시스템 로그 파일은 무엇입니까?
참고: 이는 CentOS 6 시스템의 기본 설치입니다. 보안이나 감사 소프트웨어가 설치되어 있지 않습니다. 시스템 구성도 변경하지 않았습니다. 기본 설치에서 무엇이 추출될 수 있는지 알아야 합니다.
답변1
귀하의 시스템이 손상되었기 때문에 해당 시스템에서 얻은 모든 정보는 신뢰할 수 없습니다. 외부 시스템으로 즉시 전송된 로그(예: 실시간 원격 시스템 로그)만 신뢰할 수 있습니다. 이는 일부 야간 로그가 NFS 공유로 순환되면 이를 신뢰할 수 없음을 의미합니다.
그러나 사용자가 자신의 흔적을 가리려고 애쓰지 않았을 수도 있으며 시스템에서 해당 정보를 계속 사용할 수 있습니다.
불행하게도 기본 Centos/RHEL 설치에서는 로깅이 거의 없습니다. 기본적으로 /var/log
.어떤 로그를 조사해야 하는지는 해당 시스템에서 실행되는 서비스에 따라 다릅니다. 하지만 SSH 로그부터 시작하겠습니다. 그런 다음 루트로 실행 중이거나 sudo
.
운이 좋다면 해당 사용자는 자신이 한 일에 대한 기록이 포함된 파일이 test11
포함된 홈 디렉터리를 가질 수 있습니다 ..bash_history
또한, 알려지지 않은 사용자가 루트 액세스 권한을 얻을 수 있을 정도로 시스템이 손상되었기 때문에 시스템을 처음부터 다시 구축해야 했습니다. 시스템의 어떤 것도 재사용할 수 없습니다. 모든 파일을 손상된 파일로 처리하십시오. 또한 시스템이 손상된 지 얼마나 되었는지 알 수 없으므로 백업을 사용하지 않는 것이 좋습니다.
사용자가 루트 액세스 권한을 얻으면 백도어를 무제한으로 설치할 수 있습니다. 내가 귀하의 시스템에 액세스하는 사람이라면 단순히 test11
사용자를 제거하고 비밀번호를 변경해 root
도 속도가 느려지지 않습니다.
앞으로는 할 수 있는 일이 몇 가지 있습니다.
원격 녹음
앞서 언급했듯이 실시간 원격 로깅만 신뢰할 수 있으며 변조할 수 없습니다. 이것을 가지고 있는지 확인하십시오.
심사
시스템의 중요한 구성 요소를 모니터링하고 감사하기 위해 설치하고 사용해야 하는 두 가지 유틸리티가 있습니다. 이것들은 모두심사그리고오섹.
두 유틸리티는 다르게 작동하지만 비정상적인 활동을 모니터링하는 동일한 목적을 가지고 있습니다.
터미널 로그
다음과 같은 또 다른 감사 도구가 있습니다.pam_tty_audit
이는 앞서 언급한 유틸리티와 함께 사용됩니다 auditd
. pam_tty_audit
TTY의 모든 입력 및 출력을 기록하는 pam 스택에 추가된 유틸리티입니다. 즉, 사용자가 대화형 SSH를 통해 상자에 액세스하면 해당 활동이 기록됩니다.
하지만 가장 중요한 것은 어떤 희생을 치르더라도 이 로그를 보호하는 것입니다. 이는 주로 비밀번호 때문입니다. 프롬프트에서 비밀번호를 입력하면 입력된 비밀번호가 보이지 않더라도 모듈이 pam_tty_audit
이를 보고 기록합니다. cat
또한 기록되는 중요한 정보가 포함된 파일을 내보내거나 볼 수도 있습니다 . 따라서 침입자가 로그를 얻을 수 없도록 로그를 로컬 시스템에서 즉시 이동하거나 암호화해야 합니다(그리고 암호 해독 키가 로컬 시스템에 위치해서는 안 됩니다). 두 가지 모두 수행하고 원격으로 전송하고 암호화하는 것이 바람직합니다.