sidetech

(元)インフラエンジニアの寄り道メモ。

SNMPから~の~Merakiで仕留める

先日、いやーなものをSNMPで発見してしまいましたね。
その後も同じ時間に同様の波形が出てしまいました。
Sessionblock01

夜の23時20分から始まる波形なんですよね。
実はこの環境、私が少々サボっていまして、本当はRTX1200を使うんじゃなくてPaloaltoを使うルートだったんですが・・・すっかり放置気味でして・・・[E:coldsweats01]
Paloaltoを経路中に組んでいたら、もう少し説明内容も変わったし、こんな恥ずかしいブログを書く必要もなかったんですが、これはこれでPaloaltoがない環境でもある程度の事が出来ますんで、その説明ってことで。

さて、まず、こういった神出鬼没系については、SNMP監視で「しきい値」を設定しましょう。
私はSystemAnswerG2で、いつものピークが2500位でしたんで、しきい値を4000位にセットしてみました。こうする事で、常に張り付いていつ来るかわからないセッションバーストを待つ必要はなくなりますね。

セッションバーストが発生したら、今回のルーターはRTX1200なので、ログインしてNATの数を見てみましょう。ちなみにRTX1200のイントリュージョンには期待したログはありませんでした。

RTX1200# show nat descriptor address
参照NATディスクリプタ : 1000, 適用インタフェース : LAN2(1)
Masqueradeテーブル
    外側アドレス: primary/1xx.yy.2zz.1aa
    ポート範囲: 60000-64095, 49152-59999, 44096-49151   813個使用中
      No.       内側アドレス      使用中のポート数    制限数         種別
       1         1xx.1xx.4.7x                10274     20000         dynamic
       2        1xx.1xx.6.17x                    55     20000         dynamic
       3        1xx.1xx.3.14x                    15     20000         dynamic
       4       19x.16x.1xx.7x                    12     20000         dynamic
       5       19x.16x.1xx.2x                    12     20000         dynamic

こんな感じで飛びぬけた値のIPアドレスが判るはず~。
あとはその端末が誰のものなのか調べればOKですね~。

え”?誰の端末か判らない?!
そーいうこともあるっすよね・・・私もあるっす。[E:coldsweats01]
そーいう場合にその端末が誰のものか判っていれば、連絡をつけてネットワークから外す事が出来ますが、誰のか判らなければ、何処に設置されているのかわからない場合、どうしましょう?

こー言う時に取りあえずネットワークから切り離す手段としてよくあるのが、MACアドレスによる認証系ですね。流行りはしなかったけどHUB認証とか。でも人によってはIPアドレスからMACアドレスを判明するのも大変じゃないでしょうか。RTX1200でFilter書くことでとりあえず凌ぐ方法もありますね。でも大中規模ではルーター系を一時的にユーザー端末を制御するっていうのは少~しナンセンスです。というかやってらんない[E:despair]

そんな時に便利なのが、ちょっとお高い製品ですが、Cisco MerakiのMRシリーズ(無線アクセスポイントMR16,MR18,MR32など)やMSシリーズ(スイッチングハブ MS-220等)は便利です。

Sessionblock02

まず、IPは判明してますんで、IPでサーチを掛けます。DHCP環境でIPが変わりやすい環境では、とにかく症状がでてからすぐに対処するのがいいですね。

この時点で、もう端末がある程度特定できてしまいます。この端末はWin7Wifiを使っていました。おまけにどこのAPにこの端末がぶら下がっているかもわかるので、設置エリアはある程度絞れます。

 Sessionblock03_2
なんか今回のネタはマスクだらけですんません。おまけに画像はすでにブロックした後の画面なのですが、Merakiではアプリケーションレイヤー(L7層)をある程度選別する事が出来ます。どうやらVideoトラフィックCDNトラフィックが多く、BitTrrentとTumblerが使われているみたいです。

Sessionblock04
とりあえず息の根を止める場合には「Device Policy」から「Blocked」してあげると、この端末は通信不能に陥ります。特定のSSIDだけBlockedする方法もあります。

設定が済むとこの端末に対してだけオーバーライドという形で通信がブロックされるようになります。もうSSIDのパスワードが正しくても繋がりません。

といった感じで、Merakiの環境があるとサクサクっと該当端末を仕留めれます。あとは持ち主から連絡が来るのを待ちましょう。[E:smile]

MerakiではIPフィルタとアプリケーションフィルタが、APだろうがスイッチだろうが使えます。ただ、アプリケーションの判定は対応アプリが増えてはきているのですが、まだまだそこだけを頼った制御が少し心もとないです。誤検知制御も結構あります。Paloaltoの様に常に色々なアプリに対したDATの更新頻度があるわけでもないので、アプリケーション判定によるブロッキングは出来ますが、私はほんとに僅かしか掛けていません。ここは付き合い方を割り切ってしまったほうが良いと思います。でも、ある程度アプリケーションが判別出来るだけでもすごい事なんです。安価なスイッチやルーターでは判りませんからね。RTX1200だけで今回の事を対処しようと思ったら、ソコソコに大変ですし、かなりマニアックな事をしないと対応出来なかったと思います。

今回はSAG2のSNMPでカスタムコマンドでNATの値を取得していて気が付きましたが、CPUも同様に負荷が上がっていたので、通常であればCPUの負荷を見て、変だな?って思えれば、show techinfoで確認して気が付く方法もあると思います。ただその場合にもSNMP監視によるデータ取得をしていなければ、間違いなく気が付かないでしょう。

でも出来れば、こんな怪しいセッションが発生する前にトドメを刺しておきたいですよね。なので、私の最近の口癖は、時代はIPフィルタじゃなくてアプリケーションフィルタと監視。そして自立・自動制御![E:coldsweats02]
でもねSSL全盛なんで、組み方が色々とめんどっちーんすよ。[E:coldsweats01]