4 th EDITION NETWORK SECURITY ESSENTIALS 네트워크보안에센셜
제 11 장침입차단시스템 11.1 침입차단시스템의필요성 11.2 침입차단시스템특성 11.3 침입차단시스템유형 11.4 침입차단시스템배치 11.5 침입차단시스템위치와구성
11.1 침입차단시스템의필요성 정보시스템개발사항 직접연결된여러터미널을지원하는중앙메인프레임을가진중앙집중식데이터처리시스템 PC 와터미널을서로연결하고메인프레임과도연결되는 LAN 여러개의 LAN, 연결된 PC, 서버, 한두개의메인프레임으로구성되는댁내네트워크 (premises network) 지리적으로분산된다수의댁내네트워크가사설광역네트워크 (WAN) 에의해연결된기업네트워크 (enterprise-wide network) 다양한댁내네트워크가모두인터넷에연결되고사설 WAN 에의해연결되거나연결되지않은모든인터넷연결성 (Internet connectivity) 3
11.2 침입차단시스템특성 침입차단시스템 (firewall) 의설계목표 1. 안에서밖으로나가는모든트래픽과밖에서안으로들어오는트래픽모두는반드시침입차단시스템을통과 2. 지역보안정책에의해정의된트래픽같은허가된트래픽만통과 3. 침입차단시스템자체는침투에면역성을가지고있어야한다 4
접근제어와사이트보안정책수행 4가지일반적인기술 서비스제어 (Service control): 목적지제어 (Direction control): 사용자제어 (User control): 행동제어 (Behavior control): 5
침입차단시스템역할범위 1. 단하나의길목을두어취약한서비스가네트워크에서나가고들어오는것을금지하고, 다양한종류의 IP 스푸핑과라우팅공격으로부터보호 2. 보안관련사건의위치추적과감사와경고를구현 3. 보호범위밖의서비스 안전하지않은무선 LAN 내부침입차단시스템으로통제되지않는로컬시스템사이의무선통신 4. 휴대장치사용 랩톱, PDA 또는휴대용저장장치는외부감염가능 내부에서사용시문제점발생 6
11.3 침입차단시스템유형 침입차단시스템유형 패킷-필터링침입차단시스템 스테이트풀패킷검사침입차단시스템 응용-레벨게이트웨이 회선-레벨게이트웨이 7
패킷 - 필터링침입차단시스템 들어오는 IP 패킷에규칙모음을적용하고전달할것은전달하고폐기할것은폐기 침입차단시스템은양쪽방향에서들어오는패킷모두를필터링 필터링규칙은네트워크패킷에포함된정보에기초 8
네트워크패킷에포함된정보 발신지 IP 주소 (Source IP address):) 목적지 IP 주소 (Destination IP address): 발신지와목적지전송계층주소 (Source and destination transport-level address): IP 프로토콜필드 (IP protocol field): 인터페이스 (Interface): 9
패킷필터 규칙의모음 (set) 으로서 IP 나 TCP 헤더안의필드와이모음이일치하는가를검사 모음안의규칙중어느하나와일치 해당패킷을전달할것인지버릴것인지를결정 어떤규칙과도일치되는것이없으면 디폴트동작 (default action) 을수행 2 가지디폴트동작 디폴트 (Default) = 제거 (discard): 명백하게허용되는것만빼고다른것은금지 디폴트 (Default) = 전달 (forward): 명백하게금지되는것만빼고다른것은허용 10
침입차단시스템유형 ( 일반모델 ) 11
침입차단시스템유형 ( 패킷필터링모델 ) 12
침입차단시스템유형 ( 스테이트풀패킷검사모델 ) 13
침입차단시스템유형 ( 응용프록시모델 ) 14
침입차단시스템유형 ( 회로 - 레벨프록시모델 ) 15
패킷필터링단계 A. 들어오는메일은허용 ( 포트 25 번은 SMTP 수신에이용 ) 하지만오직게이트웨이호스트 (OUR-GW) 로가는것만허용 특정외부호스트스피것 (SPIGOT) 으로부터오는메일은차단 왜냐하면그호스트는과거에전자메일을통해서대량파일을보낸적이있기때문 B. 이것은디폴트정책의본질을나타내는선언 모든규칙모음에는이규칙이마지막규칙으로서암묵적으로포함 16
패킷필터링단계 C. 모든내부호스트가밖으로메일을보낼수있다는것을나타낼목적으로사용 목적지포트번호가 25 인 TCP 패킷은목적지기계의 SMTP 서버로라우트 이규칙의문제점은목적지기계가 SMTP 수신을할수있는유일한방법이오직포트 25 만사용해야한다는것이디폴트라는것 밖에있는기계는포트 25 에다른응용프로그램을연결해서사용할수도있음 이규칙에명시된대로공격자는 TCP 소스포트번호를 25 로가지고있는패킷을보내어내부기계에대한접근허가를받을수있음 17
패킷필터링단계 D. 이규칙모음은 C 에서드러난문제점을해결 이규칙은 TCP 연결의기능을이용 일단연결이설정되면 TCP 단편의 ACK 플래그를상대방이보낸확인응답단편 (acknowledge segments) 로설정 이규칙모음이선언하는것은발신지 IP 주소가지정된내부호스트주소중의하나이고목적지 TCP 포트번호가 25 인 IP 패킷의통과를허용한다는것 들어오는패킷의발신지포트번호가 25 이고 TCP 단편안에 ACK 플래그를갖고있으면그패킷을허용 이규칙을정확히정의하기위해서발신지와목적지시스템을정확하게지정한다는점에유의 18
패킷필터링단계 이규칙모음은 FTP 연결을처리하는한가지방법 FTP 에서는두개의 TCP 연결이필요 파일전송을설립하기위한제어연결 실제로파일전송을위한데이터연결 대부분의서버는번호가낮은포트를이용하므로쉽게공격목표물이된다 대개외부호출은주로 1023 번이상의높은번호포트를사용하므로이규칙모음은다음과같은패킷을허용 내부에서나온패킷 내부기계에의해개시된연결에대한응답패킷 내부기계의포트번호가높은포트로가는패킷 이구조에서는시스템구성시오직적합한포트번호만사용 19
패킷 - 필터링예 20
패킷 - 필터링예 21
패킷필터침입차단시스템의약점 1. 패킷필터침입차단시스템은상위계층데이터를검사하지않기때문에특정응용프로그램마다가지고있는취약점이나기능을이용하는공격을막을수가없다. 2. 침입차단시스템이알수있는정보가제한적이기때문에패킷필터침입차단시스템의기록 (logging) 기능은제한적 22
패킷필터침입차단시스템의약점 3. 대부분의패킷필터침입차단시스템은고급사용자인증구조를지원않음 4. 패킷필터침입차단시스템은일반적으로네트워크계층주소스푸핑 (network layer ad-dress spoofing) 같은 TCP/IP 명세와프로토콜스택안의문제점을이용하는공격이나그것을악용하는데대해취약 23
패킷필터침입차단시스템의약점 5. 접근제어결정에사용하는변수의개수가적기때문에패킷필터침입차단시스템은구성을잘못하게되면보안에허점이생길수있음 24
패킷 - 필터링라우터에대한공격과 적합한대응방법 IP 주소스푸핑 (IP address spoofing): 공격 침입자는밖에서발신지 IP 주소필드에내부호스트의주소를가지는패킷을전송 공격자가노리는것은이가짜주소를사용하여특정신뢰내부호스트로부터오는패킷을허용하는초보적인근원지주소보안규칙을적용하는시스템에침투하는것 방어 패킷이외부인터페이스에도착했을때내부발신자주소를갖고있으면그패킷을제거 25
패킷 - 필터링라우터에대한공격과 적합한대응방법 발신지경로배정공격 (source routing attacks): 공격 발신지국은패킷의발신지경로배정정보를분석당하지않도록보안기능이있는곳을피해가기위해패킷에인터넷을통과할때따라가야할경로 ( 라우트 ) 를지정 방어 이옵션을이용하는패킷을모두삭제 26
패킷 - 필터링라우터에대한공격과 적합한대응방법 소형단편공격 (Tiny fragment attacks): 공격 침입자는 IP 단편옵션을이용해서아주작은단편을만들고 TCP 헤더정보를별개의따로떨어진패킷단편으로만든다. 이공격은 TCP 헤더정보에의존하는필터링규칙을교묘하게피하도록설계 공격자는필터링라우터가첫번째단편만검사하고나머지는그냥통과시키기를바란다 방어 프로토콜유형이 TCP 이고 IP 단편오프셋 (IP Fragment Offset)2) 의값이 1 인모든패킷을제거 27
스테이트풀패킷검사 침입차단시스템 패킷필터링침입차단시스템에서와마찬가지로동일한패킷정보를검토하지만 TCP 연결에관한정보를기록 스테이트풀침입차단시스템은또한 TCP 순서번호를추적해서순서번호를이용한세션하이재킹같은공격을차단 어떤스테이트풀침입차단시스템은제한적으로응용데이터를조사해서 FTP, IM 또는 SIPS 명령어같은잘알려진프로토콜을찾기도한다. 이를찾는이유는연관된연결을식별하거나추적하기위한것 28
스테이트풀침입차단시스템 연결상태표예 29
응용 - 레벨게이트웨이 응용 - 레벨게이트웨이 (Application-Level Gateway) 는프록시서버라고한다 응용 - 레벨트래픽의중개자역할을한다 패킷필터보다더안전 허용되지만 TCP 와 IP 레벨에서금지할다양한모든조합을검사하려고노력하는것보다는, 응용 - 레벨게이트웨이는몇개되지않는응용만자세히검사하면된다. 거기에다더해서응용레벨에서들어오는트래픽을기록하고감사하는것은별로어려운일이아니다. 30
회선 - 레벨게이트웨이 종단 - 대 - 종단 TCP 연결을허용하지않는다. 오히려이게이트웨이는두개의 TCP 연결을설정한다 자신과내부호스트의사용자사이의연결 자신과외부호스트의 TCP 사용자간연결 일단두연결이설정되면게이트웨이는일반적으로내용에대한검사를하지않고한연결에서다른연결로 TCP 단편을중개해서전달 31
SOCKS 회선 - 레벨게이트웨이구현의한예 SOCKS 패키지 SOCKS 구성요소 SOCKS 서버 UNIX- 기반침입차단시스템에서구동 SOCKS 클라이언트라이브러리 침입차단시스템에의해보호되는내부호스트에서구동 FTP 와 TELNET 같은여러표준클라이언트프로그램의 SOCKS-ified 버전. SOCKS 프로토콜의구현은 SOCKS 자료집에있는적절한캡슐화루틴을사용하기위해보통 TCP- 기반클라이언트응용을재컴파일하거나재링크하는것 32
11.4 침입차단시스템배치 UNIX 나 Linux 같은일반적인운영체계시스템을쓰는독립된머신에침입차단시스템을배치 침입차단시스템기능은라우터나 LAN 스위치안에서소프트웨어모듈형태로구현 33
배스천호스트 배스천호스트 (bastion host) 는침입차단시스템관리자에의해네트워크보안에서아주중요한핵심 ( 보안측면에서 ) 으로인식되는시스템 보통배스천호스트는응용 - 레벨혹은회선 - 레벨게이트웨이를위한플랫폼으로이용 34
배스천호스트의일반적특징 배스천호스트하드웨어플랫폼은신뢰시스템이되기위해운영체제로안전한운영체제버전을사용 네트워크관리자가필수라고생각하는서비스만배스천호스트에설치 TELNET 같은프록시응용, DNS, FTP, SMTP, 사용자인증 배스천호스트는프록시서비스에사용자접근허용을하기전에추가적인인증을요구 추가로각프록시서비스는사용자에게접근을허가하기전에자체인증을요구 35
배스천호스트의일반적특징 각프록시모듈은네트워크보안용으로설계된아주작은소프트웨어패킷 모듈이상대적으로단순하기때문에보안결함을찾기위해이런모듈을검사하는것이용이 배스천호스트의각프록시는다른프록시와독립적 어떤프록시의운영에문제가있다거나미래에취약점이발견된다고하더라도다른프록시응용의운영에영향을주지않고해당프록시만제거가능 사용자계층에서새로운서비스에대한지원을요청하게되면네트워크관리자는배스천호스트에그요구된프록시를쉽게설치 36
배스천호스트의일반적특징 프록시는일반적으로디스크의초기구성파일을읽는것이외에는디스크에접근하지않는다 침입자가트로이목마침입자 (sniffer) 나다른위험한파일을배스천호스트에설치하는것이어렵다. 각프록시는배스천호스트의개인적이고안전한디렉터리안에서는특권이없는사용자로서실행 37
호스트 - 기반침입차단시스템 개별적인호스트를안전하게하기위한소프트웨어모듈 이런모듈은많은운영체제에서사용할수있고추가적패키지로제공 전통적독립침입차단시스템처럼, 호스트 - 기반침입차단시스템은패킷을필터링하고패킷흐름을제어 이런침입차단시스템설치장소는서버 38
호스트기반의장점 필터링규칙을호스트환경에따라맞춤형으로제작가능 토폴로지에상관없이보호가능 독립적침입차단시스템과병합해서사용하면호스트 - 기반침입차단시스템은추가적인보안계층제공가능 39
개인침입차단시스템 한쪽이개인컴퓨터나워크스테이션이고다른한쪽이인터넷이거나엔터프라이즈네트워크일경우이들사이의트래픽을통제 개인침입차단시스템기능을가정용환경이나회사인트라넷환경에활용가능 전형적으로개인침입차단시스템은개인용컴퓨터상의소프트웨어모듈 가정용환경에서는침입차단시스템기능을라우터에내장 40
개인침입차단시스템예 Mac OS X 운영체제에내장된기능 사용자가 Mac OS X 안의개인침입차단시스템을활성화시키면, 사용자가구체적으로허가한패킷만제외하고모든내부로향하는연결을거부 41
서비스목록과포트번호 Personal file sharing(548, 427) Windows sharing(139) Personal Web sharing(80, 427) Remote login - SSH(22) FTP access(20-21, 1024-64535 from 20-21) Remote Apple events(3031) Printer sharing(631, 515) IChat Rendezvous(5297, 5298) ITunes Music Sharing(3869) CVS(2401) Gnutella/Limewire(6346) ICQ(4000) IRC(194) MSN Messenger(6891-6900) Network Time(123) Retrospect(497) SMB(without netbios-445) Timbuktu(407) VNC(5900-5902) WebSTAR Admin(1080, 1443 42
개인침입차단시스템 인터페이스예 43
11.5 침입차단시스템위치와구성 침입차단시스템은보통신뢰받지못하는트래픽출처인외부네트워크와내부네트워크사이에위치해서보호된방어막을제공한다 이러한일반적원칙을가지고, 보안관리자는필요한침입차단시스템의개수와설치할장소를결정해야만한다 44
침입차단시스템 구성의예 45
DMZ 네트워크 내부침입차단시스템과외부침입차단시스템사이에는 DMZ(demilitarized zone) 네트워크라고하는영역안에한개이상의네트워크된장치가존재 외부에서접속할수있어야하며보호되어야할시스템은주로 DMZ 네트워크에배치 보통 DMZ 안에있는시스템은회사의웹사이트, 이메일서버또는 DNS 서버와같이반드시외부로연결할수있어야함 46
내부침입차단시스템의 3 가지목적 1. 내부침입차단시스템은외부침입차단시스템보다더엄격한필터링능력보유 2. 내부침입차단시스템은 DMZ 관점에서보면양방향보호 3. 다수의내부침입차단시스템을사용해서내부네트워크의일부를서버로부터보호 47
가상사설네트워크 가상사설네트워크 (VPN: virtual private network) 는상대적으로안전하지않은네트워크를이용해서상호연결되고보안을제공하기위한암호와특별한프로토콜을사용하는컴퓨터로구성 48
VPN 안전하지않은네트워크인인터넷을통한안전한연결을위해하위프로토콜계층에서암호와인증을사용 VPN 은전용선을사용하지만양단에서동일한암호화인증시스템에의존하는사설네트워크보다는일반적으로저렴 암호는침입차단시스템소프트웨어나라우터에의해수행 이목적으로사용되는가장보편적인프로토콜메커니즘은 IP 레벨에서수행되는 IPsec 49
VPN 보안시나리오 50
분산침입차단시스템 분산침입차단시스템 (distributed firewalls) 구성 독립된침입차단시스템장치 중앙관리통제하에함께동작하는호스트 - 기반침입차단시스템 관리자는수백개의서버와워크스테이션상의호스트 - 상주침입차단시스템을구성할수있을뿐만아니라로컬과원격사용자시스템상의개인침입차단시스템을구성할수있다 네트워크관리자는도구를가지고전체네트워크전반에걸쳐정책을세팅하고보안을모니터링할수있다. 독립침입차단시스템은침입차단시스템과외부침입차단시스템을포함한전체를보호 51
침입차단시스템위치와 토폴로지요약 호스트 - 상주침입차단시스템 (Host-resident firewall): 스크리닝라우터 (Screening router): 단일배스천인라인 (Single bastion inline): 단일배스천 T(Single bastion T): 이중배스천인라인 (Double bastion inline): 이중배스천 T(Double bastion T): 분산침입차단시스템구성 (Distributed firewall configuration): 52
분산 침입차단시스템 구성예 53