로그인 화면은 사이트에서 가장 많은 자동 요청을 받는 곳입니다. 계정 자체를 튼튼하게 만들었다면 그 시도들이 성공할 가능성은 이미 낮지만, 남는 문제가 둘 있습니다 — 서버 자원과 언젠가는 맞힐 수 있다는 사실입니다. 이 회차는 그 둘을 다룹니다.
1. 시도 제한 — 가장 먼저 켜는 것
워드프레스는 기본적으로 로그인 실패 횟수를 세지 않습니다. 즉 같은 주소에서 몇 번을 틀려도 계속 시도할 수 있습니다. 시도 제한 기능은 여기에 상한을 둡니다 — 정해진 횟수를 틀리면 일정 시간 그 접속을 거부합니다.
이 하나가 만드는 변화가 큽니다. 시간당 시도 횟수에 천장이 생기면 비밀번호를 반복해 맞히는 방식 자체가 성립하지 않게 되고, 동시에 서버가 그 요청들을 처리하느라 쓰던 자원도 돌아옵니다. 방문자가 적은데 사이트가 이유 없이 느리던 것이 이것 때문인 경우가 있습니다.
2. 로그인 주소 변경 — 효과를 정확히 알고 씁니다
많은 보안 플러그인이 로그인 주소를 다른 경로로 바꾸는 기능을 제공합니다. 여기에 대해서는 솔직하게 말하는 편이 낫습니다. 이것은 근본적인 방어가 아닙니다 — 주소를 바꿨다고 계정이 튼튼해지는 것은 아니니까요.
그럼에도 유용한 이유는 다릅니다. 자동화된 요청은 표준 주소만 두드리기 때문에, 주소를 옮기면 그 소음이 거의 사라집니다. 서버 부하가 줄고 로그가 읽을 만해지며, 진짜 이상 징후가 소음에 묻히지 않습니다. 보안 강화가 아니라 관측 가능성 개선으로 이해하고 쓰면 정확합니다.
다만 바꾼 주소를 잊으면 본인이 못 들어갑니다. 반드시 비밀번호 관리자에 함께 저장하세요.
3. 나를 잠그지 않기
이 회차의 설정들은 강하게 걸수록 본인이 갇힐 위험도 같이 올라갑니다. 실제로 자주 일어나는 일이므로 미리 대비합니다.
특히 마지막 줄이 중요합니다. 시도 제한에 스스로 걸렸을 때 푸는 방법(대기 시간, 또는 플러그인 설정 파일을 잠시 비활성화하는 방법)을 미리 확인해 두면, 그 상황이 사고가 아니라 불편으로 끝납니다.
보안 플러그인은 하나만
마지막으로 앞 회차의 원칙을 다시 적습니다. 기능이 겹치는 플러그인을 두 개 두지 않습니다. 방화벽 기능이 있는 보안 플러그인을 둘 이상 켜면 서로의 요청을 차단하거나 로그를 이중으로 남겨, 문제가 생겼을 때 원인 추적이 불가능해집니다. 하나를 고르고 그것의 설정을 이해하는 편이 언제나 낫습니다.
로그인과 접근 제어를 더 보려면 보안 아카이브가 있고, 서버 단에서 로그인 요청을 제한하는 구성까지 필요하다면 최적화 지원 사업의 보안 하드닝에 포함됩니다.
다음 회차
연재의 마지막 회차입니다. 준비를 다 해도 사고는 날 수 있습니다 — 발견한 첫 한 시간에 무엇을 하고 무엇을 하지 말아야 하는지, 순서대로 정리합니다.