인프라 보안

기업 보안 분야 침입탐지의 실무적 접근

기업에서 사용하는 각종 인프라 보안 솔루션의 원리와 활용법을 익히고 가상환경에 실제 구축 테스트를 해볼 수 있는 지침서!

이 책은 실제 기업환경과 거의 유사한 인프라를 직접 구축해서 실제 보안 아키텍처를 구현할 때 현업에서 필요한 지식들을 설명하고 있으며, 인프라 레벨에서 침입탐지 방법과 로그 분석을 위한 실무적 가이드를 제공한다. 방화벽과 IPS, IDS, VPN, 유해차단시스템 등의 각종 오픈소스(pfSense, Snort, Security Onion, OpenVPN, SquidGuard)를 통해 여러 보안 시스템을 직접 구축, 운영하는 방법을 제공함으로써 보안 솔루션과 보안 정책 사이에서 발생하는 현실적 대응 방안을 제시한다. 또한 시스템 구축 후 운영 단계에서 발생하는 크리티컬한 상황에 대한 해결 방법과, 해킹 탐지를 위해 각 보안시스템의 성능과 활용도를 최대한으로 끌어올리는 여러 가지 실무 노하우를 담고 있다. 이 책은 이러한 모든 해킹/보안/설계 테스트를 해볼 수 있는 랩 환경 구축을 통해 인프라의 전반적인 보안 시스템 설계 방법을 제시하며 실제 기업 인프라 환경에서 바로 활용할 수 있는 가이드를 제시한다.

★ 대상 독자 ★

  • IT보안 엔지니어, 보안 아키텍처 엔지니어, 침해사고대응 분석가, 기업 보안담당자
  • 기업에서 사용하는 각종 보안 솔루션의 원리와 활용법을 알고 싶은 분
  • 통합보안솔루션(UTM)을 직접 구축해 보고 싶으신 분이나 테스트 랩 환경을 가지고 싶은 분
  • 방화벽 디자인의 구조와 원리를 이해하고 망 분리를 해보고 싶은 분
  • 유해차단시스템을 통해 악성 웹 사이트의 접근을 차단하고 싶은 분
  • 침입탐지시스템(IDS)을 구축해 룰 튜닝/작성 방법을 익히고 제로데이 익스플로잇을 탐지해보고 싶은 분
  • 윈도우 이벤트 로그나 리눅스 시스로그를 분석하는 방법을 익히고 싶은 분
  • 시스몬(Sysmon)을 이용해 침입탐지를 빅데이터 분석 관점에서 활용하고 싶은 분
  • 로그통합시스템을 통해 악성행위의 상관분석, 교차분석의 원리를 익히고 싶은 분
  • 각종 오픈소스로 보안솔루션을 구축해 보고 싶은 분
  • 빅데이터 도구인 스플렁크를 통해 보안 로그 시각화를 해보고 싶은 분

강병탁

현재 고려대학교 정보보호대학원 산학협력중점교수로 보안 관련 실무과목을 강의하고 있으며, AI.Spera의 대표이사로 머신러닝과 빅데이터를 이용한 해킹징후 탐지 프로젝트를 진행하고 있다. 이전에는 네오플 인프라기술실 실장으로 시스템/보안/DB/인프라개발 등 인프라 기술을 총괄했으며, 넥슨 아메리카에서는 InfoSec Team 팀장으로 미국 지사의 보안조직을 설립, 보안 프로세스 구축/침입탐지/컴플라이언스 업무를 해 왔고, 넥슨 코리아에서는 게임보안팀을 설립, 팀장으로 라이브 게임의 보안성 향상과 침해대응 업무를 해 왔다. 월간 마소에서 해킹/보안을 주제로 약 3년간 테크니컬 라이터로 활동했고, 각종 대학교와 기관 등에서 해킹/보안을 주제로 한 정기/특별 강의를 다년간 진행했다. 저서로는 《리버스 엔지니어링 바이블》(위키북스, 2012)이 있다.

감수자

김휘강

현 고려대학교 정보보호대학원(대학원), 사이버국방학과 (학부) 교수

현 카카오 프라이버시정책 자문위원회

현 삼성전자 소프트웨어/보안 부문 자문단

현 KISA ISMS 인증위원회 위원

현 한국정보보호학회 이사

전 엔씨소프트 정보보안실장

전 A3 Secuity 창업자, 대표

  • [01부] 침입 탐지를 위한 네트워크와 서버 디자인
    • ▣ 01장: OSI 7 계층과 보안 솔루션
      • 01 보안 관점에서만 바라본 OSI 7 계층 이야기
        • L2 계층
        • L3 계층
        • L4 계층
        • L7 계층
      • 02 각 계층별 보안 솔루션
        • Anti-DDoS
        • 방화벽(Firewall)
        • IPS/IDS
        • 웹 방화벽, 웹 프락시
      • 03 방화벽 디자인
        • 방화벽은 보안팀의 작업인가, 네트워크 팀의 작업인가?
        • 패킷 필터링과 1세대 방화벽의 한계
        • 2세대 방화벽의 스테이트풀 인스펙션
        • L7까지 커버하는 3세대 방화벽
        • 방화벽 앞뒤 구간의 위치별 역할
      • 04 NAT에서 발생하는 보안 취약점
        • DNAT
        • SNAT
        • 보안 취약점 예시
      • 05 네트워크 환경에 따라 달라지는 방화벽 디자인
      • 06 방화벽이 죽을 때를 위한 대비 - HA
        • 액티브 스탠바이. 한대는 온라인, 한대는 대기
        • L4 스위치를 이용한 액티브 액티브
      • 07 바이패스 스위치, L2 Fallback
      • 08 가용성의 끝판왕, 풀 메시
      • 09 방화벽 룰 관리
      • 10 정리
      •  
    • ▣ 02장: IPS와 웹 방화벽
      • 01 IPS가 제공하는 기능
      • 02 L7 계층의 공격을 방어하자
      • 03 디도스 방어
      • 04 트래픽 학습
      • 05 IPS 역할과 위치 선정
      • 06 IPS 위치 디자인
        • 서버를 통해 발생하는 위협
        • 직원들의 사내망을 통해 발생하는 위협
        • 디도스 공격으로부터 발생하는 위협
      • 07 웹으로 한정한 보호 구간과 웹 방화벽의 위치
      • 08 IPS로 직원을 보호하는 디자인
      • 09 IPS의 가상 센서
      • 10 보안 시스템으로 발생할 수 있는 성능 저하에 대한 고민
      • 11 보안 위협을 먼저 정의하자
      •  
    • ▣ 03장: IDS 위치 선정과 센서 디자인
      • 01 패턴 매칭 기반의 IDS
      • 02 트래픽을 복사하자, 스팬(SPAN)/포트 미러링
      • 03 패킷 유실을 막기 위한 네트워크 탭(TAP)
      • 04 탐지된 IP 주소가 보이지 않는다. NAT에서 발생하는 문제
      • 05 IDS의 기본적인 네트워크 위치
      • 06 센서의 설치로 네트워크 시야를 넓히자
      • 07 모니터링이 필요한 자산이 무엇인지 정확히 파악하자
      • 08 정리
      •  
    • ▣ 04장: VPN의 실무적인 접근과 이해
      • 01 공유기를 통한 가상 사설망의 이해
      • 02 VPN을 통한 차단 사이트 우회
      • 03 VPN을 통한 보안 강화와 암호화
      • 04 VPN의 보안 취약점
      • 05 VPN의 종류
        • PPTP
        • L2TP
        • IPSec
        • OpenVPN
        • SSL-VPN
        • SSTP
      •  
  • [02부] UTM 활용: 오픈소스 통합 보안 시스템 구축
    • ▣ 05장: 오픈소스 방화벽 pfSense 설치와 랩 네트워크 구성
      • 01 UTM 설치 경험에서 얻는 의의
      • 02 UTM 랩 환경을 위한 준비물
        • 하드웨어
        • 소프트웨어
      • 03 VMware Player에서 가동되는 ESXi
      • 04 오픈소스 UTM - pfSense
      • 05 랩 환경의 뿌리, ESXi 설치
      • 06 랩 전용 네트워크에서 NIC을 3개 설치하는 이유
      • 07 가상 스위치 구성
      • 08 pfSense 설치
      • 09 방화벽의 외부 네트워크와 내부 네트워크 구성
      • 10 pfSense의 초기 세팅 구성
      •  
    • ▣ 06장: VLAN 구성을 통한 망분리
      • 01 VLAN
      • 02 웹 서버 대역의 VLAN 생성
      • 03 오피스 대역의 VLAN 생성
      • 04 내부 서버 대역의 VLAN 생성
      • 05 DB 서버 대역의 VLAN 생성
      • 06 ACL 반영 - 접근 제어
      • 07 기본 ACL 반영
      • 08 Aliases 등록을 활용한 효율적인 룰 작성
      • 09 VLAN20에서 다른 VLAN으로의 접속 차단
      • 10 VLAN30에서 다른 VLAN으로의 접속 차단
      • 11 VLAN40에서 다른 VLAN으로의 접속 차단
      • 12 서비스나 관리에 필요한 포트/IP 허용
      • 13 사무실에서 접근해야 하는 영역
      • 14 방화벽 룰 관리
      • 15 NAT 설정
      • 16 랩 환경에서 외부에 전체 포트를 노출시켜 방화벽 기능을 제대로 사용하는 방법
      •  
    • ▣ 07장: 웹 필터, 유해차단 시스템 스퀴드 구축
      • 01 보안적인 관점에서 프락시 서버를 쓰는 목적
      • 02 pfSense에 포함된 스퀴드 프락시 설치
      • 03 스퀴드 프락시에서의 Transparent Mode
      • 04 유해차단시스템인 스퀴드 가드의 적용
      • 05 필요하지 않은 URL 접속 차단
      • 06 정리
      •  
    • ▣ 08장: 인라인 IPS 구축
      • 01 스노트 IPS 설치
      • 02 보호할 IPS 인터페이스 선택
      • 03 IPS 룰 다운로드
      • 04 개별 인터페이스 설정
      • 05 IPS 탐지 테스트
      • 06 유연한 룰 정책과 차단/탐지에서의 예외 처리
      • 07 모니터링 후 차단으로 정책 변환
      • 08 커스텀 패턴 추가
      •  
    • ▣ 09장: VPN을 통한 외부에서의 접근 제어
      • 01 OpenVPN의 기본 설정
      • 02 VPN 에이전트 배포와 설정
      • 03 ACL 반영 - VPN의 문제점
      • 04 정리
      •  
  • [03부] IDS 구축과 운영: 오픈소스 IDS 보안양파
    • ▣ 10장: 시큐리티 어니언 설치
      • 01 패킷 모니터링을 위한 네트워크 설정
      • 02 보안양파 설치
      • 03 보안양파의 주요 포트 개방
      •  
    • ▣ 11장: IDS의 튜닝과 주요 명령어
      • 01 보안양파의 최초 튜닝
      • 02 로그 보관 주기와 용량 튜닝
      • 03 전체 패킷 수집
      • 04 불필요한 트래픽 걸러내기
      • 05 IDS 상태 체크
      • 06 이메일 알럿 받기
      •  
    • ▣ 12장: 룰 관리와 제로데이 익스플로잇 대응
      • 01 스노트 룰과 수리카타 룰의 기본 문법
      • 02 case1) “ET POLICY DynDNS CheckIp External IP Address Server Response”
      • 02 case2) “ET POLICY Dropbox DNS Lookup - Possible Offsite il eF Backup in Use”
      • 03 커스텀 패턴 추가하기
        • 스레시홀드 작업을 통한 알럿 최소화
      • 04 불필요한 룰 제거 2
      • 05 제로데이 익스플로잇 대응
      • 06 룰 테스트를 위한 패킷 임의 생성
        • TCPReplay
        • scapy
      • 07 룰 튜닝과 성능 향상의 전제조건
      •  
    • ▣ 13장: 브로와 Xplico를 이용한 네트워크 포렌식
      • 01 엘사를 이용한 브로 데이터 검색
      • 02 브로를 이용한 DNS 쿼리 추적
      • 03 네트워크 상에 떠다니는 파일 추출
      • 04 브로를 이용한 FTP 사용 추적
      • 05 Bro를 이용한 MySQL 사용 추적
      • 06 브로 로그의 위치
      • 07 브로를 이용해 다양한 파일 추출하기
      • 08 브로에서 SMB 트래픽 추적 연동하기
      • 09 악성코드처럼 보이는 HTTP 트래픽 추적
      • 10 의심스러운 PE 포맷 파일 다운로드 알람 추적
      • 11 Xplico를 활용한 네트워크 포렌식
      •  
  • [04부] ESM과 보안 로그의 중앙 집중화
    • ▣ 14장: ESM을 이용한 보안 로그의 중앙 집중화
      • 01 ESM의 의의와 수집하려는 시스템의 로그
      • 02 스플렁크 설치
      • 03 방화벽 로그와 VPN 로그를 스플렁크로 포워딩하기
      • 04 방화벽 로그를 해석하는 법
      • 05 VPN 로그
      • 06 IPS 로그
      • 07 반야드2
      • 08 스퀴드가드 로그
      • 09 IDS 로그 전송
      • 10 유니버설 포워더를 이용한 로그 전송
      • 11 리눅스 로그 수집을 위한 포워더 설치
      • 12 윈도우 이벤트 로그 수집을 위한 포워더 설치
      • 13 스플렁크의 기본 검색 사용법
      •  
    • ▣ 15장: 윈도우 이벤트 로그와 리눅스 로그의 분석
      • 01 이벤트 로그 포맷의 기초
        • 응용 프로그램 로그
        • 보안 로그
        • 시스템 로그
      • 02 이벤트 로그의 포맷
      • 03 이벤트 로그 활성화 튜닝
      • 04 계정 관리 감사와 관련된 로그 분석
      • 05 로그인 관련 감사 로그 분석
      • 06 로그오프/로그인 실패 로그 분석
      • 07 프로세스 추적 로그 분석
      • 08 정책 변경 로그 분석
      • 09 불필요한 로그 필터링
      • 10 리눅스 로그 분석
      • 11 커맨드 로깅 툴 스누피 설치
      •  
    • ▣ 16장: 윈도우 로그 분석의 최강자 시스몬
      • 01 시스몬 설치
      • 02 시스몬의 로그 포맷
      • 03 스플렁크와 시스몬의 연동
      • 04 시스몬 필터를 이용한 로그 다이어트
      •  
    • ▣ 17장: 시각화와 교차분석을 통한 탐지 능력 고도화
      • 01 스플렁크 대시보드 작성
      • 02 스플렁크를 이용한 데이터 추출과 파싱
      • 03 스플렁크로 그래프 한방에 그리기
      • 04 스플렁크 고급 검색을 활용한 악성코드 svchost.exe 탐지
      • 05 의심스러운 곳으로 접속하는 프로세스 탐지
      • 06 연관분석 시나리오 만들기
      • 07 1차원적 로그도 제대로 분석하지 않는 상황
      • 08 연관분석의 개념과 원리

9p, 그림 1.3 L3계층

Src MAC / Dst IP --> Src IP / Dst IP