はじめに
このドキュメントでは、ログを検索するためにgrepコマンドで正規表現(regex)を使用する方法について説明します。
前提条件
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Cisco Web Security Appliance (WSA)
- Cisco Email Security Appliance (ESA)
- Cisco セキュリティ管理アプライアンス(SMA)
正規表現を使用した正規表現
grepコマンドと共に使用すると、アクセスログやプロキシログなど、アプライアンスで使用可能なログを検索できる強力なツールがregexになります。grep CLIコマンドを使用すると、WebサイトまたはURLの任意の部分、およびユーザ名に基づいてログを検索できます。
次に、regexをgrepコマンドとともに使用してトラブルシューティングに役立てることができる一般的なシナリオをいくつか示します。
シナリオ1:アクセスログで特定のWebサイトを見つける
最も一般的なシナリオは、WSAのアクセスログでWebサイトに対する要求を検索しようとする場合です。
ランダム データの例は次のとおりです。
セキュアシェル(SSH)経由でアプライアンスに接続します。プロンプトが表示されたら、grepコマンドを入力して使用可能なログをリストします。
CLI> grep
grepするログの番号を入力します。
[]> 1 (Choose the # for access logs here)
grepする正規表現を入力します。
[]> website\.com
シナリオ2:特定のファイル拡張子またはトップレベルドメインの検索の試行
grepコマンドを使用すると、URLまたはトップレベルドメイン(.com、.org)内の特定のファイル拡張子(.doc、.pptx)を検索できます。
ランダム データの例は次のとおりです。
.crlで終わるすべてのURLを検索するには、次の正規表現を使用します。
\.crl$
ファイル拡張子.pptxを含むすべてのURLを検索するには、次の正規表現を使用します。
\.pptx
シナリオ3:Webサイトの特定のブロックの検索の試行
特定のWebサイトを検索する際に、特定のHTTP応答も検索する場合があります。
ランダム データの例は次のとおりです。
domain.comのすべてのTCP_DENIED/403メッセージを検索するには、次の正規表現を使用します。
tcp_denied/403.*domain\.com
シナリオ4:アクセスログでマシン名を検索する
NTLMSSP認証スキームを使用する際に、ユーザエージェント(Microsoft NCSIが最も一般的)が認証時にユーザ資格情報ではなくマシン資格情報を誤って送信するインスタンスが発生する場合があります。この問題を引き起こしたURL/ユーザエージェントを追跡するには、grepを指定したregexを使用して、認証が発生したときに行われた要求を切り離します。
使用されたマシン名がない場合は、grepを使用して、この正規表現による認証でユーザ名として使用されたすべてのマシン名を検索します。
\$@
これが発生する行を確認したら、grepを実行して、この正規表現で使用された特定のマシン名を探します。
machinename\$
表示される最初のエントリは、ユーザがユーザ名ではなくマシン名で認証されたときに行われた要求です。
シナリオ5:アクセスログで特定の期間を検索する
デフォルトでは、アクセスログサブスクリプションには、人間が読み取り可能な日付/時刻を示すフィールドは含まれません。特定の期間のアクセスログを確認するには、次の手順を実行します。
- Online ConversionなどのサイトからUNIXタイムスタンプを検索します。
- タイムスタンプを取得したら、アクセスログで特定の時刻を検索します。
ランダム データの例は次のとおりです。
Unixのタイムスタンプ1325419200は01/01/2012 12:00:00と同じです。
次の正規表現エントリを使用して、2012年1月1日の12:00に近いアクセスログを検索できます。
13254192
シナリオ6:クリティカルメッセージまたは警告メッセージの検索
プロキシログやシステムログなど、使用可能な任意のログで正規表現を使用して重大メッセージや警告メッセージを検索できます。
ランダム データの例は次のとおりです。
プロキシログで警告メッセージを検索するには、次の正規表現を入力します。
CLI> grep
grepするログの番号を入力します。
[]> 17 (Choose the # for proxy logs here)
grepする正規表現を入力します。
[]> warning