강좌
클라우드/리눅스에 관한 강좌입니다.
클라우드 분류

[KT클라우드]모니터링 및 서비스 이상 시 진단 방법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

WAF 서비스 구성 단계별 서비스 상태 체크
LB를 이용하는 경우는 WAF 서비스 구성이 복잡하고 서비스 접속 오류 원인을 찾기 어렵기 때문에 서비스 구성 계층별로 구분에서 확인이 가능합니다.
서비스 구성 단계별로 공인IP 또는 로컬IP(172.27.x.x)로 웹서비스 요청 테스트를 통하여 각 단계에서의 접속 오류, 응답 지연/오류 등의 구성 상태를 확인 할 수 있습니다.
공인 IP를 이용하여 확인할 때는 Client에서 LB로 접속하는 경우와 WAF로 접속하는 경우에 IP의 포트 번호가 달라질 수 있기 때문에 WAF의 웹사이트 등록(포트 부분)도 동일하게 설정되어야 합니다 (그렇지 않을 경우 연결 안됨). 또한 로컬 IP를 이용하여 확인할 때는 동일한 VR 내에 있는 다른 VM을 이용하여야 합니다 (동일한 Guest N/W 내 VM). Client에서 WAF로 연결 접속하는 경우에 오류가 발생한다면 다음과 같이 상태를 체크해 볼 수 있습니다.
해당 URL 에 대한 웹방화벽의 정책설정 내용을 확인합니다.
관리도구 에서 해당 URL 에 대해 탐지로그에 남아 있는지 확인합니다.
관리도구 또는 WAF VM 에 접속하여 WAF 의 성능 상태를 확인해 봅니다.
구분설정 확인 내용
  • WAF에서 웹서버 등록, 웹사이트 등록
  • 웹서버 등록 (서비스 구성)
  • - WAF 서비스 포트의 트래픽을 웹서버로 연결하는 설정 (VR에서 WAF로 포트 포워딩을 설정한 포토) 웹사이트 등록 (보호할 웹서버 등록)
  • - 외부 공격으로부터 보호할 웹서버를 등록하는 것으로 HTTP(S)의 메시지에 이용되는 URI
  • - 서비스에 이용되는 DNS 또는 IP 등록 - 등록되지 않은 DNS 또는 IP 서비스 도메인 트래픽은 차단됨
  • - 80 포트를 이용하지 않는 경우 포트까지 입력되어야 함 (ex, WAF에 연결하여 테스트하는 경우 - 80포트가 아닌 경우)
  • - 방화벽 정책 설정에 따라 차단될 수 있는 경우는 모두 허용 정책으로 변경 후 확인
  • 포트 포워딩 설정
  • 공인 IP에서 접근할 수 있는 WAF 서비스 포트로의 포트 포워딩 설정 URL이 WAF IP:Port 형식으로 이용하여 접속하기 때문에 WAF의 웹사이트 등록도 WAF IP, Port를 등록하여야 함
  • LB 설정
  • LB를 이용하는 경우의 구성
  • - VR의 공인 IP를 이용하여 복수의 웹서버로 로드밸런싱 하기 때문에 로드밸런싱되는 각 패스를 포트로 구분 설정됨 (추가 할당된 IP를 이용할 경우는 해당 IP로 이용 가능) LB의 Health Check 기능을 이용한 상태 확인
  • - WAF에서는 Health Check 트래픽을 Web 서버로 릴레이하는 역할
  • - TCP : 웹서버의 서비스 포트가 살아 있는지 상태 체크 WAF에서 웹서버가 등록 되어 있지 않거나 웹서버의 웹서버 프로세스가 동작하고 않고 있으면 Down 상태
  • - HTTP : WAF에 웹사이트 등록(WAF IP)이 되어 있어야 함 웹사이트가 등록되지 않으면 미등록 웹사이트 차단 정책이 적용되어 Down 상태로 표시될 수 있음 (LB에서 헬스 체크하는 URL은 “WAF IP + 입력된 Path”와 같이 만들어짐)
  • - HTTPS : HTTP와 동일하며, WAF에 인증서가 등록되어야 함 X-Forward-For 옵션을 이용한 Client IP 확인
  • - WAF에서 original source IP 확인을 위해서는 LB, 웹서버에서 X-Forward-For 옵션 설정 필요 X-Forward-For 옵션 설정 시 LB에서 WAF로 가는 트래픽의 Source IP는 LB가 되기 때문에 LB에서 original Client IP를 추가해서 전송함
LB 헬스체크에 의한 WAF 상태 체크
WAF VM 상태 체크 방법
WAF VM에 접속하여 CLI(Command Line Interface) 명령어 모드로 변경한 후 CLI 명령로 WAF 프로세스 상태(sysmon)과 Disk 용량의 상태를 확인합니다.
CLI 모드 변경 방법(상세 내용은 WAF 관리도구 매뉴얼 참조)
  • WAF VM에 SSH 접속
  • CLI enable mode로 진입 (초기 상태: disable)
  • enable mode 진입 시, 패스워드는 penta
  • Sysmon status : 실시간 WAPPLES 리소스(CPU,MEM 점유율), DB 프로세스, DB 트랜잭션, 탐지엔진 상태, HTTP 트래픽 처리 현황, 세션 현황, Throughput 을 알 수 있다.CLI Mode > configure terminal -> wapples -> show sysmon
  • time : 로그 기록 시간
  • idl : 유휴 cpu 점유율, idle이 30 미만일 경우 과부하 상태로 볼 수 있음
  • sy : 시스템 점유율(세션처리 등에 할당됨)
  • io : 디스크 사용에 의한 CPU 점유율 (파일 복사, DB백업, 탐지로그 검색 등 디스크 사용시 점유율 증가)
  • free : free (전체 가용 메모리), free+cache 가 300 미만일 경우 비정상적인 상태
  • cache : DB등 프로세스가 임시로 사용 하고 있는 메모리 (drop_cache 실행 or 시스템에서 자동으로 반환가능)
  • pro : DB 프로세스 개수
  • engine : [N] – none (서비스 구동 중, 정책 적용 중에 카운트), [G] – good(정상), 숫자가 표시되지 않고 계속 변경될 경우 비정상적인 상태 [W] – warning (CPU사용율 80%이상) [F] – Full (CPU사용율 100%), [E] – error (에러 발생, coredump 생성, 생성 위치 : /var/tmp/coredump/)
  • cps : 실시간 CPS(connection per sec) 수치
  • tps : 실시간 TPS(transaction per sec) 수치
  • sess : 엔진이 처리 중인 세션
  • traKB : 엔진이 처리 중인 웹 트랜잭션
  • ses : 커널(네트워크)단에서 처리중인 세션
  • ses-buf : 커널 앞단에 잠시 대기중인 세션(지속적으로 증가 시 서비스 지연 발생함)
  • ses-Throughput (KB) : 전체 트래픽 량(양방향 총합, 웹 이외의 트래픽 포함)
  • Disk 용량 확인 CLI Mode > configure terminal -> resource -> show sysinfo fs
  • -> 빨간 박스 부분이 90% 이상 되는지 확인합니다.
WAF 보안정책 체크 방법
WAF 관리도구에 접속하여 WAF에 적용된 보안 정책을 체크합니다.
<M2존 WAF의 경우>
- 보호대상 서버 확인 : 관리도구 -> 환경설정 -> 웹서버
보호대상 웹서버 IP 가 정상적으로 등록되어 있는지 확인 한다
- 보호대상 사이트 확인 : 관리도구 -> 정책설정
보호대상 웹서버 IP 가 정상적으로 등록되어 있는지 확인합니다.
  • 도메인이 정상적으로 입력되어져 있으며, 미등록 웹사이트의 위치를 확인합니다.
  • * 무조건 차단으로 설정될 경우 별도의 로그를 남기지 않고 차단됩니다. 서비스에 이용되는 웹사이트(도메인)을 추가를 하지 않을 경우 미등록 사이트로 구분됩니다 (80 포트를 이용하지 않을 경우 포트까지 입력되어야 합니다. )
  • * 탐지없이 통과 의 경우 탐지엔진을 거치지않고 트래픽이 웹 서버로 전달 됩니다.
- 탐지로그 (미등록 웹사이트) 확인 관리도구 > 탐지로그
탐지로그 확인 (탐지로그 생성 여부) 관리도구 > 탐지로그
탐지상세로그에서는 탐지근거에서 대해 사용자가 손쉽게 식별이 가능하도록 붉은색으로 하이라이트 표시를 제공합니다.
  • Web Browser 를 이용 하여 아래와 같이 입력 후 탐지 Log 가 올라오는지 확인합니다.
  • http://서비스 URL/111.111 (Extension Filter)
  • http://서비스 URL/(script (Cross Site Script)
<M2존 외 WAF의 경우>
- 보호 대상 서버 확인 : 관리도구 > 설정 마법사 > 네트워크 설정
  • -> 보호대상 웹서버 IP 가 정상적으로 등록되어 있는지 확인합니다.
- 보호 대상 사이트 확인 : 관리도구 > 정책 설정
  • -> 미등록웹사이트가 차단으로 설정되어있는지 확인합니다.
  • * 무조건 차단으로 설정될 경우 별도의 로그를 남기지 않고 차단됩니다. 서비스에 이용되는 웹사이트(도메인)을 추가를 하지 않을 겨우 미등록 사이트로 구분됩니다(80 포트를 이용하지 않을 경우 포트까지 입력되어야 함)
- 탐지로그(미등록 웹사이트) 확인 : 관리도구 > 탐지로그정
  • -> 미등록웹사이트가 차단으로 설정되어있는지 확인합니다.
  • * 무조건 차단으로 설정될 경우 별도의 로그를 남기지 않고 차단됩니다.
- 탐지로그 확인(탐지로그 생성 여부)관리도구 > 탐지로그

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  114 명