본문 바로가기

지적자본/워드프레스

워드프레스 해킹 복구 일지 - .htaccess 관련

by 디런치 2021. 7. 4.

워드프레스로 사이트나 블로그로 운영하다보면, 의외로 해킹을 당하거나 악성 멀웨어 등의 공격을 받을 때가 많다. 이것은 워드프레스 자체의 보안의 취약점 때문일 가능성도 있고, 사용자가 보안에 대해 신경을 쓰지 않을 때 일어나기도 한다.

 

일반적으로 많은 포스팅에서 워드프레스 방어에 대해서 많은 글들이 있지만, 근본적으로 워드프레스로 사이트를 운영한다면 어쩔 수 없는 운명으로 받아들이고, 해킹에 대해 대비하거나 백업 등을 주기적으로 하는 습관을 길러야 한다.

 

오늘은 필자가 겪은 몇번의 사이트 공격 중 htaccess 파일에 관한 것을 공유하고자 한다.

 

 

 

 

htaccess 란 무엇인가?

 

먼저 해킹 복구에 앞서서 간단하게 htaccess 파일에 대한 정의를 아는 것이 도움이 될거 같다. 이 파일은 대부분은 숨긴파일로 작성이 되며,  워드프레스 루트폴더나 워드프레스 설치 폴더에도 만들어지기도 한다. 여기에는 여러 설정 명령어가 들어가 있는데 간단하게 특정 디렉토리 경로권한을 설정해서 이 경로의 접근을 통제하는 역할을 한다.

 

대체적으로 특정 권한을 설정하여 스팸을 차단하거나, SSL 보안, 디텍토리 권한, 리다이렉트 등을 설정하는 역할을 할 수 있다. 따라서 해커들은 이 파일을 건드려 워드프레스에 접근을 통제할 수도 있다.

 

 

악성 htaccess 파일 생성

필자의 경우는 htaccess에 접근을 막는 명령어가 자동생성되어 워드프레스가 설치된 모든 폴더에 악성 htaccess가 생성되는 경험을 하였다.  해당 악성 htaccess에는 다음과 같은 명령어가 들어 있었다.

 

<FilesMatch ".(py|exe|phtml|php|PhP|php5|suspected)$">

Order Allow,Deny

Deny from all

</FilesMatch>

 

위의 명령어를 잘은 몰라도 "Deny"라고 한다면, 거부한다는 뜻이다. 간단히 설명하면 상단의 파일들을 거부한다는 뜻인데, 이렇게 설정이 되어버리면, 외부에서 해당 사이트로 접근이 되지 못한다.

 

문제는 위의 파일은 하나의 폴더가 아닌 워드프레스가 설치된 폴더 하위의 모든 폴더에도 모두 1개씩 생성이 되었다는 것이다. 

 

 

악성 htaccess 삭제 후 조치

 

이를 해결하는 방법은 아주 간단하다. FTP나 서버쪽 폴더에 들어가서 워드프레스 설치된 경로에서 htaccess 만을 검색해서 모조리 삭제해주는 것이다. 여기서 중요한 것은 특정 플러그인 가운데 별도로 htaccess를 만들어서 이것이 있어야만 작동이 되는 플러그인이 있다. 따라서 그 플러그인의 htaccess도 삭제되기 때문에 오류가 날 수 있다. 그러나 어쩔 수 없다. 필자의 경우는 그 파일도 악성 코스가 심어진 htaccess로 변경되어 있을 가능성이 있기 때문에 삭제할 수 밖에 없었다.

 

따라서 위의 조치 후에는 반드시 플러그인들을 체크해보고 문제가 있다면, 해당 플러그인을 삭제 후 다시 재설치할 것을 권장한다. 대체로 htaccess를 이용하는 플러그인들이 htaccess 파일이 삭제되면 워드프레스 관리자 페이지 대시보드에 이에 대한 경고를 하기 때문에 대시보드를 먼저 보고 특별한 메시지가 없다면 htaccess를 사용하는 플러그인이 없다고 생각해 볼 수도 있다. 중요한 것은 htaccess 삭제 후 문제가 되는 플러그인이 있다면, 재설치를 해보는 것이다. 

 

다음으로 체크해야 하는 것은 위의 파일을 생성하도록 명령하는 파일을 찾아내는 것이다. 물론 이것은 매우 어려운 일처럼 보이지만, 생각보다 간단하다. 루트폴더에 자신이 평소에 보지 못했던 폴더가 생겨나 있거나, 워드프레스 설치폴더에 wp-admin, wp-content, wp-includes 외의 다른 폴더가 생성되어 있으면 의심해볼 필요가 있다. 문제로 보이는 파일을 삭제하지 않으면 다시 재차 htaccess 파일이 생성될 가능성이 높다.

 

마지막으로 워드프레스 설치 폴더나 루트폴더의 폴더와 파일들의 권한설정이 약하지는 않는지 체크해보아야 한다. 일반적으로 워드프레스 설치폴더 모든 하위폴더들은 권한설정을 775, 파일은 644로 설정하는 정석인데, 혹시나 777로 되어 있지 않으지 그래서 누군가 쉽게 접근할 수 있는 건 아닌지 체크해 보길 바란다.

 

반응형


댓글