incident-response について
incident-responseは、脅威の疑い、不正アクセス、データ侵害、不審な活動に対応するセキュリティチーム向けのServiceNowスキルです。検知、分類、封じ込め、調査、復旧、連絡、事後レビューの各段階を扱います。
主な機能
- 01不審な活動の検知
- 02重大度に基づくインシデント分類
- 03侵害されたアカウントの封じ込め
- 04監査ログとシステムログの証拠収集
- 05対応内容と調査結果の記録
- 06復旧と事後レビューの支援
活用シーン
- 01ログイン失敗の急増調査
- 02アカウント侵害の疑いへの対応
- 03セキュリティインシデントの証拠収集
- 04封じ込めと復旧措置の記録
MCP 対応
ServiceNow MCPツールで監査ログやシステムログを検索し、セキュリティインシデントを作成し、ユーザーまたはインシデントのレコードを更新して、作業メモに調査結果を記録します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ happy-technologies-llc/ happy-platform-skills --skill incident-responseインストール後、Claude Code で/incident-responseを入力して読み込まれたか確認します。
詳細
セキュリティインシデント対応
概要
このスキルでは、ServiceNow におけるセキュリティインシデントへの対応方法を扱います。
- 潜在的なセキュリティインシデントの検出
- セキュリティ脅威の分類
- 封じ込め手順
- 調査と証拠収集
- コミュニケーション手順
- インシデント発生後のレビュー
使用するタイミング: セキュリティ上の脅威、不正アクセス、データ侵害、または不審なアクティビティを検出した場合。
前提条件
- ロール:
sn_si.admin(セキュリティインシデント対応)、security_admin - アクセス権: セキュリティインシデントテーブル、監査ログ、システムログ
- プラグイン: Security Incident Response (sn_si)
手順
フェーズ 1:検出と特定
一般的な検出元:
- ユーザーからの報告(フィッシング、不審なメール)
- SIEM アラート
- 監査ログの異常
- ログイン失敗の急増
- 通常と異なるデータアクセスパターン
不審なログインアクティビティを照会する:
Tool: SN-Query-Table
Parameters:
table_name: sys_audit
query: tablename=sys_user^fieldname=failed_attempts^newvalueGT5^sys_created_onONLast 24 hours
fields: documentkey,user,newvalue,sys_created_on
limit: 100
最近の管理者操作を確認する:
Tool: SN-Query-Table
Parameters:
table_name: sys_audit
query: sys_created_onONLast hour^userLIKEadmin
fields: tablename,fieldname,oldvalue,newvalue,user,sys_created_on
limit: 50
フェーズ 2:分類
セキュリティインシデントの重大度マトリックス:
| 重大度 | 影響範囲 | 例 |
|---|---|---|
| 重大 | 全社規模 | ランサムウェア、データ侵害、管理者アカウントの侵害 |
| 高 | 部門全体 | 機密データへの不正アクセス |
| 中 | 限定的な範囲 | フィッシングの試み、単一システム上のマルウェア |
| 低 | 最小限 | スパム、攻撃の試みの失敗 |
セキュリティインシデントを作成する:
Tool: SN-Create-Record
Parameters:
table_name: sn_si_incident
data:
short_description: "Potential unauthorized access - Admin account"
description: |
Detection: Multiple failed login attempts followed by successful login
Source IP: 203.0.113.50 (external)
Target Account: [email protected]
Time: 2026-02-06 14:30 UTC
Initial Analysis:
- 15 failed attempts over 5 minutes
- Successful login from unfamiliar IP
- Unusual time (outside business hours)
category: Unauthorized Access
subcategory: Account Compromise
priority: 1
state: Analysis
affected_user: [user_sys_id]
business_criticality: Critical
フェーズ 3:封じ込め
即時対応(重大/高):
- 侵害されたアカウントを無効にする:
Tool: SN-Update-Record
Parameters:
table_name: sys_user
sys_id: [compromised_user_sys_id]
data:
locked_out: true
active: false
- 有効なセッションを取り消す:
Tool: SN-Execute-Background-Script
Parameters:
script: |
var gr = new GlideRecord('v_user_session');
gr.addQuery('user', '[compromised_user_sys_id]');
gr.query();
while (gr.next()) {
gr.deleteRecord();
}
gs.info('Terminated all sessions for compromised user');
description: "Emergency: Terminate compromised user sessions"
- 封じ込め措置を記録する:
Tool: SN-Add-Work-Notes
Parameters:
sys_id: [security_incident_sys_id]
table_name: sn_si_incident
work_notes: |
CONTAINMENT ACTION - [TIMESTAMP]
Actions Taken:
1. Account locked - sys_user.locked_out = true
2. Account deactivated - sys_user.active = false
3. Active sessions terminated - v_user_session cleared
Performed by: [Analyst Name]
Approved by: [Manager Name]
フェーズ 4:調査
証拠を収集する:
- 影響を受けたユーザーの監査証跡:
Tool: SN-Query-Table
Parameters:
table_name: sys_audit
query: user=[compromised_user_id]^sys_created_onONLast 7 days
fields: tablename,fieldname,oldvalue,newvalue,sys_created_on
limit: 500
- システムログ:
Tool: SN-Query-Table
Parameters:
table_name: syslog
query: sys_created_onONLast 24 hours^messageLIKElogin
fields: level,message,source,sys_created_on
limit: 200
- データアクセスログ:
Tool: SN-Query-Table
Parameters:
table_name: sys_audit
query: user=[user_id]^tablenameINsys_user,customer_account,hr_core_profile
fields: tablename,documentkey,fieldname,sys_created_on
調査結果を記録する:
Tool: SN-Add-Work-Notes
Parameters:
sys_id: [security_incident_sys_id]
work_notes: |
INVESTIGATION FINDINGS - [TIMESTAMP]
Timeline:
- 14:25 - First failed login attempt
- 14:30 - Successful login from IP 203.0.113.50
- 14:32 - Accessed HR records
- 14:35 - Downloaded employee list
- 14:40 - Session terminated by security
Data Accessed:
- hr_core_profile: 150 records viewed
- sys_user: 50 records exported
Indicators of Compromise:
- External IP (not company VPN)
- Outside business hours
- Bulk data access pattern
フェーズ 5:根絶と復旧
認証情報をリセットする:
Tool: SN-Execute-Background-Script
Parameters:
script: |
var user = new GlideRecord('sys_user');
user.get('[compromised_user_sys_id]');
user.user_password.setDisplayValue('TEMP-' + gs.generateGUID().substring(0,8));
user.update();
gs.info('Password reset for: ' + user.user_name);
description: "Reset compromised user password"
セキュリティを強化して再有効化する:
Tool: SN-Update-Record
Parameters:
table_name: sys_user
sys_id: [user_sys_id]
data:
active: true
locked_out: false
password_needs_reset: true
failed_attempts: 0
フェーズ 6:コミュニケーション
通知テンプレート:
影響を受けたユーザー宛て:
件名:セキュリティ対応が必要です - アカウントアクセス
不審なアクティビティが確認されたため、お客様のアカウントを一時的に無効にしました。 パスワードはリセットされています。本人確認と新しい認証情報の受け取りについて、 IT セキュリティ(内線 1234)までお問い合わせください。
管理者宛て:
セキュリティインシデント #[number] - 状況報告
概要:[簡単な説明] 影響:[影響範囲] 現在の状況:[封じ込め済み/調査中/解決済み] 実施した措置:[措置の一覧] 次のステップ:[予定している措置]
フェーズ 7:インシデント発生後のレビュー
セキュリティインシデントをクローズする:
Tool: SN-Update-Record
Parameters:
table_name: sn_si_incident
sys_id: [incident_sys_id]
data:
state: Closed
close_code: Resolved
close_notes: |
Resolution Summary:
- Compromised credentials reset
- No data exfiltration confirmed
- User re-trained on security awareness
Root Cause: Weak password + phishing attack
Preventive Actions:
- MFA enabled for all admin accounts
- Password policy strengthened
- Phishing training scheduled
Lessons Learned documented in KB0012345
対応時間の目標
| 重大度 | 初動対応 | 封じ込め | 解決 |
|---|---|---|---|
| 重大 | 15 分 | 1 時間 | 24 時間 |
| 高 | 1 時間 | 4 時間 | 72 時間 |
| 中 | 4 時間 | 24 時間 | 1 週間 |
| 低 | 24 時間 | 1 週間 | 2 週間 |
ベストプラクティス
- 証拠を保全する: 調査が終わるまでログを変更または削除しないでください
- すべてを記録する: すべての操作を作業メモに記録してください
- 証拠保全の連鎖を維持する: 誰がどの証拠にアクセスしたかを追跡してください
- 知る必要のある人に限定する: インシデントの詳細は必要な担当者にのみ共有してください
- 法的な考慮事項: データ侵害が発生した場合は法務部門に相談してください
トラブルシューティング
セキュリティインシデントテーブルにアクセスできない
原因: Security Incident Response プラグインまたはロールが不足しています 解決策: sn_si プラグインが有効であることを確認し、sn_si.admin ロールを申請してください
監査ログが見つからない
原因: テーブルの監査が有効になっていません 解決策: sys_dictionary でテーブルの監査フラグを確認してください
関連スキル
security/audit-compliance- コンプライアンスの確認itsm/major-incident- 重大インシデントへの対応security/acl-management- アクセス制御