この特集のトップページへ
この回のトップページへ

SNMPとセキュリティ

 最後に,SNMPのセキュリティについて簡単に述べておく。

 SNMPでのセキュリティは基本的に,次の2つの項目で決定される。

  1. あらかじめ設定しておいたIPアドレスをもつホストからのアクセスであるか
  2. コミュニティ名が一致しているかどうか

 SNMPでは,このような簡単な認証方式しかサポートしていないので(SNMPv3では別の認証方式もサポートされる),インターネット上で使うのは避けたほうがよい。そもそもSNMPはUDPパケットで通信するため,データのパケットが正しくSNMPエージェントに到達したかどうか,SNMPマネージャに戻ってくるかどうかは一切保証されない。

 SNMPでは,UDPのポート161番と162番が使われる。できることならば,ルーターなどの設定でパケットフィルタリングし,この2つのパケットがインターネット側から入らずまた出ないように設定しておいたほうが安全だ。

まとめ

 今回は,ucd-snmpをインストールして,LinuxマシンにSNMPエージェントの機能を追加したのち,MRTGを使って,データを取得する方法について説明した。簡単ではあるが,この方法により,ネットワーク全体の情報をグラフ化することがいとも簡単にできる。

 しかしSNMPは,データを収集し,グラフ化するだけには留まらない。今回は説明しなかったが,SNMPには「SNMPトラップ」という機能があり,データがあらかじめ指定した値になったならば,特定のコマンドを実行するようなこともできる(ucd-snmpでは,SNMPトラップをサポートするためのsnmpdというデーモンが用意されている)。この機能を使えば,たとえば,システムが不調になったならば,管理者にメールを送信するとか管理者のポケベルを鳴らすといったような,障害時の報告システムを構築することができる。

 また,SNMPはさまざまなOSで使えるものであり,SNMPエージェントとSNMPマネージャのOSが違ってももちろん問題ない。たとえばWindows2000には「ネットワークモニタ」というSNMPマネージャの機能をもつソフトが用意されているので,Linuxにucd-snmpを入れ,Windows2000からネットワークモニタを使って監視するといったこともできる。つまり,用途に応じて,SNMPエージェントとSNMPマネージャは自由に組み合わせて使うことができるというわけだ。


余談になるが,WebサーバーであるApacheにSNMPの機能を追加するmod-snmpというプログラムもある。Apacheにmod-snmpを組み込むと,SNMPマネージャを通じてApacheへのリクエスト数やエラー数などの統計情報を取得できる。またApacheの情報を取得するだけでなく,SNMPマネージャからApacheの設定を変更することもできるのだ。

 ここまで読んできて,1台のコンピュータを管理するだけであれば,わざわざSNMPを利用する価値はないと考える読者も多いと思う。しかしMRTGを使うとさまざまな情報をグラフ化できるため,たとえ1台のコンピュータであっても,ネットワークの問題点を掴むという点から見ればSNMPを導入するメリットは高い。

 たとえば,なんとなくネットワークが遅くなったと感じたときに,何が原因で,どの時間帯に遅くなるのかを掴むのは,やはり統計情報を見ないとわかりにくい。そういった意味で,SNMPを使ったネットワークモニタリングは,ネットワークにトラブルがないかどうかを調べるような監視用途としての使い方はもちろん,ネットワークのボトルネックとなっている部分はどのようなところで,もし増強するならばどの部分を増強しなければならないのか(サーバーのメモリなのかCPUなのか,それともネットワークそのもののトラフィックが増大しているのかなど)を把握するのにも役立つ。

[大澤文孝,ITmedia]

PREV 36/36