목차/05. 로그 다루기와 쿼리 언어

05로그 다루기와 쿼리 언어로그 다루기와 쿼리 언어

로그가 쓸모 있으려면 원하는 기록을 빠르게 찾아내 야 합니다. SmartConsole은 Google 검색처럼 간단히, 또는 강력한 쿼리 언어로 정교하게 로그를 뒤질 수 있게 해 줍니다. 이 장은 Logs 뷰의 구성, 어떤 규칙이 어떤 로그를 남기게 할지 정하는 Track 옵션, 그리고 검색·쿼리 언어를 정리합니다.

Logs 뷰 — 어디서 보나

로그는 SmartConsole의 Logs & Events > Logs 탭에 뜹니다. Management Server의 IP로 접속하면 모든 Log Server의 로그를 통합해 보고 (indexing이 켜진 경우), 특정 규칙을 골라 아래 창의 Logs를 누르면 그 규칙이 만든 로그만 추려 줍니다.

① Queries(미리 정의·즐겨찾기 쿼리) ② Time Period ③ 쿼리 검색줄 ④ Log statistics 창(상위 결과) ⑤ Results 창(로그 항목) — Logs 뷰 구성
① Queries(미리 정의·즐겨찾기 쿼리) ② Time Period ③ 쿼리 검색줄 ④ Log statistics 창(상위 결과) ⑤ Results 창(로그 항목) — Logs 뷰 구성

Track — 무엇을 로그로 남길까

로그는 정책 규칙의 Track 열에서 정합니다. 규칙을 우클릭해 옵션을 고르고 정책을 설치하면 됩니다. 다만 모든 규칙을 추적하면 로그가 폭증해 디스크와 관리 부담이 커지니, 보안·사용자 행동 이해·리포트에 정말 쓸모 있는 규칙만 추적하는 것이 좋습니다.

기본 옵션은 이렇습니다 — None(로그 없음), Log(기본값, 출처·목적지·포트 등 매칭 정보를 기록), Accounting(10분 간격으로 업로드·다운로드 바이트와 browse time 갱신) 입니다. 레이어에 Application & URL Filtering·Content Awareness·Mobile Access 중 하나가 켜져 있으면 고급 옵션도 열립니다 — Detailed Log(규칙이 앱을 지정하지 않아도 매칭된 앱까지 표시), Extended Log(거기에 URL·파일 전체 목록까지) 인데, 이 둘은 패킷·연결을 더 깊이 검사하므로 성능 부담이 더 큽니다.

로그를 연결마다 하나씩(per Connection, Firewall 전용 레이어 기본값) 만들지, 한 세션을 하나로(per Session, App/URL·Content Awareness 레이어 기본값) 묶을지 도 고릅니다. 중요한 점은 SmartEvent가 per Connection 로그는 인덱싱하지 않는다 는 것입니다. 끝으로 Alert 옵션으로 팝업·이메일·SNMP trap·사용자 스크립트 를 트리거할 수 있고, 그 동작은 Global Properties > Log and Alert > Alerts에서 정의합니다.

세션 로그와 Packet Capture

Session사용자가 한 사이트·앱에서 한 활동 묶음 으로, 그 세션의 모든 활동이 하나의 세션 로그에 담깁니다(type:Session 으로 검색). 세션 로그의 아래 창에서 Connections·URLs·Files 탭을 보면, 각각 per Connection / Extended Log 설정에 따라 연결·URL·파일 내역이 보입니다. 기본적으로 세션이 3시간 이어지면 새 세션 로그가 시작됩니다. 한편 Packet Capture 를 켜면 로그를 만든 트래픽의 실제 패킷까지 캡처 파일로 Log Server에 함께 보내 져, 로그를 열어 그 안을 직접 들여다볼 수 있습니다(일부 Threat Prevention 블레이드는 기본으로 켜져 있음).

검색과 쿼리 언어

검색은 두 갈래입니다. 미리 정의된 쿼리를 골라 쓰거나, 검색줄에 직접 조건을 입력합니다. Ctrl+F 로 검색을 시작하고, F5 로 새로고침, F6 으로 5초마다 자동 갱신 합니다(자동 갱신 중 5초에 100건이 넘으면 집계 요약으로 보여 줌). 자주 쓰는 쿼리는 Queries > Add to Favorites 로 저장합니다. 결과 창은 성능을 위해 처음엔 50건만 보여 주고, 스크롤하면 인덱스에서 더 끌어옵니다. 오른쪽 Tops 창은 상위 통계를 보여 주는데, 이는 화면에 이미 나온 부분 결과로 추정한 값이지 전체 기간을 계산한 것은 아닙니다.

쿼리 언어의 기본 꼴은 [<필드>:] <조건> 이고, 여러 조건은 AND·OR·NOT 으로 잇습니다(조건만 나열하면 AND가 자동 적용). 한 단어가 아니라 구절이면 따옴표로 감쌉니다(예: "John Doe"). 대부분 대소문자를 가리지 않지만 source: 처럼 예외가 있어, 결과가 안 나오면 대소문자를 바꿔 보세요.

IP는 한 단어로 세며, 와일드카드와 네트워크 표기를 함께 씁니다 — 예컨대 src:192.168.1.0/24src:192.168.2.* 는 그 범위 전체를 매칭합니다. 와일드카드는 ? 가 한 글자, * 가 문자열 을 뜻해, Jo? 는 Joe·Jon을, Jo* 는 Joseph·John까지 잡습니다. 자주 쓰는 필드 키워드로는 severity·action·blade(=productsource(=srcdestination(=dstservice·user·origin 등이 있고, 규칙 번호는 rule:7.1, 규칙 이름은 필드 없이 자유 텍스트로 찾습니다.

복합 예시 몇 개로 감을 잡으면 됩니다 — blade:"application control" AND action:block(앱 차단 로그), (blade:Firewall OR blade:IPS OR blade:VPN) AND NOT action:drop(드롭되지 않은 그 세 블레이드 로그), source:(192.168.2.1 OR 192.168.2.2) AND destination:17.168.8.2. 필드에 값을 여러 개 줄 때는 Boolean 연산자를 명시하고 괄호로 묶어야 합니다. Action 필터는 종류가 많은데, Accept·Drop(통보 없이 차단)·Reject(TCP RST로 통보)·Detect(탐지만)·Prevent·Decrypt/Encrypt 등 각 동작의 뜻은 원문 표(p.97~)에 정리돼 있습니다.

결과 보기와 컬럼 프로파일

결과 창에 어떤 열이 보일지는 Column Profile 이 정합니다. 쿼리 결과에서 가장 자주 나온 블레이드에 맞춰 자동 선택(Automatic Profile Selection) 되며, 우클릭으로 수동 지정하거나 Edit Profile로 열을 더하고 빼고 순서를 바꿀 수 있습니다. 바꾼 폭·구성은 우클릭 > Save Profile로 다음 세션까지 유지됩니다.

SmartView Web Application으로 보기

클라이언트 설치가 부담스러우면 브라우저로 같은 화면을 봅니다 — https://<Management Server IP>/smartview/(/smartview/ 는 대소문자 구분, Chrome·Firefox 지원). SmartView의 강점은 비관리자도 쓸 수 있고, 최대 100만 건까지 로그를 내보낼 수 있다는 점입니다. 다만 로그인은 SmartConsole 관리자 객체에 설정된 Check Point Password 인증만 지원하고, Standalone 서버에서 SmartView를 열면 Gaia Portal·API 문서·Web SmartConsole 포털이 멈추니 주의하세요. 로그는 현재 CSV로만 내보낼 수 있습니다.

로그 고가용성과 Syslog 서버

게이트웨이가 한 Log Server에 로그를 못 보내면 보조 Log Server로 보내게 할 수 있고, 두 Log Server를 한 SmartEvent Correlation Unit에 묶으면 끊김 없는 로그 스트림으로 계속 상관분석 합니다. 한편 외부 분석 도구를 쓰려고 게이트웨이가 syslog 서버 로 직접 로그를 보내게 할 수도 있습니다 — Check Point는 RFC 3164(구)와 RFC 5424(신) 를 지원하며(IPv6 로그·Software Blade 로그는 미지원), SmartConsole에서 Host와 Syslog Server 객체를 만들어 Gateway 객체 > Logs에 추가합니다. syslog는 암호화되지 않으므로 게이트웨이와 수신 측을 가까이, 안전한 망에서 통신시키세요. 더 깊은 파싱은 Syslog 수동 파싱을, 형식 변환 없는 SIEM 연동은 Log Exporter를 보세요.