루트킷 / 백도어 / 봇넷 등에서 Linux 서버가 깨끗한 지 확인하는 방법은 무엇입니까?


9

Linux 서버가 일주일 동안 극도로 낮은 보안 정책 (r / w anonymous Samba 폴더, 기본 관리자 비밀번호가있는 Firebird 데이터베이스 서버, 방화벽 없음 등)으로 인터넷에 노출 된 경우 시스템이 어떻게 작동하는지 확인하십시오 전체 포맷 및 재설치 없이도 타협하지 않고 SSH를 통해서만 원격으로 액세스합니까?

답변:


7

일반적으로 chkrootkit 과 같은 도구를 사용하여 로컬 검사를 제안 하지만 검사를 실행하는 유일한 방법이 원격으로 수행하는 경우 Rootkit Hunter를 대신 사용 하는 것이 좋습니다 .

Rookit Hunter는 다음과 같은 테스트를 실행하여 루트킷 및 기타 활동을 확인합니다 ( 자세한 내용 은 프로젝트 정보 참조).

  • MD5 해시 비교
  • 루트킷이 사용하는 기본 파일을 찾으십시오
  • 바이너리에 대한 잘못된 파일 권한
  • LKM 및 KLD 모듈에서 의심되는 문자열 찾기
  • 숨겨진 파일 찾기

다른 사람들이 말했듯이 서비스를 무단 변경하지 않았는지 확인하는 유일한 방법은 서비스를 다시 작성하는 것입니다. 이러한 도구는 잘 작동하지만 100 % 성공을 보장하는 것은 아닙니다.


2

OSSEC 은 루트킷을 검사하고 의심스러운 활동을 감지합니다.


2

나는이 대답이 당신이 듣고 싶은 것이 아니라는 것을 알고 있지만 여기서 우리는 간다. 시스템을 깨끗하게 유지하는 가장 좋은 방법은 시스템을 검사하여 서버를 지우고 다시 작성하는 것입니다. 나는 다음을 할 것이다 :

  • 인터넷에서 컴퓨터를 제거하십시오
  • 장치를 제거하기위한 백업 데이터 및 구성 정보
  • 포맷 저장
  • 기본 / 표준 설치 / 업데이트 재설치
  • 이전 데이터를 참조로 사용하여 서버 재구성
  • 사용자 데이터 복원

다음은 아직 읽지 않은 경우 읽을 수있는 자료입니다.

[링크 텍스트] [1] 링크 텍스트 링크 텍스트 링크 텍스트

[1] : http://www.sans.org/reading_room/whitepapers/linux/linux-rootkits-beginners-prevention-removal_901 "리눅스 루트킷 초보자"


2

또한 원하는 대답은 아니지만 시스템이 루팅되었을 가능성이있는 경우 시스템이 100 % 깨끗한 지 확인하기가 매우 어려울 수 있습니다. 루트킷은 탐지하기 어렵도록 설계되었습니다. 다양한 루트 검사기를 실행하고 깨끗하게 체크 아웃하면 시스템이 "정확한"것입니다.

보안이 문제라면 위의 포스터가 방금 말했거나 좋은 백업에서 복원하는 것처럼 보안을 재구성하는 것이 좋습니다.


1

여기서 적극적으로 행동해야합니다. 머신에서 루트킷을 감지 할 수있는 신뢰할 수있는 방법이 없으므로, 루트킷이 처음에 도착하는 것을 막고 진입시이를 감지 할 수있는 방법을 찾아야합니다 (예 : 트립 와이어 및 잠금 인터페이스를 통해).

컴퓨터가 어떤 식 으로든 악용되었다고 생각되면 실제로 다시 설치해야합니다. 다시 설치하지 않고 정리할 수있는 보장 된 방법은 없습니다. 지금까지 가장 안전한 옵션입니다.


1

RKhunter, Tripwire 등은 훌륭하지만 실제로 사건 전에 설치 한 경우에만 이점이 있습니다. 이는 키 파일이 변경되었는지 여부를 감지하는 데 유용하기 때문입니다. 지금 RKHunter를 설치하고 실행하면 많은 루트킷이 포함되어 있는지 감지하지만 공격자가 OS 또는 사용하는 응용 프로그램에서 연 백도어는 감지하지 않습니다.

예를 들어 컴퓨터에 몰래 들어가서 새 사용자를 만들고 SSH 및 sudo 권한을 부여한 다음 합법적으로 보이는 구성을 그대로두고 루트킷을 남기지 않고 정리 한 다음 나중에 다시 와서 악을 저지를 수 있습니다.

가장 좋은 방법은 어떤 포트가 서비스를 수신하는지 확인한 다음 모든 서비스의 구성을보고 모두 합법적인지 확인하는 것입니다. 그런 다음 방화벽 구성을 확인하고 필요하지 않은 포트를 인바운드 및 아웃 바운드로 잠그십시오. 그런 다음 RKHunter 등을 설치하여 일부 script-kiddie가 루트 키트를 엉망으로 만들 었는지 확인하십시오.

솔직히 말해서, 컴퓨터가 손상되지 않았 음을 확실히하는 것보다 JJ가 제안하고 재 구축 한 작업을 수행하는 것이 아마도 덜 일 것입니다. OS 및 구성이 아니라 귀중한 데이터입니다 (설정하는 데 소요되는 시간 제외).

당신보다 똑똑한 사람에 의해 금이 간 것이 확실하지 않을 것입니다.


0

첫 번째 단계는 실제로 rkhunter / chkrootkit이어야하지만, 과거에는 특정 패키지 관리자에 내장 된 기능 (예 : 시스템의 모든 패키지를 거치고 'rpmverify')을 사용하여 행운을 얻었습니다. 포함 된 파일의 MD5Sum은 디스크의 파일과 다르지 않습니다.

코어 바이너리는 RPM 또는 DPKG 데이터베이스에 지정된 것과 동일한 MD5를 가져야합니다. 따라서 다른 경우 이상한 일이 발생하는 것을 알고 있습니다.


-1

실행중인 시스템이 손상되었는지 확인하는 가장 효과적인 방법은 Second Look 을 사용하는 것 입니다. 커널과 모든 실행중인 소프트웨어를 메모리에서 확인하여 배포 공급 업체가 제공 한 것과 일치하는지 확인합니다. 이것은 알려진 특정 감염의 인공물을 찾는 rkhunter, chkrootkit 등보다 훨씬 나은 접근 방법 입니다. Second Look은 운영 체제의 무결성에 대한 가정을하지 않으므로 사고 전에 사용하거나 설치하지 않아도됩니다.

(면책 조항 : 저는 Second Look의 수석 개발자입니다.)

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