지난 번 라마에 대한 공격 이후로, 보안에 대해 조금은 더 신경을 쓰게 되었습니다.
root 권한을 획득할 수 있는 overflow exploit은 제가 직접 실행해보아도 제대로 동작하지 않는 걸로 봐서, 실제로 root를 획득하는 데에는 실패한 것이 아닌가 판단하고 있습니다.
커널이나 중요한 파일들의 변경 시간과 사용자 계정 등을 검사해보았지만, 별다른 흔적은 발견할 수 없었습니다.
chkrootkit은 rootkit을 검사해주는 툴입니다. 일부의 rootkit을 검사하는 것일 뿐이지만, 일단 chkrootkit에 대해서 라마는 안전하더군요.
물론 어떤 것도 확실한 것은 없습니다. root를 얻은 후 모든 일을 한 후 흔적을 지우고 나갔다면, 제가 할 수 있는 일은 다른 분들 말씀대로 새로 설치하는 방법 밖에는 없죠.
적어도 외부로부터의 접근이 있는지를 알아내기 위해서 몇가지 툴을 설치해보았습니다.
COMPLETE guide to Snort, MySQL, and Acid란 글을 보고 Snort와 Acid를 설치했습니다. Snort는 상당히 유명한 IDS의 하나고, Acid는 Snort의 front-end 중 하나입니다. 시스템에 설치된 Acid는 다음 페이지에서 보실 수 있습니다.
Snort는 이더넷을 Promiscuous 모드로 하고, 네트워크 트래픽을 감시하면서 수상한 흔적이 있나 감시합니다. 이것도 커널, 디바이스 드라이버 수준에서 뭔가 바꿨다면 믿을 수는 없겠습니다만…
Snort를 개발한 SourceFire사는 Snort가 intrusion을 발견하기 위한 rule들을 유료/무료로 제공하고 있는데, 무료 룰(unregistered user release)은 유료 룰(registered user release)에 비해 업데이트가 느린 편이죠. 커뮤너티 룰이란 것도 있는데, 사용자들의 기여로 만들어지는 룰인 모양입니다. 현재는 무료 룰을 설치해놓은 상태인데, 무료 룰과 커뮤너티 룰 중에 어떤 것이 더 좋은 지 잘 모르겠군요.
연휴 동안에, kernel 업그레이드도 하고, integrity check을 할 수 있는 tripwire도 설치해 둘 생각입니다.