부제 : 워드프레스 홈페이지의 해킹 유형 및 해결
모든 홈페이지는 해킹의 다양한 유형에 노출될 수 있으며, 워드프레스 홈페이지라고 해서 해킹에 안전하다고 할 수 없습니다. 이는 홈페이지를 어떻게 관리하느냐에 따라 달라질 수 있으며, 취약점을 찾아내고 보강하는 꾸준한 작업이 필요하다고 할 수 있습니다. 오늘은 몇가지 주요 해킹 유형과 그에 대한 해결방법 그리고 사전 예방하는 방법에 대해 간단히 언급하도록 하겠습니다.
-
비밀번호 공격 (Brute Force Attack)
Brute Force Attack은 해커가 자동화된 도구를 사용하여 로그인 정보, 특히 사용자 이름과 비밀번호를 반복적으로 시도하여 계정에 접근하려는 공격입니다.
아직도 많은 사이트들이 관리자 계정의 아이디를 admin으로 사용하거나 사이트 도메인으로(예 www.sample.com 일 경우 아이디를 sample로 사용) 사용하는 경우가 많습니다. 또한 비밀번호를 1111이나 1234등으로 설정해 두는 경우도 많습니다. 이경우 Brute Force Attack에 손쉽게 노출될 수 있습니다.
로그인 접근: 해커가 대량의 사용자 이름과 비밀번호 조합을 사용하여 로그인에 성공하면, 사이트에 대한 완전한 접근 권한을 얻게 됩니다.
비밀번호 재설정: 한 번 로그인에 성공하면, 해커는 관리자의 비밀번호를 변경하거나 다른 사용자 계정을 침해할 수 있습니다
해커악용: 공격자가 침입한 사이트를 스팸전송, 악성코드 배포, 개인정보 수집 등의 목적으로 활용할 수 있습니다.
해결 방법:
-
강력한 비밀번호(대문자, 소문자, 숫자 및 특수문자 조합)로 비밀번호를 변경하여야 하며, 로그인 시도 제한 플러그인 설치 (예: Limit Login Attempts)로 해킹시도를 차단하는 방법도 있고, 워드프레스에서 제공하는 2단계 인증을 활성화 하는 방법이 있습니다.
워드프레스에서 Brute Force Attack에 효과적으로 대응할 수 있는 플러그인 5가지입니다
-
Wordfence Security
-
강력한 방화벽과 악성 코드 스캐너를 제공하며, 로그인 시도를 모니터링하고 차단하는 기능이 있습니다.
-
-
Limit Login Attempts Reloaded
-
로그인 시도를 제한하여, 지정된 횟수 이상 로그인 실패 시 IP 주소를 차단합니다. 이로 인해 Brute Force 공격을 효과적으로 차단할 수 있습니다.
-
-
iThemes Security
-
다양한 보안 기능을 제공하며, Brute Force 공격을 방지하기 위한 로그인 제한 및 2단계 인증을 설정할 수 있습니다.
-
-
Sucuri Security
-
보안 감시 및 악성 코드 제거 기능을 제공하며, 로그인 시도 모니터링을 통해 Brute Force 공격을 예방합니다.
-
-
All In One WP Security & Firewall
-
로그인 시도 제한, 사용자 계정 관리 등의 다양한 보안 기능을 제공하며, 쉽게 설정할 수 있습니다.
-
2. 악성 코드 삽입 (Malware Injection) 해킹
Malware Injection은 해커가 악성코드를 웹사이트에 삽입하여 사용자들에게 피해를 주거나, 서버를 침해하려는 공격 방법입니다. :
공격의 사례는 다음과 같습니다:
– 악성 스크립트 삽입: 해커가 웹사이트의 파일이나 데이터베이스에 악성 스크립트를 삽입하여 방문자가 웹사이트를 열 때 자동으로 악성코드가 다운로드되거나 실행되도록 합니다. 이를 통해 사용자의 컴퓨터에 바이러스나 트로이 목마를 주입할 수 있습니다. XSS 공격의 경우이며 게시판이나 신청폼등에 자바 스크립트와 같은 스크립트 코드를 삽입 해 개발자가 고려하지 않는 기능이 작동하게 하여 쿠키 정보 및 세션 아이디를 획득하고, 시스템 관리자 권한을 획득하는 등의 시도를 합니다.
– 피싱 사이트 제작: 해커가 웹사이트의 콘텐츠를 변조하여 방문자가 로그인 정보를 입력하도록 유도하는 피싱 페이지를 생성할 수 있습니다. 이러한 페이지에서 수집된 정보는 해커의 손에 들어갑니다.
– SEO 스팸: 해커가 정상적인 페이지에 스팸 링크를 삽입하여 검색 엔진 최적화(SEO)를 통해 트래픽을 유도하고, 이를 통해 다른 사이트로의 공격을 가능하게 하거나 광고 수익을 창출할 수 있습니다. 클로킹 해킹이라고 하는데 최근에 많은 수의 사이트들이 클로킹을 당한 사례를 구글에서 찾아 볼 수 있습니다.
해결 방법:
-
신뢰할 수 있는 보안 플러그인 설치 (예: Wordfence, Sucuri)하여 정기적인 사이트 모니터링을 하여야 합니다. 또한 웹서버의 파일 권한 설정을 강하게 설정하여야 합니다. 대부분 .php 파일 형태로 악성파일을 심어둡니다.
워드프레스에서 Malware Injection에 효과적으로 대응할 수 있는 플러그인 3가지입니다
1. Wordfence Security
-
이 플러그인은 웹사이트의 보안을 강화하는 방화벽과 악성코드 스캐너 기능을 제공합니다. 코드 스캐닝을 통해 침입한 악성 파일을 탐지하고 제거할 수 있습니다.
2. Sucuri Security
-
Sucuri는 실시간 모니터링, 취약점 검색 및 악성코드 제거 기능을 제공하는 보안 플러그인입니다. 웹사이트의 변화를 감시하여 이상 징후를 발견하고 즉시 알림을 보낼 수 있습니다.
3. MalCare Security
-
MalCare는 자동으로 웹사이트를 스캔하고, 악성코드를 제거하는 기능을 제공합니다. 이 플러그인은 빠르고 효과적인 감지 및 제거 기능을 제공하며, 실시간 모니터링도 가능합니다
3. SQL 인젝션 (SQL Injection)
SQL 인젝션(SQL Injection)은 웹 애플리케이션에서 SQL 쿼리를 조작하여 데이터베이스에 비정상적인 명령을 실행시키는 해킹 기법
SQL 인젝션(SQL Injection)은 사용자가 입력 필드를 통해 악성 SQL 코드를 삽입할 때 발생합니다. 이러한 공격은 데이터 유출, 삭제, 수정, 인증 우회 등 심각한 보안 문제를 야기할 수 있습니다.SQL 인젝션은 주로 데이터베이스의 취약점을 이용하여 사용자의 민감한 정보에 접근하거나 시스템에 악성 코드를 삽입해 데이터베이스를 조작하는 방식으로 이루어집니다. 기사에서 접했던 대규모의 고객정보 유출이 SQL인젝션 해킹이라 볼 수 있습니다.
해결 방법:
-
사용자 입력 값을 최소화 하는 사이트 정책이 필요합니다. 또한 사용자 입력값을 SQL쿼리와 분리시키는 Prepared Statements를 사용하고 웹 방화벽(WAF)설정을 통해 비정상적인 트패픽을 차단하는 방법을 강구 해야 합니다. 관련된 플러그인은 Malware Injection에서 소개했던 플러그인을 활용하여 모니터링 스캔을 활성화 하는 것이 좋습니다. ₩
홈페이지 관리자의 사전 해킹 예방 방법
정기적인 백업
-
사이트 데이터 및 데이터베이스를 정기적으로 백업하여, 필요 시 복원할 수 있도록 합니다.
플러그인 및 테마 관리
-
사용하지 않는 플러그인과 테마는 삭제하고, 필요시 신뢰할 수 있는 소스를 통해 설치합니다.
업데이트 유지
-
워드프레스 코어, 플러그인, 테마를 항상 최신 상태로 유지하여 보안 패치를 적용합니다.
웹 호스팅 보안
-
신뢰할 수 있는 보안 호스팅 서비스를 선택하고, SSL 보안인증서 설치를 권장합니다.
보안 플러그인 사용
-
웹사이트의 보안을 강화하기 위해 보안 플러그인을 설치하고, 설정을 최적화합니다.
이러한 방법들을 통해 워드프레스 홈페이지의 해킹 위험을 줄이고, 안전한 웹 환경을 유지할 수 있습니다. 필요시 전문가의 도움을 받는 것도 좋은 방법입니다
Discussion about this post