MT5.02にしてみたよ

MovableTypeのセキュリティリリースが5月12日にあったっぽいので、ウチもバージョンアップしてみました。

[重要] セキュリティアップデート Movable Type 5.02 の提供を開始

今までPostgreSQLでMT4.27を動かしていたけど、DBをMySQLに変更してMT5にアップグレードw

しかも仕事中にw

今も会社ですが、記事の作成テストを兼ねて、動作確認してみます。

問題なさそう?

DL360のCPU温度異常

昨年の11月に買ったばかりのHP DL360で、CPUの温度異常だとよw

Mar 19 14:36:23 hogeserver hpasmxld[3774]: WARNING: System Overheating (Zone 21, Location System, Temperature 66C)
Mar 19 14:36:23 hogeserver hpasmxld[3774]: A System Reboot has been requested by the management processor in 60 seconds.
Mar 19 14:36:23 hogeserver wall[9101]: wall: user root broadcasted 1 lines (79 chars)

週明けの火曜日ににハード交換だな。

sftp接続のカスタマイズ

以前構築した、OpenSSHを使って、chroot環境下でSFTPを動かす方法のカスタマイズを行った。

今回設定したのは、ログ出力と、bash権限を持つアカウントだけ鍵認証を行う設定。

理想の状態はこんな感じ。

  1. chroot後の環境で、データのやりとりをsyslogで管理したい
  2. sftpのログ専用のファシリティを設ける
  3. rsshユーザーはパスワード認証、bashユーザーは鍵認証をさせる

【 chroot環境下のログの採取方法 & sftpファシリティの追加】
通常、chroot環境では、/dev/logを参照することが出来ないので、ログ出力は行えない。
そこで、syslogのオプションに、chroot後のディレクトリのdev/に、ソケットを作成する記述を行う。

[/etc/sysconfig/syslog]
 変更前:SYSLOGD_OPTIONS=”-m 0″
 変更後:SYSLOGD_OPTIONS=”-m 0 -a chrootディレクトリ/dev/log”

通常では-aオプションは19個までしか設定出来ないっぽい。

オプションの変更後、syslogを再起動すると、設定したchrootディレクトリ/varにlogファイルが作成されている。

次に、sshd_configのSubSystemの箇所に、internal-sftpにログを出力するように編集し、編集後sshdの再起動を行う。

[/etc/ssh/sshd_config]
 変更前:Subsystem       sftp    internal-sftp
 変更後:Subsystem       sftp    internal-sftp -f local1 -l info

※-fはsyslogのファシリティ、-lでログレベルを指定する。

参考にしたサイトとかだと、ファシリティをauthprivに設定しているとこが多かったけど、/var/log/secureにsftpのログを追記したくなかったので変更する。
新規にlocal1というファシリティを作成して、そのログを/var/log/sftp.logに出力するように設定。
作成後、syslogの再起動が必要。

 echo “local1.* /var/log/sftp.log” >> /etc/syslog.conf

【 SSHの認証方法の変更 】
最後にbashも持つアカウントは鍵認証をさせて、sftp専用のユーザーはパスワード認証をさせる。

[/etc/ssh/sshd_config]
全ユーザー共通の設定(鍵認証させる)
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
PasswordAuthentication no

sftpユーザーはMatchのこんな感じになる。
 
Match Group chrootgroup
PasswordAuthentication yes
AllowAgentForwarding no
AllowTcpForwarding no
ChrootDirectory /usr/local/chroot/
PubkeyAuthentication no

ここまで設定したら、sshdを再起動。

試しに、teratermからsftpユーザーで接続してみると、ユーザー名とパスワードの入力プロンプトは表示されるが、正常なパスワードであっても、一瞬rsshのエラーが出てきて接続が終了する。

iphoneが壊れた・・・

電源が切れたので、充電ケーブルを差し込んで電源を入れたら、最初のリンゴマークから全然先に進まなくなった。

修復方法を調べたら、こちらの記事と一緒の状況とだったので、記事通りに対応すると、iTuneで認識する事に成功。

バックアップデータが昨年の脱獄前のデータしか無かったが、取り敢えずそこまで戻せました。

今から再脱獄と設定のやり直しです。

修復とか言いつつ、アプリは全部入れ直しってw

BlueCoat ProxySGの監視

nagiosのプラグインを幅広く揃えてあるMonitoringExchangeにも、BlueCoatProxySGのプラグインが存在しなかった為、自作でプラグインを用意する事にしました。

nagiosのプラグインの作成方法を少し調べたら、どうやら決められた終了コードを返せばよいらしい。

終了コードはこれらしい。
OK=0
WARNING=1
CRITICAL=2
UNKNOWN=3
DEPENDENT=4

で、作ってみた。
BlueCoatProxySGのMIBを追加している環境で作ったので、MIB定義も念の為アップロードしておく。

bcmib.zip

全てbashで書いています。

例によって、私はプログラマではありませんので、ご使用は自己責任でお願いします。

両方のdiskの状態を取得出来るOIDはあったのですが、snmpwalkでの取得結果が2行表示されますが、nagiosのWEB画面には1行しか送信出来ないの部分をどのように表示させれば分かりやすいのかを考えるのがメンドくさかったので、プラグイン自体を2つに分けていますw

チェックファイルの使い方は、各ファイルをエディタで開き、
 HOST=監視対象のIPアドレス
 COMMUNITY=SNMPのコミュニティ名
 CRITICAL=クリティカルにする値(パーセント)
 WARNING=ワーニングにする値(パーセント)
を修正して下さい。

来週は内部温度監視と、ファン回転数監視のプラグインを作成してみますw

それにしても、BlueCoat ProxySGのCPU使用率が、夜中でも100%に達してクリティカルのアラートがガンガン飛んでくる。
全て2分程度で正常値に戻るので、保存されたキャッシュのクリーニングとかの処理を定期的に実施しているのかな。

なんにしても、アラートメールが結構うざいので、BlueCoat ProxySGのCPU監視のインターバルだけ調整が必要かもしれない。

centreonよりnagiosの日本語版の方が使いやすい

http://www.centreon.com/

先週末に、会社のnagiosに、フロントエンドGUIのcentreonをインストールしてみたが、インストールが面倒くさい割には、思ったよりインターフェースが使い辛い。

上司にチラっと画面を見せたけど、案の定反応がイマイチだったので、会社での利用はしない事にする。

拡張MIBの設定

拡張MIBの追加設定でハマったので、自分用のメモ。

・RPMでnet-snmpをインストールした時に作成される、標準のMIBディレクトリは、/usr/share/snmp/mibsになる。

・MIBの定義は1つしかインストールできない。同じ定義をロードさせた場合、後から追加した定義が既存の定義を上書きする形でロードされる為、拡張MIBを追加する場合は、標準のMIB定義を上書きしないように必要なものだけをロードさせる。

※ベンダーが提供しているMIB全てをロードさせると、大変な目に合う ← ここで1日はまった。

・拡張MIBは、場所を指定するだけで勝手にロードされる。

拡張MIBを追加する方法は以下の3つ。

・/usr/share/snmp/mibsディレクトリに定義ファイルを入れる。

・/etc/snmp.confファイルを作成し、
 mibdirs /usr/share/snmp/mibs:拡張MIBを格納ししているディレクトリ
 mibs = ALL
 と記述する。(システム全体に適用する場合)
※標準のMIBディレクトリと、拡張MIBディレクトリの間は、「:(コロン)」で区切る。

・$HOME/.snmp/snmp.confに、
 mibdirs /usr/share/snmp/mibs:拡張MIBを格納ししているディレクトリ
 mibs = ALL
 と記述する。(ユーザーだけに適用する場合)

Linux版のnrpe

現在、シコシコと社内用の監視システムを構築中。

監視対象はWindowsOSとLinuxOSが混在しているのが、リソース監視やらプロセス監視などの手法は統一したかったので、nrpeを使うことにした。

インストール方法などは省くが、Windows版のnrpeはdont_blame_nrpeの値を「1」にするだけで、$ARG$での引数設定が行えたが、Linux版のnrpeはdont_blame_nrpeを変えても
「CHECK_NRPE: Received 0 bytes from daemon.  Check the remote server logs for error messages.」
と言ったエラーメッセージが表示されて接続出来なかった。

半日ググッてやっと解決。

どうやら、セキュリティ上の理由から、nrpeインストール時にのconfigureに–enable-command-argsを付加してあげないとダメらしい。

先週Linuxサーバにインストールしたnrpeを全部入れ直しかよ!