서버 복구 완료

Submitted by westporch on 2010.01.09.(Sat) - 22:57

1월 3일 관리자 계정으로 로그인을 할 수 없어서 백업해둔 자료로 복구를 시도했으나 실패했었습니다.
아마 공격을 당한 듯 합니다. phpbb를 재설치하고 나서 아래와 같은 에러메시지가 출력되었습니다.

index.php  [ 399 ] Module "" not accessible.

위 에러 메시지를 무시하고 계속 mysqldump로 sql 파일을 복구하니 내용이 적용되지 않았었습니다.
웹 브라우저를 실행해서 site/phpBB3/install/database_update.php를 실행하고 mysqldump를 실행하니 복구할 수 있었습니다.
눈 내리는 저녁…. 버스안에서 창 밖을 바라보고 있었는데 라디오에서 한 교수님이 이런 말씀을 하셨습니다. "현재의 위기를 대처하는 방법은 첫째, 현재 상황을 받아들인다. 둘째, 앞으로의 계획을 세운다. 셋째, 열정으로 무장한다. 넷째, 긍정적인 생각을 한다."
외부의 공격을 당할 때 마다 스트레스를 받기도 했지만 좋은 경험을 하는 것이라고 긍정적인 마음을 가지려고 노력했습니다.
데비안유저스를 새로 만들 때 약관(弱冠)의 시절을 이 사이트와 함께 보내겠다고 저 자신과 약속했습니다.
그리고 그 이후로도 운영할 것입니다. 아직은 미숙하여 외부에서 공격을 당하며 대응이 느리지만 따뜻한 관심을 가지고 지켜봐 주셨으면 합니다.

wildapple

작성: 2010.01.10.(Sun) - 07:40

수정: 2017.04.30.(Sun) - 23:20

해킹 당했을 경우 빠른 복구와 해킹을 분석하기 위해 kvm이나 virtualbox와 같은 가상머신을 사용하는 건 어떨까요?

현재 이 서버는 가상서버를 이용하고 있습니다.
가상서버 보다는 kvm 이나 버추얼박스가 효율적인가요?
kvm 혹은 virtualbox를 사용하면 해킹 당했을 때 어떻게 빠른 복구와 분석을 할 수 있는지 알고싶습니다. :)

단순하게 서버(가상머신 게스트)의 백업 이미지를 만들어서(dd 명령 사용) 해킹을 당했을 때 백업 이미지로 복구(dd 명령 사용)하거나 아니면 스냅샷이란 기능으로 변경 전 환경으로 복구하면 빠른지 않을까요?
(스냅샷이란 기능이 변경 전 환경으로 복구하는 기능인 것 같은데 서버(게스트)를 이미지 파일이 아닌 LVM(logical volume manager)에 설치했을 때도 되는지는 모르겠네요.)
해킹 분석은 해킹 당한 서버의 이미지를 만들어서 몇 가지 설정을 바꾼 후 실행해서 천천히 분석해보면 되고요.
* web 서버와 database 서버를 분리 시킬 수 있고 그러면 좀 더 안전하지 않을까요?

스냅샷 기능을 말씀하시는 것이었군요. 현재 사용하는 가상서버에서 virtualbox를 사용할 수 있을지 모르겠네요.
앞으로 유사시에 사용할 백업 서버를 별도로 운영할까 생각했었습니다. wildapple님의 말씀대로 웹서버와 DB서버를 분리하는 것도 괜찮은 것 같습니다.
그래서 앞으로 웹서버(커뮤니티) + 웹서버(위키) + DB서버 + 백업서버로 운영을 할까하는 생각을 하기도했습니다.
그리고 위키 사이트(debianwiki.or.kr)의 호스팅 업체도 바꾸려합니다.
위키 사이트는 ftp를 사용하는데 ftp sniffing 공격을 당할 가능성이 있다고 생각하기 때문이며 접속 속도가 너무나 느립니다.
만약, 웹서버(커뮤니티) + 웹서버(위키) + DB서버 + 백업서버의 체제로 운영을 하려했는데, 하나의 DB서버의 두 개의 서버의 데이터베이스를 저장한다면 보안상 안전하지 못할까요?
그렇다면 최소한 웹서버(커뮤니티) + 웹서버(위키) + DB서버 (커뮤니티) + DB서버(위키) 이렇게 운영해야 할까요? 어떻게 해야할지 좀 더 고민해야겠습니다.

VM(virtual machine) 안에서 VM을 실행하는 것은 안되지 않을까요?
된다고 해도 속도가 느릴 것 같고... 어렵군요.
* 기본(?)으로 돌아가서 여러 보안 프로그램(?)을 사용해서 서버의 보안을 강화하는 게 좋지 않을까요?

eunchul

작성: 2010.01.12.(Tue) - 12:05

수정: 2017.04.30.(Sun) - 23:46

어떤 원인으로 공격을 당했는지 파악하는게 가장 먼저일듯 합니다.
현재 phpBB3 이 운영되고 있는 환경은 제가 알고 있기로는 xen 가상화 위에서 동작하고, HTTP(80번 포트)를 제외한 다른 포트는 포워딩이 되는것으로 알고 있습니다.
즉 ssh 접속을 위해서는 기본포트 22번이 아닌 다른 포트번호 입니다. 그리고, phpBB3 외에는 다른 어플리케이션이 없기 때문에

1. phpBB3 자체의 보안 결함.
2. phpBB3 설치후 보안세팅이 안되어있거나(디렉토리나 파일에 대한 권한도 포함되겠죠.),
3. 시스템 root 접근권한이 노출되었거나..

이 정도가 아닐까 합니다.
syslog-ng 설정을 하셔서, 모든 접근에 대한 로그를 기록하게 해주세요.
원인 파악에 근거가 되기 때문이죠. :)

westporch

작성: 2010.01.12.(Tue) - 22:41

수정: 2017.04.30.(Sun) - 23:50

In reply to by eunchul

최대한 빨리 syslog-ng를 설치하도록 하겠습니다. syslog-ng를 사용하면 모든 접근에 대한 로그를 남기는군요.
그리고, 오늘 또 다시 해킹시도가 있었습니다. 오늘 오전 9시 33분에 공격자가 SSH brute force를 최초 시도하였으며 금일 오전 10시에 공격을 중단하였습니다.
http://lh3.ggpht.com/_o8c3Ao4fxbQ/S0x33PE2JzI/AAAAAAAAADs/B9YOrRtzLu4/s…

http://lh5.ggpht.com/_o8c3Ao4fxbQ/S0x33RZvWSI/AAAAAAAAADw/tjsmyRTQ1SU/s…
공격자가 외국인이라고 생각했으나 ip 확인결과 한국인이었습니다. 서울 답십리에 거주하고 있군요.
http://lh3.ggpht.com/_o8c3Ao4fxbQ/S0x33XuBtWI/AAAAAAAAAD0/UtNA0jEPjZ8/s… 흥미롭습니다.
이런게 바로 창과 방패의 대결이군요. :) 한편으론 씁쓸합니다. 저는 국가와 국민에 충성을 다하는 대한민국 육군인데..
눈이 많이 오는 날 시민들을 위해 도로의 눈을 치우고 만약 전쟁이 난다면 나라를 위해서 총들고 뛰쳐나갈 마음이 준비가 되어있는데 저는 인터넷 상에서 공격의 대상이군요..

wildapple

작성: 2010.01.13.(Wed) - 08:10

수정: 2017.04.30.(Sun) - 23:51

In reply to by westporch

T.T 그 아이피 제 아이피군요~~~ 네서스 4.2로 취약점 스캔을 한 번 해본 건데 바로 기록이 남네요. (허락 받지 않고 해서 죄송)

westporch

작성: 2010.01.14.(Thu) - 21:36

수정: 2017.04.30.(Sun) - 23:53

In reply to by wildapple

wildapple님께서 넷서스로 스캔하셨군요. ;)
취약점 결과에 빨간 불이 들어온게 있나요? syslog-ng에 대해 알아보았는데 syslog와 별 차이를 모르겠습니다.
그냥 syslog를 사용하는게 더 나은게 아닌가 하는 생각도 들었습니다.
syslog-ng가 syslog의 단점을 보완하여 나왔다고 하는데 syslog와 syslog-ng의 로그 기록의 차이가 많이나나요?

high, medium, low 세 가지로 나뉘는데 medium과 low 는 몇 개 있고 high는 없었습니다.
(xen을 사용하고 80번 포트만 포트포워딩하면 스캔이 어떻게 되는지 모르겠네요. 80번 포트는 데비안 서버를 스탠하고(게스트, domU) 나머지는 xen 호스트(dom0)를 스캔한 결과인지?)
혹시 phpbb 취약점을 찾아내나 하고 해봤는데 그건 안 되는 것 같네요.(? 스캔 결과를 봐도 잘 모르겠음)