2013-10-28 3 views
3

지난 주 내 서버가 해킹당했습니다. 해커는 구식 타사 편집기 (PHP)를 공격하고 PHP에 백도어 스크립트를 이식하고 사이트에 심각한 피해를 입혔습니다. 나는 백도어 스크립트와 그가 내 서버에 남긴 악성 코드를 청소하는 데 주말을 보냈다. 그리고 다시 해킹되는 것을 피하기 위해 서버에 다음을 수행했습니다.내 서버가 충분히 안전합니까?

  1. PHP에서 file_upload를 해제하십시오. 해킹이 PHP를 통해 백도어를 업로드 한 이후 php.ini에서이 기능을 비활성화했습니다. 이제는 ftp를 통해서만 업로드 할 수 있습니다.

  2. PHP에서 create_function을 비활성화하십시오. 내 소프트웨어 중 어느 것도이 기능을 사용하지 않습니다. 해커는이 함수를 eval()과 같은 방식으로 사용하여 문자열로 명령을 실행합니다.

  3. php.ini의 popen, exec, system, passthru, proc_open, shell_exec, show_source, phpinfo를 비활성화하십시오. 이러한 기능은 주로 백도어 스크립트에서 내 파일 및 디렉토리를 수정하는 데 사용됩니다.

  4. suhosin을 설치하십시오. eval() 내에서 호출되는 합법적 인 함수를 찾아서 suhosin.executor.eval.whitelist에 넣습니다. 해커가 내 프로그램에 악성 코드를 삽입하고 base64_encode로 obfisc 한 다음 eval() 내에서 실행합니다. 따라서 eval() 내에서 호출되는 몇 가지 법적인 함수 만 허용합니다.

  5. suhosin.executor.disable_emodifier를 켭니다. 해커는 내 프로그램에 obfiscated 코드를 추가하고 preg_replace() e 수정자를 사용하여 브라우저에 입력 한 모든 PHP 명령을 실행합니다. 따라서 그는 브라우저를 통해 서버의 파일을 업로드하거나 수정할 수 있습니다. (file_upload를 해제 했으므로 더 이상 업로드 할 수 없지만 원하는대로 파일을 수정하고 삭제할 수 있습니다.) create_function, preg_replace이다() 전자 수정을 사용하지 않도록 설정 및 평가()를 제한함으로써

가, 심지어 내 서버에 관리법 왼쪽 악성 코드가 해커는 아무것도 할 수 없었다. 이것들은 PHP에서 가장 위험한 3 가지 함수입니다. 내가 서로를 넣어 모든

에서 거부 허용,

주문이 거부 * :

  1. 브라우저에서 바로 실행되는 모든 폴더 만 루트 디렉토리 및 금지 PHP에 htaccess로 추가 Php 이후 missing.php.DISABLED라는 이름의 백도어 파일을 발견했기 때문에 php를 넣지 않으면 * 실행할 수 있습니다.

    1. 루트 디렉토리 (.php를 실행할 수있는 유일한 장소)는 읽기 전용으로 설정하십시오. 해당 폴더의 모든 파일을 읽기 전용으로 설정하십시오. 그래서 해커는 php가 실행될 수있는 유일한 디렉토리에 새로운 백도어 스크립트를 업로드 할 수 없었습니다. 또한 그 디렉토리의 파일을 수정할 수도 없습니다.

    2. 는 워드 프레스 로그인, 나는

    주문, 거부 모든

    이 xxx.xxx.xxx에서 허용에서 가 거부 허용했다.xxx

    . 루트 디렉토리의 .htaccess에 xxx.xxx.xxx.xxx는 내 IP입니다.

    1. .htaccess 읽기 전용으로 설정하십시오.

    글쎄, 내 서버의 보안을 강화하기 위해 할 수있는 일입니다. 내가 놓친 게 있니?

    감사합니다.

+0

그래서 자신을 보호하고 있었습니까? – zerkms

+0

아무도 당신이 가지고있는 다른 악용 가능한 구멍을 알고 있습니다. 대부분의 문제점은 작성한 코드에 있으며 서버 구성과 다를 수 있습니다. – deceze

+0

_ "지금부터는 제 3 자 코드를 항상 최신 상태로 유지하겠습니다"_ 부분은 어디에 있습니까? 여전히 보장은 아니지만, 배우려는 교훈이 있다면, 바로 이것입니다. – Halcyon

답변

4

알려진 깨끗한 설치 미디어에서 컴퓨터의 이미지를 다시 작성하지 않으면 느린 루트킷이 있다는 것을 알 수 없습니다.

+0

조언 해 주셔서 감사합니다. 느린 루트킷을 찾을 수있는 방법이나 소프트웨어가 있습니까? 이 루트킷이 실행되지 않도록하려면 어떻게해야합니까? 귀하의 조언에 감사드립니다. – user2926814

+0

의지하지 말아야합니다. 루트킷의 요점은 그러한 종류의 탐지를 피하는 것입니다. 따라서 즉시 당신은 군비 경쟁에 들어갑니다. – regularfry

관련 문제