WordPress가 오늘날 가장 많이 사용되는 CMS (콘텐츠 관리 시스템) 중 하나 인 데에는 많은 이유가 있습니다. 설치 및 유지 관리가 쉽고 매우 사용자 친화적이며 마우스 버튼을 몇 번만 클릭하면 설치할 수있는 많은 무료 테마 및 플러그인이 포함되어 있습니다. 그러나 웹 사이트에서 오래된 버전의 WordPress 또는 플러그인을 실행하는 경우 해킹되기 쉽습니다. 약 1 년 전에 인기있는 TimThumb PHP 스크립트에서 이미지 크기를 자동으로 조정하는 데 널리 사용되는 취약점이 발견되었습니다. 해커들은 TimThumb로 WordPress를 실행하고 eval (base64_decode 코드로 모든 PHP 파일을 감염시켜 검색 엔진에서 선택한 웹 사이트로 들어오는 모든 방문자를 리디렉션하는 많은 웹 사이트에 액세스했습니다.
이 클리너 스크립트를 사용하여 검색 엔진에서 트래픽을 회수하여 악의적 인 gzinflate / eval (모든 PHP 파일의 base64_decode 코드를 쉽게 정리할 수 있지만 불행히도 스크립트 만 사용하는 것만으로는 충분하지 않습니다. 해커가 이미 백도어를 심었 기 때문에 최신 버전의 TimThumb로 업데이트 한 경우에도 웹 사이트가 계속 해킹되는 것을 방지하는 유일한 방법은 백도어를 찾아 서버에서 제거하는 것입니다. 독립적 인 파일 일 수도 있고 합법적 인 PHP 파일에 포함 된 코드 조각 일 수도 있습니다 .. WordPress 용 보안 플러그인을 몇 개 사용해 보았고 WordPress 용 Wordfence 플러그인은 확인이 가능하기 때문에 가장 좋은 것 중 하나입니다 WordPress 코어, 플러그인 및 테마 파일의 무결성 파일이 원래 버전과 다른 경우 스캔 결과에 표시되며 파일이 어떻게 변경되었는지 확인할 수 있습니다. 그 외에도 Wordfence는 WordPress 설치 디렉토리에 의심스러운 의심스러운 파일이 있는지 알려줍니다.
무료 버전의 Wordfence는 WordPress 핵심 파일 만 스캔합니다. 테마 및 플러그인 파일을 스캔하려면 최소한 연간 $ 17.95의 Pro 멤버쉽을 구독해야합니다. Pro 멤버쉽에는 프리미엄 API 키가 1 개만 제공되지만 실제로는 프리미엄 키 키를 삭제하고이를 사용하여 Wordfence API 키 관리 영역에서 새 키를 다시 만들어 스캔을 완료 한 후 한 번에 여러 웹 사이트를 스캔하는 데 사용할 수 있습니다 다른 웹 사이트에서
Wordfence에서 찾은 2 개의 백도어 파일을 제거한 후에도 내 공유 호스팅 계정으로 호스팅되는 모든 WordPress 웹 사이트는 며칠 후에도 악성 PHP 코드에 감염되었습니다. 나는 실제로 좌절하고 cPanel에있는 Raw Access Logs를 수동으로 확인하기로 결정했지만 원하는 것을 확실하지 않습니다. 원시 액세스 로그에는 수천 줄이 포함되어 있으며 6 개 웹 사이트의 모든 단일 줄을 통과하는 것은 불가능합니다. 그래서 일부 필터링을 수행하고 로그 파일이 훨씬 작아졌습니다. 메모장 ++를 사용하여 회선을 걸러내는 방법에 대해서는 아래 비디오 자습서를 참조하십시오.
원시 액세스 로그 필터링
1. GET 요청을 필터링하십시오. 기본적으로 GET 요청은 데이터를 검색하기위한 것이며 손상을 입을 수 없습니다. 이 필터는 로그 파일을 80 % 줄입니다.
2. 웹 사이트에서 요청한 wp-cron.php에 대한 POST 요청을 필터링하십시오. 아래 예와 같습니다.
111.222.333.444 – – [25 / Jul / 2012 : 01 : 42 : 14 +0800]“POST /wp-cron.php?doing_wp_cron=1343151734.5347619056701660156250 HTTP / 1.0”200 –“-”“WordPress / 3.4.1; http://www.yourwebsite.com”
3. 안전한 POST 요청을 계속 필터링하여보다 쉬운 분석을 위해 로그 파일 크기를 추가로 줄입니다.
로그 파일을 분석 할 때 리퍼러 및 사용자 에이전트 정보가없는 러시아 IP 주소가 404.php 파일에서 10 초마다 3 번 POST 요청을 한 의심스러운 요청을 보았습니다.
404.php 테마 파일을 원본 버전과 비교하고 파일 맨 위에 추가 코드 줄이 있음을 알았습니다.
Wordfence 지원팀에 연락하여 Mark Maunder로부터이 코드가 실제로 악의적임을 확인했으며이를 감지하기 위해 Wordfence를 업데이트했습니다. 이 백도어를 제거한 후에는 동일한 호스팅 계정으로 호스팅되는 6 개의 워드 프레스 웹 사이트가 해킹없이 몇 주 동안 깨끗하게 유지되었습니다. 보시다시피, 하나의 백도어가 누락되면 동일한 호스팅 계정 아래의 모든 WordPress 웹 사이트가 해킹 될 수 있으며 모든 단일 백도어가 제거되었는지 확인하는 것이 매우 중요합니다.
Wordfence가 내 호스팅 계정으로 호스팅되는 웹 사이트의 모든 백도어를 완전히 정리하지 못했지만 WordPress 파일의 무결성을 검사하는 것보다 훨씬 많은 기능을 수행하기 때문에 최고의 WordPress 보안 플러그인 중 하나라고 생각합니다. Wordfence는 매우 자주 업데이트되며 매우 훌륭한 지원을 제공합니다.
중요 사항 : 백도어를 정리 한 후 WordPress 사용자 계정, FTP, cPanel 및 데이터베이스를 포함한 모든 비밀번호를 변경하십시오. 또한 플러그인, 테마 및 워드 프레스 버전을 최신 상태로 유지하십시오.