워드프레스 보안 체크리스트

WordPress Security Checklist

Wordpress Security Checklist

워드프레스 보안 체크리스트

 

워드프레스 보안 체크리스트

 

워드프레스가 컨텐츠 매니지먼트 시스템 (CMS, content management system) 으로서 인기를 끌기 시작하면서 해킹의 시도 또한 증가하고 있습니다. 2013년 4월 워드프레스를 사용한 90,000여개의 웹사이트가 공격을 당했습니다.

워드프레스는 수많은 자원봉사자에 의해서 만들어진 오픈소스 프로그램으로 모든 코드가 공개되어 있습니다. 그렇기 때문에 누구나 쉽게 워드프레스의 기능, 구조, 기본 세팅 등을 파악할 수 있으며, 악의적인 해커들은 이런 점을 놓지지 않고 해킹에 이용하고 있습니다.

이번 포스트는 워드프레스 보안을 위한 아주 기본적인 내용을 다루고자 합니다. 이번 기회에 워드프레스 보안에 대한 관심과 보안 설정을 업그레이드 하시길 바랍니다.

*워드프레스 뿐만 아니라 다른 CMS에서도 공통적으로 해당하는 사항이 많으니 참고하시길 바랍니다.

 


 

Wordpress Security Checklist

 

1. ID로 admin을 사용하지 말것
워드프레스 관리자가 ID로 admin을 사용한다면, 문을 반쯤 열어 놓은 것과 다름이 없습니다. 해커는 이제 패스워드만 알아내면 되기 때문입니다. 관리자가 ID로 admin을 사용하지 않는다면, 해커들은 관리자 ID를 구별해내야 하는 수고를 해야합니다. 또한 별명(nickname)은 ID와 다르게 설정하는 것이 좋습니다. 가장 좋은 것은 관리자 ID를 가늠할 수있는 힌트를 제공하지 않는 것입니다.

Admin ID 변경 방법

 

2. 패스워드 변경

수많은 ID와 패스워드를 관리해야하는 웹의 시대에 기억하고, 타이핑하기 쉬운 패스워드는 달콤한 유혹입니다. 아직도 많이 사용하는 패스워드로 1234, qwe, asd…. 이런 시리즈가 상위에 랭크되어 있는 것을 보면, 사람들이 편리함, 귀찮음이 여전히 중요한 삶의 포인트라는 것을 알 수 있습니다.

기억하기 어려운 패스워드가 좋은 패스워드입니다. 특수문자도 넣고, 대문자, 소문자를 혼용하여 사용하십시오. 예를 들어, @%#AohwNdls#$^ 와 같은 의미없는 패스워드는 얼핏 훔쳐보아도 기억하기 어렵고, 프로그램을 통한 경우의 수로 대입을 해보아도 엄청난 시간이 소요됩니다. 문제는 사용자도 역시 기억하기 어렵다는 단점이 있습니다.

다행인 것은 한국인의 경우 한글과 영문 두가지의 키보드를 사용한다는 것입니다. 예를 들어 "동해물과백두산이"를 영문 키보드에서 타이핑을 해보면, ehdgoanfrhkqorentksdl 가 됩니다. 아무런 의미도 없고, 직잠하기도 어렵습니다. 중간 중간, 대문자를 병행하고, 특수문자를 넣으면… ehdgoanfrhkQorentksDl67*( 이런식이면 암기하기도 쉬운편이고, 보안적으로는 거의 완벽에 가까워집니다.

또 다른 방법으로는 Lastpasskeepass와 같은 계정/패스워드 관리 프로그램을 사용하는 것입니다. 아무리 어려운 패스워드라도 아무리 많은 패스워드라도 쉽게 관리가 가능합니다.

패스워드 조합에 따른 크랙킹에 걸리는 시간

 

3. 최신버전 유지
워드프레스는 버전마다 기능향상, 보안 패치가 포함됩니다. 최신 버전을 이용하지 않는다면, 알려진 보안 헛점을 이용한 공격의 타겟이 될 수 있습니다.

플러그인 또한 최신 버전으로 업데이트해야하며, 사용하지 않은 플러그인은 삭제하길 바랍니다. 플러그인의 보안 헛점을 이용한 공격도 많이 보고 되고 있습니다.

 

4. 로그인 시도 제한
누구나 로그인을 무제한으로 시도할 수 있다면, 쉽게는 사람이 패스워드를 추측하여 접속할 수 있고, 복잡하게는 프로그램을 이용하여 문자 조합을 이용하여 패스워드를 알아낼 수 있습니다.

Limit Login Attempts 플러그인을 사용하면 쉽게 로그인 시도 제한을 설정할 수 있습니다.

Example of Lockdown Notification

 

5. 로그인 창 접근 제한
관리자의 접속 편의성이 있겠지만, 커뮤니티나 포럼 사이트가 아닌 이상 로그인창 또는 로그인 링크를 웹사이트에서 삭제를 권합니다. 워드프레스의 기본 로그인 주소는 /wp-login.php입니다. 특별히 손대지 않는 이상 워드프레스로 만들어진 사이트는 모두 이곳에서 접속이 가능합니다. 접속주소를 변경하면, 해커의 접속을 미리 차단하는 효과를 얻을 수 있습니다.

Stealth Login Page 플러그인을 사용하면 쉽게 로그인 접근 주소를 변경할 수 있습니다.

 

6. 접속 로그 검토
로그를 검토함으로써 원하지 않은 활동을 알수 있습니다. admin 계정으로 접속을 시도한다던지, 404 에러를 유발한다던지, 제한된 디렉토리로 접속을 시도한다던지의 활동은 접속 로그 검토를 통해 알 수 있습니다. 이를 통해 블랙리스트 설정을 할 수 있습니다.

Simple Login Log 플러그인을 사용하면 쉽게 접속 로그를 살펴볼 수 있습니다.

Original Bad Bot / Web Scraper List

 

7. 백업
보안은 창과 방패의 싸움입니다. 실제로 어느 쪽이 승리할지 장담할 수 없습니다. 때문에 가장 나쁜 상황까지 고려해야 합니다. 어느날 관리자 로그인은 불가능하고, 웹사이트는 악의적으로 훼손되었다면, 어떻게 해야할까요? 빠른 시간 내에 복구와 이런 사고를 방지하는 작업을 해야겠습니다.

웹파일과 DB 백업은 호스팅 업체에서 기본적으로 제공하는 경우가 많습니다만, 때로는 모든 자료를 복구할 수 없을 수 있습니다. 프로그램을 이용하여 정기적으로 백업하고, 백업한 자료를 안전한 곳에 보관하십시오.

UpdraftPlus – WordPress Backup and Restoration 플러그인은 자동으로 파일과 DB를 백업하여 클라우드 서비스에 안전하게 저장합니다.

 

8. 호스팅, 도메인 등록 사이트 보안체크
whois 를 통해 도메인 정보를 찾아보면 많은 정보가 노출되고 있습니다. 예를 들어, 노출된 정보를 통하여 도메인 등록 업체를 알아내고, 이메일 정보를 통해 ID를 유추하고, 게다가 1234… 시리즈의 패스워드를 사용했다면, 도메인 등록 정보를 맘대로 변경하거나 심하게는 도메인 소유권까지 이전당할 수 있습니다.

호스팅 서비스를 해킹당한다면 개인정보는 물론 DB, FTP 등 웹사이트에 관한 모든 권한을 잃을 수도 있습니다.

도메인 등록 서비스 접속 ID는 도메인 네임과 다르게 설정하시고, 어려운 패스워드를 사용하십시오. 호스팅 서비스 또한 도메인 네임과 다른 ID를 사용하고,  어려운 패스워드를 사용하는 방법이 최선의 방법입니다.

 

9. 통합 보안 플러그인 사용
워드프레스는 많은 유/무료 보안 플러그인이 있습니다. 손쉽게 일정 수준 이상의 보안 사항을 적용할 수 있습니다. 워드프레스 버전, 테마, 플러그인, 설정에 따라 충돌하는 경우가 있으니, 테스트를 권합니다.

 


보안 이야기는 끝이 없을 정도로 복잡하고 긴 내용입니다. 워드프레스 보안에 관하여 더 많은 정보를 원하시면 codex.wordpress.org 를 참고하시길 바랍니다.

 

 

No Comments

Post a Comment