2024-03-19 18:05 (화)
[긴급 점검] 제2의 인터넷나야나 사태 막으려면…호스팅 서버 운영시 필수 보안 가이드
상태바
[긴급 점검] 제2의 인터넷나야나 사태 막으려면…호스팅 서버 운영시 필수 보안 가이드
  • 길민권 기자
  • 승인 2017.06.18 18:27
이 기사를 공유합니다

PC에서 서버 직접 접속 금지, 반드시 게이트웨이 통해 접속해야

최근 리눅스 서버를 이용해 호스팅 서비스를 제공하는 환경에서 웹서버가 에레버스 랜섬웨어에 감염되어 고객들의 홈페이지가 랜섬웨어 경고 메시지로 바뀌어 버리는 초유의 사태가 발생했다. 안타깝게도 백업 데이터까지 동시에 유실되어 현실적으로 복구가 어려운 사태에까지 다다르게 되었는데, 아직 정확한 원인은 밝혀지지 않았지만 사실상 이러한 종류의 보안사고는 정도와 방법의 차이만 있을 뿐 어떠한 업체에서든 재발 할 수 있는 여지가 있는 것이 사실이다. 따라서, 이번 기회에 호스팅 서버를 구축해 서비스 운영시 필수적으로 취해야 할 기본적인 보안 정책에 대해 살펴보도록 하자.

◇망분리, 네트워크 분리

인터넷에 연결되어 있고 PC를 통해 메일을 수신하고 웹서핑을 한다면 그 PC는 언제든 악성코드에 감염이 될 수 있고 결국 공격자의 원격 제어가 가능하다라는 전제에서 시작해야 한다. 아무리 최신의 보안패치를 적용했다 하더라도 아직 세상에 알려지지 않은 취약성도 많이 있고, 이를 통해 자신도 모르는 사이에 악성코드가 설치되어 감염될 수도 있기 때문이다. 아래 그림을 보면, 취약성 공개 후 공격이 급증하지만 일부는 공개 전부터 공격이 실제 발생한다는 것을 알 수 있다.

▲ 제로데이 취약성 공개 전후 공격수
▲ 제로데이 취약성 공개 전후 공격수
따라서, 감염 가능성이 있는 PC를 통해 서버에 접속하는 것은 언제든 보안 사고가 발생할 수 있는 리스크를 안고 있는 것이므로, 서비스로 제공중인 서버에 접속한다면 인터넷에 연결되지 않은 별도로 분리된 네트워크에 있는 디바이스 즉 망분리된 네트워크를 통해 접속하도록 하는 것이 좋다.

(물론 최근 연구를 통해 망분리 환경에서도 여러가지 리스크가 있는 것으로 알려졌지만, 망분리가 현실적으로 가장 안전한 방법중 하나인 것은 사실이다.)

◇PC에서 서버 직접 접속 금지, 반드시 게이트웨이 통해 접속해야

서버 관리를 위해 ssh나 RDP 등을 통해 리눅스나 윈도우 서버 접속을 할 때 편의상 PC에서 직접 접속하는 경우가 많다. 이러한 경우 사무실 전체 IP를 허용해 운영팀과 관계없는 인사팀, 총무팀 등의 IP도 허용하거나, 접속시 root와 admin등 공용계정을 사용할 경우 실제 누가 접속한 것인지 히스토리 추적에 어려움이 있는 등 여러가지 문제점이 있다.

이러한 문제점을 해소하기 위해 SSH나 RDP를 통한 서버 접속을 위해 별도의 게이트웨이를 만들고, 서버에서는 이 게이트웨이를 통해서만 접근할 수 있도록 ACL 설정을 하는 것이 좋다. 이렇게 구성할 경우 서버에 접속하기 위한 길목인 게이트웨이만 집중적으로 모니터링하고 관리하면 되기 때문이다.

물론 서버에서 서버로의 직접 접속 역시 차단하고, 반드시 게이트웨이를 통해서만 접속하도록 강제해야 한다.

◇게이트웨이 접속시에는 2중 인증으로서 OTP 활용

단순한 ID/PW 또는 Key를 이용한 접속은 쉽게 노출될 수 있어 악용의 여지가 있다. 이를테면 운영자의 PC에 키로거(Keylogger)를 설치해 인증 정보를 획득하거나 다른 사회공학적 기법 등을 통해 알 수도 있기 때문이다.

따라서 정말 접속자 본인이 맞는지 확인하기 위해 별도의 디바이스를 통해 추가 인증을 받도록 구성하는 것이 좋다. 이때 가장 쉬우면서도 효율적인 이중 인증 솔루션은 OTP(One Time Password)로서 게이트웨이 접속을 위해 SSH나 RDP 접속시 OTP를 이용하여 추가 인증을 받도록 구성하면 될 것이다.

Free로 사용할 수 있는 구글 OTP나 쉽게 활용할 수 있고 다양한 관리 기능을 제공하는 Duo OTP와 같은 상용 OTP 서비스를 도입해도 되는데, 여기에서 OTP 도입시 주의해야 할 점으로는, OTP는 반드시 접속하는 단말과 분리된 별도의 디바이스(예:스마트폰)를 활용해야 한다는 점이다. 그렇지 않고 게이트웨이에 접속하는 단말에 설치된 Software OTP를 이용할 경우 공격자에게 악용될 수 있는 여지가 생기게 된다.

▲ 구글 OTP 활용
▲ 구글 OTP 활용
◇정기적인 보안점검

새로운 취약성은 하루가 다르게 새롭게 공개되는데, 새로운 보안취약성에 대한 정보를 따라가는 것도 쉽지 않을 뿐만 아니라 보안 전문가라 하더라도 내가 운영하는 시스템이 과연 해당 취약성이 있는지 알기 어려운 것이 사실이다. 이러한 문제를 해소하기 위해 OpenVas나 nmap 또는 Nessus 등과 같은 취약성 스캔 솔루션을 이용해 정기적으로 시스템에 대해 보안 스캔해 보는 것이 좋다.

▲ Nessus 취약성 점검 결과 화면
▲ Nessus 취약성 점검 결과 화면
OpenVas나 nmap과 같은 오픈소스 또는 공개 버전이라 하더라도 예전과 달리 오탐(false positive)이나 미탐(false negative)이 많이 개선되어 업무에 활용하는데 어려움이 없다. 특히 호스팅과 같이 대규모의 시스템을 운영한다면 nessus등을 이용한다면 큰 부담없이 활용할 수 있는데, 스케쥴링 기능을 활용하면 정기적으로 일정 시간에 스캔을 하여 스캔 결과를 메일로 받도록 할 수도 있다.

◇서버 운영자는 윈도우 대신, 리눅스 데스크탑으로

윈도우PC가 편리하고 익숙한 것은 사실이지만 그만큼 악성코드도 많고 감염 가능성도 많아진다. 따라서, 윈도우 대신 우분투 등 리눅스 또는 맥OS를 데스크탑으로 활용한다면 정도의 차이는 있지만 그만큼 감염 가능성도 줄어드는 것이 사실이다.

이외에도 나열하기 힘들 정도로 많은 보안 강화 방안이 있겠지만, 즉시 도입이 필요할 만한 효과적인 필수요소들만 일부 살펴보았다.

그러나 기업환경에서 무엇보다 중요한 것은 직원 한 사람 한 사람들의 “보안 마인드”이고 이를 지속적으로 유지할 수 있게 하는 힘은 결국 경영진의 의지일 것이다.

대부분 보안을 보험에 비유를 하곤 한다. 사고를 경험하고 나면 보안의 중요성을 인지하고 캠페인과 많은 투자를 진행했다가, 일정정도 큰 사고없이 시간이 지나면 보안을 불필요한 사치로 여겨 예산과 투자를 줄이고 결국 보안보다는 업무의 효율성을 찾게 된다. 그렇게 되면 결국 보안사고가 다시 터지게 되고 이후 다시 보안 투자를 강화하는 어떻게 보면 어리석은 반복을 경험하게 되는 것이다.

여기에서 보안이 보험과 다른 것은 초기 보안에 대한 투자를 진행하는 동안 큰 사고가 없이 지낼 수 있었던 것은 그냥 가만히 있어도 문제가 없었던 것이 아니라 그 동안 보안팀과 임직원들이 보안에 대한 마인드를 가지고 보안을 유지하기 위해 지속적으로 노력하고 있었기 때문이라는 점이다.

[글. 홍석범 씨디네트웍스 보안실 이사 / antihong@gmail.com]

★정보보안 대표 미디어 데일리시큐!★


■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★

관련기사