내 리눅스 서버가 해킹당했습니다. 어떻게 그리고 언제 완료되었는지 어떻게 알 수 있습니까? 공백은 디렉토리 이름)를 볼 때 분명히해서는 안되는

데스크탑 우분투 배포판을 실행하는 홈 서버가 있습니다. 내 crontab에서 이것을 찾았습니다.

* * * * * /home/username/ /.access.log/y2kupdate >/dev/null 2>&1

그리고 그 디렉토리 (사용자 이름 / 뒤에 공백은 디렉토리 이름)를 볼 때 분명히해서는 안되는 일을하는 많은 스크립트를 발견했습니다.

컴퓨터를 지우고 다시 설치하기 전에 보안 위반의 원인과 수행시기를 확인하고 싶습니다. 그래서 나는 같은 구멍을 다시 열지 않습니다.

어떤 로그 파일을보아야합니까? 내가 알고있는 유일한 서버는 sshd와 lighttpd입니다.

이와 같은 일이 다시 발생하는지 감지하려면 어떻게해야합니까?



답변

먼저 컴퓨터와 네트워크의 연결이 끊어 졌는지 확인하십시오.
둘째, 해킹 된 OS를 다시 부팅하기 전에 드라이브에서 중요한 데이터를 가져와야합니다.

문제의 파일에서 타임 스탬프를 확인하십시오. 종종 그들은 정확합니다.
httpd 로그와 인증 로그가 지워지지 않은 경우 상호 참조하십시오. 다른 하나가 지워졌다면, 당신은 이것이 진입 수단 일 수 있습니다. 그들이 여전히 전술이라면, 그들이 로그에서 어떻게 들어 왔는지에 대한 더 많은 정보를 얻을 수있을 것입니다.

모두 지워지면, 당신은 꽤 망했다. 가치보다 발생한 일을 파악하는 데 시간이 더 걸릴 것입니다.

이 두 서비스가 실행 중이라고 언급했는데 다른 모든 것에 액세스하지 못하도록하는 훌륭한 방화벽이 있습니까? 포트 22에서 SSH를 허용 했습니까? 귀하의 로그인은 합리적으로 추측하기 쉽습니다. 비밀번호 로그인을 허용 했습니까? 비밀번호 로그인에 대한 실제 속도 제한이 있습니까? lighttpd와 함께 추가 소프트웨어가 설치되어 있습니까? 펄; PHP; cgi; CMS 또는 유사한? 모든 소프트웨어의 업데이트 버전을 실행 중입니다. 실행중인 모든 소프트웨어에 대한 보안 알림에 가입하고 모든 알림을 신중하게 평가하여 사용자가 실행 / 노출하는 소프트웨어에 적용되는지 확인합니까?


답변

이것은 그 자체로 일종의 주제입니다. 자세한 정보는 리눅스 포렌식을 위해 구글을 사용할 수 있습니다. 기본적으로 오프라인 분석을 위해 드라이브 이미지를 먼저 만든 다음 컴퓨터를 닦고 깨끗한 슬레이트에서 설치해야합니다.

그리고 모든 부수적 인 것을 기억하십시오. 컴퓨터를 사용하는 사람은 누구나 암호를 손상했을 수 있습니다. “깨끗한 방”(격리 된 VM)에 들어갈 때까지 암호를 변경하고 오프라인으로 유지하십시오.

그렇지 않으면 로그 (위조 될 수 있음)를 확인하고 응용 프로그램 (php 스크립트? 데이터베이스? 최신 수정 사항으로 업데이트 했습니까? 다른 사용자가 암호를 제공합니까?)을 확인하는 것입니다.

서버에서 법 의학적 작업을 수행하고 구멍을 확인해야하기 때문에 말 그대로 질문에 쉽게 대답 할 수있는 방법은 없습니다. 자동화 된 도구를 사용할 수 있지만 공격자가 루트 권한을 가지고 있다면 더 이상 시스템 바이너리를 신뢰할 수없고 로그를 신뢰할 수 없다는 점을 명심하십시오.

향후 공격의 경우 보안 수준에 따라 로그를 시스템 로그 저장에 사용 된 시스템으로 리디렉션하여 시작할 수 있습니다. 공격 공간을 줄이기 위해 다른 액세스 권한이 없습니다.

Tripwire와 같은 시스템에서 체크섬 소프트웨어를 실행하여 파일의 무결성을 검사 할 수도 있습니다.

물론 업데이트를 최신 상태로 유지하고 루트킷을 검사하는 스캔 소프트웨어를 실행하십시오.

다시 한번, 보안은 문제가되지 않습니다. 그것은 그 자체로도 전문이 될 수 있습니다. 계층화 된 보안은 네트워크에 속하지 않은 호스트 / IP를 확인하고 시스템에 대한 모든 액세스를 암호화하며 시스템에서 발견 된 매일의 변경 로그를 사용자에게 보내고 네트워크에 허니팟을 설정하는 것만 큼 엄격해질 수 있습니다. 이상한 활동을 찾습니다 (내 서버가 허니팟 컴퓨터의 포트 25에 연결하려고하는 이유는 무엇입니까?)

가장 먼저 활동을 확인하려면 디스크 이미지를 가져 와서 서버 소프트웨어를 다시 설치하십시오. 기스로부터. 서버 바이너리는 더 이상 신뢰할 수 없습니다.

편집-SSH를 실행 한 이후에 발생하는 다른 일-denyhosts를 설치하십시오. XD 시도 후 SSHD에서 시스템에 대한 자동 공격이 잠기도록 구성 할 수 있습니다. 또한 자동화 된 공격을 최소화하기 위해 잠긴 IP를 공유하기 위해 “클라우드”의 다른 거부 서버에서 업데이트하도록 구성 할 수도 있습니다. 수신중인 포트를 이동할 수도 있습니다. 많은 사람들은 그것이 모호함을 통한 보안에 불과하다고 지적하지만 봇의 수를 스캔하면 무작위로 침입하려는 시도가 크게 줄어 듭니다.