워드프레스는 수시로 엔진이 업데이트되는데 이러한 최신버전이 선보이면 가능한 빠른시간내에 업데이트 해주는 것이 좋습니다.
업데이트에서는 거의 대부분 그동안 확인된 보안패치같은 부분도 포함되기 때문입니다. 하지만 이것외에도 별도의 보안 플러그인을 설치하여 만일의 사태에 대비하시는 것이 좋습니다.
이러한 워드프레스 보안 플러그인에서 대부분 가장 먼저 추천되는 플러그인이 있습니다. 바로 iThemes Security (구 Better WP Security) 플러그인입니다.
구글링등을 통해서 검색해보면 좀 오래된 포스트에서는 Better WP Security 플러그인을 언급하는데 이 플러그인이 이름을 변경한것이 바로 iThemes Security 플러그인으로 같은 플러그인 입니다.
워드프레스의 보안을 위협하는 외부 해킹 시도 실사례 (Upload 폴더 PHP 실행 시도)
이 플러그인을 소개하기 전에 먼저 워드프레스의 보안을 위협하는 외부 해킹시도에 대한 실사례를 소개해드리고자 합니다. Upload 폴더에 PHP 파일을 업로드하여 권한을 탈취하는등의 시도라고 할수 있습니다.
[pe2-image src=”http://lh4.ggpht.com/-MLsPAUhchzg/VQQjkcUOFYI/AAAAAAAAGjU/_Em-mSRgTSk/s144-c-o/php.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060502113981826″ caption=”” type=”image” alt=”php.jpg” ]
워드프레스 Upload 폴더에 올려진 정체불명의 PHP 파일
물론 이러한 사례 이외에도 많은 해킹시도가 있습니다. 이렇게 워드프레스에 대해서 공격을 하는 이유는 워드프레스를 기반으로 만들어진 사이트들이 매우 많기 때문에 허점을 노려 자동으로 해킹 공격을 시도하는 프로그램들을 사용하기 때문입니다.
가장 기본적인 공격으로는 Brute force attack 등의 해킹공격이 있습니다.
무차별 대입공격이라고 할수 있는데 관리자 ID 나 암호를 풀기위해서 모든 값을 대입하여 계속 로그인 시도를 하는 경우등이라고 하겠습니다.
물론 오늘 소개해드리는 iThemes Security 플러그인은 이러한 공격에도 대응되며 DB의 백업이나 다양한 부분에서 워드프레스 플랫폼 사이트의 보안을 강화시켜줍니다.
강력한 워드프레스 보안플러그인 iThemes Security 플러그인 설치와 설정
iThemes Security 플러그인을 설치하기 위해서 워드프레스관리자화면-플러그인 화면으로 이동하여 플러그인 추가 하기 버튼을 누릅니다.
이후 “ithemes security”를 검색하면 하단의 검색결과가 나타나게 됩니다.
다운로드한 사용자가 무려 4,376,531명으로 4백만명이 넘는 사용자가 사용하고 있으며 평가도 별 4개반으로 만점에 가까운 만족도를 보이고 있는 플러그인이라고 하겠습니다.
[pe2-image src=”http://lh5.ggpht.com/-1exmhHLDo_U/VQQjoD8ERHI/AAAAAAAAGi4/04uaayhaKVY/s144-c-o/%2525EB%2525B3%2525B4%2525EC%252595%252588%2525ED%252594%25258C%2525EB%25259F%2525AC%2525EA%2525B7%2525B8%2525EC%25259D%2525B810.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060564289700978″ caption=”” type=”image” alt=”보안플러그인10.jpg” ]
유료버전인 PRO 버전도 있으나 개인사용자라면 무료제공버전만 사용해도 큰 문제는 없을 것으로 생각됩니다. 플러그인 설치정도는 이미 알고 계실 것으로 생각되므로 과정은 생략하겠습니다.
[pe2-image src=”http://lh5.ggpht.com/-5U11mPxCRXM/VQQjkUaPqQI/AAAAAAAAGiA/AYWPRFbTE7M/s144-c-o/%2525EB%2525B3%2525B4%2525EC%252595%252588%2525ED%252594%25258C%2525EB%25259F%2525AC%2525EA%2525B7%2525B8%2525EC%25259D%2525B801.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060499991767298″ caption=”” type=”image” alt=”보안플러그인01.jpg” ]
플러그인을 설치하고 활성화하게 되면 상기 이미지의 안내문이 상단에 표시되게 됩니다. 위에서 설명한 Brute Force 공격을 막기위한 옵션에서는 API KEY가 필요하므로 획득하라는 메시지입니다.
이 API KEY는 멀웨어(Malware) 스캐닝 기능을 활성화할 때도 필요하게 되므로 받아두셔야 합니다.
하지만 먼저 기본적인 보안 설정을 위해서 하단의 Secure Your Site Now 라고 씌여진 버튼을 누릅니다.
[pe2-image src=”http://lh4.ggpht.com/-h_dsJTrB-uM/VQQjlM-jz_I/AAAAAAAAGiQ/BRn78goT0ro/s144-c-o/%2525EB%2525B3%2525B4%2525EC%252595%252588%2525ED%252594%25258C%2525EB%25259F%2525AC%2525EA%2525B7%2525B8%2525EC%25259D%2525B802.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060515176468466″ caption=”” type=”image” alt=”보안플러그인02.jpg” ]
중요한 첫번째 단계(Important First Steps) 이라는 제목과 함께 상단 이미지화면이 나타나게됩니다.
각각의 항목은 다음과 같으며 그냥 버튼을 누르기만 해도 자동으로 설정되게 됩니다.
Back up your site : 데이터베이스백업을 하게 됩니다.
Allow File Updates : 중요한 시스템 파일인 wp-config.php 또는 .htaccess 파일에 플러그인이접근하는 것을 허용하는 것입니다.
Secure your site : 원클릭으로 기본적인 보안설정을 적용하는 것입니다.
Help Us improve : 플러그인 개선을 위해서 정보를 제작자에게 보내는 것으로 무료로 좋은 프로그램을 제공한 제작자에게 감사한 마음으로 동의 했습니다. (* 이 항목은 안하셔도 관계없습니다.)
이제 위에서 언급한 API KEY를 얻기 위해서 Settings 메뉴로 이동합니다.
[pe2-image src=”http://lh6.ggpht.com/-HLedMIYRMiY/VQQjldIstGI/AAAAAAAAGiM/AbwXT0zkWkc/s144-c-o/%2525EB%2525B3%2525B4%2525EC%252595%252588%2525ED%252594%25258C%2525EB%25259F%2525AC%2525EA%2525B7%2525B8%2525EC%25259D%2525B803.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060519513961570″ caption=”” type=”image” alt=”보안플러그인03.jpg” ]
이 화면에서 하단으로 계속 스크롤를 하다보면 Brute Force Protection 이라는 항목이 나타납니다.
[pe2-image src=”http://lh3.ggpht.com/-DRMEOMmT3os/VQQjlmIADMI/AAAAAAAAGjY/uRbu4b7bj5s/s144-c-o/%2525EB%2525B3%2525B4%2525EC%252595%252588%2525ED%252594%25258C%2525EB%25259F%2525AC%2525EA%2525B7%2525B8%2525EC%25259D%2525B804.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060521926954178″ caption=”” type=”image” alt=”보안플러그인04.jpg” ]
상기 이미지 중간쯤 있는 빈칸에 “Enter email and click save All Changes” 라는 메시지가 보일것입니다. 이곳에 유효한 이메일주소를 입력합니다.
[pe2-image src=”http://lh5.ggpht.com/-0CNZ7E6GcrY/VQQjl59pkkI/AAAAAAAAGig/aS51NFdEbDA/s144-c-o/%2525EB%2525B3%2525B4%2525EC%252595%252588%2525ED%252594%25258C%2525EB%25259F%2525AC%2525EA%2525B7%2525B8%2525EC%25259D%2525B805.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060527252247106″ caption=”” type=”image” alt=”보안플러그인05.jpg” ]
이후 저장(Save) 버튼을 누르면 위의 이미지처럼 API KEY (적색바가 있는 공간) 가 생성되게 됩니다.
이제 상단 탭에서 Dash Board 탭을 선택하여 이동합니다. 다양한 정보를 쉽게 볼수 있도록 제공하는 대시보드(Dash Board)에서 보안과 관련하여 조치해야 할 부분은 우선순위 별로 보여줍니다.
[pe2-image src=”http://lh6.ggpht.com/-1iiOZaVLORk/VQQjmErVJUI/AAAAAAAAGiU/uP29VCG6Wuk/s144-c-o/%2525EB%2525B3%2525B4%2525EC%252595%252588%2525ED%252594%25258C%2525EB%25259F%2525AC%2525EA%2525B7%2525B8%2525EC%25259D%2525B806.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060530128201026″ caption=”” type=”image” alt=”보안플러그인06.jpg” ]
현재 최우선 조치사항(High Priority)부분으로 2가지 부분이 표시되고 있습니다.
1. 주기적인 데이터베이스 백업설정이 안된 부분
2. 멀웨어(Malware) 스캐닝 부분이 비활성화된 부분
입니다. 먼저 (1)번 항목부터 설정하도록 하겠습니다.
[pe2-image src=”http://lh4.ggpht.com/-S2BUv3AR6Jo/VQQjm0HErWI/AAAAAAAAGjE/0alWzWgRwik/s144-c-o/%2525EB%2525B3%2525B4%2525EC%252595%252588%2525ED%252594%25258C%2525EB%25259F%2525AC%2525EA%2525B7%2525B8%2525EC%25259D%2525B808.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060542861028706″ caption=”” type=”image” alt=”보안플러그인08.jpg” ]
Setting 항목으로 이동하여 “Schedule Database Backups 항목에 체크한 후 백업주기(Backup Interval) 항목을 7일로 설정하였습니다. (기본값은 3일이며 원하는 주기를 선택하시면 됩니다.)
[pe2-image src=”http://lh5.ggpht.com/-3h7KOaciAaM/VQQjmoZiutI/AAAAAAAAGis/mQQt0As7tBo/s144-c-o/%2525EB%2525B3%2525B4%2525EC%252595%252588%2525ED%252594%25258C%2525EB%25259F%2525AC%2525EA%2525B7%2525B8%2525EC%25259D%2525B807.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060539717270226″ caption=”” type=”image” alt=”보안플러그인07.jpg” ]
먼저 Brute Force Protection을 설정하면서 받은 API KEY를 멀웨어 스캐닝(Malware Scanning)항목의 API KEY 입력칸에 입력해주고 저장(Save All Changes) 해주시면 끝나게 됩니다.
이로써 대시보드에서 최우선 보안조치사항으로 권고한 내용을 모두 설정해 주었습니다. 하나 더 설정하자면 이 포스트의 서두에서 언급한 Upload 폴더에서의 PHP 금지 설정도 추가하기로 하겠습니다.
[pe2-image src=”http://lh6.ggpht.com/-CCydGiV3GFQ/VQQjnqafbLI/AAAAAAAAGiw/fqyzQhOSnOg/s144-c-o/%2525EB%2525B3%2525B4%2525EC%252595%252588%2525ED%252594%25258C%2525EB%25259F%2525AC%2525EA%2525B7%2525B8%2525EC%25259D%2525B809.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060557437988018″ caption=”” type=”image” alt=”보안플러그인09.jpg” ]
간단하게 상기 이미지의 “Disable PHP in Uploads” 항목에 체크를 해주시면 되겠습니다. 마지막으로 Whitelist 에 사용중인 PC의 IP를 입력하도록 하겠습니다.
[pe2-image src=”http://lh6.ggpht.com/-HLedMIYRMiY/VQQjldIstGI/AAAAAAAAGiM/AbwXT0zkWkc/s144-c-o/%2525EB%2525B3%2525B4%2525EC%252595%252588%2525ED%252594%25258C%2525EB%25259F%2525AC%2525EA%2525B7%2525B8%2525EC%25259D%2525B803.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060519513961570″ caption=”” type=”image” alt=”보안플러그인03.jpg” ]
“Temporarily Whitelist my IP” 라고 쓰여진 버튼을 눌러 하단의 화이트 리스트 IP 항목에 관리를 위해서 사용중인 IP를 입력해 두시면 됩니다.
만약 해킹등을 당해 내가 사용하는 IP까지 접근이 차단되는 것을 막기 위한 옵션이라고 하겠습니다.
[pe2-image src=”http://lh3.ggpht.com/-YvX9t0g7fO0/VQQjott00zI/AAAAAAAAGjA/WNRgKZLUSHI/s144-c-o/%2525EC%252595%252588%2525EB%252582%2525B4%2525EB%2525A9%252594%2525EC%25259D%2525BC02.jpg” href=”https://picasaweb.google.com/102394476629197694908/201503#6126060575504257842″ caption=”” type=”image” alt=”안내메일02.jpg” ]
설명과정에서 사용한 API KEY는 등록된 이메일로도 전송되니 이 이메일은 삭제하지 마시고 별도로 보관해두시면 좋을듯 합니다.
- 워드프레스 테마 오픈마켓 테마포레스트- Theme forest
- 워드프레스 추천테마 관련 포스트 - AVADA / JARIDA / SAHIFA / GOODNEWS
6 Comments
brandon
한가지 질문이 있는데요.
iTheme security 설치 후 logs 메뉴를 보면
invalid login attempt 리스트가 계속 생성되는데 막을 수 있는 방법이 없나요?
시도조차 못하게 막고 싶은데 말이죠…
Giantt
Host 단위로 차단하는 옵션인 Max login attempts per host 옵션을 “0” 으로 하시면 되실듯 합니다.
하지만 본인이 실수로 잘못 ID/PW 를 입력하여 Host 단위 Lock out 걸릴수도 있으므로 로그인시 주의하셔야 하겠습니다.
reward
제가 운영하는 wp이며 아이디와 패스워드를 잘못입력한 적이 없는데 락이 걸리면 어떻게 해야하죠?
Giantt
저의 경우는 잘못된 로그인 이 없는 경우 락이 걸리지는 않았습니다.
reward
잠시 후 다시 시도해보니 접속이 되긴 하였습니다. Max login attempts per host 옵션을 손댄 적도 없고 현재 받은지 1일밖에 안되서 프리 버전을 사용중이며 옵션 선택사항에 있어서 확인만 했을 뿐 변경했던 적은 없습니다.
그런데 로그인 아웃을 자주하긴 했는데 You have been locked out due to too many invalid login attempts.라는 메시지가 떴었습니다.
어디가 문제인건가요 ~?
Giantt
화이트리스트에 사용하시는 IP를 등록해두시면 로그인 실수 횟수와 관계없이 락이 걸리지 않습니다. 번거로우시더라도 화이트리스트에 IP를 등록해두시면 되겠습니다.
공유기를 사용하시는 경우라면 유동 IP이기 때문에 리셋될때 IP가 변경됩니다. 이경우는 다시 화이트 리스트에 등록하시면 되겠습니다.