워드프레스 보안 지키미


워드프레스의 보안을 강화하기 위해서 여러가지 플러그인을 사용하는 것도 좋지만 하나의 플러그인으로 워드프레스의 일반적인 보안에 대한 대부분의 기능을 커버한다면 한 개의 플러그인만 설치하면 될 것입니다. 이런 기능을 하는 플러그인을 뽑으라면, 워드프레스 보안 분야에서 대표적인 플러그인인 iThemes Security 플러그인입니다. iThemes Security는 이미 70만 사이트에서 설치해서 운용하고 있을 정도로 저변과 신뢰성이 확보된 플러그인입니다.




iThemes Security 플러그인 설치하기


플러그인을 설치하기 위해서 관리자 화면 왼쪽 사이드바에서 플러그인 추가하기 메뉴를 클릭합니다.



플러그인 추가 화면의 키워드 검색 창에서 ithemes를 입력하고 검색합니다. 첫번째 검색된 iThemes Security 플러그인의 지금 설치하기 버튼을 클릭합니다.



플러그인 설치가 완료되었습니다. 플러그인을 활성화 링크를 클릭합니다.



iThemes Security 플러그인 활용하기


플러그인 설치와 활성화가 끝나면 워드프레스 관리자화면의 왼쪽 사이드바에 Security 메뉴가 생성됩니다. Security 를 클릭합니다.


Security 메뉴를 클릭하면 아래와 같은 중요사항에 대한 안내 팝업이 뜹니다. 플러그인을 사용하기 전에 먼저 해야할 일입니다.
여기에서 첫번째와 두번째 항목이 중요합니다.

첫번째는 워드프레스 사이트에 대한 빽업입니다. 보안 플러그인이기 때문에 보안 설정을 잘못하다가 관리자 자신도 로그인을 못하는 상황이 오게되면 마지막 순간에는 빽업 받은 데이터로 워드프레스 사이트를 복원하기 위함입니다.

두번째는 보안 플러그인 특성상 서버내 워드프레스 시스템 파일을 엑세스(Access)하게 됩니다. 따라서 보안 플러그인이 wp-config.php와 .htaccess 파일에 대해서 접근해서 수정할 수 있는 권한을 부여해 주는 것입니다.

이제 세부적인 기능에 대해서 하나하나 살펴보도록 하겠습니다.

첫번째 할일, 24시간동안 잠금기능 해제하기


Security > Dashboard 메뉴를 클릭합니다.



보안 플러그인을 설치해서 테스트 과정에서 관리자인 자기 자신이 로그인을 못하는 상황이 오면 않될 것입니다. Dashboard 탭에서는 자신의 IP를 24동안 잠금기능을 해제하는 기능을 설정할 수 있습니다. 아래 Temporarily Whitelist my IP 버튼을 클릭하면 자신이 보안적인 실수를 했다고 해도 관리자인 자신이 로그인을 못하게 잠그는 기능은 해제됩니다. Temporarily Whitelist my IP 버튼을 클릭합니다.



잠금 기능이 해제되면 아래 화면과 같이 자신의 IP 주소가 디스플레이되고 버튼이 변경됩니다.





워드프레스 시스템 파일 수정 권한 부여하기


iThemes Security 보안 플러그인이 정상적으로 동작하기 위해서는 워드프레스 시스템 파일에 엑세스(Access)해서 파일을 수정할 수 있는 권한을 부여해야합니다. 두번째 Settings 탭을 클릭하면 아래와 같이 Write to Files 항목이 있습니다. 이 항목에 체크를 합니다.










강력한 비밀번호 규칙을 적용해서 보안 강화하기


로그인 보안을 위해서 Settings 탭에서 비밀번호 규칙을 강화할 수 있습니다. Go to 콤보박스에서 Strong Password를 선택하면 아래 화면과 같이 강력한 비밀번호를 설정할 수 있습니다. 일단 Strong Passwords 항목에 체크를 하고 두번째 항목인 Select Role 부분은 기여자로 선택하고 저장버튼을 클릭합니다.
 
두번째 부분을 기여자로 선택하는 것은 기여자 이상인 권한 즉, 기여자, 글쓴이, 편집자, 관리자에게 강력한 비밀번호 규칙을 적용한다는 의미입니다.
구독자의 경우에는 워드프레스 사이트안에서 많은 권한이 부여되지 않기때문에 굳이 강력한 비밀번호 규칙을 적용할 필요는 없습니다.







로그인 접속 주소 변경하기


워드프레스를 기본으로 설치하면 로그인을 하는 화면의 주소는 자신의 워드프레스 주소에 /wp-admin 이 붙은 경로가 됩니다. 예를 들어서 슈만의 사이트의 경우에는 shuman.kr/wp-admin 이 되는 것입니다. 그렇지만 로그인 영역의 접속주소가 노출되는 것은 보안에 바람직한 일은 아닙니다.
따라서 다른 사람이 유추할 수 없도록 로그인 접속 경로를 변경해 주는 것이 좋습니다.

Settings 탭에서 Hide Login Area 항목을 선택합니다.


Hide Backend 항목에 체크를 하면 Login Slug 항목이 디스플레이 됩니다. 이 항목에서 자신이 원하는 접속이름으로 변경하고 저장버튼을 크릵합니다.
변경을 완료한 뒤에는 자신의 사이트에 변경한 이름을 적용한 URL로 접속하면 됩니다.





도스 공격형 로그인 제한하기


도스형 로그인 공격은 로그인 접속 주소를 알아내고 해킹 프로그램을 활용해서 로그인 페이지에 아이디와 비밀번호를 무작위 대입해서 로그인을 시도하는 공격입니다. 이러한 유형의 공격이 감지되었을때는 자동으로 시스템에서 로그인을 제한하는 것이 좋습니다.
이러한 공격 유형을 Brute Force 라고도 하는데 아래 화면과 같이 설정하도록 합니다.

Settings 탭에서 Brute Force Fortection 항목을 선택합니다.



Enable local brute force protection 항목의 체크박스를 클릭하면 설정화면이 아래와 같이 펼쳐집니다.



Max Login Attempts Per Host 항목은 로그인을 시도한 호스트나 컴퓨터에게 로그인 시도를 5번으로 제한한다는 의미입니다.
Max Login Attemps Per User 항목은 사용자 ID 별로 로그인 시도를 10번으로 제한한다는 뜻입니다.
Minutes to Remember Bad Login (check period) 항목은 위의 로그인 제한 사항에 걸리게 되면 5분 동안 로그인 기능을 막는다는 뜻입니다.
각 항목의 시간과 횟수는 운영자가 적절하게 변경할 수 있습니다. 설정을 하였으면 저장버튼을 클릭해서 저장합니다.





404페이지 에러를 일으키는 도스형 무작위 접속공격 막기


해커는 존재하지 않는 페이지를 호출해서 시스템을 마비시키는 공격을 합니다. 이른바 404 페이지 공격입니다.
존재하지 않는 웹페이지에 접속하면 워드프레스 시스템은 존재하지 않는 페이지이기 때문에 404 페이지를 호출합니다.
해커는 자동 해킹시스템을 활용해서 이런 404 페이지를 무제한적으로 호출하는 도스형 공격을 감행합니다.
따라서 시스템은 부하를 견디지 못하고 마비되거나 다운되는 일이 발생합니다.
이른바 도스형 공격방법입니다.

iThemes Security 플러그인을 사용하면 이런 공격을 간단하게 막을 수 있습니다. Settings 탭에서 404 Detection 항목을 선택합니다.
        



404 Detection 항목에 체크해서 기능을 활성화합니다. 
활성화 체크를 하면  Minutes to Remember 404 Error (Check Period) 과 Error Threshold 두 가지 항목이 나타납니다.
Minutes to Remember 404 Error 항목은 공격 시간이고 Error Threshold 항목은 20번의 공격 회수 입니다. 
즉, 5분동안 404 페이지를 호출하는 공격은 20회 한다면 해당 공격을 제한 한다는 의미입니다. 






워드프레스 데이터베이스 테이블 접두어 바꾸기


워드프레스는 기본 데이터베이스로 MySQL을 사용합니다. 따라서 워드프레스를 설치하면 MySQL에는 워드프레스를 구동하기 위한 데이터베이스 테이블이 생성됩니다. 생성되는 테이블들의 이름은 기본적으로 wp_로 시작합니다. 따라서 보안을 위해서 테이블 접두어인 wp_ 를 변경하는 것이 좋습니다.

보안플러그인 관리 화면에서 Advanced 탭을 클릭합니다.



Change Table Prefix 항목에서 체크를 하고 Change Database Prefix 버튼을 클릭하면 보안 플러그인이 자동으로 테이블 접두어가 변경됩니다. 아래 화면과 같이 접두어 이름은 iThemes Security 플러그인이 자동으로 만들어줍니다



+ Recent posts