
최근들어 며칠간 하루에 꼭 세번씩 비밀번호 초기화 요청이 날아들고 있다. 이후에 다른 동작이 없으니 그냥 두어도 괜찮겠지만 아무래도 bot으로 WordPress의 wp-login.php에 계속 자동요청을 해대는게 영 찜찜하다. 아마도 다음과 비슷한 명령어를 스크립팅하는 모양이다.
curl -X POST "https://litcoder.com/wp-login.php?action=lostpassword" \
-d "user_login=litcoder" \
-d "wp-submit=New Password"
막는 방법이 없을까 해서 찾아보니 reCAPCHA나 CloudFlare의 Turnstile같은 서비스를 무료로 설정하는 방법들이 있었지만 회원가입이나 사이트를 연결하는 설정을 해야 하는게 부담됐다. 그래서 마땅한 플러그인이 없는지 뒤져 봤더니 이런 종류의 공격을 막는 플러그인들이 몇몇 있었다. 그 중에서도 로그인을 페이지를 다른 URL로 변경하고 비정상적인 admin 요청을 모두 home page로 돌려보내는 참신해보이는 플러그인이 하나 있어서 설정해 주었다. 만약 새로 변경하는 URL이 노출된다고 해도 바꿔버리는 것으로 쉽게 다시 무력화 시킬 수 있을테니까 말이다.

로그인 용으로 사용할 URL을 정의해 주면 해당 URL로 연결할 때만 로그인 페이지가 열리고 나머지 경우에는 다른페이지로 리다이렉트된다. URL 자체 뿐만 아니라 사이트의 로그인 기능에 대한 URL도 함께 변경되어 쉽게 사용할 수 있었다.

결론
설정 이후 며칠간 지켜봤는데 악의적인 비밀번호 초기화 요청들은 더 이상 들어오고 있지는 않다. 그런데 최근에는 또 다른 종류의 SQL injection을 시도하는 댓글들이 스팸함에 들어오기 시작했다. 플러그인 설치한 시점과 미묘하게 겹치는게 좀 이상하다는 지나친(!) 생각이 잠깐 스치기는 했지만, 좀 과한것 같긴하다. 여튼 이것들은 일단 스팸으로 걸러지고 있으니 좀 더 두고 보자.
