목차/06. SecureXL — 명령과 디버그

06SecureXL — 명령과 디버그SecureXL — 명령과 디버그

SecureXL을 제어·진단·디버그하는 모든 명령 을 빠짐없이 정리합니다. 이 장은 원문에서 가장 방대한 부분으로, fwaccel·fwaccel6 명령 계열(상태·통계·연결·템플릿·DoS 완화·SYN Defender), fw monitor(트래픽 캡처), fw sam_policy(Rate Limiting·SAM 규칙), /proc/ppk/·/proc/ppk6/ 항목, 그리고 SecureXL 디버그 를 다룹니다. 각 명령의 구문·파라미터·옵션·출력 필드·예제를 모두 옮기되, 왜 그렇게 쓰는지를 함께 풀어 둡니다.

CLI 구문 표기법 읽는 법

이 가이드(와 Check Point 문서 전반)는 명령·파라미터·옵션을 가능하면 알파벳 순 으로 싣고, 구문을 다음 약속대로 표기합니다.

표기
TAB(들여쓰기)중첩된 하위 명령을 나타냅니다. 들여쓴 줄은 위 명령의 하위 명령입니다.
중괄호 { }세로줄 `\` 로 구분된 후보 목록 중 하나만 고를 수 있습니다.
꺾쇠 < >변수. 사용자가 지원되는 실제 값을 직접 지정 해야 합니다.
대괄호 [ ]선택적(optional) 명령·파라미터. 넣어도 되고 안 넣어도 됩니다.

들여쓰기(TAB) 표기 예를 들어 다음과 같이 쓰여 있으면:

    config
        -a <options>
        -d <options>
        -p
        -r
    del <options>

실제로는 아래 중 하나의 명령 을 실행하라는 뜻입니다 — cpwd_admin config -a <options>, cpwd_admin config -d <options>, cpwd_admin config -p, cpwd_admin config -r, 또는 cpwd_admin del <options>.

cpview — 실시간 통계 모니터

cpview 는 Check Point 장비에 내장된 텍스트 기반 유틸리티로, CPU·메모리·디스크 같은 일반 시스템 정보와 각 Software Blade별 정보 를 한데 모아 계속 갱신 하며 보여 줍니다. Security Gateway / ClusterXL / Scalable Platform Security Group에서는 이 통계로 성능을 모니터할 수 있습니다(자세한 내용은 sk101878).

cpview --help

CPView 화면 구성

CPView 화면은 세 부분으로 나뉩니다.

영역설명
Header세 번째 영역의 통계가 수집된 시각 을 보여 줍니다. 새로고침할 때 갱신됩니다.
Navigation메뉴 막대로, 화살표 키와 마우스 로 메뉴를 옮겨 다닙니다. 하위 메뉴가 있으면 메뉴 막대 아래에 나타납니다.
View그 화면에서 수집한 통계를 새로고침 주기마다 갱신 하며 보여 줍니다.

CPView 사용법

화면을 옮겨 다니는 키:

하는 일
화살표 키메뉴·화면 사이를 옮기고, 화면 안에서 스크롤합니다.
HomeOverview 화면으로 돌아갑니다.
EnterView 모드로 바뀝니다. 하위 메뉴가 있는 메뉴에서는 가장 낮은 하위 메뉴 로 이동합니다.
EscMenu 모드로 돌아갑니다.
QCPView를 종료합니다.

화면 옵션을 바꾸는 키:

하는 일
R새로고침 주기 를 바꾸는 창을 엽니다(기본 2초).
W넓게(wide)/보통(normal) 표시 모드를 전환합니다. wide 모드에서는 화면 가로폭에 맞춥니다.
S표시할 행·열 수를 수동으로 지정합니다.
M마우스를 켜고 끕니다.
P통계 수집을 일시 정지·재개 합니다.

통계 저장·도움말·새로고침 키:

하는 일
C현재 페이지를 파일로 저장합니다. 파일 이름 형식은 cpview_<cpview 프로세스 ID>.cap<캡처 번호> 입니다.
HCPView 옵션 도움말 툴팁을 보여 줍니다.
Space bar통계를 즉시 새로고침 합니다.

fwaccel · fwaccel6 — SecureXL 중심 명령

fwaccelIPv4 트래픽 가속을, fwaccel6IPv6 트래픽 가속을 제어하는 SecureXL의 중심 명령입니다.

구문

Security Gateway / ClusterXL(Gaia Clish·Expert 모드)에서 IPv4:

fwaccel help
fwaccel
      cfg <options>
      conns <options>
      dbg <options>
      dos <options>
            feature <options>
      off <options>
      on <options>
      ranges <options>
      stat <options>
      stats <options>
      synatk <options>
      tab <options>
      templates <options>
      ver

Scalable Platform Security Group의 Gaia gClish에서도 같은 fwaccel ... 구문을 쓰고, Expert 모드 에서는 g_fwaccel ... 을 씁니다. IPv6는 fwaccel6(또는 Expert 모드의 g_fwaccel6)을 같은 방식으로 쓰며, fwaccel6에는 cfg 하위 명령이 없습니다.

파라미터·옵션

파라미터·옵션설명
help내장 도움말을 보여 줍니다.
-i <SecureXL ID>SecureXL 인스턴스 ID를 지정합니다(IPv4 전용).
cfg <options>SecureXL 가속 파라미터를 제어합니다(IPv4 전용).
conns <options>SecureXL을 지나는 모든 연결을 보여 줍니다.
dbg <options>SecureXL 디버그를 제어합니다.
dos <options>SecureXL의 DoS 완화용 Rate Limiting을 제어합니다.
feature <options>지정한 SecureXL 기능을 제어합니다.
off <options>가속을 즉석에서(on-the-fly) 멈춥니다. 재부팅하면 원복 됩니다.
on <options>멈춰 둔 가속을 즉석에서 다시 시작합니다.
ranges <options>로드된 범위(ranges)를 보여 줍니다.
stat <options>SecureXL 상태를 보여 줍니다.
stats <options>가속 통계를 보여 줍니다.
synatk <options>Accelerated SYN Defender를 제어합니다.
tab <options>지정한 SecureXL 테이블 내용을 보여 줍니다.
templates <options>SecureXL 템플릿을 보여 줍니다.
verSecureXL과 FireWall 버전을 보여 줍니다.

fwaccel cfg — 가속 파라미터 설정

fwaccel cfg 는 SecureXL 가속 파라미터를 제어합니다(IPv4 전용).

fwaccel cfg
      -h
      -a {<Number of Interface> | <Name of Interface> | reset}
      -b {on | off}
      -c <Number>
      -d <Number>
      -e <Number>
      -i {on | off}
      -l <Number>
      -m <Seconds>
      -p {on | off}
      -r <Number>
      -v <Seconds>
      -w {on | off}
파라미터설명
-h내장 도움말을 보여 줍니다.
-a <Number of Interface>커널 내부 번호로 지정한 인터페이스에서 가속을 하지 않도록 설정합니다.
-a <Name of Interface>이름으로 지정한 인터페이스에서 가속을 하지 않도록 설정합니다.
-a reset모든 인터페이스에서 가속하도록 되돌립니다(비가속 설정 초기화).
`-b {on \off}`SecureXL Drop Templates 매칭(sk66402)을 켜고 끕니다.
-c <Number>SecureXL이 템플릿을 비활성화하는 시점 의 최대 연결 수를 설정합니다.
-d <Number>삭제 재시도 최대 횟수를 설정합니다.
-e <Number>일반 오류의 최대 횟수를 설정합니다.
`-i {on \off}`API 버전 불일치를 무시할지 여부를 설정합니다(off가 기본).
-l <Number>SecureXL 템플릿 DB의 최대 항목 수. 0=제한 없음(기본), 10~524288=제한 설정.
-m <Seconds>템플릿 DB 항목의 타임아웃. 0=비활성(기본), 10~524288=설정.
`-p {on \off}`Connection Template 오프로드를 켜고 끕니다(on이 기본).
-r <Number>SecureXL API 호출의 최대 재시도 횟수를 설정합니다.
-v <Seconds>SecureXL 통계 요청 간격을 설정합니다. 0=비활성, 1 이상=설정.
`-w {on \off}`IPS 보호 Sequence Verifier 경고 지원을 켜고 끕니다.

fwaccel conns — 가속 연결 목록

fwaccel conns·fwaccel6 conns 는 로컬 Security Gateway 또는 Cluster Member의 SecureXL 연결 목록 을 보여 줍니다.

fwaccel conns
      -h
      -f <filter>
      -m <Number of Entries>
      -s
      -z
파라미터설명
-h내장 도움말을 보여 줍니다.
-f <Filter>지정한 필터 플래그로 연결 테이블 항목을 거릅니다. 플래그 목록은 fwaccel conns -h로 봅니다. 각 플래그는 대문자/소문자 한 글자 이며, 여러 개를 한꺼번에 쓸 수 있습니다(예: fwaccel conns -f AaQq).
-m <Number of Entries>보여 줄 최대 연결 수를 지정합니다. R82에서 미지원.
-s연결 테이블 요약(연결 수) 을 보여 줍니다. 연결이 많으면 메모리를 크게 소비할 수 있습니다.
-z하드웨어에서 가속되지 않는 연결 요약을 보여 줍니다.

-z10/25/40/100G QSFP28 포트에서 LightSpeed 하드웨어 가속을 지원하는 Check Point 어플라이언스 에만 해당하며, 추가 정보는 CPView의 Advanced > SecureXL > LightSpeed2Host-Reasons에서 봅니다.

필터 플래그

플래그의미
Aaccounted 연결(SecureXL이 패킷·바이트 수를 셈).
anot accounted 연결.
C암호화(VPN) 연결.
c평문(미암호화) 연결.
FSecureXL이 Firewall로 전달한 연결. R82 미지원.
fSecureXL이 가속한 cut-through 연결. R82 미지원.
H가속 카드로 오프로드된 연결. R82는 가속 카드 미지원(PMTR-18774). / NVIDIA ConnectX 100G QSFP28 2-port 카드에서 생성된 연결.
hSAM 카드에서 생성된 연결. R82는 SAM 카드 미지원(PMTR-18774).
LSecureXL이 연결 테이블에 링크를 만든 연결(원래 C2S 항목에 대한 S2C 항목).
l링크를 만들지 않은 연결.
NNAT를 거치는 연결. R82 미지원.
nNAT를 거치지 않는 연결. R82 미지원.
QQoS를 거치는 연결.
qQoS를 거치지 않는 연결.
SPXL을 거치는 연결.
sPXL을 거치지 않는 연결.
U단방향(unidirectional) 연결.
u양방향(bidirectional) 연결.

기본 출력에는 Source·SPort·Destination·DPort·PR(프로토콜)·Flags·C2S i/f·S2C i/f·Inst(인스턴스)·Identity 열이 나오고, 마지막에 인터페이스 인덱스 표와 Total number of connections가 표시됩니다.

fwaccel dbg — SecureXL 디버그 제어

fwaccel dbg 는 SecureXL 디버그를 제어합니다(자세한 절차는 아래 SecureXL 디버그 절차 참고).

fwaccel dbg
      -h
      -m <Name of SecureXL Debug Module>
      all
      + <Debug Flags>
      - <Debug Flags>
      reset
      -f {"<5-Tuple Debug Filter>" | reset}
      list
      resetall
파라미터설명
-h내장 도움말을 보여 줍니다.
-m <Name of ... Module>디버그 모듈 이름을 지정합니다. 모듈 목록은 fwaccel dbg로 봅니다.
all지정한 모듈의 모든 디버그 플래그 를 켭니다.
+ <Debug Flags>지정한 플래그들을 켭니다. 구문은 + Flag1 [Flag2 ... FlagN]. + 뒤에 반드시 빈 칸(space) 을 넣어야 합니다.
- <Debug Flags>지정한 플래그들을 끕니다. - 뒤에 반드시 빈 칸 을 넣어야 합니다.
reset지정한 모듈의 모든 플래그를 기본 상태로 되돌립니다.
-f "<5-Tuple Debug Filter>"특정 연결의 메시지만 보이도록 필터를 겁니다. 형식은 "<Source IP>,<Source Port>,<Dest IP>,<Dest Port>,<Protocol Number>". 한 번에 하나의 필터 만 설정할 수 있고, IP·포트·프로토콜에 와일드카드 *를 쓸 수 있습니다.
-f reset현재 디버그 필터를 초기화합니다.
list모든 모듈에서 켜진 디버그 플래그를 보여 줍니다.
resetall모든 모듈의 모든 플래그를 기본 상태로 되돌립니다.

예를 들어 SSH 연결(192.168.20.30 → 172.16.40.50)에 필터를 거는 명령은 다음과 같습니다.

fwaccel dbg -f 192.168.20.30,*,172.16.40.50,22,6

부팅 중 디버그 플래그 켜기

R81.20부터 SecureXL 디버그를 부팅 중에 시작 하도록 설정할 수 있습니다(클러스터에서는 모든 멤버를 똑같이).

  1. Security Gateway / 각 Cluster Member(또는 해당 Security Group)의 명령줄에 접속해 Expert 모드로 들어갑니다.
  2. 설정 파일을 만듭니다 — IPv4는 touch $FWDIR/conf/fwaccel_dbg_flags.cfg, IPv6는 touch $FWDIR/conf/fwaccel6_dbg_flags.cfg.
  3. 해당 파일을 vi로 엽니다.
  4. 디버그 모듈과 플래그를 모듈마다 한 줄씩 적습니다.
   default conn nat
   pkt drop nat
   
  1. 저장하고 편집기를 빠져나옵니다.
  2. Scalable Platform에서는 갱신한 파일을 모든 멤버에 복사합니다 — asg_cp2blades $FWDIR/conf/fwaccel_dbg_flags.cfg(및 fwaccel6_...).
  3. 재부팅하고 문제가 재현되기를 기다립니다.
  4. 끝난 뒤 fwaccel dbg resetall(Scalable Platform은 g_fwaccel dbg resetall)로 모든 플래그를 초기화하고, 설정 파일의 항목을 모두 지웁니다 — echo '' > $FWDIR/conf/fwaccel_dbg_flags.cfg(Scalable Platform에서는 이어서 asg_cp2blades로 배포).
  5. 출력 파일을 수집합니다 — KPPAK이면 $FWDIR/log/fwk.elg·/var/log/messages, UPPAK이면 여기에 /var/log/usim_x86.elg까지.

fwaccel dos — DoS 완화 Rate Limiting

fwaccel dos·fwaccel6 dos 는 로컬 Security Gateway / Cluster Member의 DoS 완화용 Rate Limiting 을 제어합니다.

fwaccel dos
      allow <options>
      config <options>
      deny <options>
      pbox <options>
      rate <options>
      stats <options>
하위 명령설명
allow <options>Penalty Box의 출발지 IP 허용 목록 을 설정합니다.
config <options>SecureXL DoS 완화 전역 설정 을 제어합니다.
deny <options>SecureXL의 IP 차단 목록(deny-list) 을 제어합니다.
pbox <options>Penalty Box 허용 목록(whitelist) 을 제어합니다.
rate <options>Rate Limiting 정책을 보고 설치 합니다.
stats <options>DoS 실시간 통계를 보고 지웁니다.

fwaccel dos allow — Penalty Box 허용 목록

fwaccel dos allow 는 SecureXL Penalty Box의 출발지 IP 허용 목록 을 설정합니다. 이 허용 목록은 Penalty Box가 어떤 패킷을 떨어뜨릴지를 덮어쓰며(차단 목록보다 우선), IPv4만 지원합니다.

fwaccel dos allow
      -a <IPv4 Address>[/<Subnet Prefix>]
      -d <IPv4 Address>[/<Subnet Prefix>]
      -F
      -l /<Path>/<Name of File>
      -L
      -s
파라미터설명
파라미터 없음내장 사용법을 보여 줍니다.
-a <IPv4 Address>[/<Subnet Prefix>]허용 목록에 IP를 추가합니다. 호스트면 프리픽스가 선택, 네트워크면 프리픽스가 필수(/1~/32). 생략하면 /32로 간주합니다.
-d <IPv4 Address>[/<Subnet Prefix>]허용 목록에서 IP를 제거합니다(프리픽스 규칙 동일).
-F허용 목록의 모든 항목을 비웁니다(flush).
-l /<Path>/<Name of File>지정한 평문 파일에서 항목을 로드합니다. -F와 함께 쓰면 현재 목록을 새 파일 내용으로 교체.
-L미리 정해진 파일 $FWDIR/conf/pbox-allow-list-v4.conf에서 로드합니다. 부팅 때마다 자동 실행됩니다.
-s현재 허용 목록 항목을 보여 줍니다.

fwaccel dos config — DoS 전역 설정

fwaccel dos config·fwaccel6 dos config 는 Rate Limiting의 전역 파라미터 를 제어하며, 설정한 모든 Rate Limiting 규칙에 적용됩니다.

fwaccel dos config
      get
      set
{--disable-blacklists | --enable-blacklists}
{--disable-drop-frags | --enable-drop-frags}
{--disable-drop-opts | --enable-drop-opts}
{--disable-internal | --enable-internal}
{--disable-log-drops | --enable-log-drops}
{--disable-log-pbox | --enable-log-pbox}
{--disable-monitor | --enable-monitor}
{--disable-pbox | --enable-pbox}
{--disable-rate-limit | --enable-rate-limit}
{--disable-rule-cache | --enable-rule-cache}
{-n <NOTIF_RATE> | --notif-rate <NOTIF_RATE>}
{-p <PBOX_RATE> | --pbox-rate <PBOX_RATE>}
{-t <PBOX_TMO> | --pbox-tmo <PBOX_TMO>}
파라미터·옵션설명
get설정 파라미터를 보여 줍니다.
set <options>파라미터를 설정합니다.
--disable-blacklists / --enable-blacklistsIP 블랙리스트를 끄거나(기본) 켭니다.
--disable-drop-frags / --enable-drop-frags모든 단편 패킷 드롭을 끄거나(기본) 켭니다.
--disable-drop-opts / --enable-drop-optsIP Options가 있는 패킷의 드롭을 끄거나(기본) 켭니다.
--disable-internal / --enable-internal내부 인터페이스 적용을 끄거나(기본) 켭니다.
--disable-log-drops / --enable-log-dropsRate Limiting 드롭 알림을 끄거나 켭니다(켜짐이 기본).
--disable-log-pbox / --enable-log-pboxPenalty Box 추가 알림을 끄거나 켭니다(켜짐이 기본).
--disable-monitor / --enable-monitor모니터 전용 모드 를 끄거나(기본) 켭니다(켜면 드롭될 패킷을 모두 허용). 모든 Rate Limiting 기능에 영향.
--disable-pbox / --enable-pboxIP Penalty Box를 끄거나(기본) 켭니다.
--disable-rate-limit / --enable-rate-limitRate Limiting 정책 적용을 끄거나(기본) 켭니다.
--disable-rule-cache / --enable-rule-cacheRate Limiting 규칙 매칭 캐시를 끄거나 켭니다(켜짐이 기본). 많은 연결/초·패킷에서 성능 최적화.
-n <NOTIF_RATE> / --notif-rateSecureXL 장치별 초당 최대 드롭 알림 수. 범위 0~(2³²-1), 기본 100.
-p <PBOX_RATE> / --pbox-rate출발지 IP를 Penalty Box에 넣기 전 최소 보고 드롭 패킷 수. 범위 0~(2³²-1), 기본 500.
-t <PBOX_TMO> / --pbox-tmoPenalty Box에서 IP를 빼낼 때까지의 초. 범위 0~(2³²-1), 기본 180.

설정을 재부팅 후에도 유지하기

fwaccel dos config set으로 정한 값은 재부팅하면 기본값으로 돌아갑니다. 유지하려면 설정 파일에 명령을 적습니다.

파일설명
$FWDIR/conf/fwaccel_dos_rate_on_installIPv4용 셸 스크립트. fwaccel dos config set 명령만 포함합니다.
$FWDIR/conf/fwaccel6_dos_rate_on_installIPv6용 셸 스크립트. fwaccel6 dos config set 명령만 포함합니다.

파일은 Expert 모드에서 만들고, VSX에서는 미리 vsenv <VSID>로 컨텍스트를 이동합니다. 파일은 #!/bin/bash로 시작하고 빈 새 줄로 끝나야 하며, 만든 뒤 chmod +x로 실행 권한을 줍니다. 예:

fwaccel dos config set --enable-internal
fwaccel dos config set --enable-pbox

fwaccel dos deny — IP 차단 목록

fwaccel dos deny·fwaccel6 dos deny 는 SecureXL의 IP 차단 목록 을 제어합니다. 지정한 IP에 오가는 모든 트래픽 을 막으며, Access Control 정책으로 막는 것보다 SecureXL에서 떨어뜨려 더 효율적 입니다. 차단 목록을 적용하려면 먼저 fwaccel dos config로 deny-list를 켜야 합니다.

fwaccel dos deny
      -a <IPv4 Address>
      -d <IPv4 Address>
      -F
      -M {on | off}
      -m
      -N "<Name of IP Deny-list>"
      -n
      -s
파라미터설명
파라미터 없음내장 사용법을 보여 줍니다.
-a <IP Address>차단 목록에 IP를 추가합니다(여러 개면 각 IP마다 실행).
-d <IP Address>차단 목록에서 IP를 제거합니다(여러 개면 각 IP마다 실행).
-F차단 목록의 모든 IP를 비웁니다(flush).
`-M {on \off}`차단 목록의 모니터 전용 모드 를 켜고(on) 끕니다(off, 기본). 모니터 모드에서는 트래픽을 막지 않고 테스트 만 합니다(차단 목록에만 영향, fw samp 규칙엔 영향 없음).
-m모니터 전용 모드의 현재 상태를 보여 줍니다.
-N "<Name>"차단 목록 이름을 설정합니다(로그에 표시). 최대 79자, ASCII만.
-n설정한 차단 목록 이름을 보여 줍니다.
-s설정한 차단 목록을 보여 줍니다.

fwaccel dos pbox — Penalty Box 허용 목록

fwaccel dos pbox 는 SecureXL Penalty Box 의 허용 목록을 제어합니다(IPv4 전용). SecureXL Penalty Box는 의심스러운 출발지의 패킷을 일찍 떨어뜨리는 장치로, DoS/DDoS 공격 같은 고부하에서 Security Gateway가 잘 버티도록 돕습니다. Access Control 정책이 떨어뜨리는 패킷을 보내거나 IPS 보호를 위반하는 클라이언트 를 자주 탐지하면 그 클라이언트를 Penalty Box에 넣고, 그 출발지 IP의 모든 패킷을 떨어뜨립니다. 허용 목록은 Penalty Box가 절대 막지 않을 출발지 IP 를 정합니다.

fwaccel dos pbox
      allow
            -a <IPv4 Address>[/<Subnet Prefix>]
            -d <IPv4 Address>[/<Subnet Prefix>]
            -F
            -l /<Path>/<Name of File>
            -L
            -s
      flush

allow 하위 옵션(-a, -d, -F, -l, -L, -s)은 fwaccel dos allow와 동작·규칙이 같습니다(-L이 읽는 파일은 $FWDIR/conf/pbox-allow-list-v4.conf). 추가로 flushPenalty Box의 모든 출발지 IP를 비웁니다.

fwaccel dos rate — Rate Limiting 정책 보기·설치

fwaccel dos rate·fwaccel6 dos rate 는 Rate Limiting 정책을 보고 설치합니다.

fwaccel dos rate
      get '<Rule UID>'
      install
파라미터설명
파라미터 없음내장 사용법을 보여 줍니다.
get '<Rule UID>'Rule UID 또는 0부터 시작하는 규칙 인덱스로 규칙 정보를 보여 줍니다. 따옴표와 꺾쇠 '<...>' 는 필수.
install새 Rate Limiting 정책을 설치합니다.

규칙이 둘 이상인 새 정책을 설치하면 Rate Limiting 기능이 자동으로 켜집니다. 수동으로 끄려면 fwaccel dos config set --disable-rate-limit을, 현재 정책을 삭제하려면 규칙이 0개인 새 정책 을 설치합니다.

fwaccel dos stats — DoS 실시간 통계

fwaccel dos stats·fwaccel6 dos stats 는 SecureXL DoS 실시간 통계를 보고 지웁니다.

fwaccel dos stats
      clear
      get
파라미터설명
파라미터 없음내장 사용법을 보여 줍니다.
clear실시간 통계 카운터를 지웁니다.
get실시간 통계 카운터를 보여 줍니다.

get 출력에는 메모리 사용량, 활성 연결·신규 연결/초, 테이블 항목 수(Penalty Box 위반 IP, Rate Limit 추적), 드롭 사유(IP Fragment·IP Option·Penalty Box·Deny List·Rate Limit) 등이 나옵니다.

fwaccel feature — SecureXL 기능 켜고 끄기

fwaccel feature·fwaccel6 feature 는 지정한 SecureXL 기능을 켜고 끕니다. 기능을 끄면 해당 트래픽을 더 이상 가속하지 않으며, 변경은 재부팅하면 사라집니다. VSX에서는 전역으로 모든 Virtual System 에 적용됩니다.

fwaccel feature <Name of Feature>
      get
      off
      on
파라미터설명
파라미터 없음내장 사용법을 보여 줍니다.
<Name of Feature>SecureXL 기능을 지정합니다. R82는 sctp(Stream Control Transmission Protocol, sk35113) 한 가지만 지원합니다.
get기능의 현재 상태를 보여 줍니다.
off기능을 끕니다(해당 트래픽 가속 중단).
on기능을 다시 켭니다.

sctp 기능을 영구적으로 끄려면 $FWDIR/boot/modules/fwkern.confsim_sctp_disable_by_default=1을 추가하고 재부팅합니다(커널 파라미터 작업).

fwaccel ip_mr_cache — IPv4 멀티캐스트 라우팅 캐시

fwaccel ip_mr_cache 는 SecureXL이 User Mode 로 동작할 때 IPv4 멀티캐스트 라우팅 캐시 를 보여 줍니다.

fwaccel [-i <SecureXL ID>] ip_mr_cache

-i <SecureXL ID>로 SecureXL 인스턴스 ID를 지정합니다(IPv4 전용). 출력에는 Group·Origin·Iif·Wrong·Last Used·Flags·Refcount·Oifs 열이 나옵니다.

fwaccel off — 가속 멈추기

fwaccel off·fwaccel6 off 는 SecureXL을 즉석에서 멈춥니다. R80.20부터 일시적으로만 멈출 수 있어, cpstart로 Check Point 서비스를 시작하거나 재부팅하면 자동으로 다시 켜집니다.

fwaccel off [-a] [-q]
파라미터설명
-aVSX Gateway에서 모든 Virtual System 의 가속을 멈춥니다(어느 컨텍스트에서 실행해도 무방).
-q출력을 억제합니다.

VSX에서 특정 Virtual System 만 멈추려면 그 컨텍스트로 들어갑니다(Gaia Clish set virtual-system <VSID>, Expert 모드 vsenv <VSID>). 클러스터에서는 모든 멤버를 똑같이 설정합니다.

가능한 반환 출력: SecureXL device disabled, SecureXL device is not active, Failed to disable SecureXL device, fwaccel_off: failed to set process context <VSID>.

fwaccel on — 가속 시작

fwaccel on·fwaccel6 onfwaccel off로 멈춰 둔 가속을 즉석에서 다시 시작합니다.

fwaccel on [-a] [-q]
파라미터설명
-aVSX Gateway에서 모든 Virtual System 의 가속을 시작합니다.
-q출력을 억제합니다.

VSX에서 특정 Virtual System만 시작하려면 그 컨텍스트로 들어갑니다. 가능한 반환 출력에는 SecureXL device is enabled., Failed to start SecureXL., No license for SecureXL., SecureXL is disabled by the firewall. Please try again later., 버전 불일치·QoS express 모드·citrix printing 규칙·UAS 규칙·QoS blade 실행 중 같은 시작 불가 사유 들이 있습니다. 예를 들어 QoS가 express 모드면 "FloodGate-1 express 모드 또는 SecureXL을 끄라"는 메시지가 나옵니다.

fwaccel ranges — 로드된 범위 보기

fwaccel ranges·fwaccel6 ranges 는 SecureXL에 로드된 범위를 보여 줍니다 — Rule Base 출발지 IP 범위, 목적지 IP 범위, 목적지 포트·프로토콜 범위. Security Gateway가 정책 설치 때 이 범위를 만들며, Drop Templates용 Rulebase 범위, 인터페이스별 Anti-Spoofing 범위, NAT64·NAT46 범위 중 하나라도 켜지면 Firewall이 범위를 만들어 SecureXL로 오프로드합니다.

이 범위는 Drop Templates에 연결을 매칭 하는 것과 관련되며 Rule Base의 Source·Destination·Service 열을 나타냅니다. 단, Domain·Dynamic 객체처럼 실제 IP로 나타낼 수 없는 객체는 Any로 변환 되므로 Rule Base와 완전히 같지는 않습니다. 일부를 제외한 implied 규칙도 범위에 나타납니다. 문제 해결에 쓸 수 있습니다.

fwaccel ranges
      -h
      -a
      -l
      -p <Range ID>
      -s <Range ID>
파라미터설명
-h내장 사용법을 보여 줍니다.
-a 또는 파라미터 없음모든 로드된 범위의 전체 정보 를 보여 줍니다.
-l로드된 범위 목록을 보여 줍니다 — 0=출발지 IP 범위, 1=목적지 IP 범위, 2=목적지 포트·프로토콜 범위.
-p <Range ID>지정한 범위의 전체 정보를 보여 줍니다.
-s <Range ID>지정한 범위의 요약 정보를 보여 줍니다.

fwaccel stat — SecureXL 상태

fwaccel stat·fwaccel6 stat 는 Security Gateway / Cluster Member의 SecureXL 상태를 보여 줍니다.

fwaccel stat

출력 열:

정보
Id항상 0.
NameSecureXL 모드(KPPAK 또는 UPPAK).
StatusEnabled 또는 Disabled.
Interfaces가속하는 인터페이스 이름.
Features가속하는 기능 이름.

여기에 더해 Accept Templates, Drop Templates, NAT Templates, LightSpeed Acceleration 각 기능의 enabled/disabled 상태를 보여 줍니다. KPPAK은 Kernel Mode, Crypto 항목에는 Tunnel·UDPEncap·MD5·SHA1·3DES·DES·AES-128/256·ESP·LinkSelection·DynamicVPN·NatTraversal·AES-XCBC·SHA256/384/512 등이 표시됩니다.

fwaccel stats — 가속 통계

fwaccel stats·fwaccel6 stats 는 로컬 Security Gateway / Cluster Member의 가속 통계를 보여 줍니다.

fwaccel stats
[-c] [-d] [-l] [-m] [-n] [-o] [-p] [-q] [-r] [-s] [-x]
파라미터설명
-cCluster Correction 통계.
-d장치 드롭(drops from device) 통계.
-l레거시 모드(한 테이블) 통계.
-m멀티캐스트 트래픽 통계.
-nIdentity Awareness(NAC) 통계.
-oReorder Infrastructure 통계.
-pSecureXL 위반(F2F 패킷) 통계.
-qSecureXL이 Firewall로 보낸 알림 통계.
-r모든 카운터를 리셋합니다.
-s통계 요약만 보여 줍니다.
-xPXL 통계. PXL은 SecureXL과 PSL(Passive Streaming Library)의 결합 기술 이름입니다.

통계 카운터 설명

"Accelerated Path" 섹션

카운터설명
accel packets / accel bytes가속된 패킷 수 / 바이트 수.
outbound packets / outbound bytes아웃바운드 패킷 수 / 바이트 수.
conns created / conns deletedSecureXL이 만든 / 삭제한 연결 수.
C total connsSecureXL이 현재 다루는 전체 연결 수.
C templates(Not in use) 현재 SecureXL 템플릿 수.
C TCP conns / C non TCP conns현재 TCP / 비TCP 연결 수.
conns from templates(Not in use) 템플릿에서 만든 연결 수.
nat connsNAT 연결 수.
dropped packets / dropped bytesSecureXL이 떨어뜨린 패킷 / 바이트 수.
nat templates·port alloc templates·conns from nat tmpl·port alloc conns(Not in use)
fragments received / transmit / dropped / expired받은 / 보낸 / 떨어뜨린 / 만료된 단편 수.
IP options stripped / restored / droppedIP Options를 벗긴 / 복원한 / 떨어뜨린 패킷 수.
corrs created / deleted / C corrections만든 / 삭제한 / 현재 보정(correction) 수.
corrected packets / bytes보정된 패킷 / 바이트 수.

"Accelerated VPN Path" 섹션

카운터설명
C crypt conns현재 암호화 연결 수.
enc bytes / dec bytes암호화 / 복호화 바이트 수.
ESP enc pkts / ESP enc errESP 암호화 패킷 / 오류 수.
ESP dec pkts / ESP dec errESP 복호화 패킷 / 오류 수.
ESP other errESP 일반 오류 수.
espudp enc/dec pkts·err, espudp other err(Not in use)

"Medium Streaming Path" 섹션

카운터설명
PXL packetsPXL 패킷 수. PXL은 SecureXL과 PSL의 결합으로, TCP 트래픽을 투명하게 듣고 TCP 스트림을 재구성 하는 IPS 인프라입니다(등록된 연결의 데이터 패킷만 처리).
PXL async packetsSecureXL이 비동기로 처리한 PXL 패킷 수.
PXL bytes / C PXL connsPXL 바이트 수 / 현재 PXL 연결 수.
C PXL templates(Not in use) PXL 템플릿 수.
PXL FF conns / packets / bytes / acksPXL Fast Forward 연결 / 패킷 / 바이트 / ACK 수.

"Inline Streaming Path" 섹션

카운터설명
PSL Inline packets / bytes가속된 PSL 패킷 / 바이트 수.
CPAS Inline packets / bytes가속된 CPAS 패킷 / 바이트 수.

"QoS General Information" 섹션

카운터설명
Total QoS Conns전체 QoS 연결 수.
QoS Classify Conns / QoS Classify flow분류된 QoS 연결 / 흐름 수.
Reclassify QoS policy재분류 QoS 요청 수.

"FireWall QoS Path"·"Accelerated QoS Path" 섹션

두 섹션 모두 같은 카운터 형식을 씁니다(앞쪽은 Firewall QoS 큐, 뒤쪽은 SecureXL QoS 큐).

카운터설명
Enqueued IN/OUT packets인바운드/아웃바운드 큐에 대기 중인 패킷 수.
Dequeued IN/OUT packets인바운드/아웃바운드 큐에서 처리된 패킷 수.
Enqueued IN/OUT bytes대기 중인 바이트 수.
Dequeued IN/OUT bytes처리된 바이트 수.

"Firewall Path" 섹션

카운터설명
F2F packets / bytesSecureXL이 Slow Path 로 Firewall 커널에 전달한 패킷 / 바이트 수.
TCP violationsTCP 상태를 위반한 패킷 수.
C anticipated conns현재 anticipated(예상) 연결 수.
port alloc f2f(Not in use)
F2V conn match pktsSecureXL 연결에 매칭돼 Firewall 커널로 전달한 패킷 수.
F2V packets / bytesSecureXL이 Firewall로 전달했고 Firewall이 다시 SecureXL로 재주입(re-inject) 한 패킷 / 바이트 수.

"GTP" 섹션

카운터설명
gtp tunnels created / gtp tunnels만든 / 현재 GTP 터널 수.
gtp accel pkts / gtp f2f pkts가속된 / Firewall로 전달한 GTP 패킷 수.
gtp spoofed pkts / gtp in gtp pkts위조된 / GTP-in-GTP 패킷 수.
gtp signaling pkts / gtp tcpopt pkts / gtp apn err pkts시그널링 / TCP Options 포함 / APN 오류 GTP 패킷 수.

"General" 섹션

카운터설명
memory used / free memory(Not in use)
C used templates·pxl tmpl conns·outbound pxl packets(Not in use)
C conns from tmpl(Not in use) 템플릿에서 만든 현재 연결 수.
C tcp handshake conn아직 establish 안 된 현재 TCP 연결 수.
C tcp established conn / C tcp closed connsestablish된 / 닫힌 현재 TCP 연결 수.
C tcp pxl handshake / established / closed아직 establish 안 된 / establish된 / 닫힌 현재 PXL TCP 연결 수.

`fwaccel stats` 출력 예

fwaccel stats -s(요약)는 다음처럼 가속 연결/전체, 가속 패킷/전체, F2Fed/F2V/CPASXL/PSLXL/QoS/Corrected 패킷 비율 을 보여 줍니다.

Accelerated conns/Total conns : 0/0 (0%)
Accelerated pkts/Total pkts   : 0/8 (0%)
F2Fed pkts/Total pkts         : 8/8 (100%)
F2V pkts/Total pkts           : 0/8 (0%)
CPASXL pkts/Total pkts        : 0/8 (0%)
PSLXL pkts/Total pkts         : 0/8 (0%)
QOS inbound pkts/Total pkts   : 0/8 (0%)
QOS outbound pkts/Total pkts  : 0/8 (0%)
Corrected pkts/Total pkts     : 0/8 (0%)

-d(장치 드롭)는 general reason, CPASXL/PSLXL decision, clr pkt on vpn, encrypt/decrypt failed, drop template, interface down, cluster error, XMT error, anti spoofing, local spoofing, sanity error, monitored spoofed, QOS decision, C2S/S2C violation, Loop prevention, DOS Fragments/IP Options/Blacklists/Penalty Box/Rate Limiting, Syn Attack, Reorder, Expired Fragments 사유별 패킷 수를 보여 줍니다. 출력 끝의 (*) Statistics marked with C refer to current value, others refer to total value 표시처럼 C가 붙은 값은 현재값, 나머지는 누적값입니다.

-m(멀티캐스트)·-n(NAC)·-o(Reorder, 애플리케이션별 큐 통계)·-c(Cluster Correction)는 각 영역에 맞는 카운터를 보여 줍니다.

fwaccel synatk — Accelerated SYN Defender

fwaccel synatk·fwaccel6 synatk 는 로컬 Security Gateway / Cluster Member의 Accelerated SYN Defender 를 제어합니다(SmartConsole의 'SYN Attack' 보호는 sk120476 참고).

fwaccel synatk
      -a
      -c <options>
      -d
      -e
      -g
      -m
      -t <options>
      config
      monitor <options>
      state <options>
      whitelist <options>
파라미터설명
파라미터 없음내장 사용법을 보여 줍니다.
-a기본 설정 파일 의 설정을 적용합니다.
-c <options>지정한 파일 의 설정을 적용합니다.
-d모든 인터페이스에서 끕니다.
-e토폴로지 "External" 인터페이스에서 켜고, "Internal" 인터페이스에서는 Monitor(탐지만) 모드 로 켭니다.
-g모든 인터페이스에서 켭니다.
-m모든 인터페이스에서 Monitor(탐지만) 모드 로 켭니다(공격을 인식하면 로그만 보냄).
-t <options>SYN Defender를 발동시키는 half-open TCP 연결 임계값 을 설정합니다.
config현재 설정을 보여 줍니다.
monitor <options>상태를 보여 줍니다.
state <options>상태(state)를 제어합니다.
whitelist <options>허용 목록을 제어합니다(= fwaccel synatk allow).

fwaccel synatk -a / -c — 설정 파일 적용

-a 는 기본 파일 $FWDIR/conf/synatk.conf의 설정을, -c <Configuration File> 은 지정한 파일의 설정을 적용합니다. IPv4·IPv6가 같은 설정 파일 을 쓰며, 파일에 정의한 인터페이스별 state 설정이 -d·-e·-g·-m보다 우선 합니다. -c를 쓸 때는 반드시 구문의 첫 파라미터 여야 합니다.

fwaccel synatk -c <Configuration File>

fwaccel synatk -d / -e / -g / -m — 활성화 상태 설정

이 명령들은 기본(또는 -c로 지정한) 설정 파일을 수정한 뒤 로드 합니다. 적용 결과는 fwaccel synatk monitor·config 출력으로 확인합니다.

명령monitor 결과config(enabled/enforce)
-d(끄기)Configuration: Disabled, Enforce: Disable, State: Disable0 / 0
-e(External 켜기)External은 Enforcing/Prevent/Ready, Internal은 Enforcing/Detect/Monitor1 / 1
-g(전부 켜기)External은 Enforcing/Prevent/Ready, Internal은 Enforcing/Detect/Monitor1 / 2
-m(Monitor)Configuration: Monitoring, Enforce: Detect, State: Monitor1 / 0

-d는 출력이 없습니다. Ready 상태는 SYN Defender가 탐지하는 내용에 따라 나중에 바뀔 수 있습니다.

fwaccel synatk -t — 임계값 설정

-t <Threshold> 는 SYN Defender를 발동시키는 half-open TCP 연결 임계값 을 설정합니다(설정 파일 수정 후 로드, IPv4·IPv6 독립적).

fwaccel synatk -t <Threshold>

지정한 <Threshold>로 세 임계값이 함께 정해집니다.

임계값의미값·기본
Global high attack threshold모든 인터페이스의 half-open 연결 수가 이 값을 넘으면 발동. <Threshold> 그대로.100 이상, 기본 10000
High attack threshold인터페이스의 half-open 연결 수가 이 값을 넘으면 발동. <Threshold>1/2.Low < High ≤ Global, 기본 5000
Low attack threshold인터페이스의 낮은 half-open 연결 임계값. <Threshold>1/10.10 이상, 기본 1000

fwaccel synatk allow — SYN Defender 허용 목록

fwaccel synatk allow·fwaccel6 synatk allow 는 SYN Defender 허용 목록 을 제어하며, SYN Defender가 어떤 패킷을 떨어뜨릴지를 덮어씁니다. 3rd-party·자동 블랙리스트 전에 신뢰 네트워크·호스트를 먼저 넣으세요. 클러스터에서는 모든 멤버를 똑같이 설정합니다.

fwaccel synatk allow
      -a <IPv4 Address>[/<Subnet Prefix>]
      -d <IPv4 Address>[/<Subnet Prefix>]
      -F
      -l /<Path>/<Name of File>
      -L
      -s
파라미터설명
파라미터 없음내장 사용법을 보여 줍니다.
-a <Address>[/<Prefix>]허용 목록에 IP를 추가합니다. IPv4 프리픽스는 /1~/32(기본 /32), IPv6는 /1~/128(기본 /128). 네트워크는 프리픽스 필수.
-d <Address>[/<Prefix>]허용 목록에서 IP를 제거합니다.
-F모든 항목을 비웁니다(flush).
-l /<Path>/<Name of File>지정한 평문 파일에서 로드합니다. -F와 함께 쓰면 교체.
-L미리 정해진 파일 $FWDIR/conf/synatk-allow-list-v4.conf에서 로드합니다. 부팅 때마다 `{fwaccel \fwaccel6} synatk allow -L`이 자동 실행됩니다.
-s현재 허용 목록 항목을 보여 줍니다.

파일 규칙(직접 생성, chmod +x, 한 줄에 하나, #·빈 줄 무시)은 다른 allow 명령과 같습니다.

fwaccel synatk config — 현재 설정 보기

fwaccel synatk config 는 현재 설정을 보여 줍니다.

fwaccel synatk config
파라미터설명
enabled활성 여부. 0(비활성, 기본)·1(활성).
enforce적용 방식. 0=모든 인터페이스 Monitor, 1=External만 발동, 2=External·Internal 모두 발동.
global_high_thresholdGlobal high attack 임계값(-t 참고).
periodic_updatesCheck Point 내부용. 0·1(기본 1).
cookie_resolution_shiftCheck Point 내부용. 1~7(기본 6).
min_frag_sz공격 중 이 최소 크기보다 작은 TCP 단편을 막습니다. 80 이상(기본 80).
high_threshold / low_thresholdHigh / Low attack 임계값(-t 참고).
score_alphaCheck Point 내부용. 1~127(기본 100).
monitor_log_interval (msec)Monitor 모드에서 경고 로그 간격. 1000 이상(기본 60000).
grace_timeout (msec)Grace 상태(Ready와 Active 사이 전이 상태) 최대 체류 시간. Grace에서는 SYN Cookie 챌린지를 멈추되 받은 쿠키 검증은 계속. 10000 이상(기본 30000).
min_time_in_active (msec)Active 모드(SYN 패킷에 SYN Cookie로 적극 챌린지) 최소 체류 시간. 10000 이상(기본 60000).

fwaccel synatk monitor — 상태 보기

fwaccel synatk monitor 는 SYN Defender 상태를 보여 줍니다(Monitor 모드는 fwaccel synatk -m으로 켜야 함).

fwaccel synatk monitor
[-p]
[-p] -a
[-p] -s
[-p] -v
파라미터설명
-pSecureXL 인스턴스별 상태를 보여 줍니다(PPAK ID: 0은 Host Security Appliance).
[-p] -a모든 인터페이스의 통계를 보여 줍니다.
[-p] -s공격 상태를 짧은 형식 으로(예: M,N,0,0).
[-p] -v공격 상태를 자세한 형식 으로(Status·Spoofed SYN/sec).

기본 출력에는 Configuration·Status·Non established connections·Global Threshold·Interface Threshold와, 인터페이스별 Topology·Enforce·State(sec)·Non-established conns(Peak·Current) 표가 나옵니다.

fwaccel synatk state — 상태 강제 전이

fwaccel synatk state 는 SYN Defender 상태를 제어합니다(IPv4·IPv6 독립).

fwaccel synatk state
      -h
      -a
      -d
      -g
      -i {all | external | internal | <Name of Interface>}
      -m
      -r
파라미터설명
-h내장 사용법을 보여 줍니다.
-a상태를 Active 로 설정합니다.
-d상태를 Disabled 로 설정합니다.
-g상태를 Grace 로 설정합니다.
-i all모든 인터페이스에 적용(기본).
-i external / internal / <Name>External / Internal / 지정 인터페이스에만 적용.
-m상태를 Monitor(탐지만) 로 설정합니다.
-r상태를 Ready 로 설정합니다.

fwaccel tab — 커널 테이블 보기

fwaccel tab·fwaccel6 tab 는 지정한 SecureXL 커널 테이블 내용을 보여 줍니다.

fwaccel tab [-f] [-m <Number of Rows>] -t <Name of Kernel Table>
fwaccel tab -s -t <Name of Kernel Table>
파라미터설명
파라미터 없음내장 사용법을 보여 줍니다.
-f출력을 보기 좋게 포맷 합니다(항상 권장).
-m <Number of Rows>보여 줄 행 수를 지정합니다(테이블 위에서부터, 기본 1000).
-s요약 정보만 보여 줍니다.
-t <Name of Kernel Table>커널 테이블을 지정합니다.

지원하는 커널 테이블(-t): connections, dos_ip_blacklists, dos_pbox, dos_pbox_violating_ips, dos_rate_matches, dos_rate_track_src, dos_rate_track_src_svc, drop_templates, frag_table, gtp_apns, gtp_tunnels, if_by_name, inbound_SAs, invalid_replay_counter, ipsec_mtu_icmp, mcast_drop_conns, outbound_SAs, PMTU_table, <Profile>, reset_table, vpn_link_selection, vpn_trusted_ifs.

fwaccel templates — SecureXL 템플릿 보기

fwaccel templates·fwaccel6 templatesAccept Templates, SecureXL Drop Templates, Firewall Drop Templates 테이블 내용을 보여 줍니다.

fwaccel [-i <SecureXL ID>] templates
[-h] [-c] [-d [{-R | -S}] [-m <Number of Rows>] [-r] [-R] [-s] [-S]
파라미터설명
-i <SecureXL ID>SecureXL 인스턴스 ID(IPv4 전용).
파라미터 없음Accept Templates 테이블(cphwd_tmpl, ID 8111) 내용을 보여 줍니다.
-h내장 사용법을 보여 줍니다.
-cFirewall Drop Templates 테이블(connections)을 보여 줍니다.
-dSecureXL Drop Templates 테이블을 보여 줍니다.
-d -RDrop Template 생성 실패 사유 통계.
-d -SSecureXL Drop Templates 통계.
-m <Number of Rows>보여 줄 행 수(위에서부터, 기본 1000).
-rFirewall Drop Templates 테이블(ranges)을 보여 줍니다.
-RSecureXL Connections Templates 생성 실패 사유.
-s오프로드된 Connections Templates 총 개수.
-S오프로드된 Connections Templates 통계.

Accept Templates 플래그

출력에 다음 중 하나 이상이 나타납니다.

플래그설명
Aaccounted 연결(패킷·바이트 셈).
BIdentity Awareness 객체가 든 규칙(또는 그 아래 규칙)에서 만든 연결.
EIdentity Awareness 객체가 든 NAT 규칙에서 만든 연결.
I이 연결에 Identity Awareness(NAC) 활성.
MDomain 객체가 든 규칙(또는 그 아래)에서 만든 연결.
NNAT를 거치는 연결.
ODynamic 객체가 든 규칙(또는 그 아래)에서 만든 연결.
PSource port를 명시한 Service에 매칭될 수 있는 규칙에서 만든 연결.
Q이 연결에 QoS 활성.
RTraceroute 객체가 든 규칙(또는 그 아래)에서 만든 연결.
S이 연결에 PXL(SecureXL+PSL) 활성.
TTime 객체가 든 규칙(또는 그 아래)에서 만든 연결.
U단방향 연결.
X변환된 Dynamic 객체가 든 NAT 규칙에서 만든 연결.
ZSecurity Zone 객체가 든 규칙(또는 그 아래)에서 만든 연결.

Drop Templates / Firewall Drop Templates 플래그

플래그설명
D이 연결에 SecureXL Drop template 존재.
L이 연결에 Log and Drop 동작.

Firewall Drop Templates 플래그: M(Domain 객체 규칙), O(Dynamic 객체 규칙), U(Updatable 객체 규칙). 기본 출력에는 Source·SPort·Destination·DPort·PR·Flags·LCT·DLY·C2S i/f·S2C i/f 열이 나오고, -S 통계에는 C templates·conns from templates·nat templates·C CPASXL/PSLXL templates 등이 나옵니다.

fwaccel ver — 버전 보기

fwaccel verFirewall 버전·빌드, Accelerator 버전, Firewall API 버전, Accelerator API 버전 을 보여 줍니다.

fwaccel ver
Firewall version: R82 - Build 123
Acceleration Device: Performance Pack
Accelerator Version 2.1
Firewall API version: 3.0NG (19/11/2015)
Accelerator API version: 3.0NG (19/11/2015)

fw monitor — 트래픽 캡처

fw monitor 는 Check Point의 트래픽 캡처 도구 입니다. Security Gateway에서 트래픽은 인바운드와 아웃바운드 방향으로 여러 검사 지점(Chain Module)을 지나는데(fw ctl chain 참고), FW Monitor는 각 Chain Module의 양방향 에서 트래픽을 캡처합니다. 캡처한 트래픽은 같은 FW Monitor나 Wireshark 같은 도구로 분석합니다.

fw monitor {-h | -help}
fw monitor [-d] [-D] [-ci <Number of Inbound Packets>] [-co <Number of Outbound Packets>]
  [-e <INSPECT Expression> | -f {<INSPECT Filter File> | -}]
  [-F "<Source IP>,<Source Port>,<Dest IP>,<Dest Port>,<Protocol Number>"]
  [-H "<IP Address>"] [-i] [-l <Length>] [-m {i,I,o,O,e,E}] [-o <Output File> [-w]]
  [[-pi <Position>] [-pI <Position>] [-po <Position>] [-pO <Position>] | -p all [-a]]
  [-T] [-u | -s] [-U] [-v <VSID>] [-x <Offset>[,<Length>] [-w]] [-b <Size of Buffer>]

IPv6는 같은 구문의 fw6 monitor 를 씁니다.

파라미터

파라미터설명
`{-h \-help}`내장 사용법을 보여 줍니다.
-b <Size of Buffer>FW Monitor 메모리 버퍼 크기(KB). 기본 8192, 범위 128~8192. 필요 RAM 근사식은 (4) × (활성 CoreXL Firewall 인스턴스 수) × (버퍼 크기). 각 인스턴스에 내부 버퍼 2개, 모든 인스턴스를 합치는 일반 버퍼 1개가 있습니다.
-d / -D디버그 모드로 실행해 FW Monitor 시작·INSPECT 필터 컴파일 정보를 보여 줍니다(-d=간단, -D=상세, 함께 쓸 수 있음).
-ci <N> / -co <N>캡처할 인바운드/아웃바운드 패킷 수 를 지정합니다. 그 수만큼 세면 캡처를 멈춥니다.
-e <INSPECT Expression> / `-f {<File> \-}`비가속 트래픽 의 특정 패킷만 캡처. -e는 명령줄에 INSPECT 식, -f <File>은 파일에서, -f -는 표준 입력에서(끝에 ^D 입력) 읽습니다.
-F "<5-Tuple>"가속·비가속 모두 에 적용되는 캡처 필터(출발지 IP·포트, 목적지 IP·포트, 프로토콜 번호).
-H "<IP Address>"IP 주소 필터를 만듭니다(최대 3개).
-i표준 출력을 플러시합니다(-v <VSID>와 함께만 유효).
-l <Length>캡처할 패킷 최대 길이(바이트). 헤더만 캡처해 출력 크기·버퍼 부담을 줄일 때 유용.
-m {i,I,o,O,e,E}캡처 마스크(검사 지점).
-o <Output File> [-w]캡처 원본 데이터를 파일에 씁니다(snoop 형식, RFC 1761).
-pi/-pI/-po/-pO <Position> 또는 -p all [-a]FW Monitor Chain Module을 지정 위치(또는 모든 위치)에 삽입.
-T패킷마다 타임스탬프 표시(화면 출력 시 권장).
-u / -s패킷마다 UUID(-u) 또는 SUUID(-s) 표시(둘 중 하나만).
-U-F로 지정한 simple 캡처 필터를 제거합니다.
-v <VSID>VSX에서 지정 Virtual System/Router의 패킷만 캡처(기본은 전부).
-w헤더만이 아니라 패킷 전체 캡처(-o-x와 함께).
-x <Offset>[,<Length>]패킷의 지정 위치부터 캡처(예: IP·TCP 헤더 건너뛰려면 -x 52,96).

캡처 마스크(검사 지점)

마스크의미
-m iPre-Inbound(인바운드 Chain Module 진입 전).
-m IPost-Inbound(인바운드 Chain Module 통과 후).
-m oPre-Outbound(아웃바운드 Chain Module 진입 전).
-m OPost-Outbound(아웃바운드 Chain Module 통과 후).
-m ePre-Outbound VPN(아웃바운드 VPN Chain Module 진입 전).
-m EPost-Outbound VPN(아웃바운드 VPN Chain Module 통과 후).

여러 마스크를 함께 쓸 수 있고(... -m o O ...), 위치 파라미터 -p{i|I|o|O}와도 함께 씁니다. 인바운드에서 FireWall Virtual Machine 모듈(fw VM inbound) 앞은 Pre-Inbound, 뒤는 Post-Inbound 이며, 아웃바운드도 같은 식입니다. 기본적으로는 FireWall VM 모듈에서만 캡처합니다. 방향은 연결이 아니라 각 패킷 을 기준으로 하며, 검사 지점 뒤의 q·Q는 그 인터페이스에 QoS 정책이 적용됨을 뜻합니다.

FW Monitor 출력의 검사 지점 표기

검사 지점FireWall VM 기준표기(예)
Pre-Inbound인바운드 FireWall VM 전i(eth4:i)
Post-Inbound인바운드 FireWall VM 후I(eth4:I)
Pre-Inbound VPN인바운드 복호화 전id(eth4:id)
Post-Inbound VPN인바운드 복호화 후ID(eth4:ID)
Pre-Inbound QoS인바운드 QoS 전iq(eth4:iq)
Post-Inbound QoS인바운드 QoS 후IQ(eth4:IQ)
Pre-Outbound아웃바운드 FireWall VM 전o(eth4:o)
Post-Outbound아웃바운드 FireWall VM 후O(eth4:O)
Pre-Outbound VPN아웃바운드 암호화 전e(eth4:e)
Post-Outbound VPN아웃바운드 암호화 후E(eth4:E)
Pre-Outbound QoS아웃바운드 QoS 전oq(eth4:oq)
Post-Outbound QoS아웃바운드 QoS 후OQ(eth4:OQ)

`-e`(INSPECT) 필터 예

가장 흔한 패턴들입니다.

# 전부 캡처
fw monitor -e "accept;" -o /var/log/fw_mon.cap

# 호스트 X·Y 사이
fw monitor -e "host(x.x.x.x) and host(y.y.y.y), accept;" -o /var/log/fw_mon.cap
fw monitor -e "((src=x.x.x.x , dst=y.y.y.y) or (src=y.y.y.y , dst=x.x.x.x)), accept;"

# 포트 X로/에서 (단, SSH 제외)
fw monitor -e "not tcpport(22), accept;" -o /var/log/fw_mon.cap

# 프로토콜 X
fw monitor -e "ip_p=X, accept;" -o /var/log/fw_mon.cap

# 네트워크로/에서
fw monitor -e "net(192.168.33.0, 24), accept;"
fw monitor -e "to_net(192.168.33.0, 24), accept;"
fw monitor -e "from_net(192.168.33.0, 24), accept;"

호스트는 host(<IP>)(출·목적지 둘 다) 또는 src=·dst=로, 포트는 port(<Port>)·sport=·dport=·tcpport(<Port>)·udpport(<Port>)로 지정합니다(포트는 10진수, /etc/services 참고). 프로토콜은 ip_p=<번호> 또는 accept [9:1]=<번호>로 지정합니다(10진수, /etc/protocols 참고).

자주 쓰는 프로토콜 단축 식: tcp/udp/icmp(또는 icmp4)/icmp6, http(TCP 80), https(443), proxy(8080), dns(UDP 53), ike(UDP 500), natt(UDP 4500), vpn(ESP+IKE), vpnall(VPN 관련 전체), multi(443·444), ssh(22), ftp(20·21), telnet(23), smtp(25), pop3(110).

프로토콜 옵션 식($FWDIR/lib/tcpip.def 참고)으로 IPv4(ip_src/ip_dst/ip_ttl/ip_len/ip_tos/ip_p), IPv6(ip_src6p/ip_dst6p/ip_len6/ip_ttl6/ip_p6), TCP(syn/ack/rst/fin/first/not_first/established/last/tcpdone/th_flags/th_sport/th_dport/th_seq/th_ack), UDP(uh_sport/uh_dport), ICMPv4(icmp_type/icmp_code/icmp_id/icmp_seq/echo_req/echo_reply/ping/traceroute/tracert/icmp_ip_len), ICMPv6(icmp6_type/icmp6_code)를 매칭할 수 있습니다. 예를 들어 th_flags = 0x2는 SYN, 0x12는 SYN+ACK, 0x18은 PSH+ACK입니다.

바이트 단위 캡처

fw monitor -e "accept [ <Offset> : <Length> , <Byte Order> ] <Relational-Operator> <Value>;"
파라미터설명
<Offset>IP 패킷 시작 기준으로 값을 읽을 위치.
<Length>바이트 수 — 1=byte, 2=word, 4=dword(생략 시 4).
<Byte Order>b=big endian(네트워크 순서), l=little endian(호스트 순서, 생략 시 기본).
<Relational-Operator><, >, <=, >=, =(또는 is), !=(또는 is not).
<Value>INSPECT가 아는 데이터 형(IP 주소, 정수 등).

IP 기반 프로토콜은 offset 9의 byte, L3 IP 주소는 offset 12(출발지)·16(목적지)의 dword, L4 포트는 offset 20(출발지)·22(목적지)의 word 에 있습니다. 예: fw monitor -e "accept [9:1]=6;"(TCP), fw monitor -e "accept [12:4,b]=x.x.x.x;"(출발지 IP).

`-F`(simple) 필터 예

fw monitor -F "0,0,0,0,0" -o /var/log/fw_mon.cap                 # 전부
fw monitor -F "x.x.x.x,0,y.y.y.y,0,0" -o /var/log/fw_mon.cap     # 출발 X → 목적 Y
fw monitor -F "0,x,0,y,0" -o /var/log/fw_mon.cap                  # 출발 포트 X → 목적 포트 Y
fw monitor -F "0,0,0,0,x" -o /var/log/fw_mon.cap                  # 프로토콜 X
# HTTP만(클라 1.1.1.1 ↔ 서버 2.2.2.2)
fw monitor -F "1.1.1.1,0,2.2.2.2,80,6" -F "2.2.2.2,80,1.1.1.1,0,6" -o /var/log/fw_mon.cap

fw sam_policy — SAM·Rate Limiting 규칙 관리

fw sam_policySuspicious Activity Policy 편집기 로 두 종류의 규칙을 다룹니다 — Suspicious Activity Monitoring(SAM) 규칙(sk112061)Rate Limiting 규칙(sk112454).

fw [-d] sam_policy
      add <options>
      batch
      del <options>
      get <options>
파라미터설명
-d디버그 모드(명령 자체를 문제 해결할 때만). 출력을 파일로 리다이렉트하거나 script로 세션을 저장하길 권장.
add <options>Rate Limiting/SAM 규칙을 한 번에 하나 추가합니다.
batch여러 규칙을 한꺼번에 추가·삭제합니다.
del <options>설정한 규칙을 한 번에 하나 삭제합니다.
get <options>설정한 모든 규칙을 보여 줍니다.

fw sam_policy add — 규칙 추가

fw sam_policy add 는 SAM 규칙 또는 Rate Limiting 규칙을 한 번에 하나 추가합니다. SAM 규칙은 ip <IP Filter Arguments>, Rate Limiting 규칙은 quota <Quota Filter Arguments> 를 씁니다.

fw [-d] sam_policy add [-u] -a {d|n|b} [-l {r|a}] [-t <Timeout>]
  [-f <Target>] [-n <"Rule Name">] [-c <"Rule Comment">]
  [-o <"Rule Originator">] [-z "<Zone>"] ip <IP Filter Arguments>
fw [-d] sam_policy add ... quota <Quota Filter Arguments>
파라미터설명
-d디버그 모드.
-u선택. 규칙 분류를 User-defined 로 지정(기본은 Auto).
`-a {d \n \b}`필수. 매칭 시 동작 — d=Drop, n=Notify(로그 남기고 통과), b=Bypass(정책 검사 없이 통과). Bypass 규칙은 로그·limit를 가질 수 없습니다.
`-l {r \a}`선택. 로그 종류 — r=일반 로그, a=alert 로그.
-t <Timeout>선택. 규칙 적용 시간(초). 기본은 무기한.
-f <Target>선택. 적용 대상 — all(기본), Gateway/Cluster 객체 이름, Group 객체 이름.
-n "<Rule Name>"선택. 규칙 이름(최대 128자, 공백·백슬래시 앞에 \ 필요).
-c "<Rule Comment>"선택. 주석(규칙·길이·이스케이프 규칙 동일).
-o "<Rule Originator>"선택. 작성자 이름.
-z "<Zone>"선택. Security Zone 이름(최대 128자).
ip <IP Filter Arguments>필수(quota와 택일). SAM 규칙용.
quota <Quota Filter Arguments>필수(ip와 택일). Rate Limiting 규칙용.

SAM 규칙의 IP Filter Arguments

[-C] [-s <Source IP>] [-m <Source Mask>] [-d <Destination IP>]
[-M <Destination Mask>] [-p <Port>] [-r <Protocol>]
인수설명
-C열린 연결을 닫습니다.
-s / -m출발지 IP / 서브넷 마스크(점-십진).
-d / -M목적지 IP / 서브넷 마스크.
-p / -r포트 번호 / 프로토콜 번호.

Rate Limiting 규칙의 Quota Filter Arguments

[flush true]
[source-negated {true | false}] source <Source>
[destination-negated {true | false}] destination <Destination>
[service-negated {true | false}] service <Protocol and Port numbers>
[<Limit Name> <Limit Value>] ...
[track <Track>]

source·destination 값: any, range:<IP>(또는 range:<시작>-<끝>), cidr:<IP>/<Prefix>(IPv4 0~32, IPv6 0~128), cc:<Country Code>(ISO 3166-1 alpha-2, Geo IP), asn:<AS번호>(ASnnnn). *-negated true면 지정 유형을 제외한 모든 것을 처리합니다(기본 false).

service 값: <Protocol>(1~255), <Protocol Start>-<Protocol End>, <Protocol>/<Port>, <Protocol>/<Port Start>-<Port End>.

quota limit 종류(공백으로 여러 개 구분):

limit설명
concurrent-conns <Value>매칭되는 최대 동시 활성 연결 수.
concurrent-conns-ratio <Value>동시 연결 비율(전체 활성 연결 대비, N/65536).
pkt-rate <Value>매칭되는 초당 최대 패킷 수.
pkt-rate-ratio <Value>패킷 속도 비율(N/65536).
byte-rate <Value>매칭되는 초당 최대 바이트 수.
byte-rate-ratio <Value>바이트 속도 비율(N/65536).
new-conn-rate <Value>매칭되는 초당 최대 연결 수.
new-conn-rate-ratio <Value>신규 연결 속도 비율(N/65536).
track <Track>추적 옵션 — source(출발지 IP별), source-service(출발지 IP+프로토콜·목적지 포트별). 규칙 누적이 아니라 개별로 셈.

예제:

# 출발지 범위에서 초당 신규 연결 5개로 제한, 1시간 후 만료, 즉시 적용
fw sam_policy add -a d -l r -t 3600 quota service any source range:172.16.7.11-172.16.7.13 new-conn-rate 5 flush true

# 지정 서비스를 제외한 모든 패킷 차단(byte-rate 0), 특정 국가 출발지
fw sam_policy add -a n -l r quota service 1,50-51,6/443,17/53 service-negated true source cc:QQ byte-rate 0

# ASN+IPv6 CIDR 출발지 전부 드롭
fw sam_policy -a d quota source asn:AS64500,cidr:[::FFFF:C0A8:1100]/120 service any pkt-rate 0

# 허용 목록(bypass) — 범위에서 TCP 80
fw sam_policy add -a b quota source range:172.16.8.17-172.16.9.121 service 6/80

# 추적과 함께
fw sam_policy add -a d quota service any source-negated true source cc:QQ concurrent-conns-ratio 655 track source

fw sam_policy batch — 여러 규칙 한꺼번에

fw sam_policy batch 는 여러 규칙을 한꺼번에 추가·삭제합니다.

  1. 배치 모드를 시작합니다 — IPv4는 fw sam_policy batch << EOF(IPv6는 fw6 ...).
  2. 한 줄에 하나씩 add 또는 del 으로 시작해 명령을 입력합니다(fw samp로 시작하지 않음). 파라미터는 add·del 명령과 같습니다. 각 줄은 Return(ASCII 10)으로 끝냅니다.
  3. EOF를 입력하고 Enter를 눌러 끝냅니다.
fw samp batch <<EOF
add -a d -l r -t 3600 -c "Limit\ conn\ rate\ to\ 5\ conn/sec from\ these\ sources" quota service any source range:172.16.7.13-172.16.7.13 new-conn-rate 5
del <501f6ef0,00000000,cb38a8c0,0a0afffe>
add -a b quota source range:172.16.8.17-172.16.9.121 service 6/80
EOF

fw sam_policy del — 규칙 삭제

fw sam_policy del 은 설정한 규칙을 한 번에 하나 삭제합니다.

fw [-d] sam_policy del '<Rule UID>'

'<Rule UID>'는 삭제할 규칙의 UID이며 따옴표와 꺾쇠 '<...>' 는 필수 입니다. UID는 fw sam_policy get으로 확인합니다.

삭제 절차: ① fw sam_policy get으로 규칙을 나열해 UID를 확인하고(형식 예 uid=<5ac3965f,00000000,3403a8c0,0000264a>), ② fw samp del '<Rule UID>'로 삭제하고, ③ 곧바로 flush-only 규칙 을 추가합니다 — fw samp add -t 2 quota flush true.

fw sam_policy get — 규칙 보기

fw sam_policy get 은 설정한 모든 규칙을 보여 줍니다.

fw [-d] sam_policy get [-l] [-u '<Rule UID>'] [-k '<Key>' -t <Type> [+{-v '<Value>'}] [-n]]
파라미터설명
-d디버그 모드.
-l출력 형식 — 없으면 규칙당 한 줄, -l이면 파라미터당 한 줄 의 list 형식.
-u '<Rule UID>'Rule UID 또는 0부터의 인덱스로 규칙을 출력(따옴표·꺾쇠 필수).
-k '<Key>'지정 predicate 의 규칙 출력(따옴표 필수).
-t <Type>지정 predicate 타입 의 규칙 출력. Rate Limiting 규칙은 항상 -t in.
+{-v '<Value>'}지정 predicate 의 규칙 출력(따옴표 필수).
-n-k·-t·+-v 조건을 부정 합니다.

예를 들어 fw samp get -k 'service' -t in -v '6/80'은 service가 6/80인 규칙만, fw samp get -k source -t in -v 'cc:QQ' -n은 source가 cc:QQ아닌 규칙만 출력합니다.

/proc/ppk/ 와 /proc/ppk6/ 항목

SecureXL은 Linux /proc 항목을 지원합니다. /proc/ppk/(IPv4)·/proc/ppk6/(IPv6)의 읽기 전용 항목 에 SecureXL에 관한 여러 데이터가 들어 있습니다.

ls -lR /proc/ppk/
cat /proc/ppk/<Name of File>
cat /proc/ppk/<SecureXL Instance ID>/<Name of File>
파일설명
affinitySecureXL New Affinity 메커니즘의 상태·임계값(가속 PPS, 암호화 바이트 속도).
confSecureXL 설정과 기본 통계(Flags, 각종 Interval, Connection Limit, 연결 수, Debug flags 등).
connsSecureXL 연결 목록. 향후 사용용fwaccel conns를 쓰세요.
cplsClusterXL Load Sharing(CPLS) 설정. 향후 사용용fwaccel cfg -h 참고.
cqstatsSecureXL 연결 큐 통계(Queued pkts, Dequeue & f2f/drop/resume 등).
drop_statistics드롭 패킷 통계. fwaccel stats -d와 같은 정보.
ifsSecureXL이 쓰는 인터페이스 목록(아래 플래그 설명 참고).
mcast_statistics멀티캐스트 통계. fwaccel stats -m과 같은 정보.
nacIdentity Awareness(NAC) 통계. fwaccel stats -n과 같은 정보.
notify_statisticsSecureXL이 Firewall에 보낸 알림 통계(ntSAExpired, ntConnDeleted, ntSendCPHWDStats 등).
profile_cpu_statCheck Point 전용. CPU 코어 ID와 Traffic Profiling 상태(1열=코어 ID, 2열=상태).
rlcRate Limiting 드롭 통계(Total drop packets·bytes).
statisticsSecureXL 전체 통계. 보기 좋게는 fwaccel stats를 쓰세요.
statsSecureXL이 쓰는 인터페이스의 IRQ 번호와 이름.
viol_statistics위반(F2F) 통계. fwaccel stats -p와 같은 정보 (TCP-other miss conn, UDP miss conn, cluster message 등).

/proc/ppk/ifs 의 "F"·"SIM F" 플래그

ifs 출력에는 No·Interface·Address·IRQ·F·SIM F·Dev·Output Func·Features 열이 나옵니다. F는 Firewall이, SIM F는 SecureXL이 그 인터페이스에 설정한 내부 구성 플래그입니다(값은 여러 플래그의 합).

F 열 플래그(일부):

플래그설명
0x001설정 시, 인바운드 검사 끝에서 "cut-through" 패킷을 드롭(아웃바운드는 모두 네트워크로 전달).
0x002TCP 상태 변화(연결 establish/teardown) 시 알림 전송.
0x004UDP 캡슐화 시 UDP 헤더 체크섬을 올바로 설정(미설정 시 0).
0x008연결 테이블이 한도에 닿으면 템플릿 매칭 신규 연결을 만들지 않고 패킷 드롭.
0x010단편을 Firewall로 전달.
0x020TCP 템플릿에서 연결 생성 중단(TCP 템플릿 생성만 비활성).
0x040Firewall에 주기적으로 알려 가속 연결을 갱신.
0x080비TCP 템플릿에서 연결 생성 중단.
0x100TCP 3-way handshake 미완료 연결의 sequence 검증 위반 허용.
0x2003-way handshake 완료 연결의 sequence 검증 위반 허용.
0x400TCP [RST] 패킷을 Firewall로 전달.

SIM F 열 플래그(일부): 0x0001(HitCount 알림), 0x0002(VSX Virtual System을 junction으로), 0x0004(인바운드 암호화 reply 카운터 비활성), 0x0008(MSS Clamping, sk101219), 0x0010/0x0020(NMR/NMT 템플릿 비활성, sk117755), 0x0040(Drop Templates 알림 안 보냄), 0x0080(IPsec VPN MultiCore, sk118097), 0x0100(CoreXL Dynamic Dispatcher, sk105261), 0x0800(멀티캐스트 PMTU 미적용), 0x1000(SIM drop_templates 비활성), 0x2000(Link Selection Load Sharing), 0x4000(비동기 알림 비활성), 0x8000(Firewall 연결 테이블 무제한). 예를 들어 0x0390x001+0x008+0x010+0x020의 합입니다.

SecureXL Debug

SecureXL이 트래픽을 어떻게 처리하는지 이해하려면, 트래픽이 Security Gateway / ClusterXL / Scalable Platform Security Group을 지나는 동안 SecureXL 디버그를 켜서 확인합니다.

fwaccel dbg(디버그)

fwaccel dbg 명령의 구문·파라미터·부팅 중 활성화 절차는 앞의 fwaccel dbg 절과 같습니다(-m, all, +/-, reset, -f, list, resetall). fwaccel dbg(파라미터 없이)를 실행하면 사용법과 함께 사용 가능한 모든 모듈과 플래그 목록 이 나오며, 부팅 활성화 예시도 보여 줍니다(예: echo "pkt tcp_state routing" >> $FWDIR/conf/fwaccel_dbg_flags.cfg). fwaccel dbg list는 모듈별 활성 플래그(16진수 값 표시)와 디버그 필터 상태를 보여 줍니다.

SecureXL 디버그 절차

기본적으로 SecureXL은 디버그 출력을 /var/log/messages에 씁니다. 깔끔한 분석을 위해 아래 절차를 따릅니다(자세한 내용은 R82 Quantum Security Gateway Guide의 Kernel Debug 장).

  1. Security Gateway / 각 Cluster Member / Security Group에 SSH나 콘솔(권장)로 접속합니다.
  2. Expert 모드로 들어갑니다(expert).
  3. 모든 커널 디버그 플래그를 리셋합니다 — fw ctl debug 0(Scalable Platform은 g_fw ctl debug 0).
  4. 모든 SecureXL 디버그 플래그를 리셋합니다 — fwaccel dbg resetall(또는 g_fwaccel dbg resetall).
  5. 커널 디버그 버퍼를 할당합니다 — fw ctl debug -buf 8200 [-v {"<List of VSIDs>" | all}](VSX에서는 -v로 Virtual System 지정).
  6. 버퍼 할당을 확인합니다 — fw ctl debug | grep buffer.
  7. 커널 디버그 모듈·플래그를 설정합니다 — fw ctl debug -m <Module> {all | + <Flags>}.
  8. SecureXL 디버그 모듈·플래그를 설정합니다 — fwaccel dbg -m <Module> {all | + <Flags>}.
  9. 커널 디버그 설정을 확인합니다 — fw ctl debug.
  10. SecureXL 디버그 설정을 확인합니다 — fwaccel dbg list.
  11. Firewall·SecureXL 연결 테이블의 항목을 모두 지웁니다 — fw tab -t connections -x -y. 이 명령은 SSH를 포함한 모든 연결을 끊으므로 시리얼 콘솔로 접속했을 때만 실행합니다.
  12. Firewall 템플릿 테이블을 비웁니다 — fw tab -t cphwd_tmpl -x -y(연결은 끊지 않음).
  13. 커널 디버그를 시작합니다 — Gateway 모드는 fw ctl kdebug -T -f -o /var/log/kernel_debug.txt, VSX는 fw ctl kdebug -v {...} -k -T -f -o /var/log/kernel_debug.txt.
  14. 문제를 재현하거나 발생을 기다립니다.
  15. CTRL+C로 커널 디버그를 멈춥니다. 16~19. 커널·SecureXL 디버그 플래그를 다시 리셋(fw ctl debug 0, fwaccel dbg resetall)하고, fw ctl debug·fwaccel dbg list로 기본 상태 복귀를 확인합니다.
  16. 출력 파일(/var/log/kernel_debug.txt, /var/log/messages, $FWDIR/log/fwk.elg, /var/log/usim_x86.elg*)을 컴퓨터로 옮겨 분석합니다.

SecureXL 디버그 모듈과 플래그

사용 가능한 모듈·플래그는 fwaccel dbg로 봅니다.

Module `default`

플래그설명
acct연결 accounting 정보
antanticipated 연결
confSecureXL 설정(예: 인터페이스)
conn / conn_app연결 처리
corr보정 계층
cpdrv현재 미사용
del연결 삭제
drv / kdrv드라이버 정보
htab해시 테이블
infra_idsIdentity Awareness에서 범위에 ID 할당
init초기화
ioctl사용자 공간에서 시작된 설정 변경
iter연결 테이블 iterator
lock락 초기화·종료
natNAT 연결 처리
offloadFirewall→SecureXL 연결 오프로드
queue연결 큐
relations관련 연결(예: FTP 데이터)
rngs / rngs_printSecureXL 범위 처리 / 출력
routingSecureXL 라우팅
statSecureXL 통계 처리
svmSmartConsole의 System Counters용 템플릿·연결 등록
tagFirewall 전달 전 패킷에 붙인 태그
tcp_svTCP sequence 검증
update연결 갱신
util사용률

Module `pkt`(Packet)

플래그설명
acct연결 accounting 정보
bhmCPU별 BHM 통계
cafMirror and Decrypt(전체 트래픽 Mirror만)
corr보정 계층
cplsClusterXL Load Sharing
deliver패킷 전달
dropSecureXL이 떨어뜨린 패킷
f2fFirewall로 전달하는 사유
frag단편 처리
geneveGRE·VxLAN 인터페이스의 Geneve 패킷 처리
natNAT 연결 처리
notifFirewall로 보낸 알림
pkt패킷 처리
pxlPXL(PacketXL) 처리 — SecureXL과 PSL 사이 API
qosQoS 가속
routingSecureXL 라우팅
sctpSCTP 패킷 처리
spoofSecureXL Anti-Spoofing
svTCP sequence 검증
tcp_state / tcp_state_pktTCP 상태 검증 / TCP 패킷 검증
user패킷 세부 정보
vlanVLAN 태그 처리
wrpVSX의 WRP 인터페이스 처리

Module `db`(Database)

플래그설명
antanticipated 연결
del / get / saveDB 데이터 삭제 / 조회 / 저장
initDB 초기화·종료
nmr"No Match Ranges" 템플릿(Dynamic·Domain 객체 규칙용)
nmt"No Match Time" 템플릿(Time 객체 규칙용)
profileprofile 테이블 연산
tmoDB 항목 타임아웃 처리
tmpl템플릿 DB 처리
warning패킷 처리 일반 실패

Module `api`

플래그설명
acct연결 accounting 정보
add / del / update연결 추가 / 삭제 / 갱신
add_sa / del_sa / del_all_sasVPN SA 오프로드 / 삭제 / 전체 삭제
del_all_tmplSecureXL 템플릿 삭제
confSecureXL 설정
get_features기능 버퍼 조회(초기화 시)
get_stat / reset_stat통계 조회 / 리셋 통계 ID 출력
get_stateSecureXL에서 연결 상태 조회
get_tab테이블 처리 시 추가 출력
gtpGTP 터널 연결 처리
infraSecureXL 인프라
initSecureXL 켜기·끄기
long_ver / misc연결 상세 정보 / SecureXL 내부 정보
notifFirewall로 보낸 알림
pxlPXL 처리
qosQoS 가속
stat / sv / tag통계 처리 / TCP sequence 검증 / 태그
tmpl / tmpl_info템플릿 처리 / 템플릿 정보
upd_confClusterXL Load Sharing에서 SecureXL 갱신
upd_if_inf인터페이스 정보 갱신 여부
upd_link_selVPN Link Selection 갱신
update / vpn연결 갱신 / VPN 연결 처리

Module `adp`(NVIDIA ConnectX 100G Cards)

ac_print(추가 정보), bond(Bond 인터페이스), bpl·bplinf·mbeinf·mbs(백플레인 패킷 처리), cpfifo(미사용), drop(백플레인 드롭), eth(카드 관점 포트), filter·packet(NIC·카드 패킷 처리), heth(Host 관점 포트), hw_expn·rte_api(카드 패킷 처리 정보), hw_offload(Host→SecureXL 오프로드), if·inf·ipsctl(인터페이스·슬롯·포트 정보), mcast(멀티캐스트), nh(next hop 라우팅), qcomm·qconf(통신 큐), rt(일반 라우팅), wrp(VSX WRP), xmode(known neighbors DB 이벤트).

그 밖의 모듈

모듈플래그(요약)
infras(Identity Awareness 인프라)pm(Pattern Matcher), reorder(큐 패킷 재정렬)
nac(Network Access Control)db/db_get(ID 갱신·조회), idnt(Identity 태그), ioctl, nac, offload, pkt(ID 미발견·취소·태깅 실패 시 전달), pkt_ex(NAC 패킷 태깅 검증), signature(패킷 서명)
vpnlinksel(Link Selection), ls(Load Sharing 멤버 간 전달), routing(암호화 라우팅), vpn(연결 처리), vpnpkt(VPN 패킷 처리)
cpaq(내부 비동기 큐)broadcast, cbuf/client/server(큐 버퍼·클라이언트·서버), error, exp(항목 만료), init, opreg(미사용), transport/transport_utils(메시지 전송)
dos(DoS Defender)cache(미사용), detailed-cfg/detailed-pkt(대용량 트래픽 부적합, CPU 고부하), drop, fw1-cfg/fw1-pkt(Firewall 커널 설정·흐름), sim-cfg/sim-pkt(SecureXL 커널 설정·흐름)
synatk(Accelerated SYN Defender)conf(설정 수신·갱신), conn(TCP 연결), init, log(모니터 로그 시각·간격), msg(내부 메시지), pkt(TCP 패킷), proxy(미사용), state(상태 정보)
tmpl(Drop Templates)dtmpl_get(조회), dtmpl_notif(알림), tmpl(정보)
gtpapi(커널 테이블 터널), drop, general(APN·테이블), notif, pkt(패킷 처리), policy(APN 정보), tables(테이블 연산)
usdisp(User Space Dispatcher)conn(연결 처리), error, ioctl(커널-유저 공간 통신), packet/packet_err(패킷 처리), temp_conns(선택된 CoreXL Firewall 인스턴스). 나머지(api·cachetab·clb·counter·dumbo·event·fwstats·lock·msg·prio·queue·quota·route·state·uid·vpn)는 현재 미사용
dpdk_lib / dpdk_pmd / dpdk_other(DPDK)향후 사용 예약