부록 A. 하드웨어와 네트워크 보안

시스템을 생산 환경에 배치하거나 자사의 네트워크를 인터넷에 연결할 수 있는 가장 좋은 방법은 먼저 기업의 요구와 그 요구를 충족시킬 수 있는 보안 방법을 찾는 것입니다. Red Hat Enterprise Linux 보안 가이드는 Red Hat Enterprise Linux 보호에 중점을 두고 설명하고 있으며, 하드웨어 보안 및 네트워크 보안에 대한 내용은 심도있게 다루고 있지 않습니다. 그러나 이 장에서는 하드웨어와 네트워크와 관련된 보안 정책을 수립하는 방법에 대하여 간략히 설명해 보겠습니다. 전반적인 보안 정책을 수립시 컴퓨팅 요건과 연결 요건을 먼저 중요하게 고려하셔야 합니다. 다음에는 이러한 요건에 대하여 보다 자세히 설명해보겠습니다.

시스템 관리자는 이러한 전반적인 사항을 고려하여 네트워크 구현 방법에 대한 이해를 넓힐 수 있습니다. 그 후 기업의 요건과 보안 관련 고려 사항들을 염두하여 이 두가지 요소들이 모두 실현될 수 있는 컴퓨팅 환경을 설계하도록 합니다.

A.1. 보안 네트워크 구성 방식

LAN의 기초는 구성 방식, 즉 네트워크 구조입니다. 네트워크 구성 방식이란 네트워크를 구성하는 자원, 각 노드 간의 거리 및 전송 방식에 대한 LAN의 물리적 배치와 논리적 배치를 말합니다. 기업의 네트워크 요건에 따라서 여러 다른 방식으로 네트워크를 구현 가능합니다. 서로 다른 장단점이 존재하며 네트워크 배치를 설계하면서 특정 네트워크 구조와 관련된 보안 문제점들을 고려해야 합니다.

A.1.1. 물리적 구성 방식

LAN의 물리적 연결 방식은 IEEE (Institute of Electrical and Electronics Engineers)에 의해 3가지 형태로 나누어집니다.

A.1.1.1. 원형(Ring) 구성

원형 (Ring) 구성 방식에서 각 컴퓨터는 다른 두대의 컴퓨터와 연결됩니다. 각 컴퓨터는 단일 선로를 사용하여 원형으로 연결되며, 개별 컴퓨터를 걸쳐 자원을 전달합니다. 토큰 링, FDDI 및 SONET 네트워크가 이러한 방식으로 연결됩니다 (이중 링(dual-ring) 구조를 갖는 FDDI); 그러나 일반적으로 이러한 물리적 구성 방식을 사용하는 이더넷 접속은 없습니다. 따라서 원형 방식은 레가시 시스템이나 대학교와 같이 대규모 기반 컴퓨터가 설치된 공공 기관을 제외하고는 자주 사용되지 않습니다.

A.1.1.2. 선형(Linear Bus) 구성

선형 (linear bus) 구성은 공동 접속 선형 케이블 (backbone이라고 부름)에 모든 컴퓨터를 연결하는 방식입니다. 선형 방식은 최소한의 케이블과 네트워킹 기구만 사용하기 때문에 가장 단순하고 경비가 저렴합니다. 그러나 선형 구성은 백본(backbone)에 문제가 있으면 전체 회선이 마비되는 장점이 있습니다. 선형 구성 방식은 일반적으로 양 끝단에 50-93 오옴 저항기(ohm terminator)가 있는 동축(coax) 케이블을 사용하는 동등 계층(peer-to-peer) LAN에 사용됩니다.

A.1.1.3. 별형(star) 구성

별형 (Star) 구성은 모든 컴퓨터가 중앙 장치에 연결되는 방식입니다. 이 중앙 장치는 허브(hub)라고 부르며, 방송 통신망 (broadcasted) 또는 교환 회선망 (switched)으로 구성됩니다. 이 구조는 허브에 장애가 발생할 경우 네트워크 전체가 마비되는 단점이 있지만, 허브를 중심으로 구성되어 있기 때문에 LAN 전체나 일부에 문제 발생시 그 문제의 원인을 찾기 쉽습니다.

A.1.2. 전송 고려 사항

A.1.1.3 절에서는 방송 통신망과 교환 회선망의 개념에 대하여 설명하였습니다. 여러분 네트워크 환경에서 어떠한 네트워킹 하드웨어가 적합한지 결정하실 때엔 몇가지 사항을 먼저 고려하셔야 합니다. 다음은 두가지 네트워크 방식의 차이점에 대하여 설명하고 있습니다.

방송 통신망(broadcast network) 형식은 컴퓨터가 패킷을 내보내면, 그 패킷은 목표 컴퓨터에 도달할 때까지 다른 모든 컴퓨터를 통하여 전달됩니다. 네트워크 내의 모든 컴퓨터는 목표 컴퓨터가 패킷을 받아 처리할 때까지 이 데이터 패킷을 계속 전송받습니다. 방송 통신망에서는 모든 패킷이 이러한 방식으로 보내집니다.

교환 회선망(switched network)에서는 패킷이 브로드캐스트되지 않고 교환 허브에서 패킷을 받아 단일 전송 방식을 사용하여 목표 컴퓨터에 바로 전달하는 방식입니다. 이 방식은 패킷을 각 컴퓨터에 브로드캐스트할 필요가 없기 때문에 소통량 부하를 현저히 줄일 수가 있습니다.

교환 회선망은 또한 중간에 침입자나 악의를 가진 사용자가 패킷을 가로채는 것을 방지합니다. 방송 통신망에서는 목표 컴퓨터로 패킷이 전송되는 과정에서 각 컴퓨터를 거치기 때문에, 악의를 가진 사용자가 자신의 이더넷 장치를 무차별 (promiscuous) 모드로 지정하여 도착하는 모든 패킷을 필터링하지 않고 받아들일 수 있습니다. 침입자는 이 모드에서 시스템 내부에 부정한 수단으로 침입해서 통신망을 흐르는 패킷을 감시하는 소프트웨어인 sniffer 프로그램을 사용하여 패킷에서 사용자의 암호, 개인 자료 등과 같은 정보를 수집할 수 있습니다. 정교한 스니퍼 프로그램은 이러한 정보를 텍스트 파일로 저장하여 임의 소스 (예, 침입자의 이메일 주소)로 정보를 보낼 수도 있습니다.

교환 회선망은 LAN 상의 모든 컴퓨터가 연결된 기존 허브(hub)의 역할을 대신하는 특수 하드웨어인, 네트워크 스위치를 필요로 합니다. 스위치는 모든 컴퓨터의 MAC 주소를 내부 데이버테비스에 저장하고 있으며, 이 데이터베이스를 사용하여 직접 라우팅(direct routing)을 수행합니다. Cisco Systems, D-Link, SMC, Netgear와 같은 제조업체에서는 10/100-Base-T 호환성과 기가비트 이더넷 지원, IPv6 네트워킹과 같은 여러가지 기능을 갖춘 다양한 유형의 스위치를 제공합니다.

A.1.3. 무선 네트워크

최근 기업체에서는 휴대용 컴퓨팅의 중요성이 나날이 부각되고 있습니다. 특히 재택 근무자와 출장 전문 기술자 및 회사 중역급은 랩탑 컴퓨터와 PDA (Personal Digital Assistants) 및 무선 장치를 이용하여 기업 네트워크에 접속할 일이 잦습니다. IEEE에서는 무선 네트워크에 대한 802.11 무선 표준화 제정 작업을 진행하는 단체를 설립하였습니다. 현재 무선 네트워킹에 승인된 IEEE 표준은 802.11g이며, 802.11a와 802.11b은 이전 표준입니다. 802.11g 표준은 이전 802.11b 버전과 호환 가능하지만, 802.11a와는 호환되지 않습니다.

802.11b 및 802.11g 규격은 비허가 2.4GHz 주파수 (RF) 대역에 대한 무선 통신과 엑세스 통제를 관리하는 무선 표준입니다 (802.11a는 55GHz 대역을 사용합니다). 이 규격은 IEEE에 의해 표준으로 승인되었으며, 여러 업체에서는 802.11x 제품과 서비스를 판매하고 있습니다. 소비자들은 또한 재택 근무 (SOHO) 네트워크에 이 표준을 사용하고 있습니다. 이 표준의 인기는 LAN 뿐만 아니라 MAN (도시 지역 통신망: Metropolitan Area Network)으로 확산되었습니다. 특히 인구가 밀집되어 무선 액세스 포인트 (WAPs) 사용이 집중된 지역에서 많이 사용되고 있습니다. 또한 잦은 여행으로 인해 원격적으로 사업을 운영해야하는 소비자에게 광대역 인터넷 서비스를 제공해주는 WISP (무선 인터넷 서비스 제공업체)도 있습니다.

802.11x 규격은 무선 NIC을 장착한 컴퓨터끼리 바로 동등 계층(peer-to-peer) 연결이 가능합니다. 이러한 ad hoc 네트워크는 두 개나 그 이상의 컴퓨터를 공유하는 짧은 접속에 이상적이지만, 동시에 여러 요청에 응답하면서 성능을 유지할 수 있는 능력 (범위성)에 문제가 있기 때문에 전용 무선 연결에는 적합하지 않습니다.

고정된 구조에서 무선 연결하는 가장 좋은 방법은 한 개 이상의 WAP을 설치하여 기존 네트워크에 연결하고 무선 컴퓨터들이 WAP이 이더넷 네트워크 상에 존재하는 것처럼 연결하는 것입니다. WAP은 연결된 컴퓨터와 네트워크 사이에서 효율적인 중개 역할을 담당할 것입니다.

A.1.3.1. 802.11x 보안

비록 무선 네트워크가 기존 유선 네트워크 매체에 비해 속도면에서 동등하며 확실히 편리하긴 하지만, 몇가지 고려해야할 한계점들이 있습니다. 이러한 한계점 중 가장 중요한 것은 적절한 보안 정책 구현입니다.

802.11x 네트워크를 성공적으로 배치하는데 너무 심혈을 기울인 나머지, 많은 관리자들은 가장 기본적인 보안 사전 대책을 간과하였습니다. 모든 802.11x 네트워킹은 광대역 RF 신호를 사용하여 운영되므로, 호환 NIC이나 NetStumbler 또는 Wellenreiter와 같은 무선 네트워크 스캐닝 도구 및 dsniffsnort와 같은 해킹(sniffing) 도구를 가진 사용자들은 쉽게 전송 데이터를 가로챌 수 있습니다. 이러한 불법적인 사설 무선 네트워크의 사용을 방지하기 위하여, 802.11b 표준은 WEP (Wired Equivalency Privacy) 프로토콜을 사용합니다. 이 포로토콜은 RC4-기반 64 비트 또는 128 비트 암호키로서 시스템이나 WAP과 시스템 간에 공유됩니다. 이 키는 동적으로 투명하게 전송 데이터를 암호화하고 들어오는 패킷을 암호 해독합니다. 시스템 관리자가 가끔씩 이 공유 키 암호화 기법을 사용하지 않는 경우가 있습니다; 사용하는 것을 잊어버린 경우도 있고 또는 성능이 저하되기 때문에 (특히 오랜 작업시) 일부러 사용하지 않는 경우도 있습니다. 따라서 무선 네트워크 상에서 WEP 기능을 사용하시면 침입자가 데이터를 가로챌 가능성을 크게 줄일 수 있습니다.

Red Hat Enterprise Linux는 여러 다른 제조업체의 다양한 802.11x 제품을 지원합니다. 네트워크 관리 도구에는 무선 NIC과 WEP 보안을 설정하는 기능이 포함되어 있습니다. 네트워크 관리 도구 사용 방법에 대한 정보는 Red Hat Enterprise Linux 시스템 관리 가이드네트워크 설정 장을 참조하시기 바랍니다.

WEP 만으로 침입자가 데이터를 가로채는 것을 완전히 방지할 수는 없습니다. AirSnortWEP Crack와 같이 특별히 무선 네트워크 보안에 사용되는 RC4 WEP 암호 알고리즘을 해독하도록 만들어진 특수 장치들이 존재하기 때문입니다. 이러한 장치를 사용하여 데이터를 가로채는 것을 방지하기 위해서는, 관리자는 기밀 정보에 무선 네트워크를 통하여 액세스하는 것에 대한 엄격한 보안 규칙을 사용해야 합니다. 시스템 관리자는 WEP 암호 위에 추가 암호층을 사용하는 SSH 또는 VPN 연결만 허용함으로서 무선 접속 보안을 증강시킬 수 있습니다. 이러한 규칙을 사용함으로서, 네트워크 외부에서 WEP 암호를 해독한 침입자는 추가적으로 VPN 또는 SSH 암호까지 해독해야 합니다. VPN과 SSH 암호는 3배나 강도가 높은 168 비트 DES 알고리즘 암호화 (3DES) 기술이나 보다 강한 사유 알고리즘을 사용하기 때문에 해독이 거의 불가능합니다. Telnet이나 FTP와 같은 평문 프로토콜은 암호와 데이터를 암호화하지 않고 평문으로 전송하기 때문에 앞서 설명된 특수 장치들을 사용하면 쉽게 노출될 수 있으므로, 무선 접속시에는 사용하지 않는 것이 좋습니다.

무선 네트워킹 장치 제조업체에서 최근 사용하는 보안 및 인증 방식은 Wi-fi Protected Access (WPA) 입니다. 시스템 관리자는 무선 네트워크에 접속하는 클라이언트의 키를 관리하는 인증 서버를 사용하여 네트워크에 WPA를 설정할 수 있습니다. TKIP (Temporal Key Integrity Protocol)은 공유키를 사용하여 클라이언트 시스템에 설치된 무선 네트워크 카드의 MAC 주소와 공유키를 접합시키는 프로토콜으로서, 이 프로토콜을 사용하여 WPA에 WEP 인증을 추가할 수 있습니다. 공유키와 MAC 주소값은 IV (initialization vector)에 의해 처리된 후 각 데이터 패킷을 암호화하는 키를 생성합니다. IV는 패킷이 전송될때마다 키를 변경하여 가장 흔하게 발생하는 무선 네트워크 공격을 방지합니다.

그러나 TKIP를 사용한 WPA는 일시적인 솔루션에 불과합니다. AES와 같이 보다 강력한 암호화 기법을 사용한 솔루션이 현재 개발 중에 있으며 향후 엔터프라이즈 무선 네트워크 보안을 향상시킬 것입니다.

802.11 표준에 대한 보다 상세한 정보를 원하신다면, 다음 URL을 방문하시기 바랍니다:

http://standards.ieee.org/getieee802/802.11.html

A.1.4. 네트워크 분리와 DMZ

HTTP, 이메일, FTP와 DNS처럼 외부 액세스가 가능한 서비스들을 운영하실 경우, 이러한 공공 서비스를 물리적으로 그리고 논리적으로 내부 네트워크에서 분리하시기 바랍니다. 방화벽을 사용하고, 호스트 및 응용 프로그램을 강화시켜 침입자들을 효율적으로 막을 수 있습니다. 그러나 끈질긴 해커들의 경우, 암호 해독에 성공한 서비스가 네트워크에 연결되어 있다면, 내부 네트워크로 침입할 수 있는 방법을 찾아낼 수 있습니다. 따라서 외부에서 접속 가능한 서비스는 보안 업체에서 demilitarized zone (비무장 지대 - DMZ)로 간주하는 내부 네트워크에서 분리된 논리적 네트워크에 위치해야 합니다. 인터넷에서 들어오는 요청은 외부에서 접속 가능한 서비스만 사용 가능하며 내부 네트워크로는 접근 금지됩니다. 침입자가 DMZ에 위치한 컴퓨터에 침입한다고 하여도, 나머지 내부 네트워크는 방화벽으로 분리된 별개의 네트워크 상에 위치하므로 침입할 수 없습니다.

대부분의 기업체에서는 외부 서비스를 호스트할 수 있는 공개 라우팅 IP 주소 숫자가 제한되어 있습니다. 따라서 시스템 관리자는 방화벽 규칙을 사용하여 패킷 전송을 수락, 전송, 거부 (accept, forward, reject, deny)할 수 있습니다. iptables이나 복잡한 라우팅과 포워딩 규칙을 지원하는 전용 하드웨어 방화벽을 사용하여 방화벽 규칙을 구현 가능합니다. 관리자는 이 방화벽 규칙을 사용하여 들어오는 트래픽을 분리하여 특정 서비스를 특정 주소와 포트로 보낼 분만 아니라 LAN만 내부 서비스에 액세스할 수 있도록 설정하여 IP spoofing 공격을 방지할 수 있습니다. iptables 구현에 대한 자세한 정보를 원하신다면, 7 장을 참조하시기 바랍니다.