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 --helpCPView 화면 구성
CPView 화면은 세 부분으로 나뉩니다.
| 영역 | 설명 |
|---|---|
| Header | 세 번째 영역의 통계가 수집된 시각 을 보여 줍니다. 새로고침할 때 갱신됩니다. |
| Navigation | 메뉴 막대로, 화살표 키와 마우스 로 메뉴를 옮겨 다닙니다. 하위 메뉴가 있으면 메뉴 막대 아래에 나타납니다. |
| View | 그 화면에서 수집한 통계를 새로고침 주기마다 갱신 하며 보여 줍니다. |
CPView 사용법
화면을 옮겨 다니는 키:
| 키 | 하는 일 |
|---|---|
| 화살표 키 | 메뉴·화면 사이를 옮기고, 화면 안에서 스크롤합니다. |
Home | Overview 화면으로 돌아갑니다. |
Enter | View 모드로 바뀝니다. 하위 메뉴가 있는 메뉴에서는 가장 낮은 하위 메뉴 로 이동합니다. |
Esc | Menu 모드로 돌아갑니다. |
Q | CPView를 종료합니다. |
화면 옵션을 바꾸는 키:
| 키 | 하는 일 |
|---|---|
R | 새로고침 주기 를 바꾸는 창을 엽니다(기본 2초). |
W | 넓게(wide)/보통(normal) 표시 모드를 전환합니다. wide 모드에서는 화면 가로폭에 맞춥니다. |
S | 표시할 행·열 수를 수동으로 지정합니다. |
M | 마우스를 켜고 끕니다. |
P | 통계 수집을 일시 정지·재개 합니다. |
통계 저장·도움말·새로고침 키:
| 키 | 하는 일 |
|---|---|
C | 현재 페이지를 파일로 저장합니다. 파일 이름 형식은 cpview_<cpview 프로세스 ID>.cap<캡처 번호> 입니다. |
H | CPView 옵션 도움말 툴팁을 보여 줍니다. |
Space bar | 통계를 즉시 새로고침 합니다. |
fwaccel · fwaccel6 — SecureXL 중심 명령
fwaccel 은 IPv4 트래픽 가속을, fwaccel6 은 IPv6 트래픽 가속을 제어하는 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>
verScalable 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 템플릿을 보여 줍니다. |
ver | SecureXL과 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 | 하드웨어에서 가속되지 않는 연결 요약을 보여 줍니다. |
-z는 10/25/40/100G QSFP28 포트에서 LightSpeed 하드웨어 가속을 지원하는 Check Point 어플라이언스 에만 해당하며, 추가 정보는 CPView의 Advanced > SecureXL > LightSpeed2Host-Reasons에서 봅니다.
필터 플래그
| 플래그 | 의미 |
|---|---|
A | accounted 연결(SecureXL이 패킷·바이트 수를 셈). |
a | not accounted 연결. |
C | 암호화(VPN) 연결. |
c | 평문(미암호화) 연결. |
F | SecureXL이 Firewall로 전달한 연결. R82 미지원. |
f | SecureXL이 가속한 cut-through 연결. R82 미지원. |
H | 가속 카드로 오프로드된 연결. R82는 가속 카드 미지원(PMTR-18774). / NVIDIA ConnectX 100G QSFP28 2-port 카드에서 생성된 연결. |
h | SAM 카드에서 생성된 연결. R82는 SAM 카드 미지원(PMTR-18774). |
L | SecureXL이 연결 테이블에 링크를 만든 연결(원래 C2S 항목에 대한 S2C 항목). |
l | 링크를 만들지 않은 연결. |
N | NAT를 거치는 연결. R82 미지원. |
n | NAT를 거치지 않는 연결. R82 미지원. |
Q | QoS를 거치는 연결. |
q | QoS를 거치지 않는 연결. |
S | PXL을 거치는 연결. |
s | PXL을 거치지 않는 연결. |
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 디버그를 부팅 중에 시작 하도록 설정할 수 있습니다(클러스터에서는 모든 멤버를 똑같이).
- Security Gateway / 각 Cluster Member(또는 해당 Security Group)의 명령줄에 접속해 Expert 모드로 들어갑니다.
- 설정 파일을 만듭니다 — IPv4는
touch $FWDIR/conf/fwaccel_dbg_flags.cfg, IPv6는touch $FWDIR/conf/fwaccel6_dbg_flags.cfg. - 해당 파일을
vi로 엽니다. - 디버그 모듈과 플래그를 모듈마다 한 줄씩 적습니다.
default conn nat
pkt drop nat
- 저장하고 편집기를 빠져나옵니다.
- Scalable Platform에서는 갱신한 파일을 모든 멤버에 복사합니다 —
asg_cp2blades $FWDIR/conf/fwaccel_dbg_flags.cfg(및fwaccel6_...). - 재부팅하고 문제가 재현되기를 기다립니다.
- 끝난 뒤
fwaccel dbg resetall(Scalable Platform은g_fwaccel dbg resetall)로 모든 플래그를 초기화하고, 설정 파일의 항목을 모두 지웁니다 —echo '' > $FWDIR/conf/fwaccel_dbg_flags.cfg(Scalable Platform에서는 이어서asg_cp2blades로 배포). - 출력 파일을 수집합니다 — 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-blacklists | IP 블랙리스트를 끄거나(기본) 켭니다. |
--disable-drop-frags / --enable-drop-frags | 모든 단편 패킷 드롭을 끄거나(기본) 켭니다. |
--disable-drop-opts / --enable-drop-opts | IP Options가 있는 패킷의 드롭을 끄거나(기본) 켭니다. |
--disable-internal / --enable-internal | 내부 인터페이스 적용을 끄거나(기본) 켭니다. |
--disable-log-drops / --enable-log-drops | Rate Limiting 드롭 알림을 끄거나 켭니다(켜짐이 기본). |
--disable-log-pbox / --enable-log-pbox | Penalty Box 추가 알림을 끄거나 켭니다(켜짐이 기본). |
--disable-monitor / --enable-monitor | 모니터 전용 모드 를 끄거나(기본) 켭니다(켜면 드롭될 패킷을 모두 허용). 모든 Rate Limiting 기능에 영향. |
--disable-pbox / --enable-pbox | IP Penalty Box를 끄거나(기본) 켭니다. |
--disable-rate-limit / --enable-rate-limit | Rate Limiting 정책 적용을 끄거나(기본) 켭니다. |
--disable-rule-cache / --enable-rule-cache | Rate Limiting 규칙 매칭 캐시를 끄거나 켭니다(켜짐이 기본). 많은 연결/초·패킷에서 성능 최적화. |
-n <NOTIF_RATE> / --notif-rate | SecureXL 장치별 초당 최대 드롭 알림 수. 범위 0~(2³²-1), 기본 100. |
-p <PBOX_RATE> / --pbox-rate | 출발지 IP를 Penalty Box에 넣기 전 최소 보고 드롭 패킷 수. 범위 0~(2³²-1), 기본 500. |
-t <PBOX_TMO> / --pbox-tmo | Penalty Box에서 IP를 빼낼 때까지의 초. 범위 0~(2³²-1), 기본 180. |
설정을 재부팅 후에도 유지하기
fwaccel dos config set으로 정한 값은 재부팅하면 기본값으로 돌아갑니다. 유지하려면 설정 파일에 명령을 적습니다.
| 파일 | 설명 |
|---|---|
$FWDIR/conf/fwaccel_dos_rate_on_install | IPv4용 셸 스크립트. fwaccel dos config set 명령만 포함합니다. |
$FWDIR/conf/fwaccel6_dos_rate_on_install | IPv6용 셸 스크립트. fwaccel6 dos config set 명령만 포함합니다. |
파일은 Expert 모드에서 만들고, VSX에서는 미리 vsenv <VSID>로 컨텍스트를 이동합니다. 파일은 #!/bin/bash로 시작하고 빈 새 줄로 끝나야 하며, 만든 뒤 chmod +x로 실행 권한을 줍니다. 예:
fwaccel dos config set --enable-internal
fwaccel dos config set --enable-pboxfwaccel 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
flushallow 하위 옵션(-a, -d, -F, -l, -L, -s)은 fwaccel dos allow와 동작·규칙이 같습니다(-L이 읽는 파일은 $FWDIR/conf/pbox-allow-list-v4.conf). 추가로 flush 는 Penalty 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.conf에 sim_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]| 파라미터 | 설명 |
|---|---|
-a | VSX 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 on 은 fwaccel off로 멈춰 둔 가속을 즉석에서 다시 시작합니다.
fwaccel on [-a] [-q]| 파라미터 | 설명 |
|---|---|
-a | VSX 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. |
Name | SecureXL 모드(KPPAK 또는 UPPAK). |
Status | Enabled 또는 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]| 파라미터 | 설명 |
|---|---|
-c | Cluster Correction 통계. |
-d | 장치 드롭(drops from device) 통계. |
-l | 레거시 모드(한 테이블) 통계. |
-m | 멀티캐스트 트래픽 통계. |
-n | Identity Awareness(NAC) 통계. |
-o | Reorder Infrastructure 통계. |
-p | SecureXL 위반(F2F 패킷) 통계. |
-q | SecureXL이 Firewall로 보낸 알림 통계. |
-r | 모든 카운터를 리셋합니다. |
-s | 통계 요약만 보여 줍니다. |
-x | PXL 통계. PXL은 SecureXL과 PSL(Passive Streaming Library)의 결합 기술 이름입니다. |
통계 카운터 설명
"Accelerated Path" 섹션
| 카운터 | 설명 |
|---|---|
accel packets / accel bytes | 가속된 패킷 수 / 바이트 수. |
outbound packets / outbound bytes | 아웃바운드 패킷 수 / 바이트 수. |
conns created / conns deleted | SecureXL이 만든 / 삭제한 연결 수. |
C total conns | SecureXL이 현재 다루는 전체 연결 수. |
C templates | (Not in use) 현재 SecureXL 템플릿 수. |
C TCP conns / C non TCP conns | 현재 TCP / 비TCP 연결 수. |
conns from templates | (Not in use) 템플릿에서 만든 연결 수. |
nat conns | NAT 연결 수. |
dropped packets / dropped bytes | SecureXL이 떨어뜨린 패킷 / 바이트 수. |
nat templates·port alloc templates·conns from nat tmpl·port alloc conns | (Not in use) |
fragments received / transmit / dropped / expired | 받은 / 보낸 / 떨어뜨린 / 만료된 단편 수. |
IP options stripped / restored / dropped | IP 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 err | ESP 암호화 패킷 / 오류 수. |
ESP dec pkts / ESP dec err | ESP 복호화 패킷 / 오류 수. |
ESP other err | ESP 일반 오류 수. |
espudp enc/dec pkts·err, espudp other err | (Not in use) |
"Medium Streaming Path" 섹션
| 카운터 | 설명 |
|---|---|
PXL packets | PXL 패킷 수. PXL은 SecureXL과 PSL의 결합으로, TCP 트래픽을 투명하게 듣고 TCP 스트림을 재구성 하는 IPS 인프라입니다(등록된 연결의 데이터 패킷만 처리). |
PXL async packets | SecureXL이 비동기로 처리한 PXL 패킷 수. |
PXL bytes / C PXL conns | PXL 바이트 수 / 현재 PXL 연결 수. |
C PXL templates | (Not in use) PXL 템플릿 수. |
PXL FF conns / packets / bytes / acks | PXL 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 / bytes | SecureXL이 Slow Path 로 Firewall 커널에 전달한 패킷 / 바이트 수. |
TCP violations | TCP 상태를 위반한 패킷 수. |
C anticipated conns | 현재 anticipated(예상) 연결 수. |
port alloc f2f | (Not in use) |
F2V conn match pkts | SecureXL 연결에 매칭돼 Firewall 커널로 전달한 패킷 수. |
F2V packets / bytes | SecureXL이 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 conns | establish된 / 닫힌 현재 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: Disable | 0 / 0 |
-e(External 켜기) | External은 Enforcing/Prevent/Ready, Internal은 Enforcing/Detect/Monitor | 1 / 1 |
-g(전부 켜기) | External은 Enforcing/Prevent/Ready, Internal은 Enforcing/Detect/Monitor | 1 / 2 |
-m(Monitor) | Configuration: Monitoring, Enforce: Detect, State: Monitor | 1 / 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_threshold | Global high attack 임계값(-t 참고). |
periodic_updates | Check Point 내부용. 0·1(기본 1). |
cookie_resolution_shift | Check Point 내부용. 1~7(기본 6). |
min_frag_sz | 공격 중 이 최소 크기보다 작은 TCP 단편을 막습니다. 80 이상(기본 80). |
high_threshold / low_threshold | High / Low attack 임계값(-t 참고). |
score_alpha | Check 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| 파라미터 | 설명 |
|---|---|
-p | SecureXL 인스턴스별 상태를 보여 줍니다(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 templates 는 Accept 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 | 내장 사용법을 보여 줍니다. |
-c | Firewall Drop Templates 테이블(connections)을 보여 줍니다. |
-d | SecureXL Drop Templates 테이블을 보여 줍니다. |
-d -R | Drop Template 생성 실패 사유 통계. |
-d -S | SecureXL Drop Templates 통계. |
-m <Number of Rows> | 보여 줄 행 수(위에서부터, 기본 1000). |
-r | Firewall Drop Templates 테이블(ranges)을 보여 줍니다. |
-R | SecureXL Connections Templates 생성 실패 사유. |
-s | 오프로드된 Connections Templates 총 개수. |
-S | 오프로드된 Connections Templates 통계. |
Accept Templates 플래그
출력에 다음 중 하나 이상이 나타납니다.
| 플래그 | 설명 |
|---|---|
A | accounted 연결(패킷·바이트 셈). |
B | Identity Awareness 객체가 든 규칙(또는 그 아래 규칙)에서 만든 연결. |
E | Identity Awareness 객체가 든 NAT 규칙에서 만든 연결. |
I | 이 연결에 Identity Awareness(NAC) 활성. |
M | Domain 객체가 든 규칙(또는 그 아래)에서 만든 연결. |
N | NAT를 거치는 연결. |
O | Dynamic 객체가 든 규칙(또는 그 아래)에서 만든 연결. |
P | Source port를 명시한 Service에 매칭될 수 있는 규칙에서 만든 연결. |
Q | 이 연결에 QoS 활성. |
R | Traceroute 객체가 든 규칙(또는 그 아래)에서 만든 연결. |
S | 이 연결에 PXL(SecureXL+PSL) 활성. |
T | Time 객체가 든 규칙(또는 그 아래)에서 만든 연결. |
U | 단방향 연결. |
X | 변환된 Dynamic 객체가 든 NAT 규칙에서 만든 연결. |
Z | Security 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 ver 는 Firewall 버전·빌드, Accelerator 버전, Firewall API 버전, Accelerator API 버전 을 보여 줍니다.
fwaccel verFirewall 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 i | Pre-Inbound(인바운드 Chain Module 진입 전). |
-m I | Post-Inbound(인바운드 Chain Module 통과 후). |
-m o | Pre-Outbound(아웃바운드 Chain Module 진입 전). |
-m O | Post-Outbound(아웃바운드 Chain Module 통과 후). |
-m e | Pre-Outbound VPN(아웃바운드 VPN Chain Module 진입 전). |
-m E | Post-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.capfw sam_policy — SAM·Rate Limiting 규칙 관리
fw sam_policy 는 Suspicious 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 sourcefw sam_policy batch — 여러 규칙 한꺼번에
fw sam_policy batch 는 여러 규칙을 한꺼번에 추가·삭제합니다.
- 배치 모드를 시작합니다 — IPv4는
fw sam_policy batch << EOF(IPv6는fw6 ...). - 한 줄에 하나씩
add또는del만 으로 시작해 명령을 입력합니다(fw samp로 시작하지 않음). 파라미터는add·del명령과 같습니다. 각 줄은 Return(ASCII 10)으로 끝냅니다. 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
EOFfw 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>| 파일 | 설명 |
|---|---|
affinity | SecureXL New Affinity 메커니즘의 상태·임계값(가속 PPS, 암호화 바이트 속도). |
conf | SecureXL 설정과 기본 통계(Flags, 각종 Interval, Connection Limit, 연결 수, Debug flags 등). |
conns | SecureXL 연결 목록. 향후 사용용 — fwaccel conns를 쓰세요. |
cpls | ClusterXL Load Sharing(CPLS) 설정. 향후 사용용 — fwaccel cfg -h 참고. |
cqstats | SecureXL 연결 큐 통계(Queued pkts, Dequeue & f2f/drop/resume 등). |
drop_statistics | 드롭 패킷 통계. fwaccel stats -d와 같은 정보. |
ifs | SecureXL이 쓰는 인터페이스 목록(아래 플래그 설명 참고). |
mcast_statistics | 멀티캐스트 통계. fwaccel stats -m과 같은 정보. |
nac | Identity Awareness(NAC) 통계. fwaccel stats -n과 같은 정보. |
notify_statistics | SecureXL이 Firewall에 보낸 알림 통계(ntSAExpired, ntConnDeleted, ntSendCPHWDStats 등). |
profile_cpu_stat | Check Point 전용. CPU 코어 ID와 Traffic Profiling 상태(1열=코어 ID, 2열=상태). |
rlc | Rate Limiting 드롭 통계(Total drop packets·bytes). |
statistics | SecureXL 전체 통계. 보기 좋게는 fwaccel stats를 쓰세요. |
stats | SecureXL이 쓰는 인터페이스의 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" 패킷을 드롭(아웃바운드는 모두 네트워크로 전달). |
0x002 | TCP 상태 변화(연결 establish/teardown) 시 알림 전송. |
0x004 | UDP 캡슐화 시 UDP 헤더 체크섬을 올바로 설정(미설정 시 0). |
0x008 | 연결 테이블이 한도에 닿으면 템플릿 매칭 신규 연결을 만들지 않고 패킷 드롭. |
0x010 | 단편을 Firewall로 전달. |
0x020 | TCP 템플릿에서 연결 생성 중단(TCP 템플릿 생성만 비활성). |
0x040 | Firewall에 주기적으로 알려 가속 연결을 갱신. |
0x080 | 비TCP 템플릿에서 연결 생성 중단. |
0x100 | TCP 3-way handshake 미완료 연결의 sequence 검증 위반 허용. |
0x200 | 3-way handshake 완료 연결의 sequence 검증 위반 허용. |
0x400 | TCP [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 연결 테이블 무제한). 예를 들어 0x039는 0x001+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 장).
- Security Gateway / 각 Cluster Member / Security Group에 SSH나 콘솔(권장)로 접속합니다.
- Expert 모드로 들어갑니다(
expert). - 모든 커널 디버그 플래그를 리셋합니다 —
fw ctl debug 0(Scalable Platform은g_fw ctl debug 0). - 모든 SecureXL 디버그 플래그를 리셋합니다 —
fwaccel dbg resetall(또는g_fwaccel dbg resetall). - 커널 디버그 버퍼를 할당합니다 —
fw ctl debug -buf 8200 [-v {"<List of VSIDs>" | all}](VSX에서는-v로 Virtual System 지정). - 버퍼 할당을 확인합니다 —
fw ctl debug | grep buffer. - 커널 디버그 모듈·플래그를 설정합니다 —
fw ctl debug -m <Module> {all | + <Flags>}. - SecureXL 디버그 모듈·플래그를 설정합니다 —
fwaccel dbg -m <Module> {all | + <Flags>}. - 커널 디버그 설정을 확인합니다 —
fw ctl debug. - SecureXL 디버그 설정을 확인합니다 —
fwaccel dbg list. - Firewall·SecureXL 연결 테이블의 항목을 모두 지웁니다 —
fw tab -t connections -x -y. 이 명령은 SSH를 포함한 모든 연결을 끊으므로 시리얼 콘솔로 접속했을 때만 실행합니다. - Firewall 템플릿 테이블을 비웁니다 —
fw tab -t cphwd_tmpl -x -y(연결은 끊지 않음). - 커널 디버그를 시작합니다 — 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. - 문제를 재현하거나 발생을 기다립니다.
CTRL+C로 커널 디버그를 멈춥니다. 16~19. 커널·SecureXL 디버그 플래그를 다시 리셋(fw ctl debug 0,fwaccel dbg resetall)하고,fw ctl debug·fwaccel dbg list로 기본 상태 복귀를 확인합니다.- 출력 파일(
/var/log/kernel_debug.txt,/var/log/messages,$FWDIR/log/fwk.elg,/var/log/usim_x86.elg*)을 컴퓨터로 옮겨 분석합니다.
SecureXL 디버그 모듈과 플래그
사용 가능한 모듈·플래그는 fwaccel dbg로 봅니다.
Module `default`
| 플래그 | 설명 |
|---|---|
acct | 연결 accounting 정보 |
ant | anticipated 연결 |
conf | SecureXL 설정(예: 인터페이스) |
conn / conn_app | 연결 처리 |
corr | 보정 계층 |
cpdrv | 현재 미사용 |
del | 연결 삭제 |
drv / kdrv | 드라이버 정보 |
htab | 해시 테이블 |
infra_ids | Identity Awareness에서 범위에 ID 할당 |
init | 초기화 |
ioctl | 사용자 공간에서 시작된 설정 변경 |
iter | 연결 테이블 iterator |
lock | 락 초기화·종료 |
nat | NAT 연결 처리 |
offload | Firewall→SecureXL 연결 오프로드 |
queue | 연결 큐 |
relations | 관련 연결(예: FTP 데이터) |
rngs / rngs_print | SecureXL 범위 처리 / 출력 |
routing | SecureXL 라우팅 |
stat | SecureXL 통계 처리 |
svm | SmartConsole의 System Counters용 템플릿·연결 등록 |
tag | Firewall 전달 전 패킷에 붙인 태그 |
tcp_sv | TCP sequence 검증 |
update | 연결 갱신 |
util | 사용률 |
Module `pkt`(Packet)
| 플래그 | 설명 |
|---|---|
acct | 연결 accounting 정보 |
bhm | CPU별 BHM 통계 |
caf | Mirror and Decrypt(전체 트래픽 Mirror만) |
corr | 보정 계층 |
cpls | ClusterXL Load Sharing |
deliver | 패킷 전달 |
drop | SecureXL이 떨어뜨린 패킷 |
f2f | Firewall로 전달하는 사유 |
frag | 단편 처리 |
geneve | GRE·VxLAN 인터페이스의 Geneve 패킷 처리 |
nat | NAT 연결 처리 |
notif | Firewall로 보낸 알림 |
pkt | 패킷 처리 |
pxl | PXL(PacketXL) 처리 — SecureXL과 PSL 사이 API |
qos | QoS 가속 |
routing | SecureXL 라우팅 |
sctp | SCTP 패킷 처리 |
spoof | SecureXL Anti-Spoofing |
sv | TCP sequence 검증 |
tcp_state / tcp_state_pkt | TCP 상태 검증 / TCP 패킷 검증 |
user | 패킷 세부 정보 |
vlan | VLAN 태그 처리 |
wrp | VSX의 WRP 인터페이스 처리 |
Module `db`(Database)
| 플래그 | 설명 |
|---|---|
ant | anticipated 연결 |
del / get / save | DB 데이터 삭제 / 조회 / 저장 |
init | DB 초기화·종료 |
nmr | "No Match Ranges" 템플릿(Dynamic·Domain 객체 규칙용) |
nmt | "No Match Time" 템플릿(Time 객체 규칙용) |
profile | profile 테이블 연산 |
tmo | DB 항목 타임아웃 처리 |
tmpl | 템플릿 DB 처리 |
warning | 패킷 처리 일반 실패 |
Module `api`
| 플래그 | 설명 |
|---|---|
acct | 연결 accounting 정보 |
add / del / update | 연결 추가 / 삭제 / 갱신 |
add_sa / del_sa / del_all_sas | VPN SA 오프로드 / 삭제 / 전체 삭제 |
del_all_tmpl | SecureXL 템플릿 삭제 |
conf | SecureXL 설정 |
get_features | 기능 버퍼 조회(초기화 시) |
get_stat / reset_stat | 통계 조회 / 리셋 통계 ID 출력 |
get_state | SecureXL에서 연결 상태 조회 |
get_tab | 테이블 처리 시 추가 출력 |
gtp | GTP 터널 연결 처리 |
infra | SecureXL 인프라 |
init | SecureXL 켜기·끄기 |
long_ver / misc | 연결 상세 정보 / SecureXL 내부 정보 |
notif | Firewall로 보낸 알림 |
pxl | PXL 처리 |
qos | QoS 가속 |
stat / sv / tag | 통계 처리 / TCP sequence 검증 / 태그 |
tmpl / tmpl_info | 템플릿 처리 / 템플릿 정보 |
upd_conf | ClusterXL Load Sharing에서 SecureXL 갱신 |
upd_if_inf | 인터페이스 정보 갱신 여부 |
upd_link_sel | VPN 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(패킷 서명) |
vpn | linksel(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(정보) |
gtp | api(커널 테이블 터널), 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) | 향후 사용 예약 |