전세계의 수많은 사이트가 워드프레스로 만들어졌으니, 해킹의 대상에 워드프레스 사이트들이 당연히 있습니다. 특히 워드프레스의 로그인 페이지(login.php), 관리자 로그인 페이지(/wp-admin)은 그 주소가 모든 사이트에서 동일하고 공개되어 있기 때문에 누구든 이 페이지로 들어와 관리자의 아이디로 로그인을 시도할 수 있습니다.

해킹 피해의 원인 – 쉬운 비밀번호

123456, password, 12345678, qwerty는 만인의 비밀번호입니다!

많은 사이트가 관리자 아이디를 admin으로 쓰고 있습니다. 그런데, 수많은 사이트 관리자들의 보안의식이 부족해서 생기는 한 가지 놀라운 사실이 있습니다. 123456, password, 12345678, qwerty 등 보기만 해도 누구나 쉽게 이거 비밀번호인가? 하는 생각을 들게 하는 너무나 간단한 비밀번호가 전세계 수많은 사람들이 애용하는 공통의 비밀번호입니다. 이쯤이면 비밀이 아니지요. 그러니, 워드프레스 사이트에서 admin 아이디에 이런 쉽게 연상할 수 있는 비밀번호들을 조합해서 시도를 하다보면, 사이트의 관리자 아이디를 훔칠 수 있습니다.

Brute Force 해킹(무차별 대입 공격)

Brute force라는 방식은 무차별적으로 반복해 암호를 입력해 보는 겁니다. 맞을 때까지 반복합니다. 프로그램으로 돌리면 수천 수만개 아니 한도 끝도 없이 비밀번호를 조합해 낼 수 있지요. 그렇게 끝도 없이 관리자 아이디로 로그인을 시도해 보다가, 언젠가는 찾아낼 수 있겠지요. 이 방식이 가장 흔하게 워드프레스 사이트를 해킹하는 방법입니다. 그리고 이 방식으로 해킹당하는 사이트가 늘고 있습니다. 사실, 해킹 당하고 멀웨어에 감염되고도 정작 당사자가 모를 수도 있습니다. 겉보기에는 사이트가 정상적으로 돌아가는 것처럼 보이기 때문입니다. 최근에는 이런 감염된 웹서버 자원을 이용해 암호화폐를 채굴하는 멀웨어도 있습니다. 때로는 내 감염된 사이트가 다른 사이트를 공격하는 도구가 되기도 합니다.

 

비밀번호는 복잡하게

Brute Force 해킹 피해를 막는 가장 기초적인 방법은 당연히 복잡한 비밀번호를 쓰는 것입니다. 대소문자, 숫자, 부호 등의 복잡한 조합으로 가능한 한 길게 만들어야 합니다. 일반적으로 12자리의 복잡한 비밀번호는 90일간, 15자리의 복잡한 비밀번호는 1년동안은 안전하다고 합니다. 뭐, 이 사이트 하나 비밀번호 해킹당한다고 무슨 일이 있겠어?라는 생각을 누구나 합니다. 문제는 그런 생각을 하는 많은 사람이 동일한 비밀번호를 여러 사이트에서 사용합니다. 심지어 금융기관에서도. 그러다 보면 그 같은 비밀번호로 다른 사이트 역시 해킹당하게 됩니다. 그러다 보면 여러 개인정보들이 쥐도새도 모르게 새나갈 수 있습니다. 물론, 일차적인 피해는 지금 운영중인 워드프레스 사이트가 악용되는 겁니다.

구글 OTP로 보안 강화하기

최근에는 여러 사이트나 앱들이 구글 OTP를 활용해 인증을 강화하고 있습니다. 워드프레스 사이트 역시 아주 간단한 방법으로 이것이 가능합니다. 우선 핸드폰으로 앱스토어, 구글 스토어에 들어가 Google Authenticator를 찾아 설치합니다.

워드프레스에선 플러그인 하나만 추가하면 됩니다. 플러그인 추가하기로 들어가서 ‘2FAS’라고만 검색해 보면 됩니다. 아래와 같은 2FAS Light – Google Authenticator 플러그인이 검색됩니다. 초록색 플러그인입니다 같은 이름의 빨간색 플러그인이 있는데, 그것은 SMS인증 등 기능이 더 많습니다. 필요한 것은 구글 OTP이니 초록색 라이트 버전을 설치합니다.

활성화시키고 나면, 왼편 관리자 메뉴에 2FAS Light라는 메뉴가 보입니다. 안내는 3단계 뿐입니다. 1단계 – 앱 설치, 2단계 – show QR code를 눌러 나타나는 QR코드를 핸드폰의 구글 OTP엡에서 스캔합니다. 그러면, OTP비밀번호 목록에 이 사이트의 OTP비밀번호가 나타납니다.

이제, 상단 Configuration에 Status:ENABLED라고 되어 있는지 확인합니다. 꺼져 있다면 바로 위의 토글 버튼을 눌러 초록색으로 만듭니다. 이제 됐습니다. 로그아웃을 하면, 다시 관리자 로그인 화면이 나타납니다! 아, 그런데 이건 뭐 그냥 로그인 화면과 똑같습니다! 차이가 없네요! 그러나, 아이디와 암호를 입력하고 나면 아래와 같은 OTP입력창이 또 나타납니다!

요것이 핵심입니다. 구글 OTP앱에서 표시되는 비밀번호를 여기에 다시 한 번 입력하면 정상적으로 관리자 로그인이 됩니다!

OTP입력이 귀찮다면?

그런데, 매번 OTP입력이 귀찮습니다! 이때, 2FAS 플러그인의 아주 친절한 기능이 도움이 됩니다. 바로 기기 인증입니다. OTP번호를 입력해 로그인한 기계에서는 또다시 OTP비밀번호를 묻지 않는 기능입니다! 위의 OTP입력 창을 다시 보시면 비밀 번호 입력란 아래에 Remember Device 체크란이 있지요? 이걸 체크하고 로그인하면, 그 기계는 더 이상 OTP를 물어보지 않습니다. 2FAS Light 메뉴에 들어가 보면 화면 하단에 아래와 같이 기기 등록 목록이 나타납니다.

다시, 로그아웃 후 로그인해 보면, 이번엔 OTP번호를 묻지 않습니다! 해킹 시도를 하는 다른 기기의 경우, 여기에 등록되지 않았으니 당연히 OTP번호를 물어볼 것이고, 만에 하나 관리자 아이디와 비밀번호를 정확하게 안다고 해도, OTP번호를 모르니 로그인을 못합니다! 훨씬 안심이 되지요? 한 번만 등록해 두면 그 후로는 아무 불편함 없이 사용할 수 있습니다.

사실, 이런 브루트포스 해킹 시도를 막기 위해 덩치 큰 보안 플러그인을 설치하한다면 사이트 접속 속도가 느려지거나 전반적인 퍼포먼스의 저하를 감안해야 합니다. 물론, 여러 기능이 들어간 보안 프로그램이 필요할 수도 있겠지요. 그러나, 기본적으로 항상 최근의 버전으로 워드프레스와 플러그인을 열심히 업데이트하고 있다면 충분히 강화된 보안 상태를 유지할 수 있습니다!

관리자 로그인 시도를 하는 브루트 포스 공격을 막기 위해, 관리자 로그인 페이지나 유저 로그인 페이지의 주소를 바꾸거나 플러그인을 통해 리다이렉션하는 등의 방법도 사용됩니다. 그러나 이 방법은 사용하는 테마나 플러그인에 따라 오류가 발생할 수 있습니다.

정상적인 웹서버는 방화벽이 있고, 서버 자체적으로 보안이 유지되고 있습니다. 서버 자체적으로 기본적인 관리가 되고 있다면, 개별 사이트는 취약점을 잘 관리해 공격받지 않도록 하면 됩니다. 워드프레스의 취약점은 수시로 업데이트를 통해 보완이 됩니다. 사용자 입장에서는 업데이트 외에 관리자 아이디를 해킹당하지 않게 구글 OTP를 쓰는 방법이 아주 실용적이고 합리적이라고 할 수 있습니다.