[네트워크 트러블 슈팅 ②] 호스트 간 트러블 해결법

일반입력 :2008/09/10 10:58

정재광(B.I.N. Solution 기술지원팀 과장)

해킹 또한 네트워크에서 일어나는 일이기에 네트워크를 다루면서 빼놓을 수 없는 분야 중 하나이다. 해킹이나 보안과 관련된 이야기를 할 때 단골 메뉴로 등장하는 사례가 바로 2003년 1월 25일의 인터넷 대란이다. 해킹이나 크래킹이라고 불리는 기법들이 ‘서버’에 집중되었던 기존 공격과는 다르게 DNS서버나 코어 라우터를 직접 공격해서 서비스망을 다운시키는 DDos가 최초로 매스컴을 탄 사건이기에 네트워크 관리자들에게는 더욱 의미가 깊은 사건이다. 그 후로부터 3년… 과연 이런 공격들이 어떤 것인지 어떻게 하면 방어할 수 있는지 등에 대해 알아보자.

필자의 학창시절 인터넷을 하기 위해서는 가장 먼저 윈도우 3.1을 띄워야 했다. 여기에다 일명 ‘트럼펫 윈속’이라는 소켓을 사용하여 TCP/IP를 올린 후 브라우저를 사용하거나 텔넷, FTP로 해외 대학 등의 자료실을 뒤지곤 했었다.

당시만 해도 인터넷을 사용하는 사람이라곤 전산이나 전자 계열을 전공으로 하는 공대생이 주를 이뤘다. 그나마 PC통신이라도 즐길 줄 안다면 신세대로 통하던 시절이었다.

필자가 대학 3년생일 때 학교에 도입된 초고속 인터넷(그래봐야 지금 가정에 들어오는 홈 랜보다도 보잘 것 없는 속도였지만)은 필자를 눈부신 인터넷 세상으로 이끌었다. 당시로서는 상상하기조차 어렵던 2Mbps의 통신 속도는 엄청난 변화였다. 불과 8년 전의 일인데 이제는 무선 인터넷도 100Mbps의 속도를 돌파한 지 오래다.

<그림 1>을 자세히 보면 서로 통신하는 과정에서 Seq 값이 증가되는 것을 확인할 수 있다. <화면 1>은 필자의 집에서 사용하는 D사 인터넷 게이트웨이로 텔넷을 시도하여 얻은 결과 화면이다.

96년 첫 직장에 입사한 필자가 담당한 업무는 시스템 관리였다. 당시만 해도 ‘네트워크 관리자’라는 직업은 없던 시절이었다. 네트워크라고 해봐야 전기 팀에서 케이블이나 깔아주는 정도가 고작이었다. 전기 팀에서 네트워크 연결을 해 주면 전산실은 시스템 관리와 프로그램 개발 등을 주 업무로 담당했다.

신입인 나에게 떨어진 업무는 인터넷 관련 장비 관리. 각종 더미 허브들과 라우터, 그리고 방화벽 등의 장비를 관리하는 일이었다. 거대한 망이나 중요 시설에만 사용되던 이 방화벽은 불과 2~3년 사이에 인터넷에 있어서 방화벽은 떼려야 뗄 수 없는 장비로 인식되었다. 방화벽이 일반화 되면서 피해를 본 쪽은 IPS 같은 보안장비들이었다.

방화벽이 있으니 IPS 같은 장비는 사치라는 인식이 일반화 되었던 것이다. 그렇다보니 네트워크는 방화벽에서 바로 라우터로 연결되는 구조를 갖추게 되었다. 이 위험천만한 구조를 무너뜨리고 우리나라의 보안의식에 일침을 놓은 사건이 바로 1.25 대란이었다.

소 잃고 외양간 고친다고 했던가. 뭐 어쨌든 소를 더 잃기 전에 고치기라도 한다면 다행한 일일 것이다. 일단 사고가 터지고 그 피해의 심각성을 직접 겪은 기업들은 앞다퉈 고성능 코어 라우터에 방화벽을 이, 삼중으로 깔고 IDS/IPS 설치하게 되었다. 심지어는 그것으로도 부족하여 Qos 장비를 두어 대역폭 관리까지 하는 곳도 적지 않았다.

필자는 주로 대학 캠퍼스 망을 많이 관리한다. 대학의 코어 스위치나 라우터의 구성(Configuration)을 보고 있노라면 머리 아플 때가 한두 번이 아니다. 실제 구성은 몇 줄 안 되지만 대신 엄청난 양의 ACL은 어느 대학 코어 장비에서나 쉽게 발견할 수 있다.

TCP/IP는 태생부터 보안상 취약점을 가지고 있다. 각 벤더가 독자적으로 사용하던 프로토콜과는 달리 오픈되어 있는 개방형이라는 특징 탓에 누구나 볼 수 있고 데이터를 보낼 수도 있도록 개발되었기 때문이다. Dos나 Syn 어택 등은 이러한 점을 악용한 공격 패턴들이다. 여기에서 알아볼 핸드셰이크는 말 그대로 통신하기 전에 ‘서로 통성명’ 하는 방법이다. 다음 시나리오를 보자.

사원1 : “오랜만이다.” 손을 내민다. (Syn)

사원2 : 상대가 손을 내밀었으니 나도 내밀어야겠죠? (Ack)

“너도 잘 있었지?” (Syn)

사원1 : 응 (Ack)

이렇게 인사가 끝나야 서로 본격적인 이야기(Data)가 오가게 된다. 앞의 시나리오를 조금 더 전문적으로 풀어서 그리면 <그림 1>과 같이 된다. <그림 1>과 같이 3단계에 의해 핸드셰이크가 발생하는 경우를 3웨이 핸드셰이크라고 부른다.

<그림 1>을 자세히 보면 서로 통신하는 과정에서 Seq 값이 증가되는 것을 확인할 수 있다. <화면 1>은 필자의 집에서 사용하는 D사 인터넷 게이트웨이로 텔넷을 시도하여 얻은 결과 화면이다.

<화면 1>에서 59.186.151.163이 필자 집 PC의 IP 주소이고 59.186.151.129가 게이트웨이다. 이더리얼로 캡처한 <화면 1>에서는 앞서 알아본 3웨이 핸드셰이크를 확인할 수 있다. 문제는 이 핸드셰이크 과정의 어떤 점이 공격 대상이 되는가이다.

그렇다면 위의 핸드셰이크의 어떤 점을 공격을 하는 것일까? Syn Attck이란 말 그대로 Syn을 공격하는 패턴을 말한다. 다음 핸드셰이크 시나리오와 함께 3웨이 핸드셰이크의 취약점을 찾아보자.

직원1이 직원2에게 인사를 한다(Syn).

직원2는 직원1에게 답례(Ack)를 하고 본인도 인사를 한다(Syn)

이러면서 직원2는 직원1이 다시 뭔가 말하길 기다릴 것이다. 바로 이 부분에 핸드셰이크의 약점이 있다.

직원2가 기다리고 있는데 직원1이 아무 말도 없이 가만히 있다면 직원2는 계속 기다린다.

이때, 처음 보는 직원3이 직원 2에게 인사를 한다.

직원2가 답례하려는데 직원4가 직원2에게 또 인사를 한다.

직원2에게 대략 100~1000명이 동시에 이런 방법으로 인사한다면 직원2는 어떻게 될지는 충분히 상상이 될 것이다.

이러한 것이 과거 해킹과 다른 네트워크를 다운시키는 Dos공격이나 Syn 공격의 패턴이다.

Dos 공격이 한 명의 공격자가 다른 한명의 대상을 공격하는 기법이라면 DDos는 여러 명의 공격자가 한명의 대상을 공격하는 기법이다. 1:1이 아닌 1:다수가 되다보니 위력이나 피해 규모가 비교할 수 없이 늘어난다.

미국의 아마존이나 야후가 이 DDos에 의해 시스템이 다운되는 피해를 입는 사례가 있었다. 미리 숙주가 된 여러 개의 시스템이 서버나 코어 라우터에게 거대한 양의 TCP나 UDP 패킷, 혹은 ICMP를 보내게 된다. 코어 라우터는 이것이 ‘정상적인 패킷’이기 때문에 이것에 대한 처리를 하려고 애를 쓰게 되고 결국 오버플로우가 되어 시스템이 마비된다.

서버를 공격하면 해당 서버만 피해를 입지만 코어 라우터를 공격하게 되면 망 전체를 다운시키게 되어 피해 규모가 훨씬 커지게 되는 것이다.

정책은 방화벽 장비마다 다를 수 있지만 대체적으로 <표 1>와 <표 2>의 구성을 따른다. 먼저 외부로부터 들어오는 패킷 관리 정책인 인바운드 정책을 살펴보자. 1번 정책의 Source address인 Any란 모든 IP 주소를 말한다.

즉 1번 룰은 모든 외부의 IP 에서 내부의 모든 IP로 ICMP 패킷, 즉 핑(Ping)을 허용(Permit) 한다는 정책이다. 다시 말해 누구라도 이 방화벽의 내부 네트워크에 존재하는 서버나 다른 장비들로 핑을 실행하여 결과를 볼 수 있다는 뜻이다.

두 번째 정책은 C 클래스 대역의 IP 주소(192.168.1.0~255)를 갖는 장비들에 한해서 172.23.10.10번 IP로 접속을 허용하는데 이때 80번 포트를 사용하라는 뜻이다. 80번 포트를 사용하는 것으로 보아 172.23.10.10 IP를 사용하는 장비는 웹 서버인 듯하다.

세 번째 정책은 내부와 외부의 모든 IP 및 포트의 접근을 차단한다. 그럼, 아무것도 통과시키지 않겠다는 뜻인데 이 정책이 앞의 두 정책과 충돌하지는 않을까? 다행히 그렇지는 않다. 방화벽의 정책은 먼저 설정한 내용부터 차례로 적용이 된다. <표 1>의 인바운드 정책을 종합하자면 ‘1번과 2번 정책을 만족하지 않는 모든 패킷을 막아라’ 정도로 해석할 수 있다.

스나이핑은 Syn 어택이나 DDos와는 다른 해킹 방법이지만 이 또한 TCP/IP의 약점을 이용하는 공격법이기에 간단히 알아보고 넘어가려한다. 앞에서 이야기한 대로 TCP/IP 패킷은 ‘누구나’ 볼 수 있다.

다시 말하면 통신되는 경로에서나 경우지 장비(게이트웨이)등에서 본인이 통신하는 패킷을 누군가 캡처해서 확인하거나 가로챌 수 있다는 뜻이다. 심지어는 Soure IP /Mac/Port, Destination IP/Mac/Port 데이터까지 다 보인다. 인터넷 뱅킹이나 증권 거래 등의 작업을 하고 있는 중에 결제 정보 등이 유출될 수도 있는 것이다.

<표 2>에 있는 아웃바운드 정책도 같은 방법으로 읽을 수 있다. 192.168.1.8의 1024 포트와, 192.168.8.24의 80 포트만을 막고 나머진 열어 놓도록 설정되어 있는 것이다. 차단된 두 IP주소는 성인 사이트나 메신저 서버 등일 것이다.

여기서 설명하고자 하는 것은 방화벽의 정책은 그 순서가 매우 중요하다는 것이다. 정책을 정할 때에는 이미 설정된 정책에 위배되지 않도록 반드시 검토한 뒤에 적용해야 하는 탓이다. 정책이 중복되면 방화벽은 제 기능을 하지 못하거나 엉뚱한 패킷을 막아 오히려 트러블의 원인이 될 수 도 있으니 주의하자.

지금까지 알아본 몇몇 해킹은 흔히 이야기하는 ACL(Access Control List)이라는 방법으로 방어할 수 있다. ACL은 TCP 헤더의 정보를 가지고 포트를 관리하던 방법으로 예전 방화벽이 사용하던 방법이다. 물론 요즘 네트워크 장비들의 성능과 기능이 많이 향상되어 단순한 포트 컨트롤 기능을 뛰어넘어 다양한 필터링 기능도 지원하고 있다.

<화면 2>는 국내 H사의 IPS에서 공격 상황을 캡처한 화면이다. 한 개의 IP가 전체 네트워크에 대해 무작위로 1433번 포트를 공격하고 있음을 알 수 있다.

<리스트 1>을 보면 1433번 포트 자체를 차단하는 ACL을 확인할 수 있다. 이러한 방법은 고전적인 방법으로서 포트 자체를 막기 때문에 효과가 좋은 편이지만 약점도 가지고 있다. 그 약점에 대해서는 조금 뒤에 알아볼 것이다.

<리스트 2>는 대역폭의 1퍼센트로 Sync을 제한한 사례이다. 즉, 프로토콜별로 탐지하여 특정 패킷들을 제한 할 수 있을 정도로 스위치의 ACL이 상당히 진화했음을 알 수 있다. Netflow가 표준화 되면서 이제 스위치 장비에서도 패킷을 분석하고 차단할 수 있게 되었고 여러 벤더에서 보안솔루션을 앞 다퉈 내놓고 있는 상황이다.

물론 그 성능 또한 믿음직스럽고 훌륭하다는 벤치마킹 자료들이 대부분이다. 하지만 필자는 약간 보수적인 성향이라 스위치는 스위치, 보안장비는 보안장비라는 생각을 아직 떨쳐버리기 어렵다.

앞의 <리스트 1>에서 언급한 포트를 막는 방법에서 우리가 일반적으로 사용하는 80포트나 23번 포트로 공격이 들어온다면 ACL으로 제한하는 것이 어려워진다.

다른 예로 최근 Dos들을 보면 자신의 IP를 계속 변조하여 공격하는 경우가 많다. 이때 MAC 주소로 찾아야 하는데 백본 스위치가 한 개 일 경우는 상관이 없지만, 라우팅 구조에서는 그 MAC를 찾기가 어렵다는 것이다.

라우팅을 하게 되면 패킷은 소스의 MAC이 PC MAC이 아닌 라우터의 MAC으로 변환되기 때문이다. 즉, 단순 포트나 IP, MAC만 가지고서 필터링하는 것에는 한계가 생길 수밖에 없다.

그러한 점에서 본다면 <리스트 2>의 필터링 방법은 상당히 지능적인 ACL이다. 물론 Syn뿐 아니라 핑이나 트래픽 양으로도 제한이 가능하다. 문제는 그 양을 정하는 것이 정말 애매하다는 것이다. 패킷의 정상 유무를 떠나 ‘이 정도면 공격이라고 본다’라는 경험이 뒷받침 되어야 비로소 제대로 된 필터링이 가능한 것이다.

IPS(Intrusion Prevention System)

방화벽이나 초창기 IPS/IDS들은 스위치들의 방어와 같이 패킷의 헤더를 보고 방어하거나 특정한 패턴을 찾아 차단하는 방법을 사용해 왔다. 하지만 이와 같은 방법으로는 하루가 멀다고 새롭게 등장하는 공격방법들에 대처하기 어려웠다.

초창기 방화벽 시장을 거의 석권한 체크포인트가 사용하던 딥 인스펙션(Deep Inspection)이 점차 다른 벤더 제품에도 사용되게 되었다. 딥 인스펙션이란 헤더정보로 필터를 하는 것이 아니라 데이터 몸통을 몽땅 분석하여 필터링 하는 방식이다. 예를 들어 해커가 80포트를 통해 공격을 해 들어올 경우 <리스트 1>과 같은 방법으로는 대처할 수 없다.

80번 포트 전체를 막는 것이 불가능 한 탓이다. <리스트 2>와 같이 트래픽을 감시하는 방법 또한 80 포트 공격을 방어하기에는 역부족이다. 특정 유저 그룹이 WWW의 사용량이 원래 많았을 수도 있고, 서버들이 최근 Web 방식을 많이 사용하기 때문에 정확히 공격 상황인지 정상상황인지 구분하기 힘든 탓이다.

<화면 3>은 H사의 IPS에서 80포트로 공격하는 패킷을 잡아 차단한 화면이다. 화면에 보이는 바와 같이 최근 IPS들은 패킷의 헤더 뿐 아니라 그 내용을 모두 분석한 뒤 그 안에서 보이는 문자열 등으로 패킷의 정상유무를 판단한다. 따라서 보다 정확하고, 다양한 패턴의 공격을 차단할 수 있다.

VPN(Virtual Private Network)

VPN은 앞서 설명한 스나이핑 공격을 보안하기 위한 기술이다. 스나이핑을 막으려면 내가 접속하고자 하는 구간을 공개망인 인터넷을 사용하지 않고 직접 라인을 연결하는 방법을 사용해야한다. 하지만 내가 접속하고자 하는 모든 곳을 일일이 케이블로 연결한 다는 것은 불가능하다.

VPN은 안전을 위해 이런 번거로운 작업을 대신해 주는 장비이다. 공용망인 인터넷 망 사이에서 마치 사설망인 것처럼 서로 터널을 만들고 1:1 통신을 가능하도록 하는 것이다. 흔히 VPN을 설명하기 위해 금고를 예로 든다.

인터넷에서 사용하는 TCP/IP의 개방성 특징 탓에 해커들이 통신 내용을 중간에서 훔쳐보는데 통신하는 패킷들이 전부 금고로 싸져서 교환되고 있다면 해커가볼 수 있는 것은 왔다 갔다 하는 금고뿐일 것이다. 오직 금고 열쇠를 가진 사람만이 그 안의 내용을 열어볼 수 있는 것과 같은 이치다.

이러한 VPN방식은 우리가 은행 사이트 접속 시 이미 많이 사용하고 있다. 계좌 거래 시 필요한 보안카드가 바로 금고 열쇠인 셈이다.

이번에는 인터넷 사용의 가장 앞에 서서 모든 출입을 관리하는 방화벽에 대해 알아보자. 방화벽은 DNS와 같이 실제 네트워크 전송이나 라우팅을 하지는 않지만 네트워크를 구성하는 중요한 요소이다. 인터넷 사용의 가장 앞에서 모든 출입을 관리하는 방화벽에 대하여 알아보자.

본래 방화벽이란 화재가 발생했을 경우 불이 다른 곳으로 번지지 못하도록 막는 벽을 말한다. 반면 네트워크에서의 방화벽은 약간 의미가 다르다. 그저 문제가 발생했을 때 그 문제가 번지는 것만 제어하는 것이 아니다. 내, 외부의 허가 받지 않은 통신이 이루어지는 것을 원천 봉쇄하는 것이 네트워크 방화벽의 소임이다.

사전에 설정된 사용자(IP기준)와 역시 사전 허가된 서비스(텔넷, FTP 등) 만 통과시키고 나머지 패킷들은 모두 차단함으로서 내부 네트워크를 침입자나 허가받지 않은 사용자의 잘못된 컨트롤로부터 보호하는 역할을 한다.

누구로부터 무얼 보호할 것인가

방화벽을 설치했다는 것은 분명 외부 혹은 내부의 특정 파트에 노출시키고 싶지 않은 장비가 있다는 뜻이다. 그것이 사내 기밀문서를 보관하는 서버일 수도 있고 중요한 고객의 개인 정보일 수도 있다. 이런 장비들은 사전에 인가받은 관리자만 접속하여 관리하도록 해야 한다.

특히 커다란 네트워크의 중요한 백본장비에 다른 사람이 들어가 실수로라도 잘못 설정하게 되면 큰 장애가 발생하게 될 것이다.

이처럼 방화벽은 외부의 사용자만을 검색하고 심문하는 것이 아니라 내부 사용자들도 감시한다. 중요한 것은 어떤 장비를 누구로부터 보호할 것인가에 대한 명확한 판단과 계획이 필요하다는 것이다. 그리고 그에 따라 체계적인 정책(Rule) 계획이 필요한 것이다.

먼저 방화벽의 기본 동작 원리를 알아보자. 실제로 일반 서버나 라우터 심지어는 스위치까지도 방화벽 기능을 내장하고 있다. 여기에서 알아볼 방화벽은 방화벽 고유의 기능만 집약시켜 효율을 높인 방화벽 장비이다.

<그림 2>과 같이 방화벽은 사용자 네트워크의 가장 앞 단을 지키는 수문장으로서, 외부로부터 들어오거나 내부에서 외부로 나가는 패킷을 검사한다. 패킷은 데이터가 전송되어야할 출발지 주소, 목적지 주소 그리고 데이터로 구성되어 있다. 사실 더 자세히 설명하자면 이보다 더 많은 정보가 들어있긴 하지만 간추려 설명한 것이다.

그 간추려진 것 중의 하나가 바로 포트 이다. 패킷에는 목적지의 상세한 정보인 포트도 함께 포함이 되는데 이 포트도 방화벽이 제어하는 요소이다. 방화벽이 관장하는 요소는 다음과 같이 세 가지이다.

1) 출발지 IP 주소

2) 목적지 IP 주소

3) 목적지 포트

이 세 가지를 가지고 방화벽은 통과 시킬 것인지 말 것인지를 결정한다. 그리고 이 판단 기준은 관리자의 설정에 따라 달라진다. 사용자가 설정한 규칙들을 정책 이라고 부르는데 이 정책의 내용은 ‘어디서 어디로 가는 어떤 포트를 막는다 혹은 연다’로 설명할 수 있다.

정책은 방화벽 장비마다 다를 수 있지만 대체적으로 <표 1>와 <표 2>의 구성을 따른다. 먼저 외부로부터 들어오는 패킷 관리 정책인 인바운드 정책을 살펴보자. 1번 정책의 Source address인 Any란 모든 IP 주소를 말한다.

즉 1번 룰은 모든 외부의 IP 에서 내부의 모든 IP로 ICMP 패킷, 즉 핑(Ping)을 허용(Permit) 한다는 정책이다. 다시 말해 누구라도 이 방화벽의 내부 네트워크에 존재하는 서버나 다른 장비들로 핑을 실행하여 결과를 볼 수 있다는 뜻이다.

두 번째 정책은 C 클래스 대역의 IP 주소(192.168.1.0~255)를 갖는 장비들에 한해서 172.23.10.10번 IP로 접속을 허용하는데 이때 80번 포트를 사용하라는 뜻이다. 80번 포트를 사용하는 것으로 보아 172.23.10.10 IP를 사용하는 장비는 웹 서버인 듯하다.

세 번째 정책은 내부와 외부의 모든 IP 및 포트의 접근을 차단한다. 그럼, 아무것도 통과시키지 않겠다는 뜻인데 이 정책이 앞의 두 정책과 충돌하지는 않을까? 다행히 그렇지는 않다. 방화벽의 정책은 먼저 설정한 내용부터 차례로 적용이 된다. <표 1>의 인바운드 정책을 종합하자면 ‘1번과 2번 정책을 만족하지 않는 모든 패킷을 막아라’ 정도로 해석할 수 있다.

<표 2>에 있는 아웃바운드 정책도 같은 방법으로 읽을 수 있다. 192.168.1.8의 1024 포트와, 192.168.8.24의 80 포트만을 막고 나머진 열어 놓도록 설정되어 있는 것이다. 차단된 두 IP주소는 성인 사이트나 메신저 서버 등일 것이다.

여기서 설명하고자 하는 것은 방화벽의 정책은 그 순서가 매우 중요하다는 것이다. 정책을 정할 때에는 이미 설정된 정책에 위배되지 않도록 반드시 검토한 뒤에 적용해야 하는 탓이다. 정책이 중복되면 방화벽은 제 기능을 하지 못하거나 엉뚱한 패킷을 막아 오히려 트러블의 원인이 될 수 도 있으니 주의하자.

방화벽은 이처럼 들어오고 나가는 패킷들을 정책에 따라 막거나 혹은 열어줌으로써 내부 네트워크의 중요한 장비나 데이터를 보호하기 위해 사용하는 중요한 장비다. 하지만 이 방화벽만 있다고 해서 보안에 대한 완벽한 방책이 되는 것은 아니다. 아무리 방화벽이 완벽한 룰로 설정되어 있다고 해도 맹점은 있게 마련이다.

앞에서 설명한 것처럼 방화벽은 패킷의 세 가지 요소를 가지고 정책을 구현하게 되는데 만약 허용된 포트로 다른 프로토콜을 운영한다면 어떻게 될까?

즉, 앞의 인바운드 정책과 같이 내부 네트워크의 80포트를 열어 놓았는데 누군가 80포트를 이용해 FTP를 사용한다면? 방화벽은 이 같은 변화에 대응할 수 있는 방법을 갖추고 있지 않다. 정책에는 이미 80포트를 열라고 되어 있는 탓이다.

바로 이런 점이 방화벽의 맹점이다. 또한 방화벽은 패킷이 가진 정보 중 데이터에도 관여하지 않는다. 이를테면 열려진 포트를 통해 들어온 패킷 안에 치명적인 바이러스가 들어 있다 해도 방화벽은 이를 전혀 인지하지 못하는 것이다. 이런 문제를 보완하기 위해 사용하는 것이 바로 IDS(Intrusion Detection System)다.

IDS는 침입감지 시스템이라고도 부르는데 통신되는 패킷들을 열어 IP나 포트뿐 아니라 그 안의 데이터 내용까지 검색하는 역할을 한다. 이것은 주로 방화벽과 함께 운영되는데 IDS는 말 그대로 감지만 할 수 있는 탓에 불법적인 침입이나 문제가 있는 패킷이 발견되면 사용자가 수동으로 해당 패킷이나 침입자를 막아야 한다는 불편함이 있다.

이를 보완하는 새로운 장비로 IPS(Intrusion Prevention System)가 있다. IPS는 침입감지와 함께 차단하는 기능까지 갖추고 있어 방화벽과 IDS를 합해 놓은 것과 같은 기능을 한다고 이해하면 된다. IPS는 바이러스나 불법적인 접근시도가 발견되면 정책에 따라 해당 접근을 차단하는 역할도 담당 한다.

이처럼 편리하고 안전한 IPS도 단점은 있다. 규모가 작은 사무실이라면 문제없겠지만 백본이 기가급 이상이 되는 큰 규모의 네트워크에서는 사용하기 어려운 탓이다.

모든 패킷 속의 데이터까지 열어서 검사하는 IPS의 특성상 천문학 적인 수로 들어오는 패킷을 일일이 검사하고 정책을 적용하려면 장비에 걸리는 부하도 문제지만 네트워크 속도 저하의 요인이 되기도 한다.

방화벽의 기본적인 개념과 운영에 대하여 개략적으로나마 알아보았다. 방화벽이든 IDS든 그 어떤 장비를 이용하더라도 모든 보안위협요소에서 100% 안전할 수는 없다. 해킹과 보안은 창과 방패와 같아서 늘 서로 발전하는 관계에 있다.

막으면 뚫고, 뚫리면 다시 막고… 보안에 관한한 절대로 장비에 의존할 것이 아니라 끊임없이 살피고 관찰하는 경계태세의 유지가 필요하다 하겠다. @

* 이 기사는 ZDNet Korea의 제휴매체인 마이크로소프트웨어에 게재된 내용입니다.