Mollom API를 키 드루팔 호스팅

귀하의 드루팔 사이트는 해킹되었다. 이제 뭐?

어머. 최악의 시나리오는 통과왔다 : 취약점 어딘가에 당신의 위치를 ​​정복 악의적 인 개인 (또는 봇, 가능성)을 허용했다. 좋은 소식 : 당신은 그들이 그것을 한 것으로 나타났습니다. 나쁜 소식 : 이제 정리해야합니다.

이 가이드는 당신에게 상황에 대처하는 방법에 대한 일련의 단계를 줄 것이다. 그것은 철저한하지 않을 수 있습니다. 당신이 뭔가를 누락 느끼면 기여하시기 바랍니다. 아이디어는 시간 순서로 표시됩니다. 각 단계에서, 당신은 결정을 내리고 상황에 가장 적합한 조치를 취해야 할 것이다.

호스팅

1 단계 : 사이트의 법정 복사본을 만듭니다

당신은 당신이 해킹했는지 일단 당신은 모든 것을 중지하고의 법정 복사본을 만들어야합니다. 그것은 분명히 항상 적합하지 않은 모든 환경에서 작동하지 않습니다하지만 어떤 사람들은 말 그대로 서버에서 네트워크 케이블과 전원 케이블을 꺼낼 선호 (구름, 누구?). 당신이 할 수있는 경우에,이 법정 사본이 포함 된 서버 (들)의 운영 시스템 레벨 스냅 샷이 될 수 있습니다. 그렇지 않으면, 데이터베이스 및 파일의 사본을 이동합니다. CD 또는 DVD와 같은 수정할 수 없습니다 미디어에 복사본을 저장합니다.

2 단계 :,, 롤백을 유지 다시, 또는 멀리 사이트를 던져 결정합니다.

사이트가 당신을 필요로 "유지하는"을 검토 많은 시간과 노력을 할애한다. 당신은 그것을 멀리 던져하거나 다시 완벽하게 받아 들일 수 있다고, 사이트의 특성에 따라 결정할 수있다. 아마도 사이트의 요구가 이동하고 당신은 이미 그것을 다시 계획하고 있었다. 아마도 그것이 와서 간 이벤트를했다 당신은 정적 복사본을 만들하거나 모두 삭제할 수 있습니다. 비록 당신이 다시 또는 당신이이 과정을 수행하지 않는 사이트를 삭제하기로 결정했습니다,하지만 적어도 당신은 치료에 많은 작업을 절단 한 경우. 이 결정을하지 못할 수 있습니다 또는 치료의 일환으로 수행 조사를 기반으로 당신의 마음을 변경할 수 있습니다. 이 질문을 고려하여 프로세스를 시작하고 당신의 인생을 완화하는 데 도움이 될 수 있습니다. 귀하의 사이트가 해킹 된 특정 날짜를 알고 있다면, 당신은 이전 데이터베이스와 파일 백업을 사용하여 쉽게 간단하게 사이트를 재 구축 할 수 있습니다 (당신이 바로 그을하고 주위를 유지?).

사이드 바 : 문서 및 학습

당신이해야 할 첫 번째 것들 중 하나는 개방이 스크래치 패드입니다. 당신이 발견 한 모든 것을 문서화하고 지금하고있는 것을 한 가지. 당신이 공격자에 있었는지 증명하는 중요한 세부 사항을 통지하는 경우, 정보의 소스와 당신이 할 수있는 정보의 정도를 추가합니다. 두 번째 문서는 당신이 과정을 통해 이동으로 생각하는 당신의 위치를 ​​강화하기 위해 수행 할 것입니다. 당신은 당신이 공격자가 어렵게하기 위해 할 수있는 많은 것들을 깨달을 수 있지만, 자신의 쉽거나만큼 중요하지 지금 당장 할 수 있습니다. 나중에 그 가치있는 아이디어를 저장합니다.

Mollom API를 키 드루팔 액세스를 호스팅

3 단계 : 당신이 누구에게 통보해야합니까?

당신은 당신이 문제에 대해 통지 할 필요가있는 결정을 시작한다. 귀하의 사이트로 사용자를했다 당신은 당신의 위치가 완전히 이메일 주소, IP 주소와 사이트의 개인 아무것도가 손상 등의 후 개인의 콘텐츠를 통해되었다고 생각되면. 일부 지역에서는 법적으로 (예를 들어, HIPAA 또는 PCI 준수를 요구하는 사이트의 경우)이 노출에 대해 알려, 그렇지 않은 경우도 도덕적으로 바운드 수밖에 없다.

당신이 사이트의 소유자가 아닌 경우에, 당신은 알려하는 이해 관계자 고려해야합니다. 사이트의 방문자가 악성 코드에 노출되었을 수 있습니다. 소유자는 의사 결정에 참여해야한다.

사이트 누가 당신이 그것을 공격 용의자의 특성에 따라 하나 개 이상의 법 집행 그룹을 통지 할 수 있습니다. 많은 현지 법 집행 그룹은 가난 이러한 종류의 문제를 처리하는 갖추고 있습니다. 그러나 아마 그들은 도움 또는 다른 법 집행 그룹으로 사례를 참조 할 수 있습니다.

4 단계 : 당신이 사이트를 오프라인으로해야 하는가?

다시 말하지만, 사이트의 성격에 따라 당신은 오프라인으로 할 수 있습니다. 당신이 적극적으로 악성 코드를 배포하는 스팸 메일을 보내거나 더 공격 후 오프라인을 복용하고 적어도 더 손상을 방지하는 틀을 설치하기위한 피벗 점으로하는 데 사용되는 것으로 의심되는 경우.

사이트를 오프라인으로 전환하는 것은 가능성이 당신이 그들의 존재를 알고있는 공격자 팁 않습니다.

당신은 웹 서버 수준에서 사이트를 오프라인으로하지 않는 경우 :

당신이 당신의 법의학 사본을 가지고 다음 모든 세션을 삭제했는지 확인하십시오.

이 의심 암호가 변경되었을 경우,이 같은 쿼리를 사용하여 새 값으로 업데이트 할 수 있습니다 :

업데이트 사용자 설정 패스 = CONCAT ( "ZZZ"샤 (CONCAT (통과, MD5 (랜드 ()))));

사용자는 자신의 암호를 변경하려면 암호 재설정 도구를 사용할 수 있습니다.

5 단계 : 공격을 조사 시작

무엇이든 당신이 공격을 조사하는 첫 번째 단계는 손상되었다는 사실을 밀고. 공격자가 그것을 달성 할 수 방법을 고려해야 - 페이지 내용이 변경된 경우, 스팸 메일이 전송 된 정보 도난 어떤 목적으로 사용, 악성 코드는 타협이 무엇이든, 사이트에 업로드. 당신이 변화를 만들 수있는 사람이 생각할 수있는 모든 방법을 나열합니다. 이 연습에 두 가지 목적이있다 : 첫째, 당신은 당신이 그 구멍을 닫을 수 있도록 공격 됐는지 아래 핀 도움이됩니다. 둘째, 공격자들이 사이트를 공격하는 데 사용되는 수단을 기반으로 할 수 있었던 다른 일을 확인합니다. 창조적 시도와 "너무 열심히"또는 "기술적으로 불가능"으로 모든 가능성을 포기하지 - 당신의 공격자가 아마 창의적이고 당신이하지 생각하는 당신의 위치가 정확히 작동하지 않을 수 있습니다.

이 방법의 목록을 갖게되면, 가장 가능성이있는 아래 핀하려고 시작합니다. 어느 최소한의 노력이 필요? 각각에 대해 어떤 증거가있을 것인가? 당신은 증거의 예를 볼 수 있나요? 각 방법의 경우, 공격은 액세스의 종류가 있다면 누군가가 할에 대한 합리적인 일이? 하나는 그럴 가치가 없어 너무 많은 노력이 필요합니까?

의심, IT 및 웹 애플리케이션 보안에 더 많은 경험을 할 수 있습니다 동료로부터 도움을 요청합니다. 때로는 다른 사람과 그것을 통해 이야기의 간단한 훈련 추가 아이디어를 표면 것입니다. 또한, 당신은 당신이 공격의 모든 다양한 종류의 알고 있는지 확인하기 위해 OWASP 톱 10리스트를 검토해야합니다. 마지막으로, 당신은 도움이 유사한 위반을 경험하고 다른 사람이 있는지 확인하기 위해 인터넷 검색을 찾을 수 있습니다. 종종 이러한 공격은 웹 사이트를 대량으로 검색 로봇에 의해 수행되므로 솔루션은 수정 및 / 또는 취약점을 완화하기 위해 일부 알려진 서명뿐만 아니라 찾기 위해가있을 수 있습니다.

운이 좋다면, 하나 또는 잠재적 인 방법으로 두 사람은 분명한 선택이 될 것입니다 침입합니다. 그래서, 그 약점을 차단!

사이드 바 : 공격자는 워크 플로 너무 되세요

당신이 사이트를 구축하기위한 워크 플로우를 가지고 것처럼, 공격자는 사이트를 공격하기위한 워크 플로우를 가지고있다. 그들이 사이트에 깨진 때 느슨하게 말하면, 당신에게 중요한 첫 번째 단계입니다. 이이 작품에서 작업하는 사람들의 소프트웨어 로봇 및 / 또는 그룹은 종종 그들은 반드시 사이트를 악용 할 사람이 아니다. 그들은 발판을 설립 한 후, 다음 단계는 일 개월 동안 오지 않을 수 있습니다.

다음 사이트에 대한 학습과 수행 할 작업을 결정하는 것이다. 사이트가 다음 계정 또는 민감한 데이터의 큰 숫자를 수용하면 그 자원이다. 이 큰 개인 네트워크에 있다면 그 탐색하고 활용할 수있는 새로운 무언가가된다. 어쩌면 단지 깨끗한 IP가 스팸 메일을 보내는 데 사용하는 것. 아마 많은 트래픽을 가져 와서 좋은 점은 악성 코드를 배포하는 데 사용하는 것입니다. 그것은 높은 검색 엔진 순위를 가지고 있다면 다른 사이트에 링크 및 검색 엔진의 명성을 버는에서 장소가 될 수 있습니다.

사이트의 잠재적 인 가치를 이해하면 그것을 악용 시작하는 시간이다. 공격자는 동시에 여러 일을 할 수 있습니다 : 이메일 / 비밀번호 목록을 exfiltrating으로 시작하고 일부 악성 코드 및 검색 엔진 링크를 둡니다. 콘텐츠가 특히 민감 할 경우 그들은 그것을 복사 할 수 있으며, 다음 데이터가 도난 의심하지 않도록 자신의 트랙을 청소하십시오.

당신이 침입의 흔적을 볼 수 있지만 손상의 경우, 아마 당신은 초기 과정을 중단, 또는 아마도 그들은하지 않은 후 아무 것도 흔적을 떠나하지 않는 방법으로 사이트를 학대.

어디 공격자는 드루팔 시스템을 악용합니까?

index.php를, 또는 정말 코드 파일

일반적인 해킹은 템플릿 파일로 사이트에서의 index.php 또는 코드 파일을 수정하는 것입니다. 방법은 여러 가지이다 :

  • 컴퓨터 바이러스는 파일을 (진지하게) 편집하고 업로드 할 FTP 도구에 저장된 자격 증명을 사용하여 사이트를 관리하는 데 사용됩니다.
  • 편집하거나 파일을 덮어 쓰기하는 데 사용되는 서버와 느슨한 서버의 파일 권한에 임의의 코드 실행.
  • 다음 코드를 수정하는 데 사용 된 명령 쉘을 업로드하는 데 사용 된 임의의 파일 업로드.

개정 제어 시스템 또는 drupal.org에서 중, 알려진 좋은 사본에 모든 코드 파일을 비교 (해킹! 모듈이 도움이 될 수 있습니다.)

예를 들어, 당신 알려진 드루팔 코드베이스의 일부가 아닌 서버에있는 파일을 찾아 모듈 / 시스템 / qseboj.php

그들은 모두 적절한 보장하기 위해 "파일"디렉토리에있는 파일을 검토합니다.

이 서버에있는 파일의 지문으로 소유자, 그룹, 권한과 타임 스탬프의 결합 된 메타 데이터를 검토하는 것이 도움이 될 수 있습니다. 대부분의 파일은 하나 개의 지문을 가지고 하나의 다른 파일은 무슨 일이 있었는지 이해하는 데 도움이 다른 지문 (예를 들어, 공격이 시작했을 때에 대한 편집)가있는 경우.

콘텐츠 또는 관리자 인터페이스 내부 코드

사이트 관리자가 노드 또는 블록의 동작에 비틀기를 만들기 위해 드루팔 인터페이스에 코드의 작은 조각을 넣어 핵심의 php.module 정말 편리합니다. 또한 그들이에 원하는 코드를 실행하는 공격자를위한 좋은 방법입니다.

당신이 합법적으로 다음 악성 콘텐츠를 검색 손으로이 작업을 수행 할 수없는 경우 모든 노드, 블록, 사용자 프로필, 필드 등의 내용을 검토합니다.

뷰 UI 가져 오기 또는 규칙 모듈 또는 CDN 또는 Google 웹 로그 분석 또는 수십 다른 인기 모듈은 모든 당신이 그들의 인터페이스를 통해 PHP를 실행할 수 있습니다. 아야. 이들은 거의 사이트가 악용되어 진행하는 방법입니다,하지만. 공격자가 함께 제공되는 지점을 정확히 파악에 도움이 될 사이트 인터페이스에서 PHP를 실행하고 해당 URL로 방문 웹 서버 로그에 볼 수있는 방법을 검토 할 수 있습니다. 알려진 IP 주소에서 방문이 있습니까? 그들은 정상 근무 시간 이외의 시간인가? 당신의 공격자의 시간과 IP를 알고있는 것은 당신이 watchdog.hostname 또는 comment.hostname에서 데이터베이스에보고에서 공격자에 대해 함께 더 많은 단서를 묶어 도움이 될 수 있습니다.

새로운 사용자 및 / 또는 새로운 역할

귀하의 사이트에있는 모든 역할 봐. 그들은 어떤 권한을 가지고 있습니까? 어떤 사이트를 인수하는 데 사용할 수있는 권한을 고급? 아마도 당신이하지 않았다 알고있는 새로운 역할이있다. 그 역할이 한 사용자가 있습니까? 아마 공격자에 의해 제어되는 이메일 및 / 또는 비밀번호를 가지고있다. 고급 권한이 역할의 목록으로, 사이트에 사용자를보십시오. 당신은 권한을 고급 모든 하나 하나를 알고 계십니까? 당신이 그것에있는 동안 : 사용자를 감사하고 그들을 필요로하지 않을 수 있습니다 사람들로부터 고급 역할을 제거합니다. 더 이상 사이트 관리에 관여되지 않은 사용자 차단.

기존 사용자를 수정

당신이 사이트의 모든 사용자를 보면, 또한 이메일 주소 만 자신의 이름에 있지보고해야하지만. 그것은 그 사람에 대한 의미가 있습니까? 당신이 확실하지 않은 경우, 사람과 계정을 두 번 검사를 차단합니다. 하나의 트릭 당신은 등록 된 사용자가 데이터베이스에보고 users.mail와 users.init 비교하기 때문에 이메일이 변경되었는지 사용할 수 있습니다.

특별 참고 사항 : 귀하의 사이트가 아니라 진정으로 공격자가 데이터베이스의 모든 행 또는 열을 수정 한 수 있음을 기억 손상되어있는 경우, 결정을 내리는 데 도움이 데이터베이스에 보일 것입니다 동안. 이론을 검증하기 위해 (어떤이있는 경우) 데이터베이스의 알려진 좋은 백업 복사본을 사용합니다.

세션 테이블

대부분의 공격은 뒤에 흔적을두고 있지만, 사용자가 로그 아웃 딸깍 소리가 날 때까지 세션은 지속됩니다. 고급 권한과 역할의 목록을 사용하여 해당 역할을 가진 사용자와 관련된 모든 세션을 찾습니다. 자신의 sessions.hostname의 IP는 그들에게 의미가 있습니까? 당신은 조직에 관련된 더 이상 당신이 생각하지 않는 사용자를위한 오픈 세션을 볼 수 있나요? 당신은 당신이 만들지 않은 새로운 사용자에 대한 세션을 볼 수 있나요? 사용자가 users.login 값에 사이트에 로그인하고 session.timestamp에서 가장 최근의 페이지를 방문 할 때 사이의 시간의 양을 확인 : 선택 (s.timestamp - u.login) / 60 / 24분의 60 days_since_login AS, 세션들 내에서 u.uid는 s.uid = u.uid 사용자 U에 가입; 공격자는 쉽게 자신의 세션을 발견 할 수있게, 오랫동안 로그인하지 않은 사용자에 대한 세션을 삽입 할 수 있습니다.

menu_router 테이블

드루팔의 menu_router 테이블은 페이지 요청주기에 매우 초기에 액세스하고 일부 공격 코드를 심을 수있는 좋은 장소입니다됩니다. 실수 또는 의도적가 그 과정에서 귀하의 사이트에 코드를 재 구축됩니다 당신이이 테이블에서 몇 가지 정보를 잃어버린 수있는 조사를 시작하기 때문에 메뉴의 캐시를 삭제 한 경우. 이제 당신은 당신이 처음에 법정 사본을 만들어 행복하지?

이 힘든 작업에 하나 개 쉬운 솔루션은 법정 사본을 한 다음 해당 테이블을 재건 한 후 menu_router 테이블의 버전을 비교하는 것이다. 조사를받을 권리가 다른 콘텐츠와 새로운 행, 누락 된 행이나 열이있는 경우. 당신은 또한 "file_put_contents를"또는 액세스 콜백에서 "어설"로 공격의 일반적인 서명도 찾아보실 수 있습니다.

동일한 서버 또는 동일한 네트워크에있는 다른 사이트를 공격

누군가가 임의의 PHP 코드를 실행하는 기능을 포함하여 제어 할 수있는 경우 다른 사이트와 동일한 서버 또는 동일한 네트워크에서 제공하기 위해, 그들은 잠재적으로 제어를 확장 할 수 있습니다. 당신은 공격자가 당신의 위치를 ​​위반하는 방법의 표시를 찾을 수없는 경우, 서버 또는 네트워크의 다른 사이트와 같은 다른 길을 생각하는 시간이다. 귀하의 사이트가 위반 한 경우 마찬가지로, (예를 들어, 시스템 관리자 나 호스팅 회사를 통해) 서버에서 다른 사람을 조언하는 것이 좋습니다입니다 그래서 그들은 자른 수있는 모든 문제를 검토 할 수 있습니다.

민감한 정보를 훔치는

이메일 주소, 암호 해시, 감시 및 주석 테이블에서 클라이언트 IP 주소, 게시되지 않은 또는 다른 방법으로 공용 액세스에서 숨겨진 모든 노드 : 사이트 내부의 민감한 정보에 대해 생각합니다. 그러나 그 밖의 무엇? 드루팔은 공개되지 내부적으로 여러 변수가 : settings.php 민감한 개인 정보 두 가지 모두의 데이터베이스 인증 정보와 아마 $ drupal_hash_salt가 포함되어 있습니다. drupal_hash_salt 보안 관련 다양한 목적에 사용되는 정보의 조각을 가지고하면 쉽게 다시 사이트에 침입 할 수 있습니다. 중요한 정보는 변수 시스템 내부에 존재할 수 (variable_set 및 variable_get와 코드에서 호출, 일반적으로 데이터베이스 테이블이라는 변수에 저장). drupal_private_key, 특히, (그것이이 필요한 다음 번에 다시 생성됩니다) 삭제해야 비밀 정보의 중요한 부분이다. 귀하의 사이트가 다음 API-키를 페이스 북에 연결하거나 Mollom 등 제 3 자 API를 사용하는 경우, 당신은 그 서비스가 손상된에 인증하는 데 사용합니다. 그 타사 키를 타협하는 것은 귀하의 사이트가 덜 안전하고 이러한 서비스 귀하의 계정에 노출 될 수 있습니다. 귀하의 사이트가 사용자의 OAuth 또는 장기 토큰을 제공하는 유사한 서비스에 로그인 할 수 있습니다 경우, 다음의 OAuth 토큰이 사이트에 저장이 손상 고려되어야한다.

당신은이 문제를 어떻게 해결합니까?

  • 모든 민감한 비밀을 교체 - 새로운 $의 drupal_hash_salt을 생성, 이전 키를 무효화하고 새로운 키를 생성 등 데이터베이스에 대한 새 자격 증명을 작성하여 타사의 툴과 함께 ..
  • 가능한 경우 (당신이 자신의 FB 연결 토큰을 얻을 때 그 허가를 요청하지 않는 사람을 대신 페이스 북에 게시 액세스가 필요하지 않은 경우, 예를 들어), 어떤 제 3 자 사이트와 관련된 기능을 제한합니다.

6 단계 : 질문을 다시 방문 : 교정, 다시, 또는 사이트를 쓰레기?

당신이 당신의 초기 결정을 재 방문하는 시간이 될 수 있습니다 발견 한 내용에 따라. 공격자가 얻은 액세스 광범위한이고 변화는 그들이 분산 한 경우. 다시 온라인 사이트를 데려 자신감을 어려울 수 있습니다.

이 비디오를 시청!

관련 기사

로드 코멘트 드루팔 호스팅압둘라 나는이 두 노트를 가지고 (mikeaja에) 19시 23분 2 월 2011 (18) 주석 : - 드루팔 6은 그것을 유용하게 7보다 더 필요한 리소스 (특히 CPU 사용량)의 관점에서 작 ...
드루팔 호스팅에 기록귀하의 사이트에 대한 모든 방문자는, 그들이 계정이 익명으로 사이트에 로그인하거나 방문 여부, 드루팔에 사용자로 간주됩니다. 모든 사용자는 유형에 특별한 숫자로 된 사용자 ID를 가지고 ...
드루팔 호스팅에서 관리자 로그귀하의 사이트에 대한 모든 방문자는, 그들이 계정이 익명으로 사이트에 로그인하거나 방문 여부, 드루팔에 사용자로 간주됩니다. 모든 사용자는 유형에 특별한 숫자로 된 사용자 ID를 가지고 ...
프린터 친화적 인 페이지 드루팔 호스팅드루팔은 LAMP 서버에서 실행되는 강력한 콘텐츠 관리 시스템입니다. 램프 서버는 기본적으로 MySQL을 사용하지만 PostgreSQL은 또한 드루팔 사용할 수 있습니다. 그것은 블로그, 포럼 및 호스팅 할 수 있습니다 ...
드루팔은 VPS 대 공유 호스팅오전 11시 12분 12 월 (21) 2013 davidmac으로 고려하고 SEO와 서버의 위치에 고려해야 할 어느 때보 요인 그들 중 하나가있다 게시 됨. 로컬 부동산 에이전트 ...