[보안뉴스= 페이스북 모의침투연구회] 웹호스팅 업체 ‘인터넷나야나’ 랜섬웨어 감염 사태로 피해를 입은 기업·단체·개인의 데이터가 100% 복구되지 않는다는 사실이 알려지면서 피해자들의 한숨이 깊어지고 있다. 13억이라는 거액을 복구비용으로 지불했음에도 한글명 파일을 비롯해 일부 서버와 특정 파일은 복구가 불가능한 것으로 알려진 탓이다. 이로 인해 데이터 백업의 중요성과 함께 ‘인터넷나야나’ 사태를 일으킨 에레보스 랜섬웨어가 침투한 리눅스 서버에 대한 보안대책에도 관심이 모아지고 있다.

▲ 인터넷나야나 해킹과정 개요[이미지=미래창조과학부]
이러한 가운데 보안연구 모임인 ‘페이스북 모의침투연구회’에서 제2의 ‘인터넷나야나’ 사태를 예방하기 위한 리눅스 서버 대상 안티바이러스(백신) 설치법을 소개한다.
웹호스팅 업체가 대규모 피해를 입은 이유 가운데 하나로 리눅스 서버용 안티바이러스 설치가 미흡하다는 이유도 포함된다. 사실 데스크탑용 리눅스 사용자 대부분은 안티바이러스는 아예 필요 없다는 의견이 대다수였다. 몇 년간 국내외 리눅스 커뮤니티의 의견을 종합해보면 리눅스는 바이러스가 거의 없어 굳이 안티바이러스를 설치할 필요가 없다는 것이다.
이는 윈도우와 달리 OS 설계부터 다중 사용자용 운영체제이고, 권한 설정이 매우 엄격해 루트(root) 권한을 쓰지 않아도 mysql 운영이나 개발도구 사용에 전혀 문제가 없다는 인식 때문이다. 더욱이 리눅스는 IPtables나 Tripwire 등의 보안 툴만 제대로 설정하면 안티바이러스의 역할이 적다는 의견이 공감대를 형성하고 있는 상황이다. 만약 침해사고가 나더라도 루트 권한을 가진 파일이 몰래 설치되어 있거나 파일의 소유자만 변경되는 등 피해가 적었던 이유도 한몫한다. 이러한 인식은 서버 분야에서도 그대로 이어져 왔다는 얘기다.
이는 결국 윈도우와 리눅스 두 운영체제 사이의 개발 차이점에 기인한다. 윈도우 7은 싱글 사용자용이지만, 사용상 불편함 때문에 대부분 관리자 권한으로 로그인해서 운영한다. 여기에 침투한 멀웨어로 인한 피해 역시 비례해서 커지기 마련이다. 이에 윈도우 7 사용자는 OS 재설치 이후에는 누구나 안티바이러스를 가장 먼저 설치하게 된다. 서비스팩과 보안패치가 설치되지 않은 윈도 7이 얼마나 보안에 취약한지 스스로 잘 알기 때문이다.
리눅스 서버 안티바이러스에서의 실시간 감시는 프로토콜 감시에 한정되어 메일을 송수신하는 SMTP, POP3 프로토콜, 파일 공유와 관련된 SMB 프로토콜을 악성코드가 이용해야 탐지가 가능하다. ‘인터넷나야나’ 사태를 일으킨 에레보스 랜섬웨어에 실시간 대응하려면 SMB 프로토콜 감시가 가능한 ‘for File Server’로 표시된 리눅스용 제품만 적절한 방어가 가능하다.
에레보스, SMBCry 등 심각한 파괴력을 가진 리눅스 버전 랜섬웨어들이 ‘게임 체인저’로 새롭게 등장한 이상, 리눅스 서버 안티바이러스 설치가 의무라는 의식 전환이 반드시 필요해 보인다. 일례로 국내 1위 웹호스팅 업체인 가비아에서는 서버용 안티바이러스를 이미 적용하고 있다.
오픈소스 제품인 clamAV, clamTK는 약 68만종 이상의 패킹된 멀웨어까지 고속으로 검색할 수 있고, 자동 업데이트까지 지원된다. 다만, 제일 중요한 감염파일의 치료 기능은 빠져있다. 오픈소스의 한계라고 할 수 있다. 감염 파일을 발견하면 파일을 이동시켜 /var/tmp 같은 특정 디렉토리로 격리하는 조치 정도는 가능하다.
▲ 오픈소스 clamAV의 그래픽 버전 clamTK[자료=모의침투연구회]
또한, commodo, eScan 등 평가판 버전을 제공받아 미리 테스트해 볼 수 있는 안티바이러스 제품과 상용으로 판매하는 시만텍 엔드포인트 14.x의 설치도 고려해볼 수 있다. 이에 대한 설치방법을 소개한다.
여기서 소개하는 모든 리눅스 백신은 우분투 리눅스와 칼리 리눅스의 원조이기도 한 범용 데비안 리눅스 서버용 8.x 64비트 버전을 기준으로 하고 있다.
▲ SSL 인증서로 더 유명한 commodo사의 리눅스 안티바이러스[자료=모의침투연구회]
▲상용 시만텍 엔드포인트 14[자료=모의침투연구회]
시만텍 제품은 설치할 때 JCE(Java Cryptography Extension) 모듈의 기능이 필요한데, 이는 설치 파일 내에 있는 자바 클래스 파일인 JCEUnlimitedlibCheck.class 때문이다. 데비안 리눅스에 미리 설치된 java 런타임 대체품인 openJDK로는 지원되지 않는다.
java --version 명령어로 현재 오라클 JAVA 설치 버전을 체크하고, JAVA 런타임의 버전이 5.0 대로 현저하게 낮거나, 오라클의 저작권 분쟁을 피하기 위해서 openJDK 7로 대체 설치되어 있는 시스템에선 에러가 발생한다. 오라클사의 JAVA 8 런타임을 설치하면 에러 없이 시만텍 엔드포인트 14 제품을 설치할 수 있다.
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list
echo
"deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu
precise main" >> /etc/apt/sources.list
로 저장소를 추가하고,
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get install oracle-java8-installer
두 개 명령어로 java 8 런타임을 추가할 수 있다.
CentOS 5.x대 구 버전인 5.11 버전대 OS는 올해 3월 31일 yum 레포지터리 지원이 종료돼 더 이상 각종 패키지 업데이트를 할 수 없도록 저장소가 전부 사라졌다. 즉, 구형버전 서버 리눅스 사용자는 보고서에 나오는 clamAV를 설치하고 싶어도 yum 저장소가 사라져 clamAV 패키지를 검색할 수 없어 설치가 안 된다. 구형 CentOS 서버를 상위버전으로 업그레이드하기 어렵다면 오래된 CentOS에서 쓸 수 있는 팁인 epel-release 패키지를 이용하는 방법을 제안한다.
# yum -y install epel-release
# yum clean all
# yum repolist
대체용 epel 저장소를 만든 다음, 오픈소스인 clamAV를 설치하는 방법이다.
이번에 소개한 리눅스 안티바이러스 설치법이 리눅스 서버를 타깃으로 한 랜섬웨어 공격 대응에 부심하고 있는 리눅스 서버 운영자분들께 많은 도움이 되길 바란다.
[글_ 페이스북 모의침투연구회(facebook.com/groups/metasploits)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>