ワイヤレス・アクセス・ポイントの使用状況の監視
ワイヤレスネットワークサービスの所有者は、ネットワークのセキュリティに責任を負います。主な懸念事項の 1 つは、適切な権限を持つユーザーだけが、予定された時間に、予想される場所からアクセスポイントにアクセスできるようにすることです。また、ネットワークのアップタイムと帯域幅についても責任を負う必要があるため、使用量を監視して、ボリュームや潜在的な問題がないかどうかを確認する必要があります。このガイドでは、セキュリティと IT モダナイゼーションの両方のニーズに対応するダッシュボードを作成できるさまざまな検索項目を紹介しています。
必要なデータ
- 時系列ネットワークアクセスデータ
- ワイヤレスアクセスポイントのログ
手順
- Splunkでは、1回の検索で数百GBのイベントを検索する場合、データモデル、レポートアクセラレーション、またはサマリーインデックスの使用を検討することを推奨しています。ここで紹介する検索は出発点としては良いですが、データ、検索時間範囲、その他の要因によっては、適切に拡張するためにできることがたくさんあります。
- 一般的な電気通信トランザクションには、4 つ以上のステップが含まれる場合があり、以下の検索の一部のコマンド、パラメーター、およびフィールド名は、環境に合わせて調整する必要がある場合があります。さらに、以下に示す検索を最適化するには、必要に応じてインデックスと時間範囲を指定する必要があります。
- ► ステージ 1: 検索と調査
-
接続がアクティブな WAP ネットワーク
WAPへの接続を許可されていないのに、WAPに接続しているユーザーがいる場合は、アラートまたはインシデントを発生させたいと思うでしょう。この検索により、特定の地理的位置にある WAP への接続を監視できます。この情報は、管理者や POS など、ネットワークが制限されている場合の接続分析やアラートに使用されることがあります。
この検索には、ネットワークアクセスポイントへのアクセスを追跡する時系列データが必要です。
| sourcetype <network access data> | eval _time=strptime(accessTime, "%Y-%m-%d %H:%M:%S") | sort - _time | stats count values(apInfoNetwork) AS apInfoNetworks BY apID apInfoNetwork | stats list(apInfoNetwork) AS apInfoNetwork list(apID) AS apID list(count) AS Count | rename apInfoNetwork AS "Connected Network" apID AS "Access Point Connected" Count AS "Connection Count"
営業時間中に接続されない WAP
この検索では、指定した営業時間中にサービスへの接続が見つからなかった場合にアラートを送信する方法がわかります。たとえば、定義した営業時間中に WAP/サービスにアクセスしているユーザーがまったくいない場合は、プロアクティブなアラートが必要な問題を示している可能性があります。この例では、営業時間外のイベントは検索しません。これは、この場所にはSLAがなく、顧客もこれらのスペースにいるはずがないためです。
この検索には、監視対象のワイヤレスアクセスポイントへのアクセスに関する時系列データと、検索で定義された営業時間の開始と終了が必要です。次に、アクセス時間範囲をそのような戻り時間と比較します。次に、これらの接続を集約して、営業時間中に 1 未満の値を探します。この検索で結果が返されたら、アラートをトリガーできます。
| sourcetype <network access data> | eval _time=strptime(accessTime, "%Y-%m-%d %H:%M:%S") | fields _time apID | eval EndofBusinessHour=strftime(_time,"00:30") | eval StartofBusinessHour=strftime(_time,"05:30") | eval CurrentTime=strftime(_time,"%H:%M") | where CurrentTime > EndofBusinessHour OR CurrentTime > StartofBusinessHour | bin span=15minutes _time | stats count by apID _time | stats values(count) AS "Connections" BY apID _time | convert ctime(_time) | rename apID AS "WAP Name" _time AS "Connection Time" | where Connections < 1
- ► ステージ 2: プロアクティブモニタリング
-
WAP アクセス時間統計
この検索では、WAP ごとの平均接続時間、最大接続時間、最小接続時間を表示することで、WAP 間の接続時間を把握できます。これは、キャパシティプランニング、トラブルシューティング、およびセキュリティに役立つ場合があります。
この検索には、ネットワークアクセスポイントへのアクセスの時系列データと、アクセスポイントの名前マッピングが必要です。
| sourcetype <network access data> | eval _time=strptime(accessTime, "%Y-%m-%d %H:%M:%S") | sort _time | convert timeformat="%Y-%m-%d %T" mktime(accessTime) AS accessTime mktime(accessDisconnectTime) AS accessDisconnectTime | eval accessDuration = accessDisconnectTime-accessTime | stats avg(accessDuration) as avgAccessDur max(accessDuration) as maxAccessdur min(accessDuration) AS minAccessdur BY apID | eval avgAccessDur=round(avgAccessDur/60,2) | eval maxAccessdur=round(maxAccessdur/60,2) | eval minAccessdur=round(minAccessdur/60,2) | rename apID AS "WIFI AP Name" avgAccessDur AS "Average Duration (Minutes)" maxAccessdur AS "Maximum Duration (Minutes)" minAccessdur AS "Minimum Duration (Minutes)"
WAP 接続統計情報
この検索により、アクセスポイントとそれに接続しているユーザーを監視できます。このデータがあれば、AP が使用可能で、容量があることを確認できる場合があります。最後に、AP に参加しているユーザーを監視し、関連するメトリックを利用できる場合があります。
この検索には、監視対象のワイヤレスアクセスポイントへのアクセスに関する時系列データが必要です。
| sourcetype <network access data> | eval _time=strptime(accessTime, "%Y-%m-%d %H:%M:%S") | sort - _time | timechart count fixedrange=false span=15m BY apID
- ► ステージ 3: 運用の可視化
-
監視対象の WAP へのユーザ接続の異常
この検索では、複数のWAPにアクセスしているユーザーと、そのユーザーがアクセスポイントに接続していた期間を特定します。このようなデータ自体は悪意のある行動を示すものではありませんが、異常な接続を特定するために利用することはできます。この検索は、デバイスやユーザーに接続証跡を提供するという法的要件やコンプライアンス要件を満たす場合にも使用できます。
この検索には、ワイヤレスアクセスポイントへのアクセス時間と切断時間の時系列データと、個々のWAPへの接続に関連付けるために使用できるユーザー名や一意の識別子などの関連データを含むエンリッチメントデータが必要です。
| sourcetype <network access data> | eval _time=strptime(accessTime, "%Y-%m-%d %H:%M:%S") | convert timeformat="%Y-%m-%d %H:%M:%S" mktime(accessDisconnectTime) AS disconnectTime | convert timeformat="%Y-%m-%d %H:%M:%S" mktime(accessTime) AS accessTime | eval duration = disconnectTime - accessTime | fields _time userHash apID accessTime disconnectTime duration | convert ctime(*Time) | stats count values(accessTime) as accessTime list(disconnectTime) AS disconnectTime list(duration) AS duration list(apID) AS apID BY userHash _time | search count > 1 | rename userHash AS User accessTime AS "WAP Access Time" disconnectTime AS "Disconnect Time" duration AS Duration apID AS "WAP Name" | fields User "WAP Name" "WAP Access Time" "Disconnect Time" Duration | sort _time | fields - _time
WAPユーザーのトップホーム都市
この検索では、契約情報または請求情報に基づいてトップユーザーの出身都市が返されます。この検索により、接続しているユーザがどこから電話をかけてきたかを把握できます。このデータがあれば、マーケティングチームに関連するユーザー指標をマーケティングチームに提供し、ターゲットを絞ったマーケティングキャンペーンを実施できる可能性があります。
この検索には、ネットワークアクセスポイントへのアクセスを追跡する時系列データと、年齢、請求場所、性別などの指標を含むデータが必要です。
| sourcetype <network access data> | eval _time=strptime(accessTime, "%Y-%m-%d %H:%M:%S") | sort - _time | where userCity != "UNKNOWN" | stats count BY userCity | sort - count | head 10
場所と時間によるWAPの地理的アクセス
地理的位置別にアクセスポイントに接続しているユーザー数を確認します。この検索により、アクセスポイントとそれに接続しているユーザーを監視できる場合があります。このデータがあれば、AP が使用可能で、容量があることを確認できます。最後に、AP に参加しているユーザーを監視し、そのようなデータに関するメトリックを利用できる場合があります。
この検索には、ネットワークアクセスポイントへのアクセスを追跡する時系列データが必要です。
| sourcetype <network access data> | geostats latfield=apLat longfield=apLong binspanlat=20 binspanlong=20 count BY accessTime
次のステップ
次のような電気通信のユースケースにも興味があるかもしれません。