웹 보안에 대한 올바른 이해

전체 해킹 시도 중 70% 이상이 웹을 통해 이루어지고 있는 지금, 웹 보안이 선택이 아닌 필수인 시대가 되었습니다.하지만 웹 보안의 경우, 현재 표준화 된 보안 대책이 없고 기업마다 제 각각 보안을 구축하고 있기 때문에, 전문가라 하더라도 웹 보안을 보장하기가 힘듭니다.

대부분의 기업들이 보안 솔루션을 도입하고 있지만, 이것만으로 웹 보안을 보장할 수 없습니다. 안전한 웹 보안을 위해서는 기업의 보안 담당자가 웹 보안에 대하여 충분한 이해하고, 적재적소에 웹 보안을 구축하는 것이 필수적입니다.

따라서 안전한 웹 보안을 위해서는 먼저 서버 시스템에 대해 확실히 이해를 하는 것이 선행되어야만 합니다.

웹 서버에 대한 이해

understand_web_01

[그림1] 클라이언트-서버 구조

우리는 일반적으로 데스크탑 PC나 노트북, 모바일 기기를 통해 웹을 사용합니다.

이것을 IT용어로 정리하면, 웹에 접속하기 위해 사용하는 기기들은 [ 클라이언트 (Client) ], 웹사이트나 모바일앱 화면과 같은 웹 컨텐츠를 저장하고 있다가 클라이언트가 접속을 하면 그 컨텐츠를 보여주는 시스템을 [ 서버 (Server) ] 라고 합니다. (IT 시스템에서 서버가 전부 웹서버는 아니지만, 여기에서는 웹 보안을 논하는 자리이니 웹서버를 예로 들겠습니다.)

이 때 클라이언트와 웹서버를 연결해주는 연결 망이 바로 [ 웹 (Web) ]입니다.

보안의 관점에서 보자면, 일반적으로 클라이언트 보안은 개개인 시스템의 안전과 관련이 있고, 서버 보안은 기업 시스템의 안전과 관련이 있습니다. 여기에서는 기업 내 웹 보안의 핵심이 되는 서버 보안에 대해 살펴보려 합니다.

서버 보안에 대해 알기 위하여, 먼저 서버 시스템에 대하여 살펴보도록 하겠습니다.
기업 내 서버 시스템은 IT 시스템 구조를 기본적으로 따르고 있기 때문에, IT 시스템 구조를 알면 서버 시스템 구조를 파악할 수 있습니다.

understand_web_02

[그림2] IT 시스템 구조

위 그림에서 볼 수 있듯이, IT 시스템은 크게 네트워크, 시스템, 애플리케이션 이렇게 3개의 계층으로 구성되어 있습니다. 이 3 계층은 서로 상호작용을 통하여 IT 시스템을 구축하고 있습니다.

네트워크 계층은 데이터의 송수신과 관련된 통신을 담당하는 역할을 하고, 시스템 계층은 우리가 흔히 알고 있는 Windows, Linux와 같은 운영 체제(O/S)가 하는 역할처럼 여러 애플리케이션이 동작할 수 있는 플랫폼 역할을 합니다. 애플리케이션은 이 시스템 계층 위에서 동작하는 프로토콜(컴퓨터 간에 정보를 주고받을 때의 통신 방법에 대한 규칙과 약속) 및 응용 서비스를 제공하는 역할을 하고 있습니다.

결국 안전한 서버 보안이란 이 IT 시스템의 세가지 계층의 보안, 즉 네트워크 보안, 시스템 보안, 애플리케이션 보안이 모두 안전하게 구축된 것을 의미합니다.

understand_web_03

[그림3] IT 시스템 구조 각 계층별 웹 보안

이해를 좀더 돕기 웹보안과 관련된 IT 시스템의 각 계층별 보안이 실제로 어떻게 구축 되는지 살펴보도록 하겠습니다.

네트워크 보안을 위해서는 안전하지 않은 IP나 Port에 대한 접근 제어가 필요하고, 허용한 IP나 PORT로 들어온 트래픽(특정 전송로 상에서 일정 시간 내에 흐르는 Data의 양)에 대해서도 유해성 여부를 체크할 필요가 있습니다. 네트워크 보안을 위해 대부분의 기업은 방화벽 (Firewall) 과 침입 탐지/방지 시스템 (IDS/IPS) 를 구축합니다.

시스템 보안은 대부분 O/S 와 연관된 항목이 많습니다. Windows, Linux, Unix 등의 O/S에 대한 개발 및 제공을 담당하는 제조업체들은 자사의 시스템에 대한 주기적인 보안 업데이트 및 패치를 통하여 알려진 웹 위협에 대하여 대비하고 있습니다. 기업의 보안 담당자는 보안 업데이트 및 패치 뿐만 아니라, 주기적으로 시스템 악성코드 점검을 통하여 시스템을 항상 안전한 상태로 유지해야 합니다. 시스템 보안을 위해 기업들은 주로 안티 바이러스 솔루션을 구축합니다.

이렇듯, 대부분의 기업이 네트워크나 시스템 보안에 대해서는 이해를 하고 있고 이에 따른 보안을 구축하려고 노력합니다. 하지만 애플리케이션 보안의 상황은 그렇지 않습니다. 애플리케이션 계층은 네트워크 계층이나 시스템 계층에 비해 고도화 되어 있고, 애플리케이션의 종류도 다양하기 때문에, 대부분의 보안 관리자들이 보안을 적용함에 있어 많은 어려움을 겪습니다.

하지만 아이러니하게도, 웹 보안에 있어 그 중요도가 가장 높은 것은 애플리케이션 보안입니다.

우리가 일반적으로 이용하는 웹사이트, 모바일앱 등은 모두 애플리케이션으로 구성이 되어 있고, 이를 타겟으로 공격하는 웹 공격 또한 애플리케이션의 취약성을 이용한 애플리케이션 공격이 대부분입니다. 현재 이루어지고 있는 웹공격의 90% 이상은 모두 웹 애플리케이션을 노린 공격이라고 해도 과언이 아닙니다.

결국 안전한 웹 보안의 구축을 위해서는 안전한 웹 애플리케이션 보안 구축이 필수적입니다.