PC월드에 실린 내용 이나 의미 있게 살펴 보아야 할 내용들도 존재하고 다른 관점에서 보아야 할 이슈들도 존재한다. 침해사고가 창궐하고 있는 불황의 시기에 주관적인 의견도 도움이 되는 부분을 발췌하여 활용한다면 서비스의 안정성 유지에 충분한 역할을 할 수 있을 것이다.
노골적인 표현 그대로 어리석은 실수라기 보다는 잘 지켰다면 문제들이 많이 줄었을 것이라는 아쉬움의 표현이라고 받아 들였으면 하는 바람이다. 한국적 IT 서비스에서 일반적으로 발생하는 침해사고에 관한 10가지 정도의 이슈로 참고 하셨으면 한다.
우선은 기본 인프라에 관련된 5가지 정도의 이슈에 대해 정리 한다.
차분하게 기업의 IT 보안 현실과 개선 과제들이 무엇을 위한 것인지를 되돌아보고 동일한 실수나 위험들이 반복되지는 않는지, 또 기본적인 부분들은 어느정도 대비가 되고 있는지도 살펴 보는 기회가 되었으면 한다.
이번 칼럼에는 인터넷 시작과 더불어 지금까지 계속된 일반적으로 알려진 이야기들도 존재하고 현재에 이르러 급격하게 나타난 이슈들도 존재한다. 시대의 상황에 맞게 기본적인 틀들을 지켜야 함은 변함 없는 규칙이다. 최소한의 규칙 준수는 피해 가능성을 그만큼 줄여 줄 수 있기 때문이다.
기업 보안에 있어서 가장 흔한 문제는 일어 났던 사고들이 반복해서 일어나고 시스템 규모와 애플리케이션 규모가 커짐에 따라 이미 알고 있는 부분 조차도 신경을 쓰지 못해 방치된 기본적인 문제들이 추가적인 침입을 초래하는 상태에 이르는 문제다.
이전까지는 발견을 하지 못하다가 침해사고를 경험한 이후에야 문제는 기본적인 것에 있음을 알게 된다.. 그러나 개선은 매우 더디게 진행된다. 이것이 지금까지의 일상적인 대응방식들이었다. 이것은 근본적으로 IT 보안 관리자 혹은 역량 있고 강력한 지원을 받는 IT 관리자가 극심하게 부족하기 때문이기도 하고 보안이 경영과 분리된 기술로 치부되는 것도 원인이다. 그래서 우리나라는 상황이 더 심각하다.
IT 서비스를 운영하는 회사에서 IT 서비스의 생존을 유지하는 것은 절대적이다. 경영 효율과 마케팅 최적화로도 커져가는 구멍을 막을 수는 없다. 그대로 방치할 경우 구멍은 점점 더 커져 종래에는 모든 일들을 수포로 돌아가게 한다.
보안에 투입되는 비용은 그대로 소모되는 비용이 아닌 미래의 불확실성을 줄여주고 예측 가능한 범주안에서 안정성을 일정수준 보장하는 의미가 있다. 일회성 투입이 아닌 지속적인 투자와 관심만이 위험을 줄이고 서비스 영속성을 보장할 수 있다.
마케팅 귀재들이 있는 회사라 할지라도 기본적인 보안이 되어 있지 않다면 그 어떤 마케팅도 의미 없는 것이 되어 버린다. IT 서비스 회사에서 보안은 이제 절대적인 이슈다. 있으면 좋은 그런 부수적인 요소는 아니다.
참조 기사에서는 네트워크 관리자라고 칭하였으나 적당하지 않은 부분도 있어서 IT 관리자로 호칭하도록 한다. 또 열 가지 항목만을 발췌하고 설명은 주관적으로 제시한 것임을 밝혀둔다. 반드시 필요한 항목임에는 두말할 필요가 없다. 실정에 맞지 않는 부분은 현실에 맞도록 재해석을 하였다.
■Not changing the default passwords on all network devices
디폴트(Default) 계정과 패스워드에 대한 이슈는 운영체제가 생기고 네트워크로 연결된 이래 항상 논의되는 문제다. 계정과 패스워드 관리에 대한 정책들은 근래들어 많은 부분 지적되고 있으나 일반적인 침해 사고에서 여전히 무시할 수 없는 부분이 디폴트 계정 및 패스워드에의해 발생 되는 것은 엄연한 현실이다.
네트워크 장비 ( 스위치, 라우터), 운영체제 , DB, 애플리케이션과 같은 모든 IT자산에 대해 존재하는 디폴트 패스워드와 계정 변경은 반드시 확인되어야 한다. 패스워드에 대한 라이프 사이클을 유지하고 관리 할 수 있어야 하며 모든 IT 자산에 대해 분명한 검토들이 있어야 한다.
지금 이글을 읽고 있는 독자들 중에서 IT관리를 하시는 분들도 관리하에 있는 모든 시스템들의 디폴트 계정과 패스워드를 완벽하게 제거 하고 있다고 확언 하실 수 있는 분은 그리 많지 않으리라 생각된다.
공격자들은 기본적으로 초기 침입 성공 이후 (근래에는 대부분 웹 애플리케이션 공격 및 이메일 등을 통한 백도어 설치로 침입 성공) 거점을 통해 내부망에 대한 스캐닝 작업들을 시작하게 된다. 내부망에 대한 스캔 작업으로 인해 발견 되는 것들은 시스템에 대한 취약성 및 네트워크 장비에 대한 취약성과 계정과 패스워드에 대한 취약성들도 발견하는 것이 일반적이다.
그 이후에는 장비에 접근해 공격자가 원하는 대로 조정하거나 변화를 시키는 것이 일반적인 공격 유형이다. 현재 큰 문제로 지적되고 있는 매스 SQL인젝션(Mass Sql injection)에 관련된 문제와는 다른 관점이긴 하나 고전적인 유형이며 가장 일반적인 침입 유형으로도 여전히 유효하다는 점에서 의미를 가진다.
외부에 드러난 직접 접근이 가능한 통로에는 많은 문제들이 해결되어 있을 것이나 내부망에 존재하는 모든 장비에 대해 확신하기에는 문제점이 있을 것이다. 이것은 외부자에 의한 문제와 내부자에 의한 문제 모두 문제가 발생 될 수 있는 지점을 최소화 함으로써 예방이 가능한 이슈들이다.
단순하게 IT관리자 의지만으로 문제를 제거하기에는 어려움이 있다. 단순 반복적으로 보이는 업무들이 있어야 체계를 이룰 수 있으므로 경영진 의지와 이해는 문제제거를 위해 필수적이다. 무조건적인 관리 부실과 문제로 내몰기에는 지금 시스템들은 너무 크고 많다.
■Sharing a password across multiple network devices
일반적으로 모든 시스템에 대해 별개 패스워드를 사용한다는 것은 불가능하다. 특히 규모가 큰 서비스를 운영할 경우에는 사실상 불가능한 작업이라 할 수 있다. 영역별로 분리 하거나 의미 있는 단위로 구분해 공용 패스워드를 사용하는 것이 일반적인 경우라 할 수 있다. 패스워드에 대한 복잡도와 관리는 현재 상태에서는 상당 수준에 올라와 있는 곳들도 있으나 다른 관점으로 보면 근본적인 문제들이 존재한다.
문자와 특수문자, 숫자를 결합해 패스워드를 만들고 이것을 소수 관리 인원들만 알고 있는 것은 일면 타당한 보안성을 유지하고 있는 것으로 보인다. 그러나 외부 업체와의 작업들은 있을 수 밖에 없고 해당 업체와 작업을 진행 하기 위해서는 경우에 따라 계정정보를 전달해 줄 수 밖에 없는 상황들이 발생한다. 이런 경우에 전체 시스템들에 문제가 생길 가능성은 높다. 너무 어렵게 패스워드를 만드는 것들도 절차상으로는 부합하나 직접적인 입력과 기억의 어려움으로 인해 패스워드를 적은 포스트잇 등을 화면에 붙여 놓는 것을 자주 보게 된다. 이 경우도 동일한 위험으로 간주 할 수 있다.
패스워드 관점에서는 주기적이고 영역별로 나눠진 관리가 필요하며 소수 인원에게만 공유되어야 한다. 그리고 권한 별로 계정에 대한 구분이 명확하게 나눠져 있어야만 한다. 최소한 대규모 서비스 운영이나 몇 십 혹은 몇 백대 이상의 시스템을 운용하는 곳에서라면 각 서비스 구분 별로 별도 규칙과 절차를 통해 안전한 패스워드를 유지하는 절차를 갖출 필요가 있다.
침해사고 방지의 가장 큰 부분은 피해 확산을 최소화 하는 부분도 적지 않은 비중을 차지한다. 패스워드에 대한 정책적인 관리와 구분은 가장 기본적이며 큰 효과를 볼 수 있는 영역이기도 하다.
외부 노출된 애플리케이션 취약성이나 내부로 침입한 악성코드에 의해 단 하나의 계정과 패스워드가 유출 되었다고 한다면 체계적인 영역구분과 관리 절차가 없는 서비스에 대해서는 모든 것에 대한 권한을 넘겨 준 것과 동일 하다고 볼 수 있다.
■Misconfiguring your access control lists.
대부분의 서비스를 운영하는 회사에서는 외부에서의 직접적인 접근을 금지하고 있다. ACL이라는 것은 네트워크 장비나 서비스 서버 단위에서 접근 할 수 있는 영역을 제한하는 용도로 사용되는 모든 것을 총칭한다.
단순하게 네트워크 장비에서의 접근제어 리스트를 가지고 있는 것 외에도 서버 단위에서 ipchain과 iptable 그리고 비슷한 기능을 하는 도구들을 모두 총칭한다. 잘못 설정된 ACL이란 의미 보다는 명확한 의미의 접근제어가 필요하다는 내용으로 이해 하면 될 것이다.
일반적으로 외부에서 접근을 제한적으로 허용하기 위해 VPN을 많이 활용한다. 접근할 수 있는 호스트(host)를 한정하거나 VPN 접근 전용 계정과 패스워드를 통해 허가된 사용자만이 접근 할 수 있도록 구성하는 것이다.
그러나 일단 접근한 이후의 통제 방안에 대해서는 논의가 잘 되지 않고 있다. 일단 외부로부터 접근을 단일통로로 제한하는 것으로 끝나는 경우를 많이 볼 수 있다.
여기에서 지적하는 부분은 외부에서의 접근 이후에도 효율적인 통제들이 필요함을 예로 들고 있다. 권한에 대한 확실한 적용으로 접근이 가능한 영역과 접근 해서는 안 되는 영역에 대해서 분명한 구분이 필요하며 적용이 필요하다는 점을 언급 하고 있다.
기본적으로 외부에서 접근 할 수 있는 통로는 제한적으로 구성하고 이후 사용자 각각 혹은 그룹별로 접근이 가능한군을 형성해 해당군 이외에는 경유해 접근이 되지 않도록 구성하는 것이 중요하다.
서비스 구성 네트워크 단위에서 외부 접근 지점과 권한 별로 접근이 필요한 시스템들을 최소화 하고 한정 하게 되면 기본적인 ACL 미비로 인한 추가적인 사고를 막을 수 있다.
침해사고 경우에는 외부에서 접근이 가능한 계정을 탈취한 이후에 VPN이나 경유 서버를 통과하여 내부망에 대한 자료 유출 및 악성 행위들이 발생 되는 경우도 종종 발생된다. 명확한 역할에 따라 접근제어 시행은 이런 문제를 막기 위해서 필요하며 경우에 따라서는 접근 계정 유효성과 접근 기록들에 대해서 기록을 유지하여 비정상적인 접근과 비정기적인 접근에 대해 판별 하는 로직들을 도입하게 되면 보다 큰 효과를 거둘 수 있다.
■Failing to configure your router to prohibit unwanted outbound traffic
현재 사용자 PC와 기업 내부 시스템을 위협하는 악성코드들은 대부분 백도어 기능을 가지고 있다. 백도어 기능은 침입이 성공한 이후 외부와의 연결을 유지하고 명령을 실행 하도록 하고 있다. 물론 2009년 7월에 발생된 DDos 이슈와 같이 특정 IP로의 주기적인 연결 시도를 통해 다음 명령을 받는 유형이라면 위와 같은 정책도 그다지 큰 의미는 없다. 본 컬럼에서 논하는 이슈는 일상적으로 발생 되는 이슈들에 대한 문제이며 참고적인 사항일 따름이다.
서비스 시스템에 침입한 이후 재침입하기 위해서 공격자들은 일반적으로 재침입이 용이하도록 외부에서 직접 접근이 가능한 통로를 만들어 두게 된다. 이런 통로들을 백도어라고 총칭한다.
Botnet Client이든 Command shell 이든 대부분의 기업 서비스 망에서는 외부에서 내부로 유입되는 인바운드 트래픽에 대해서는 엄격한 기준을 적용하지만 내부에서 외부로 나가는 아웃바운드 트래픽에 대해서는 무척 관대한 편이다. 장비 성능 이슈도 무시 할 수 있는 부분은 아니기에 특별한 문제가 없다면 외부로 전달 되는 트래픽에 대한 통제는 그리 심한 수준은 아니라고 할 수 있다.
성능문제로 모든 부분에 대해서 적용하기는 어렵더라도 역할별로 구분된 시스템들에 대해서는 최소한의 규칙들은 지켜져야 한다. 시스템에 기본으로 설치된 다수의 서비스들에 대해서도 시스템의 목적에 맞도록 여러 서비스들은 제거나 중지를 통한 비활성화를 거치거나 장비 단위에서의 허용 트래픽만을 규정 하는 행위들은 필요하다.
서비스별로 사용 서비스에 대해 정의하고 해당 서비스만 사용하도록 하는 기본 보안설정이 필요하고 대규모 서비스의 경우 서비스군으로 분할하여 아웃바운드 트래픽을 서비스별로 제한 하는 작업들도 침해사고 확산을 방지 하는데 도움을 줄 수 있을 것이다.
■Allowing nonsecure remote access and management software
시스템과의 거리상 대부분의 서비스 기업 관리자들은 리모트 관리 도구들을 많이 사용한다. 그러나 특별한 접근제어설정을 가지고 있지 않거나 계정과 패스워드 문제로 인해 손쉽게 침해를 입기도 한다.
VNC 와 PC 애니웨어(Anywhere), 터미널 서비스(Terminal Service), SSH 등은 관리도구로 일반적으로 쓰이는 접근 도구들이다. 각 사용 도구별로 기본적인 보안설정 부족과 안전하지 않은 패스워드 혹은 변경 없는 패스워드 사용은 종종 공격자들의 주된 타깃이 되고 있다.
더불어 외부 네트워크 영역에 대해 VPN 과 같은 경유 서버가 없는 경우 직접적으로 열려져 있는 경우들이 많이 발견이 된다. 관리 편리성을 논하기엔 지금 시절은 호락호락 하지 않다. 외부에 열려져 있는 포트정보와 열려져 있는 서비스들에 대해서는 주기적인 점검이 이루어 져야 하고 장비를 통한 통제들도 필수적으로 이루어 져야 한다.
원격 관리를 위한 도구들은 공격자의 손쉬운 목표가 되고 있는 만큼, 주기적인 검토와 보안성 강화 (접근 IP 제한, 패스워드의 변경과 난이도 상승) 만이 기본적인 보안수준을 보장할 수 있다.
접근 할 수 있는 IP에 대한 한정과 권한의 조정, 패스워드에 대한 관리 철저, 외부로 나가는 트래픽에 대한 제한과 철저한 접근제어는 가장 기본적으로 요구되는 인프라 보안의 구성요소이다.
총 10가지 정도의 항목에서 현재 컬럼은 인프라와 기본적인 보안에 관련된 부분을 정리했다. 참조한 기사와는 다른 방향으로 논의된 부분들도 있으나 각 항목에 대해서는 현재의 상황에 맞도록 설명을 하였고 세부적인 해석들은 환경에 따라 다를 수 있으므로 참고용도로의 이해가 필요하다. 규모에 따른 대응방안들도 다를 수 있기에 원칙적인 면에서 지켜야 할 룰 정도로 참고 할 수 있을 것이다.
관련기사
- [칼럼]2009 DDos 분석과 대응2009.07.29
- [칼럼]인터넷 뱅킹 해킹의 이면2009.07.29
- 비트코인 9만9천 달러 돌파...SEC 위원장 사임 소식에 급등2024.11.22
- "피부 컨설팅 받고 VIP라운지 즐겨요"…체험 가득 '올리브영N 성수' 가보니2024.11.21
다음 편에서는 10가지 실수라고 총칭 되는 부분에서 지금의 시대에 가장 큰 화두로 대두된Application과 관련된 부분을 다루도록 하겠다. 네트워크 관리자만을 위한 참고가 아닌 전체 IT관리자를 위한 참고가 될 수 있도록 항목에 대한 확장과 해석들은 달라 질 수 있음을 알려 드린다.
기본적인 노력들이 끊임없이 이루어져야만 변화도 효과가 있을 수 있다.
*본 칼럼 내용은 본지 편집방향과 다를 수 있습니다.