WordPress 보안 기초 7가지 — 첫 주에 끝낼 일
목차
- 왜 보안이 중요한가
- 해킹 시 손실
- 자동화 공격이 대부분
- 7가지 — 한 시간에 끝
- 1. 강력한 비밀번호
- 2. 사용자명 admin 변경
- 3. 2단계 인증 (2FA)
- 4. 로그인 시도 제한
- 5. WordPress·플러그인·테마 정기 업데이트
- 6. 보안 플러그인 1개
- 7. SSL (https) 적용
- 추가 — 더 안전하게 (선택)
- 8. wp-admin URL 변경
- 9. 파일 권한 점검
- 10. wp-config.php 보호
- 11. 안 쓰는 플러그인·테마 삭제
- 12. 데이터베이스 prefix 변경
- 보안 사고 발생 시
- 1. 즉시 차단
- 2. 백업으로 복구
- 3. 악성 코드 제거
- 4. 검색엔진 신고
- 5. 원인 분석
- 1주차 보안 체크리스트
- 정기 점검 (월 1회)
- 자주 하는 실수
- FAQ
- 관련 가이드
WordPress는 전 세계 사이트 점유율 1위 = 해킹 시도 1위. 다행히 기본 7가지만 잡으면 자동화 공격 대부분 방어 가능합니다. 1시간 안에 끝낼 수 있는 첫 주 보안 체크리스트.
왜 보안이 중요한가
해킹 시 손실
- 사이트 변조·악성 코드 삽입 → 검색엔진 블랙리스트
- 데이터베이스 탈취 → 회원·고객 정보 유출
- 사이트 다운 → 매출·신뢰 손실
- 복구·법적 대응 비용 ↑
자동화 공격이 대부분
해커가 직접 우리 사이트만 노리는 게 아님. 봇이 자동으로 수천 사이트 공격. 우리도 그 대상 중 하나.
→ 봇이 쉽게 못 뚫게 기본 방어>만 잘 해도 자동화 공격 대부분이 걸러집니다.
>
7가지 — 한 시간에 끝
1. 강력한 비밀번호
- 12자+ (특수문자·숫자 포함)
- 비밀번호 매니저 사용 (1Password·Bitwarden)
- 모든 관리자·운영진 동시 적용
- 재사용 금지 (다른 사이트와 같은 비밀번호 )
2. 사용자명 admin 변경
WordPress 기본 admin은 해킹 자동화의 첫 시도 ID. 다른 이름으로 변경.
방법 A: 새 관리자 + 옛 admin 삭제 (권장)
1. 사용자 > 새로 추가 → 새 관리자 생성 (다른 사용자명)
2. 로그아웃 → 새 계정 로그인
3. 옛 admin 사용자 삭제 → 글 이관 옵션
방법 B: 데이터베이스 직접 변경 (위험·고급)
phpMyAdmin에서 wp_users 테이블의 user_login 직접 수정.
3. 2단계 인증 (2FA)
비밀번호만 뚫려도 막을 수 있는 가장 강한 방어.
플러그인 추천:
– Wordfence Login Security (무료)
– Google Authenticator (무료)
– Two Factor (무료, 가벼움)
설정:
1. 플러그인 설치·활성화
2. 사용자 프로필 > Two Factor 섹션
3. 휴대폰의 Google Authenticator/Authy 앱과 QR 코드 매칭
4. 백업 코드 안전한 곳에 저장
5. 다음 로그인부터 6자리 코드 입력
4. 로그인 시도 제한
봇이 비밀번호 무차별 대입 → 1000회 시도 → 뚫림.
플러그인 Limit Login Attempts Reloaded (무료):
– 5회 실패 시 IP 자동 차단
– 차단 시간 조절
– 화이트리스트 (본인 IP)
>
이거 하나만 활성화해도 brute-force 공격 대부분을 차단합니다.
>
5. WordPress·플러그인·테마 정기 업데이트
대부분 해킹 = 옛 버전의 알려진 취약점 악용.
업데이트 빈도:
– WordPress 코어: 자동 (마이너) + 수동 점검 (메이저)
– 플러그인: 주 1회
– 테마: 주 1회
안전 절차:
1. 백업 먼저 (이전 가이드 참고)
2. 1개씩 업데이트 (한꺼번에 X)
3. 업데이트 후 사이트 점검
자동 업데이트 옵션:
– 코어 마이너 업데이트 자동 (보안 패치)
– 플러그인 자동 업데이트 (선택, 신뢰 플러그인만)
6. 보안 플러그인 1개
종합 보안. 한 개만 활성화 (여러 개 활성화하면 충돌).
옵션:
– Wordfence Security (무료, 가장 인기)
– 방화벽
– 악성코드 스캔
– 로그인 보안
– 2FA
– Sucuri Security (무료)
– >Kadence Security (구 iThemes/Solid Security, 무료)
>
설치 후:
1. 스캔 실행 (최초 + 주 1회)
2. 방화벽 활성화
3. 알림 설정 (해킹 시도 시 메일)
7. SSL (https) 적용
암호화 통신. 로그인·결제 페이지 필수.
대부분 호스팅사가 무료 SSL (Let’s Encrypt) 자동 제공.
SSL 적용 가이드 참고.
추가 — 더 안전하게 (선택)
8. wp-admin URL 변경
/wp-admin 대신 /secret-login 같은 커스텀 URL.
플러그인 WPS Hide Login (무료).
효과: 자동화 봇이 /wp-admin을 찾으니 다른 URL이면 시도 자체 X.
9. 파일 권한 점검
WordPress 폴더·파일 권한:
– 폴더: 755
– 파일: 644
– wp-config.php: 600 (가장 민감)
호스팅 FTP·파일 매니저에서 권한 확인·수정.
10. wp-config.php 보호
루트의 wp-config.php는 DB 비밀번호 포함. 절대 노출 X.
.htaccess (서버 루트)에 추가:
<files wp-config.php>
order allow,deny
deny from all
</files>
11. 안 쓰는 플러그인·테마 삭제
비활성화만 해도 위험. 사용 안 하는 건 완전 삭제.
플러그인 > 비활성화 > 삭제.
12. 데이터베이스 prefix 변경
기본 wp_를 wp_x7n_ 같은 임의 문자열로. SQL 인젝션 어렵게.
설치 시 변경 또는 보안 플러그인의 도구 사용.
보안 사고 발생 시
1. 즉시 차단
- 호스팅사에 사고 신고 → 사이트 일시 닫기
- 비밀번호 전부 변경
- 신뢰 IP만 wp-admin 접근
2. 백업으로 복구
- 사고 이전 백업으로 복구
- 백업이 없거나 사고 시점 이후만 있으면 → 전문가 의뢰
3. 악성 코드 제거
- Wordfence·Sucuri로 풀 스캔
- 발견된 악성 파일 삭제
- 변조된 DB 정리
4. 검색엔진 신고
해킹 후 검색엔진 블랙리스트 등록되면:
– Search Console > 보안 > 검토 요청
– 복구 완료 후 며칠 ~ 몇 주 후 해제
5. 원인 분석
- 어떤 취약점이 뚫렸는지
- 비슷한 재발 막기
1주차 보안 체크리스트
- [ ] 모든 관리자 비밀번호 12자+ 변경
- [ ] 사용자명
admin삭제 또는 변경 - [ ] 2FA 모든 관리자 활성화
- [ ] Limit Login Attempts 플러그인 설치
- [ ] WordPress·플러그인·테마 최신화
- [ ] Wordfence 또는 동급 보안 플러그인 설치 + 스캔
- [ ] SSL 적용 (https)
>
체크 완료 = 봇 자동화 공격 대부분 방어.
>
정기 점검 (월 1회)
- [ ] WordPress 버전 최신 확인
- [ ] 플러그인 업데이트 일괄 (백업 후)
- [ ] 보안 플러그인 스캔 실행
- [ ] 사용자 목록 점검 (모르는 계정 X)
- [ ] 최근 로그인 활동 점검 (의심 IP)
- [ ] 백업 정상 작동 확인
실전 노트. 저희 사이트 회원 기능에 실제 적용해 침투 테스트를 통과한 조합을 공유합니다. 로그인 시도는 IP당 5회/5분으로 제한(가입·비밀번호 찾기는 3회/10분), 비밀번호는 8자 이상 영문·숫자 혼합 강제, 가입 시 이메일이 중복이어도 성공처럼 응답해 계정 존재 여부를 숨기고(사용자 열거 차단), 업로드 파일은 확장자가 아니라 MIME 검사로 화이트리스트 검증합니다. 어떤 보안 플러그인을 쓰든, 이 네 가지가 애플리케이션 단에서 막혀 있는지부터 확인하십시오.
자주 하는 실수
- 백업 없이 업데이트: 사이트 망가지면 복구 불가
- 여러 보안 플러그인 동시: 충돌·중복. 1개만
- 테마·플러그인 nulled 다운로드: 불법 무료 = 악성코드 90% 확률
- wp-admin URL 그대로 노출: 봇 공격 1순위
- 운영진에게 약한 비밀번호 허용: 본인 강해도 다른 사람이 약하면 무의미
FAQ
Q. 보안 플러그인 무료 vs 유료?
A. 무료 충분. Wordfence 무료가 대형 사이트도 잘 보호. 유료는 추가 알림·고급 방화벽 기능.
Q. 2FA 설정 후 휴대폰 분실했습니다.
A. 백업 코드로 로그인 → 새 휴대폰에 재설정. 백업 코드도 잊어버렸으면 호스팅 → 데이터베이스에서 2FA 비활성화.
Q. 해킹당했는지 어떻게 알 수 있나요?
A. 증상:
– 갑작스러운 트래픽 폭증·하락
– 모르는 글·페이지·리다이렉트
– 알 수 없는 사용자 계정
– 검색 결과에 “안전하지 않음” 표시
– 호스팅사에서 악성 코드 알림
증상 있으면 즉시 보안 플러그인 스캔.
Q. WordPress vs Wix·아임웹 보안 비교?
A. WordPress: 자체 관리 필요, 자유도 ↑. SaaS형(Wix·아임웹): 제공사가 관리, 자유도 ↓. SaaS가 보안 부담은 적지만 데이터 소유권은 WordPress.
Q. 호스팅사가 백업·보안을 다 해주는 곳도 있나요?
A. 관리형 WP 호스팅 (Kinsta·WP Engine·Pressable) — 보안·백업·업데이트 거의 자동(요금은 각 사 공식 사이트에서 확인). 비용 대비 가치 ↑.
관련 가이드
- 백업 시작하기
- 사용자·권한 관리
- 보안 강화 가이드
- WP 업데이트 안전하게
- SSL 적용
- 홈페이지 유지보수 비용 안내 — 직접 관리가 부담될 때의 선택지와 비용 기준