1.1 KT Cloud 웹방화벽 서비스 소개

1.1.1 목적/용도

웹방화벽은 웹서버 앞에 위치하여 외부로부터 들어오는 HTTP/HTTPS 트래픽을 감시하여 웹 애플리케이션에 대한 악의적인 공격이 탐지되면 해당 공격이 웹 서버에 도달하기 전에 차단하는 역할을 수행합니다.

그림이 보여주는 바와 같이 웹방화벽은 방화벽에서 걸러주지 못하는 응용계층의 위험한 유해 트래픽을 웹 서버에 도달하지 못하도록 근본적으로 차단합니다.
고도로 지능화, 다양화되고 있는 웹 공격을 효율적으로 탐지 및 차단하여 안정적이고 신뢰할 수 있는 웹 애플리케이션의 운영을 가능하게 합니다.

일반적인 방화벽은 출발지 및 목적지의 IP/Port 정보를 기반을 필터링을 하는 보안 장비로 TCP/IP 프로토콜의 헤더 정보를 이용하여 필터링을 실시하기 때문에 정상적인 IP/Port로 유입되는 해킹 공격에는 대응할 수가 없습니다. 웹방화벽은 방화벽에서 허용한 IP/Port로 유입되는 트래픽의 데이터 부분을 해석하여 유해한 트래픽이나 공격을 차단할 수 있는 장치입니다.

즉, 웹방화벽은 웹 트래픽에 대한 Payload(Data) 분석 및 패턴 기반의 필터링을 통해 악의적인 웹 애플리케이션 공격을 탐지 및 방어 합니다. 대부분의 웹 공격은 웹 어플리케이션 개발 구축 시 발생되는 취약점을 이용하거나, HTTP 요청 메시지에 특정 공격 또는 취약점 우회 코드를 삽입해 웹 서버에 전송하게 됩니다. 웹방화벽은 웹 서버로 전송되는 HTTP 요청 메시지의 Packet을 검사하여 웹 어플리케이션에 의도하지 않은 내용의 전송을 차단하고 HTTP 응답 Packet 내용을 검사하여 특정 정보의 유출을 방지 할 수 있습니다.
ㅁ 웹방화벽과 방화벽의 비교
구분 방화벽(Firewall) 웹방화벽(WAF)
동작방식 허용되지 않은 IP/Port에 대한 공격 차단 HTTP/HTTPS를 이용한 공격 차단
필터링 방법 사전 정의된 Access List에 의한 차단 사전 설정된 룰셋(패턴, 휴리스틱)기반의 차단
인식 헤더 발신지 및 목적지의 IP/Port 헤더 정보를 포함하여 Packet의 Payload
보호 대상 대부분의 정보 자원 웹 서버
구성 형태 네트워크 경계 부분에 위치 논리적으로 웹서버 앞(Inline/Proxy 모드에 따른 물리적인 구성은 달라짐)
특징 Access List에서 허용된 트래픽의 필터링 불가 Payload 분석에 따른 고성능의 프로세싱 능력 필요
ㅁ 웹방화벽의 주요 보안 기능

ㅇ HTTP 기반의 웹 공격 방지
ㅇ OWASP1 TOP 10 Attacks 탐지 및 차단

OWASP Top 10 2013 취약점
인젝션 전송 파라미터 기반 동적 SQL query를 처리하는 웹 모듈에 command를 삽입, 질의를 변조하는 해킹 기술
인증 및 세션 관리 취약점 허술한 계정관리나 미흡한 인증체계 구성 및 세션 처리에 의한 공격 위험 노출
크로스 사이트 스크립팅(XSS) 공격자에 의해 작성된 악성 스크립트 코드가 다른 사용자에게 전달되는 취약점
취약한 직접 객체 참조 객체(파일, 디렉터리, DB값 등)을 URL이나 HTML tag로 노출 시 이를 이용한 공격 위험
보안 설정 오류 프레임 워크/플랫폼, 서버, 웹 서버, DB 서버 등의 보안을 정의하고 최신 상태로 설정 관리 필요
민감 데이터 노출 주민번호 등 민감 데이터 관리 시 평문 저장, 전송되는 취약점 이용, 불안정한 암호 저장, 미흡한 전송계층 보호
기능수준의 접근통제 누락 서비스 페이지 접근에 대한 적절한 통제 및 기술 조치 누락 시 인가되지 않은 접근 위협, URL 접근 제한 실패
크로스 사이트 요청 변조(CSRF) 정상 인증된 사용자의 쿠키나 세션 정보를 통해 숨겨진 스크립트, Tag 정보로 공격을 유도하는 해킹 기법
알려진 취약점이 있는 컴포넌트 사용 라이브러리, 프레임 워크 및 기타 소프트웨어 모듈과 같은 구성 요소는 전체 권한으로 실행되는 취약점을 이용한 공격
검증되지 않은 리다이렉트 및 포워드 평문 형태로 전송되는 TCP/IP 취약점을 이용하여 전송 데이터의 정보 유출, 결함 분석 시도 취약점

ㅇ PCI-DSS Compliance 의 요구사항 지원
ㅇ Known/Unknown Worm 탐지 및 차단 (예, Code Red, Nimda)
ㅇ 웹 보안 요소 방어
ㅇ Cookie 변조 및 도용 방지
ㅇ Hidden Field 변조 방지
ㅇ 표준 암호 알고리즘 사용(AES, SEED)
ㅇ 웹 컨텐츠 필터링
ㅇ 개인정보 포함 파일 업로드/다운로드 탐지 차단
ㅇ 주민등록번호, 신용카드번호, 이메일주소, 주소, 전화번호 탐지
ㅇ MS-Office, Open Office, PDF, MS Outlook Message, hwp 등 30 여종의 파일 검색
ㅇ 지정한 금지 단어 입력 시 자동 변환
    예) ‘나쁜말’(금지단어) -> ‘고운말’(등록된 표현)
ㅇ 해커에 의해 변조된 페이지 노출 차단 및 자동 복구

 

ㅁ 웹방화벽의 주요 특징

    ㅇ 보안성
        - 웹 공격에 대한 3중 방어 구조
          Positive Security 보안모듈의 “URI 접근 제어”와, Negative Security 보안모듈의 “룰 탐지”, White/Black list of IP 주소 관리 기능인 “IP Filtering” /
          “IP Block”의 웹 클라이언트 접근 제어의 3중 방어 구조를 기반으로 확실하고 안정적인 웹 공격의 탐지와 차단을 제공합니다.
        - 암호화 트래픽 지원
          SSL과 같은 암호화된 트래픽을 지원합니다. 암호화된 트래픽 내에 웹 공격이 들어있는 경우에도 이를 신속하게 복호화한 후 공격을 탐지하여 차단할 수 있습니다.

    ㅇ 성능
        - 버추얼 어플라이언스
          웹 서버를 비롯한 기존 서비스 장비에 별도의 부하를 주지 않는 버추얼 어플라이언스(appliance) 형태로 구성되어 높은 성능 을 제공합니다.
        - 웹사이트/웹서버 동시 보호
          여러 웹사이트들과 하나의 웹 서버들을 동시에 보호하는 것이 가능합니다.

    ㅇ 안정성
        - Watchdog 지원
          Watchdog 프로세스는 지속적이고 안정적인 웹 서비스 제공을 위해 WAF의 동작을 감시합니다. WAF에 문제가 발생하는 경우, watchdog은 문제의 증상
          을 파악하고 이에 따라 보안 및 웹 서비스 유지를 위해 대응하도록 구성되어 있습니다

    ㅇ 편리성
        - 대시보드 지원
          WAF과 웹 서버의 운영 상태를 그래프와 차트를 통해 한눈에 실시간으로 파악할 수 있는 대시보드 기능을 지원합니다. WAF의 대시보드는 22가지의 다양한 그래프
          와 차트 형식을 제공하여 운영자가 원하는 형태로 데이터를 가공할 수 있도록 지원합니다

        - 설정 마법사 지원
          WAF의 모든 설정 작업은 설정 마법사를 통하여 이루어집니다. 설정 마법사는 WAF의 복잡한 설정 과정을 간단하고 편리하게 수행 할 수 있도록 도와줍니다.

        - 자유롭고 유연한 화면 구성
          로그 화면과 각종 대시보드 화면 등을 운영자가 원하는 형태로 자유롭게 배치할 수 있으며 각각의 화면 내용에 각기 다른 조건을 부여하여 다양한 정보를 동시에
          확인할 수 있습니다. 이러한 유연한 화면 구성은 운영자의 필요에 따른 적절한 정보 확인을 가능하게 해주어 관리도구 사용의 편의성을 높여줍니다.

1.1.2 구조 / 원리

ㅁ Reverse Proxy 구성 방식

KT Cloud WAF의 네트워크 구성방법은 리버스 프락시 방식입니다. WAF의 리버스 프락시 구성은 일반적인 웹 프락시 서버와 유사한 구성으로 WAF의 논리적인 네트워크와 IP 등을 설정하여 구성합니다. 이러한 구성에서 특정 웹사이트를 WAF로 보호하려면 웹사이트의 DNS를 재설정하거나 L4/L7 스위치의 설정을 수정하여 웹 서버로 갈 커넥션이 WAF을 향하도록 수정해주어야 합니다. 이러한 리버스 프락시 구성에서는 WAF가 프락시로 동작하기 때문에 웹 서버의 접속 로그에는 실제 웹 브라우저 사용자의 IP 주소가 아닌 WAF의 IP 주소만이 남게 됩니다.

ㅁ 웹방화벽 서비스 네트워크 구조

KT Cloud에서는 외부에서 공인 IP로 접속할 수 있는 VR(Virtual Router)를 제공하며, VR 내부에 사용자가 생성한 VM이 위치하게 됩니다. VM은VR을 통해 인터넷 통신이 가능하므로 Outbound Traffic은 Virtual Router를 통해서 Source NAT 가적용 됩니다. WAF와 웹서버 VM간의 통신은 내부 사설 IP(172.27.x.x)로 통신이 가능하며 사용자의 클라우드 서버는 VLAN 기술로 isolation 되어 보안성을 제공합니다.

아래그림은 로드밸런서(L4)를 이용하여 Active/Active의 WAF 이중화 구성도의 예시를 보여줍니다. LB에서는 WAF(Proxy 서버) – Web(웹서버)로 연동되는 트래픽 패스에 따라 분리 구분되는 각 서비스포트로 로드밸런싱(80 포트로 들어오는 트래픽을 60000, 6001,7000, 7001로)하고, VR에서는 WAF의 서비스 포트로 포트 포워딩(PF : Port Forwarding)이 설정되어 있어야 합니다. WAF에서는 웹서버로 트래픽을 전달하기 위한 WAF의 서비스 포트와 웹서버와 포트를 매핑 등록 구성되어야 합니다. LB, WAF, Web 서버에서의 서비스 트래픽에 포함된 TCP/IP 정보는 아래와 같이 변경됩니다

LB 에서의 TCP/IP 정보 : Source – Client IP, Destination – LB IP(공인)
WAF1,2 에서의 TCP/IP 정보 : Source – LB IP, Destination – WAF IP(공인) Proxy 포트
Web1,2 에서의 TCP/IP 정보 : Source – WAF IP(로컬), Destination – Web IP(로컬) 서버 포트


1.1.3 유의사항/제약사항

과도한 웹 트래픽 발생시 WAF가 안정적으로 운용되기 위해서는 고객의 웹서비스 환경에 적절한 성능을 요하는 WAF 상품 선택 및 이중화 구성이 필요합니다. WAF 이중화 구성에는 로드밸런서(LB)를 이용하여 Active-Active 구성 운용이 가능합니다. (또는 WAF IP 를 별도 할당 받아 DNS, GSLB 를 이용해서도 도메인 질의시 WAF IP 를 분산하는 방법도 가능)

웹방화벽이 웹방화벽이 위치한 Zone과 다른 Zone에 위치한 웹서버를 보호할 경우의 성능은 보장하지 않습니다. 

웹방화벽의 상품별 Throughput을 초과하는 Traffic 발생 시에는 과부하로 인한 웹방화벽 성능 저하 또는 서비스 중단이 발생할 수 있습니다. 

웹방화벽의 업데이트 시 재부팅으로 인한 서비스 중단이 발생할 수 있으므로 자동 업데이트를 하지 않도록 초기설정 되어 있습니다. 이에 주기적으로 수동 업데이트 확인 및 업데이트를 해야 합니다. 

웹방화벽은 운영체제 및 내부 데이터베이스가 안정적으로 작동하며 웹 보안 게이트웨이 애플리케이션 방화벽으로만 동작되도록 설계되고 구성된 전용 서버이므로, 내부 구성을 변경하거나 다른 목적으로 사용하는 것을 보증하지 않습니다

웹방화벽은 HTTP/HTTPS 트래픽에 대한 보안을 위하여 만들어졌습니다. 따라서 추가적으로 방화벽이나 침입탐지 시스템과 병행하여 운영되어야 합니다

웹방화벽은 네트워크 상 클라이언트와 웹서버 간 중간 지점에 위치해야 하며, 양자간의 HTTP(S) 통신은 WAF 을 통해서만 이루어져야 합니다.

네트워크 구성 변경, 웹 사이트의 증감 등으로 네트워크 환경이 변화될 때에는 반드시 변화된 환경에 맞추어 보안정책을 반영하여야 합니다.

관제시스템과 같은 외부 시스템과의 연동 시 SNMP trap, Syslog 등을 사용할 수 있으며, 이때 신뢰된 네트워크 구간 내에서 안전하게 유지되도록 관리해야 합니다.

제품 유지보수 절차를 통해 최신의 보안 패치가 적용된 상태로 운영되도록 해야 합니다.

WAF은 신뢰할 수 있는 타임스탬프를 제공합니다. 안전한 운영을 위해 관리도구용 PC 에 대해서도 OS 가 제공하는 타임스탬프 동기화 기능을 적용하여 일관성을 유지해야 합니다.

인가된 관리자에 의해 안전한 방식으로 구성, 관리, 사용되어야 합니다

관리자는 WAF 관리기능에 대해 적절히 교육 받아야 하고, 관리자 지침에 따라 정확하게 의무를 수행하여야 합니다.

WAF 관리도구는 최신의 보안 패치가 적용된 OS 가 설치된 안전한 관리자 PC 에서 사용 되어야 합니다.

관리도구는 신뢰된 네트워크 구간에서만 접속 가능하도록 하여야 합니다.

관리도구를 통해 WAF 에 접속하는 경우, SSL 로 암호화된 트래픽을 통해 정보를 전달하므로 정보의 비밀성을 유지합니다

WAF 는 정상적인 웹 트래픽의 경우에도 Payload 데이터를 분석하여 공격을 방어하는 어플리케이션 계층(L7)의 보안 장비로 L3 계층의 보안 장비에 비해 상대적으로 많은 서버 성능을 요합니다.