Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

워드프레스 사이트를 위협하는 가장 흔한 5가지 해킹 공격과 완벽 대비법

해커가 내 워드프레스(WordPress) 웹사이트를 공격할까 걱정되시나요? 안심하라고 말하고 싶지만, 현실은 다릅니다. 워드프레스 사이트는 해커들의 표적이 되고 있으며, 인터넷상 모든 웹사이트의 약 3분의 1을 워드프레스가 구동하고 있다는 점에서 그 인기만큼 공격 대상이 되기 쉽습니다.

워드프레스 자체는 안전한 웹사이트 제작 플랫폼이지만, 단독으로 작동하지는 않습니다. 워드프레스 사이트를 운영하려면 플러그인과 테마가 필요한데, 이들에서 취약점이 발생하기 쉽고 해커는 바로 이 취약점을 이용해 사이트를 침입합니다.

해커가 한번 사이트에 접근권한을 얻으면 민감한 정보 탈취, 고객 사기, 불법 콘텐츠 게시 등 각종 악의적인 활동을 벌입니다. 그동안 내 사이트는 검색 결과에 경고 표시가 붙거나 구글로부터 블랙리스트에 오르고, 심하면 호스팅 업체로부터 계정 정지를 당할 수도 있습니다. 결국 방문자와 수익의 손실로 이어지는 것이죠.

워드프레스 개발진이 플랫폼 보안을 최대한 유지하고 있지만, 사이트 소유자 역시 스스로 보안 조치를 취해야 합니다. 이 글에서는 워드프레스 사이트에 가장 흔하게 발생하는 공격 유형과 그에 대한 예방책을 자세히 살펴보겠습니다.

핵심 요약: 해커의 공격이 걱정된다면 지금 바로 웹사이트 보호 조치를 시작하세요. 워드프레스 보안 플러그인 MalCare를 설치하면 매일 사이트를 검사·모니터링하고, 해커의 침입 시도를 차단해 줍니다.

왜 워드프레스는 해커에게 인기 있는 표적일까?

워드프레스는 코딩 지식 없이도 누구나 웹사이트를 만들 수 있게 해주는 무료 웹사이트 제작 플랫폼입니다. 덕분에 현재 13억 개 이상의 활성 사이트가 워드프레스 기반으로 운영되고 있습니다.

하지만 이런 폭넓은 사용이 양날의 검이 됩니다. 워드프레스 사이트는 다른 어떤 플랫폼보다 해커의 공격을 더 많이 받습니다.

해커가 사이트에 침입하는 방법은 여러 가지가 있지만, 그중 가장 흔한 5가지를 추려 각 공격의 원리와 대응 방법을 설명합니다.

워드프레스 사이트를 노리는 5가지 주요 공격

1. 취약한 플러그인과 테마

워드프레스 사이트는 코어(핵심 프로그램), 테마, 플러그인 세 가지 요소로 구성됩니다. 이 세 요소 모두 사이트를 해킹에 취약하게 만들 잠재적 요인이 될 수 있습니다.

다행히 오랫동안 워드프레스 코어에는 뚜렷한 취약점이 발견되지 않았습니다. 숙련된 전문 개발자들이 플랫폼의 보안을 철저히 관리하고 있으므로 크게 걱정할 부분은 아닙니다.

반면, 플러그인과 테마는 서드파티 개발자가 만들기 때문에 취약점이 비교적 자주 발생합니다. 개발자가 취약점을 발견하면 신속히 수정하여 업데이트 버전을 배포합니다.

워드프레스 사이트를 위협하는 가장 흔한 5가지 해킹 공격과 완벽 대비법

사이트 소유자인 여러분은 최신 버전으로 업데이트해야 사이트가 안전하게 유지됩니다. 특히 보안 업데이트는 즉시 적용하는 것이 중요합니다. 업데이트가 배포되면 수정 사유도 함께 공개되어 취약점의 존재가 알려지기 때문입니다.

즉, 해커도 취약점의 존재를 알게 되며, 모든 사이트 운영자가 즉시 업데이트하지 않는다는 사실도 잘 알고 있습니다. 그래서 취약한 플러그인이나 테마를 발견하면 봇과 스캐너를 돌려 해당 요소를 사용 중인 사이트를 인터넷에서 찾아냅니다. 취약점을 정확히 알기 때문에 침입이 쉽고, wp feed 멀웨어 같은 악성 코드를 삽입할 수 있습니다.

취약한 플러그인·테마로부터 사이트를 보호하는 방법

  1. 워드프레스 공식 저장소나 ThemeForest, CodeCanyon 같은 신뢰할 수 있는 마켓플레이스의 테마와 플러그인만 사용하세요.
  2. 플러그인 목록을 정기적으로 점검하고 실제 사용하는 것만 남겨두세요. 필요 없거나 비활성화된 플러그인은 삭제하세요.
  3. 테마도 정기적으로 점검하고, 가능하면 현재 사용 중인 테마 하나만 유지하는 것이 좋습니다.
  4. 불법 복제(크랙) 테마와 플러그인은 절대 사용하지 마세요. 대부분 악성코드가 포함되어 있어 사이트를 감염시킵니다.
  5. 사이트에 설치된 모든 플러그인과 테마를 인지하고 있는지 확인하세요. 해커가 백도어가 심어진 자신들의 플러그인·테마를 몰래 설치해 비밀리에 접근하는 경우가 있습니다.

2. 무차별 대입 공격(Brute Force Attack)

워드프레스 사이트에 로그인하려면 아이디와 비밀번호라는 로그인 정보를 입력해야 합니다.

그런데 많은 사이트 운영자가 기억하기 쉬운 아이디와 비밀번호를 사용합니다. 기본 아이디 'admin'을 그대로 두거나, 'password123', '1234567'처럼 뻔한 비밀번호를 쓰는 경우도 흔합니다.

해커는 이를 잘 알고 있으며, 워드프레스 로그인 페이지를 공격 대상으로 삼습니다.

워드프레스 사이트를 위협하는 가장 흔한 5가지 해킹 공격과 완벽 대비법

해커는 흔히 사용되는 아이디와 비밀번호 데이터베이스를 만든 뒤, 봇을 통해 워드프레스 사이트에 데이터베이스 속 조합을 하나씩 시도합니다.

로그인 정보가 약하다면 봇이 이를 맞힐 확률이 높고 사이트에 침입당하게 됩니다. 이것이 바로 '무차별 대입 공격'으로, 성공률이 무려 10%에 달하는 것으로 추정됩니다.

무차별 대입 공격으로부터 사이트를 보호하는 방법

  1. 워드프레스 기본 아이디는 'admin'입니다. 이를 고유한 아이디로 변경하세요.
  2. 강력한 비밀번호를 사용하세요. 'Birdsofafeather123$'처럼 문장 형태의 패스프레이즈에 숫자와 특수문자를 조합하는 것이 좋습니다.
  3. 다른 사이트에서 사용한 적 없는 고유한 로그인 정보를 사용하세요.
  4. 로그인 시도 횟수를 제한하세요. 예를 들어 3~5회 실패하면 '비밀번호 찾기'를 이용하도록 하는 방식입니다. MalCare 보안 플러그인을 설치하면 이런 로그인 보호가 자동으로 적용됩니다.
  5. 2단계 인증(2FA)을 활용하세요. 로그인 정보 외에 스마트폰에서 생성되거나 등록된 이메일로 전송되는 일회용 비밀번호까지 입력해야 로그인할 수 있습니다.

3. 인젝션 공격(Injection Attack)

거의 모든 웹사이트에는 문의 폼, 검색창, 댓글란처럼 방문자가 데이터를 입력하는 필드가 있습니다. 일부 사이트는 문서나 이미지 파일 업로드도 허용합니다.

보통 입력된 데이터는 데이터베이스로 전송되어 처리·저장됩니다. 이때 유효한 데이터만 통과시키도록 입력값을 검증·정화(sanitise)하는 적절한 설정이 필요합니다. 이런 장치가 부족하면 해커가 악성 코드를 삽입할 수 있습니다.

예를 들어 문의 폼이 있는 워드프레스 사이트를 생각해 봅시다. 이상적으로는 이름, 이메일 주소, 전화번호만 입력받아야 합니다.

워드프레스 사이트를 위협하는 가장 흔한 5가지 해킹 공격과 완벽 대비법
  1. 이름 필드는 알파벳 문자만 허용해야 합니다.
  2. 이메일 필드는 example@mysite.com처럼 올바른 이메일 형식만 허용해야 합니다.
  3. 전화번호 필드는 숫자만 포함해야 합니다.

만약 이런 설정이 없다면 해커는 다음과 같은 악성 스크립트를 삽입할 수 있습니다.


String userLoginQuery =

 "SELECT user_id, username, password_hash FROM users WHERE username = '"

 + request.getParameter("user") + "'";

이 코드는 데이터베이스에 특정 작업을 실행하도록 명령합니다. 이런 방식으로 해커는 사이트에서 악성 스크립트를 실행해 사이트 전체를 장악할 수 있습니다.

워드프레스 사이트에서 가장 널리 알려진 인젝션 공격은 SQL 인젝션(SQL Injection)과 크로스 사이트 스크립팅(XSS)입니다.

인젝션 공격으로부터 웹사이트를 보호하는 방법

  1. 많은 인젝션 공격이 방문자 입력을 받는 테마와 플러그인에서 비롯됩니다. 신뢰할 수 있는 테마와 플러그인만 사용하고, 항상 최신 버전으로 유지하세요.
  2. 필드 입력값과 데이터 제출을 통제하세요. 이는 기술적인 작업이므로 개발자의 도움이 필요할 수 있습니다.
  3. 워드프레스 방화벽을 사용하세요. MalCare를 설치하면 견고한 방화벽이 자동으로 구축되어 해커로부터 사이트를 방어합니다.

4. 피싱 및 데이터 탈취

방문자들은 다양한 방식으로 웹사이트와 상호작용합니다. 어떤 이는 블로그 글만 읽고, 어떤 이는 문의 폼을 통해 연락합니다. 이커머스 사이트라면 많은 방문자가 상품을 구매하며, 이를 위해 사이트에 로그인하고 신용카드 정보를 입력합니다.

신용카드 정보가 입력되면 해당 정보는 사이트 서버로 전송·저장됩니다. 이 과정에서 정보가 가로채질 수 있고, 카드 데이터가 유출될 수 있습니다.

해커는 사이트에 침입해 운영자인 척 행세하기도 합니다. 이메일을 보내거나 방문자를 다른 사이트로 리디렉션해 개인 정보와 결제 정보를 입력하도록 속이는 것이죠.

피싱과 데이터 탈취로부터 사이트를 보호하는 방법

  1. SSL 인증서를 사용하세요. 사이트와 주고받는 데이터가 암호화되어 해커가 가로채더라도 해독할 수 없습니다. SSL·HTTPS 적용 가이드를 참고하세요. SSL 적용은 '사이트가 안전하지 않음' 경고를 없애는 데도 도움이 됩니다.
  2. 워드프레스 보안 플러그인을 사용해 의심스러운 활동이 감지되면 알림을 받으세요. 플러그인은 해킹 시도 자체를 차단하기도 합니다.

5. 쿠키 탈취(Cookie Stealing)

사이트에 로그인할 때 브라우저가 '로그인 상태 유지' 또는 '비밀번호 저장'을 제안하는 것을 본 적이 있나요? 매번 로그인 정보를 입력하지 않아도 되도록 하기 위함이며, 브라우저에 저장을 허용할 수 있습니다.

워드프레스 사이트를 위협하는 가장 흔한 5가지 해킹 공격과 완벽 대비법

브라우저가 이런 데이터를 저장할 수 있는 것은 쿠키 덕분입니다. 쿠키는 방문자의 웹사이트 이용 과정을 기록하는 작은 데이터 조각입니다. 예를 들어 온라인 쇼핑몰이라면 고객이 검색한 상품이나 구매 내역을 추적할 수 있습니다. 이 데이터는 분석에 활용되고 광고주는 방문자의 선호에 맞춰 광고를 맞춤 제공합니다. 문제는 쿠키가 은행 정보나 개인 정보까지 저장할 수 있다는 점입니다.

해커가 사이트의 쿠키를 훔치는 데 성공하면 비즈니스와 방문자의 민감한 데이터에 접근할 수 있습니다. 이 데이터를 이용해 신용카드 정보로 고객을 사기 치는 등 악의적인 행위를 저지를 수 있습니다.

자세한 내용은 쿠키 탈취와 세션 하이재킹 가이드에서 더 살펴볼 수 있습니다.

쿠키 탈취와 세션 하이재킹으로부터 사이트를 보호하는 방법

  • 워드프레스 키(Keys)와 솔트(Salts)를 정기적으로 변경하세요. 키와 솔트는 브라우저 쿠키에 저장된 정보를 안전하게 암호화합니다. 이 작업은 기술적이므로 MalCare의 WordPress Hardening 기능을 활용하는 것을 권장합니다. MalCare 대시보드에서 Security > WordPress hardening > Change WordPress Security Keys and Salts로 이동하면 됩니다.
워드프레스 사이트를 위협하는 가장 흔한 5가지 해킹 공격과 완벽 대비법
  • 여기서도 사이트 데이터를 보호하기 위해 SSL 인증서 설치를 권장합니다.

지금까지 가장 흔한 워드프레스 공격 유형을 살펴봤습니다. 마무리하기 전에, 이런 공격에 대해 사이트를 더욱 단단하게 만들어 줄 워드프레스 강화(Hardening) 조치 몇 가지를 소개합니다.

워드프레스 사이트를 강화하는 방법

특정 공격에 대한 개별 대응책 외에도, 사이트 전체의 보안 수준을 높이는 종합적인 조치들이 있습니다. 이를 워드프레스 강화(Hardening) 조치라고 부릅니다. 여기서는 간략히 소개하고, 더 자세한 내용은 워드프레스 강화 심층 가이드를 참고하세요.

1. 파일 편집기 비활성화

워드프레스에는 대시보드에서 테마와 플러그인 파일을 직접 편집할 수 있는 기능이 있습니다. 이 기능은 주로 개발자가 사용하며 많은 사이트 운영자에게는 불필요합니다. 그런데 해커가 wp-admin 대시보드에 침입하면 이 기능을 통해 테마와 플러그인 파일에 악성 코드를 삽입할 수 있습니다. 따라서 필요하지 않다면 비활성화하는 것이 좋습니다.

2. 플러그인·테마 설치 비활성화

해커는 사이트에 접근하면 자신들이 만든 플러그인이나 테마를 설치합니다. 이들은 대개 백도어가 포함된 악성 요소로, 해커에게 사이트의 비밀 출입구를 제공합니다.

앞서 언급했듯 취약한 테마와 플러그인은 해킹 피해의 주요 원인입니다. 사이트에 여러 사용자가 있다면 보안이 취약한 플러그인이나 테마를 설치할 수도 있습니다. 이를 방지하려면 사이트에서 플러그인·테마 설치 기능을 비활성화하세요.

평소 플러그인과 테마를 자주 설치하지 않는다면 설치 옵션을 꺼두는 것이 좋습니다.

3. 로그인 시도 횟수 제한

앞서 설명한 대로, 올바른 로그인 정보를 입력할 수 있는 횟수를 제한하면 무차별 대입 공격의 위험을 없앨 수 있습니다.

4. 보안 키와 솔트 변경

키와 솔트는 브라우저에 저장된 정보를 암호화합니다. 해커가 쿠키를 훔치더라도 해독할 수 없는 이유입니다. 반면 해커가 키와 솔트에 접근하면 이를 이용해 쿠키를 복호화할 수 있습니다. 키와 솔트를 정기적으로 변경하면 쿠키 탈취를 예방하는 데 도움이 됩니다.

5. 알 수 없는 폴더에서 PHP 실행 차단

워드프레스 사이트에서 코드를 실행하는 파일과 폴더는 정해져 있습니다. 나머지 폴더는 이미지와 영상을 저장하는 Uploads 폴더처럼 단순히 정보를 저장하는 용도입니다.

그런데 해커는 사이트에 침입하면 무작위 폴더에 PHP 코드를 삽입하거나 아예 새 폴더를 만들기도 합니다.

알 수 없는 폴더에서의 PHP 실행을 차단하면 이런 활동을 막을 수 있습니다.

이런 조치를 직접 구현하려면 기술적 전문 지식이 필요합니다. 수동으로 진행하는 것은 권장하지 않으며, MalCare 같은 플러그인을 사용하면 몇 번의 클릭만으로 훨씬 안전하고 쉽게 처리할 수 있습니다.

워드프레스 사이트를 위협하는 가장 흔한 5가지 해킹 공격과 완벽 대비법

이제 여러분의 워드프레스 사이트는 해커로부터 안전하게 보호되었을 것입니다.

마무리 생각

해커는 워드프레스 사이트에 침입하는 무수한 방법을 가지고 있으며, 끊임없이 새로운 수법을 개발합니다!

따라서 사이트를 안전하게 지키기 위해서는 스스로 보안 조치를 취하는 것이 필수입니다.

워드프레스 사이트 보안을 위해 MalCare 보안 플러그인 사용을 권장합니다. 해커와 악성 봇의 접근을 차단하고, 사이트가 항상 모니터링되고 보호받고 있다는 안심감을 드립니다.

MalCare 보안 플러그인으로 해킹을 미리 예방하세요!