Download presentation
Presentation is loading. Please wait.
1
웹 방화벽 채널 교육 Ver 2.0 2010년 10월 27일 lonstech
2
목 차 개요 WEBFRONT WEB 기본특성 WEBFRONT 프로세서 WEBFRONT 동작방식 WEBFRONT 설정 네트워크
목 차 개요 WEBFRONT WEB 기본특성 WEBFRONT 프로세서 WEBFRONT 동작방식 WEBFRONT 설정 네트워크 애플리케이션 웹 구성요소 보안기능 요청검사 컨텐츠 필드 위장 학습 2
3
1. 개요 1.1 교육 목적 1.2 WEBFRONT 기본시스템 기본적인 웹(HTTP)동작에 대한 이해
아날라이져 (AV2) : WEBFRONT에 대한 모니터링 및 로그 리포팅 기능 수행 서버 WEBFRONT 대시보드 화면 Analyzer V2 3
4
2. WEBFRONT 2.1 WEB 동작방식 요청 헤더에 포함되는 정보들 ①GET /index.html HTTP/ 1.1
②user-agent : MSIE 6.0; Window NT 5.0 ③accept : text/html;*/* ④cookie:name = value ⑤referer : ⑥host: 클라이언트 웹 서버 ② ① ④ ③ ⑥ ⑤ ⑦ ⑧ Listen 상태 (통신대기중) Syn-sent 상태 ( 연결요청) Ack확인 Get Request (페이지 요청) TCPChecksum (루틴 ACK) Syn-Received상태 (요청승인) TCP Checksum Get Response (페이지제공) 응답 헤더에 포함되는 정보들 ①HTTP/1.1 OK 200 ②Server:NCSA/1.4.2 ③Content-type : text/html ④Content-length : 107 ⑤요청한 정보
5
88 Gbps Switching Backplane Application Security Engine
2. WEBFRONT 2.2 WEBFRONT 처리 프로세서 웹프론트는 패킷 처리방식에 따라 securiy Engine board 와 Switching board에서 처리가 됩니다. 88 Gbps Switching Backplane 16 x 10/100/1000 BASE-T/BASE-SX Application Security Engine 클라이언트 웹 서버 HTTP 패킷 기타 패킷
6
2. WEBFRONT 2.3 WEBFRONT 동작방식 Delayed-Binding 기능을 사용한 패킷처리 방식.
7
3. WEBFRONT 설정 3. WEBFRONT 접속방식
관리 접속포트(ETHERNET) - 기본 /24 로 설정되어 있음 시리얼 접속포트 - Baud rate :9600 Data Bits : 8 /24 ~254/24
8
3. WEBFRONT 설정 3.1 네트워크 PORT VLAN (System메뉴 > 네트워크 > PORT)
(System메뉴 > 네트워크 > VLAN)
9
3. WEBFRONT 설정 3.1 네트워크 4)미러링 3)IP설정 및 라우팅 설정
(System메뉴 > 네트워크 > 미러링) 3)IP설정 및 라우팅 설정 (System메뉴 > 네트워크 > IP주소)
10
3. WEBFRONT 설정 3.1 네트워크 6)STP 5)트렁크 (System메뉴 > 네트워크 > STP)
11
3. WEBFRONT 설정 3.1 네트워크 8) 링크싱크 7) 포트 모니터링
(System메뉴 > 네트워크 > 링크싱크) 7) 포트 모니터링 (System메뉴 > 네트워크 > 포트모니터링)
12
Packet Arrives on a port Client/Server Boundary?
3. WEBFRONT 설정 3.1 네트워크 9) 포트바운더리 (System메뉴 > 네트워크 > 포트바운더리) Packet Arrives on a port Management CPU WAF IP Checking DIP? Client Boundary Client/Server Boundary? Server Boundary Other IP L2 /L3Switching Port-Boundary #N N=0 Going to Engine by SIP Going to Engine by DIP Yes No Promisc On/Off? Off Engine Arrives Match? (IP/Protocol) Yes No On 12
13
3. WEBFRONT 설정 3.1 네트워크 10) 환경변수 (System메뉴 > 네트워크 > 환경변수) 13
14
2개의 VLAN을 트랜스패런트 브리지 모드로 구성
3. WEBFRONT 설정 3.1 네트워크 11) 트랜스패런트 브릿지 모드(신규기능) (System메뉴 > 네트워크 > 환경변수 ) Active DMZ Backbone Switch DMZ Network Active DMZ Backbone Switch Internal Network DMZ Network 2개의 VLAN을 트랜스패런트 브리지 모드로 구성 Web Firewall Web Firewall Lan128 : /24 Lan129 : /24 Lan128 : /24 Lan129 : /24 Server Server Server 14
15
3. WEBFRONT 설정 3.2 애플리케이션 어플리케이션 이름 등록 어플리케이션 등록 * 참고 사항 *
(System메뉴 -> 애플리케이션(에플리케이션관리선택) -> 변경 클릭 -> 추가 클릭 -> 애플리케이션이름등록 -> 적용) 어플리케이션 등록 (어플리케이션메뉴 -> 일반설정 선택 -> 해당 어플리케이션 선택 -> 도메인리스트 등록 -> IP/포트리스트 등록 -> 상태 활성화) * 참고 사항 * System > 애플리케이션 > 애플리케이션 관리 마법사 실행 기능을 통하여 애플리케이션 생성이 가능합니다.
16
3. WEBFRONT 설정 3.2.7 서버 부하 분산 웹 방화벽 기능 중 L4-L7 SLB 기능을 사용할 수 있도록 부하분산 모드로 설정 ( 애플리케이션 메뉴 > 일반설정 ) 2) 부하분산의 상세 설정 ( 애플리케이션 메뉴 > 부하분산 ) 16
17
3. WEBFRONT 설정 3.2.2 탐지 정책 설정 (정책 설정) 1)어플리케이션 탐지 정책 설정 참고사항 *
(어플리케이션메뉴 -> 어플리케이션설정간편화 -> 정책 적용할 어플리케이션 선택 -> 하단의 변경 -> 상태, 보안로그, 증거 선택 설정 -> 적용) 참고사항 * 시그니처는 기본설정이 탐지이며, 시그니처가 탐지로 설정되어 있는지 확인한다. (어플리케이션메뉴 -> 시그니처관리 -> 시그니처리스트 변경 -> 시그니처리스트 상세보기 -> 보기형식 어플리케이션 -> 정책 적용할 어플리케이션 선택 -> 공격 유형 별 하단의 탐지 확인) 17
18
3. 탐지 정책 수립 절차 3.2.3 탐지 정책 설정 (정책 설정) 1) 정책 설정 로그 확인 * 참고사항 *
(인터넷 익스플로러 실행 -> 웹 어플리케이션 사이트 주소/test.bak 입력 -> 로그 확인) (해당 어플리케이션 선택 -> 어플리케이션메뉴 -> 로그 -> 로그보기 -> 시그니처리스트 변경 -> 애플리케이션 로그보기의 로그보기 -> 팝업창의 로그 확인 ) * 참고사항 * 정책이 정상적으로 설정이 되면 로그가 남는지를 체크해야 한다. 조사한 IP, 포트, 도메인 정보가 틀리거나 혹은 웹 방화벽의 정책이 반영되지 않을 수도 있기 때문이다. 18
19
3. WEBFRONT 설정 3.2.4 로그 분석 Analyzer v2에 수집된 로그를 확인하여 오탐 및 특이사항을 분석한다.
20
3. WEBFRONT 설정 3.2.5 차단 정책 설정 단계 탐지 정책 기간 동안 세부 정책 설정 거친 후 특이사항이 없을 경우 차단 정책을 설정한다. 어플리케이션 설정 간편화에서 각 어플리케이션 이름을 선택하여 정책을 설정 한다. 20
21
3. WEBFRONT 설정 3.2.6 모니터링 및 오탐 처리 차단 정책 후 모니터링을 필수적으로 해야 한다. 기존에 확인되지 않았던 문제점이 나올 수 있으며 오탐에 의한 차단으로 인해 서비스에 지장이 생길 수 있으므로 Analyzer V2를 활용하여 모니터링을 한다. Analyzer V2를 이용해 모니터링을 하면서 오탐을 확인하여 처리를 해줘야 한다. 또한 해당 내용이 확인하기 힘들 경우 웹 어플리케이션 운영자의 확인을 거친다. 해당 오탐 처리는 안정화 될 때 까지 실시한다. 21
22
3. WEBFRONT 설정 3.2.7 운영 단계 3.2.8 정책 유지 및 장애 처리 3.2.9 보고서 작성
정책 설정이 완료되면 운영 절차로 바꿔 정책 유지 및 장애 처리, 보고서 작성 등을 수행한다. 또한 신규 취약점이 발견되면 빠른 대응 처리를 하고 해당 시그니처를 등록하여 보안을 해준다. 3.2.8 정책 유지 및 장애 처리 웹 어플리케이션의 리뉴얼 이나 특정 장애가 발생하지 않으면 설정한 정책을 변경할 일은 없다. 보통 설정한 정책을 유지하면서 요청에 의한 URL 오픈 이나 관리자 IP 오픈 등을 수행한다. 또한 장애에 대비하여 백업과 현업과의 커뮤니케이션에 힘쓴다. 3.2.9 보고서 작성 보고서의 경우 Analyzer V2를 이용해 로그 분석된 자료를 산출 할 수 있다. 보고서는 주간 보고서, 월간 보고서 형태로 하며 상황에 따라 기간별 보고서를 산출 할 수 있다. (보고서 출력은 매뉴얼을 참조) 보고서 산출물은 HTM, 워드, 엑셀, PDF 로 출력 할 수 있다. 22
23
4. WEB 구성요소 월드 와이드 웹(WWW) 웹 서비스를 위한 구성요소 WEB프로그래밍 언어 DATA BASE Demon
웹 서비스를 위한 구성요소 Os : 웹데몬 을 실행시키기 위한 기본 시스템 (유닉스, 리눅스, 윈도우, DEC의 VMS, IBM의 OS/2, AIX 그리고 OS/390) Demon : 각종 서비스를 제공하는 시스템 프로그램. (아파치,IIS,톰캣, my-sql,ms-sql) WEB 프로그램밍 언어 : 하이퍼텍스트 생성 언어(HTML)에 포함되어 동작하는 스크립팅 언어. (PHP,ASP,JSP) DATA BASE : 복수의 적용 업무를 지원할 수 있도록 복수 이용자의 요구에 호 응해서 데이터를 받아들이고 저장, 공급하기 위해 일정한 구조에 따라서 편성된 데이터의 집합 WEB프로그래밍 언어 DATA BASE Demon operating system 그리고 이젠 앞으로 웹프론트의 설정 및 실습을 곧 진행하겠습니다. 실습전엔 웹서비스가 구성되는 요소들을 살펴보도록 하겠습니다. 월드 와이드 웹(WWW) 23
24
4. WEB 구성요소 2) 웹 구성에 따른 동작 방식 <form name=erp_login method=post action="login-process.asp" target="erp_main" onSubmit="return check_submit();"> <input type="hidden" name="한글필드" value='한글값'> <table cellpadding=2 cellspacing=1 border=0> <tr> <input type="radio" name="language" value='1042' checked>한국어 <input type="radio" name="language" value='1033'>English </td> </tr> <!--login 테스트 계정 test:test--> <td align=right class="login_text">User ID </td> <td><input type=text name=user_id size="14" class=input></td> <td align=right class="login_text">Password </td> <td><input type=password name=user_password size="14" class=input></td> <tr height=4></tr> <td align=center colspan=2><input type=image src="images/login_button.jpg" border=0></td> <tr height=3></tr> <td align=center colspan=2><a href="join.asp" target="erp_main"><img src="images/join_button.jpg"></a></td> </table> </form> Set DBConn = Server.CreateObject("ADODB.Connection") DBConn.Open "DSN=erp;UID=erp;PWD=vlfoq;" sqlQuery = "SELECT * FROM UsersCurrent, Privileges WHERE userprivilege = privilegenum AND " & _ "userid = '" & id & "' AND " & _ "userpassword = '" & password & "'" 'Response.Write SqlQuery Set rsResult = DBConn.Execute(sqlQuery) 24
25
5. 보안 기능 5.1 요청검사 웹 보안의 가장 중요한 기능으로 클라이언트가 웹 서비스에 대한 요청을 보냈을 때 악의적인 요청 및 침입을 검사하여 차단 방어하는 기능입니다. 요청 검사 (Request Validation) 사용자 요청 User Request 웹 서버 클라이언트 정상 요청 검사를 통과한 요청 불법 요청 세부항목 어플리케이션 접근 제어 (Application Access Control) 폼 필드 무결성 검사 (Form Field Integrity Inspection) 폼 필드 형식 검사 (Form Field Format Inspection) 쿠키 무결성 검사 (Cookie Integrity Inspection) 쿠키 형식 검사 (Cookie Format Inspection) 쿠키 접근 제어 (Cookie Access Control) 과다 요청 검사 (Request Flood Inspection) 버퍼 오버플로우 차단 (Buffer Overflow Prevention) SQL 삽입 차단 (SQL Injection Prevention) 스크립트 삽입 차단 (Cross Site Scripting Prevention) 검사 회피 차단 (Evasion Detection) 요청 형식 검사 (Request Header Validation) 요청 방법 검사 (Request Method Validation) WISE Filter™
26
5. 보안 기능 5.1 요청검사 1) 접근제어 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
27
5. 보안 기능 5.1 요청검사 2) 폼필드 검사 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
28
5. 보안 기능 5.1 요청검사 3) 과다요청제어 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
29
5. 보안 기능 5.1 요청검사 4) 쿠키보호 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
30
5. 보안 기능 5.1 요청검사 5) 버퍼오버 플로우 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
31
5. 보안 기능 5.1 요청검사 6) SQL 삽입차단 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
32
5. 보안 기능 5.1 요청검사 7) 스크립트 삽입차단 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
33
5. 보안 기능 5.1 요청검사 8) 업로드 검사 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
34
5. 보안 기능 5.1 요청검사 9) 다운로드 검사 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
35
5. 보안 기능 5.1 요청검사 10) 디렉토리 리스팅 차단 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
36
5. 보안 기능 5.1 요청검사 12) 요청형식 검사 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
37
5. 보안 기능 5.1 요청검사 13) 검사회피 차단 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
38
5. 보안 기능 5.1 요청검사 14) 인클루드 인젝션 차단 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
39
5. 보안 기능 5.1 요청검사 15) 웹공격 프로그램 차단 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
40
5. 보안 기능 5.1 요청검사 16) WISE 요청필터 HEADER: value cookie=value body_parm=value 도메인 URL GET 매개변수 헤더 쿠키 POST 매개변수
41
5. 보안 기능 5.2 컨텐츠보호 클라이언트 요청에 대한 웹 서비스의 응답을 확인하여 차단 또는 마스킹(Masking)하는 기능으로 신용 카드나 주민등록번호 등의 개인 정보 및 서버 정보의 유출을 방지합니다. 컨텐트 보호 (Content Protection) 서버 응답 Server Reply 웹 서버 클라이언트 검사를 통과한 응답 검사를 통과한 응답 불법 응답 차단 세부항목 웹 변조 방지(Web Page Integrity Inspection) 신용 카드 정보 유출 차단(Credit Card Information Leakage Prevention) 주민 등록 번호 유출 차단(Social Security Number Leakage Prevention) 계좌 번호 유출 차단(Bank Account Number Leakage Prevention) 응답 형식 검사(Response Header Validation) 코드 노출 차단(comment masking) WISE Filter™
42
5. 보안 기능 5.2 컨텐츠 보호 1) 신용카드 정보 유출 차단
신용카드 정보가 응답 메시지에 포함되어 있는 경우 정해진 액션을 수행한다.
43
5. 보안 기능 5.2 컨텐츠 보호 2) 주민등록 정보 유출 차단
주민등록 정보가 응답 메시지에 포함되어 있는 경우 정해진 액션을 수행한다.
44
5. 보안 기능 5.2 컨텐츠 보호 3) 계좌번호 정보 유출 차단
계좌번호 정보가 응답 메시지에 포함되어 있는 경우 정해진 액션을 수행한다.
45
5. 보안 기능 5.2 컨텐츠 보호 3) 웹 변조 방지 등록된 웹 페이지 변조 유무를 판별하고 변조 되더라도 이전의 페이지를 응답한다
46
5. 보안 기능 5.2 컨텐츠 보호 4) 응답형식 검사 허용 헤더: 등록된 헤더를 제외한 모든 헤더를 차단한다.
필수 헤더: 등록된 헤더가 요청 메세지에 포함되지 않은 경우 차단한다
47
5. 보안 기능 5.2 컨텐츠 보호 5) 코드 노출 차단 HTML 주석 정보 보호 기능: 스크립트 주석 정보가 응답 메시지에 포함되어 있는 경우 정해진 액션을 수행한다. 스크립트 주석 정보 보호 기능: 스크립트 주석정보가 응답 메시지에 포함 되어 있는 경우 정해진 액션을 수행한다
48
5. 보안 기능 5.2 컨텐츠 보호 6) WISE 컨텐트 필드 응답 메시지에 대한 다양한 예외 처리를 수행한다.
49
5. 보안 기능 5.2 컨텐츠 보호 7) 고급 첨부 파일 검사 컨텐츠 보호의 검사 항목을 수행하는데 있어서 파일 속에 암호화된 정보까지 확인하여 액션을 수행하기 위한 기능
50
5. 보안 기능 5.3 학습 정상적인 웹 서비스에 대한 요청과 응답을 기준으로 애플리케이션의 정보를 학습하는 기능으로 다양한 보안 정책을 간단하고 손쉽게 적용하도록 도와줍니다. Adaptive Learning 웹 서버 클라이언트 사용자 요청 User Request 사용자 요청 User Request 검사를 통과한 요청 검사를 통과한 응답 검사를 통과한 응답 서버 응답 Server Reply “A” => “A” “B” => “B” 세부항목 접근 제어 학습(Application Access Control) 폼 필드 학습(Form Field) 쿠키 학습(Cookie) SQL 사용 학습(SQL Usage) 스크립트 사용 학습(Scripting Usage) 쉘 코드 사용 학습(Shell code Usage)
51
5. 보안 기능 5.3 학습 1) URL 구조 분석 학습된 URL 을 표시한다.
52
5. 보안 기능 5.3 학습 2) 접근제어 구조 분석 접근제어에서 학습된 URL 을 표시한다.
53
5. 보안 기능 5.3 학습 3) 폼필드 구조 분석 폼필드 에서 학습된 URL 을 표시한다.
54
5. 보안 기능 5.1 위장 서버 존을 가상화하고 서버 정보의 유출을 차단하여 클라이언트에게 실제 서버 존의 위치와
서버 정보를 숨기는 기능입니다. 웹 서버 클라이언트 서버응답 Server Reply 위장된 응답 위장된 응답 Cloaking Information URL 상세 주소 IP Address TCP Port Number 서버의 개수, 종류 WAS type Operating System Version Numbers Patch Levels 서버 위장 (Cloaking) 세부항목 URL 변환(Bi-directional URL Translation, WAT) 부적절한 에러 처리(Improper Error Handing) 서버 정보 위장 (Server Masquerading) 서버 부하 분산 (Server Load Balancing)
55
5. 보안 기능 5.4 위장 1) URL 정보 위장 요청 URL변환 : 요청 URL을 정해진 URL로 변환한다.
56
5. 보안 기능 5.4 위장 2) SERVER 정보 위장 응답 메시지에 관하여 서버 정보를 정해진 정보로 변환한다.
Similar presentations