SSブログ

スティーブ・ジョブズ (伝記) [書]

スティーブ・ジョブズ I

スティーブ・ジョブズ I

  • 作者: ウォルター・アイザックソン
  • 出版社/メーカー: 講談社
  • 発売日: 2011/10/25
  • メディア: 単行本
スティーブ・ジョブズ II

スティーブ・ジョブズ II

  • 作者: ウォルター・アイザックソン
  • 出版社/メーカー: 講談社
  • 発売日: 2011/11/02
  • メディア: 単行本
出生の部分については非常に内容の濃いものである。これは彼のルーツであり、その後の人生すべてに通じる部分、ある種トラウマと言っていいものが根底に流れている。
8月のCEO辞任にも触れるなど本当に直前まで述べられている。それでいて、このタイミングで世界同時発売だから著者、翻訳者および出版社など関係者の努力も素晴らしい。
本書の最初と最後にはこの本を出版する本人の意図が語られている。
自分の子供に自分のことを知ってもらいたいからだと。

決して良いところだけではなく、悪い面も述べられている。むしろ悪い面が多いと感じる。
決して彼は人間的に優れているわけではないのは多くの人に知られているが、世界を変える製品を次々と作り出すその想いの強さは常人を超えている。だからこそなしえたのだと思う。

しかし、知って欲しいとはいえ、言いたくないこともあるのが普通だと思う。けれどそうしないのは彼のスタンフォードでの有名なスピーチにもあるように死を前にしたら恥ずかしいとかプライドとかそういったものは些事なのだろう。自分の言葉どおりに行動したと言える。

本書は本当に多くの人の言葉を集めている。スティーブの言葉をそのまま載せるだけでなく、ちゃんと裏を取っている。こうした地道な作業が重なり、信頼性を高めている。あえて彼の家族とくに子どもたちの言葉が少ないのはスティーブの意図を汲んでのことだと思う。

アイコンではない、人間スティーブジョブズを表した素晴らしい伝記である。
歴史に残る人物と同時代に生きた喜びと彼の生み出した数々の製品に触れられた事に改めて感謝。

合掌。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

モテキ(映画) [映]

映画モテキを観てきた。
最近の映画館はスカスカでモテキが人気だと言ってもまあ大丈夫だろうと思って渋谷まで出てきたのだが、まあビックリ。
左端の席しかないと言われる。
満席の映画なんてここ最近では観たことない。しかも客は未成年女子グループとカップルだらけ。
オッサンはひとりでちょっと恥ずかしかったですよ。

さて、映画の前にドラマを予習した。ほぼ日の監督対談の記事も読んだ。
実際、映画だけでも楽しめると思う。けれどドラマは観ていった方がより楽しめると思う。

この映画、名言が飛び出て面白い。
「アイドルソングは麻薬」だとか、「オレのセックス正確じゃないだろ」とかw
とはいえ、キャラが明確で分かりやすい。
長澤まさみをあれだけビッチにするというのはなかなか良い。
まあ、世の男子の妄想が現実化した感じを満たしているが、この映画が世の女子から受けているというのも面白い。
その辺はドラマ版とも通じるが、愛とか性とかごっちゃまぜ感が今の時代に合っていると言うことなのか。
この複雑性はなかなかメディアで取り上げられない部分でもあり、そこをちゃんと描いているあたりが評価されるのだと思う。
分かりやすさ、言わないと伝わらないというアメリカン、グローバリズムと世の正道からずれているんだけど、その行間が描かれているというのは日本らしいと言える。

つーか、まあこのブログを書くにあたって見つけた、こっちの対談の方が面白かったなぁ。
糸井さんすげーわ。
「好きなものを二番目にする」って感じ、すごく分かる。
それがうまくできなかったんだよね。オレ。

オレも土井亜紀オシですわ〜。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:映画

RIP [mac]

スティーブジョブズが亡くなった。
謹んでご冥福をお祈りいたします。

長年彼の健康問題はApple最大のリスクとして知られていた。
8月末に公式の場から席を外したことは今日の前兆であることは残念ながら明らかであった。
世界はもう少し奇跡を観たかった。少なくとも自分はそうだった。

twitterはそのことで埋められ、その影響力を改めて知らされた。
このブログのタイトルは彼のスピーチから勝手ながら使わせて頂いた。
自分もまた、彼の影響を受けた人々の一人である。
彼の生み出す製品に惚れ、スピーチに感動し、一歩踏み出すことが出来た。
これから踏み出す次の一歩は自ら進むしかない。

don't settle. 

Rest In Peace Steve Jobs





nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

ダイエットとりあえず終了 [食]

先週の金曜日に会社の健康診断があった。
先々週の土曜日から開始した短期ダイエット企画は約1.8kg減という成績に終わった。
1週間という短期間ではあるが、新鮮なことが色々あったのでメモとして残しておく。
なお、目標体重まではあと1kgあるのでこれは時間をかけて安定するまでダイエットは緩く継続したい。

◎まとめ
記録をつけること
食品のカロリーは簡単に調べることが出来る
体質の変化に気づき、楽しむこと


まず、戦略として世に言う「レコードダイエット」スタイルでダイエットを行った。これは日々の体重や摂取カロリー、消費カロリーを記録するものだ。(参考:http://putikuri.way-nifty.com/blog/2007/04/post_7e47.html

上記のブログにもあるが、本質は「記録すること」にある。実際、日に日に体重が減っていくのは見ていて面白い。面白いから継続する。確かにカロリー計算などめんどくさいが多くの食品にはカロリー表示があるし、ネットで検索すればいっぱい出てくる。コンビニはもちろん、食品メーカーサイトなどなど簡単に検索できる。今だとスマートフォンのアプリもたくさんあるのでそのハードルは下がっている。
たぶん、こんな事が出来るのは日本くらいだと思う。ダイエット天国ニッポン万歳。
日本人に生まれて良かったと感じた一瞬である。

基礎代謝量が成人男子では約1400kcalくらい。これに日常の活動量がプラスされる。
ダイエットを意識するなら基礎代謝量程度に摂取カロリーは抑えたい。
カロリーを抑えつつ、そこそこ満腹感を得るためには野菜中心の食生活になる。油脂系はダイエットの天敵である。小さじ1杯で90kcalとかあり得ない。だったら果物とか食べるっつーの。
結局、食事量は少なくなるので胃が小さくなる。小さくなるまでは腹がグーグー鳴るのがキツイがこれは我慢するしかない。
記録を取る事によって日々の食生活が見直される。摂取した食品のカロリーを調べるため食事に関するリテラシーも向上する。
若いときの食生活の延長で考えるのではなく、現時点の自分と対話しなければならい。代謝量が若いときより落ちているのだから摂取量も必然下がらなければならない。そうなれば良質のものを取りたくなる。もちろん、質はそのままで食費を抑えることもこの不景気には家計に優しい。どちらを取るかは人それぞれ。



健康診断後の週末、外食して帰って体重計に乗ったら元の体重に戻っていて1週間の努力があっさり無に帰した。
当たり前の話だが、1日の中で1kg程度は体重の変動があるものだ。大人になれば付き合いもあるのだから、ストイックに続けることは現実には困難である。翌日以降の食生活でリカバーするような計画性が必要。
昨日ジムに行って前日消費したビールが汗となって流れた結果、2kg減だった。このように膨らんでは縮む自らの身体を楽しむ位の心持ちでよいのではないだろうか。


タグ:ダイエット
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:グルメ・料理

ダイエット4日目 [食]

正直に言う。人生初のダイエット中である。
今週末会社の健康診断があるというのが一番の理由だが、今年はじめに体重が急増し、依然高レベルの体重をキープし続けている。今までは多少気をつければ自然ともとの体重に戻ったものだが、全く戻らない。ランニングを始めたりしたのだが、運動すると飯がうまい。よく食べる。体重キープというループに見事にはまり込んでいる。

というわけで、一度リセットする意味でもダイエットを始めた次第である。
ジムでバイクマシンをこぎながら健康オタクのバイブル的雑誌ターザンを読んで、ブロッコリーと鶏のささみを中心としたメニューでいくことにした。
そのほか、果物で空腹を紛らすというバックアップも用意。
とにかく貴重な食事を無駄なカロリーで消費しないこととどうせ食うならうまいものを食べたい。
朝飯はいつもと変わらず食パン一枚。始業前から腹が鳴る。
昼飯はカロリー計算しやすいコンビニ飯。ほとんどすべての商品にカロリー表示が付いている。我ながらカロリーを見て商品を選ぶというOL的行動は端から見て喜劇である。
晩飯は自炊。量をごまかす上でも野菜スープ系が中心。もちろん断酒中。

そして、毎日の体重計測とカロリー計算・記録を地道につけてみる。
しかし、ダイエットを始めて見て気づいたのだが、カロリー計算できるサイトは山ほどあるし、iphoneアプリもしっかりある。
今は、ネスレから無料で提供されているネスレcalorieというアプリを利用している。
手料理の場合はこちらのサイトで計算してアプリに転記という我ながら手間のかかることをやっている。
今日ようやくちゃんとした体重計をゲット。何しろダイエットと無縁だったんで。
今までどうしてたかというとwii fitで計っていた。これ、一日一回しか計れないのと体重しか分からない。しかも起動に時間がかかるのでめんどくさくなってきたため、体重計を購入と相成った次第。

現在のところ毎日吸収カロリーと消費カロリーの収支は-1000kcal以上をキープしているため、順調に体重は減っている。
空腹感はあるものの、意外にストレスを感じていない。これは強がりではない。繰り返す。これは強がりではない。

というわけで計量日まであと3日。戦いは続く。


タグ:ダイエット
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

NagVisを使ってみる(設定編) [nagios]

■準備作業
ホスト間の親子関係を定義する。
方法はホスト定義の記述に"parents"に親となるホスト名を指定する。
 
define host {
  host_name aaa    
  ・・・ 
  parents bbb    <--- この部分を追記。
 
■ログインについて
以下のURLにアクセスする。 
 
nagvisにはデフォルトで以下のユーザーが用意されている。

ユーザー名:nagiosadmin パスワード:nagiosadmin
ユーザー名:guest パスワード:guest

guestユーザーは読み取り権限しかないので、ここではnagiosadminユーザーを使ってログインする。ログイン後の画面には [Map Index] [Automap index] [Rotation Pools]と言った表記がある。
それぞれいったい何かというと、マップインデックスは表示画面一覧とでもいうもので、マップというのはそれぞれ作成した表示画面のことである。
Automapはその名の通り、自動作成されたマップのことである。
そしてローテーションプールとは複数のマップを束ねて一定時間おきに自動でマップが切り替わるものである。その名の通りマップがローテーションしてくれるわけである。

初期画面で簡単なサンプルデモ画面がいくつか存在する。
これらのデモマップ画面を参考に編集してみる。

まず、基本的な仕組みとしては、背景に画像ファイルをおいて、その上にnagiosで定義した監視対象ホストのアイコンをブラウザ上で配置する。アイコンはNagiosと自動的にリンクしてくれるのでいくつかのプロパティを設定(と言っても結構細かい設定が可能)すればこだわりの監視画面が作成できる。

■閲覧モードから編集モードへ切り替える。
まず、[Map Index] にある[demo] をクリックしてマップを開く。
閲覧モードなので、編集する場合は画面上部のメニューバーの中から、Action -> Edit Current Map をクリックする。
そうすると、メニューバーに [Map] と [Options] というメニュー表示が増え、ブラウザ上で編集することが出来る。

■マップ全体のオプション変更
マップの背景画像や配置したアイコンオブジェクト共通のプロパティを変更する場合は Map -> Map Options をクリックする。
ただし、背景画像をあらかじめnagvisに登録しておく必要がある。
この場合、新規の画像ファイルを作成したあと、Options -> Manage Backgrouds をクリックし、
[Upload Background Image]の[Choose an Image] 欄に画像ファイルを指定してUploadボタンをクリックする。そうすると[Map Options] の[map_image] プルダウンメニューに先ほど登録した画像ファイルが選択可能になる。

■マップにアイコンを追加する
マップ上にホストアイコンを追加する場合は Map -> Add Icon -> Host をクリックする。
サービスオブジェクトを追加する場合は Map -> Add Icon -> Service をクリックする。


■アイコンの移動、編集、削除
画面上にある緑色のチェックボックスアイコンは四角がホスト(サーバ)、丸がサービスをしめしている。アイコンにマウスをあわせて左クリックしたままマウスを移動させるとアイコンもドラッグして移動する。右クリックするとプロパティ編集やクローンコピー、アイコンの削除が出来る。
プロパティの内容については本家ドキュメントに詳しく載っているのでこちらを参照。

タグ:Nagios nagvis

NagVisを入れてみる (インストール編) [nagios]

NagiosのフロントエンドとしてNagVisと言うのを入れてみる。
Nagiosのマップ機能が弱かったりするのでUIを改善することを試みる。
元ネタは本家ドキュメントからです。
 
■必要なもの(Requirements)
Nagios
MKLivestatus
Webserver with PHP Support
PHP modules needed
 php5-gd
 php5-gettext
 php5-mbstring
 php5-session
 php5-json
 php5-pdo and pdo-sqlite

mklivestatusを使う場合は、php-net-socketまたはphp5-socketsが必要。
ndomy,merlinmyの場合は、php5-mysqlが必要。
ndo2fsの場合はphp5-xmlが必要。

graphviz


■PHPモジュールの確認

インストール済みのPHPモジュールを調べる。

# php -m | grep gd

追加でモジュールをインストールする

# yum install php-mbstring

■MKLivestatusのインストール
従来、NDOUtilsが必要だったが、NagVis1.5からはmklivestatusというのがデフォルトのようなのでそちらを入れることにする。

まずはmklivestatusをダウンロード&インストールする。

# tar zxvf mk-livestatus-1.1.11i2.tar.gz
# cd mk-livestatus-1.1.11i2

手動でインストールする場合は以下の通り。

# configure 
# make 
# make install

自動インストールの場合、check_mk-1.1.11i2.tar.gzの中にサブセットとしてlivestatusは含まれており、check_mk-1.1.11i2.tar.gzを解凍した直下にsetup.shというスクリプトがあるのでこれを実行する。
その場合、livestatus.oというファイルが/usr/lib/check_mk配下にコピーされる。(パスを変更していない場合)
そして、モジュールをロードするために必要な2行の記述をnagios.cfgファイルに追加する。

ここはせっかくなので手動でインストールしてみる。
手順もWebサイトで丁寧に書かれているので安心。

上記の手動インストール手順を実行した後、nagios.cfgファイルに以下の2行を追加する。

broker_module=/usr/local/lib/mk-livestatus/livestatus.o /usr/local/nagios/var/rw/live
event_broker_options=-1

Nagiosを再起動する。

# service nagios restart

そうすると、ソケットファイルが作成される。
また、ログファイルにモジュールがロードされたことが示される。

■graphviz のインストール
redhatにパッケージがあるのでこれを使う。

# yum install graphviz

■NagVisのダウンロード
本家サイトからダウンロード&解凍する。

# tar zxvf nagvis-1.5.10.tar.gz

インストーラーがあるので実行権を付与して実行する。
ちなみに1.5.10では実行権が付与されていたのでそのまま実行。

# cd nagvis-1.5.10
# ./install.sh

実行するといろいろ聞いてくるので、適宜回答する。デフォルトのままの場合はEnterで。

+------------------------------------------------------------------------------+
| Welcome to NagVis Installer 0.2.17                                           |
+------------------------------------------------------------------------------+
| This script is built to facilitate the NagVis installation and update        |
| procedure for you. The installer has been tested on the following systems:   |
| - Debian Etch, Hardy (4.0, 5.0)                                              |
| - Ubuntu Hardy, Intrepid, Jaunty, Karmic, Lucid (8.04 to 10.04)              |
| - SuSE Linux Enterprise Server 10 and 11                                     |
|                                                                              |
| Similar distributions to the ones mentioned above should work as well.       |
| That (hopefully) includes RedHat, Fedora, CentOS, OpenSuSE                   |
|                                                                              |
| If you experience any problems using these or other distributions, please    |
| report that to the NagVis team.                                              |
+------------------------------------------------------------------------------+
| Do you want to proceed? [y]: y
+------------------------------------------------------------------------------+
| Starting installation of NagVis 1.5.10                                       |
+------------------------------------------------------------------------------+
| OS  : Red Hat Enterprise Linux Server release 6.1 (Santiago)                 |
| Perl: 5.010001                                                               |
|                                                                              |
+--- Checking for tools -------------------------------------------------------+
| Using packet manager /bin/rpm                                          found |
|                                                                              |
+--- Checking paths -----------------------------------------------------------+
| Please enter the path to the nagios base directory [/usr/local/nagios]:
|   nagios path /usr/local/nagios                                        found |
| Please enter the path to NagVis base [/usr/local/nagvis]:
|                                                                              |
+--- Checking prerequisites ---------------------------------------------------+
| Nagios Core 3.2.3                                                      found |
| PHP 5.3                                                                found |
|   PHP Module: gd php                                                   found |
|   PHP Module: mbstring php                                             found |
|   PHP Module: gettext compiled_in                                      found |
|   PHP Module: session compiled_in                                      found |
|   PHP Module: xml php                                                  found |
|   Apache mod_php                                                       found |
| Checking Backends. (Available: mklivestatus,ndo2db,ido2db,merlinmy)          |
| Do you want to use backend mklivestatus? [y]:
| Do you want to use backend ndo2db? [n]:
| Do you want to use backend ido2db? [n]:
| Do you want to use backend merlinmy? [n]:
|   Livestatus Socket (/usr/local/nagios/var/rw/live)                    found |
|   PHP Module: sockets compiled_in                                      found |
| Graphviz 2.26                                                          found |
|   Graphviz Module dot 2.26.0                                           found |
|   Graphviz Module neato 2.26.0                                         found |
|   Graphviz Module twopi 2.26.0                                         found |
|   Graphviz Module circo 2.26.0                                         found |
|   Graphviz Module fdp 2.26.0                                           found |
|                                                                              |
+--- Trying to detect Apache settings -----------------------------------------+
| Please enter the web path to NagVis [/nagvis]:
| Please enter the name of the web-server user [apache]:
| Please enter the name of the web-server group [apache]:
| create Apache config file [y]:
|                                                                              |
+--- Checking for existing NagVis ---------------------------------------------+
|                                                                              |
+------------------------------------------------------------------------------+
| Summary                                                                      |
+------------------------------------------------------------------------------+
| NagVis home will be:           /usr/local/nagvis                             |
| Owner of NagVis files will be: apache                                        |
| Group of NagVis files will be: apache                                        |
| Path to Apache config dir is:  /etc/httpd/conf.d                             |
| Apache config will be created: yes                                           |
|                                                                              |
| Installation mode:             install                                       |
|                                                                              |
| Do you really want to continue? [y]:
+------------------------------------------------------------------------------+
| Starting installation                                                        |
+------------------------------------------------------------------------------+
| Creating directory /usr/local/nagvis...                                done  |
| Creating directory /usr/local/nagvis/var...                            done  |
| Creating directory /usr/local/nagvis/var/tmpl/cache...                 done  |
| Creating directory /usr/local/nagvis/var/tmpl/compile...               done  |
| Creating directory /usr/local/nagvis/share/var...                      done  |
| Copying files to /usr/local/nagvis...                                  done  |
| Creating main configuration file...                                    done  |
|   Adding MKLivestatus Backend...                                       done  |
| Creating web configuration file...                                     done  |
| Setting permissions for web configuration file...                      done  |
|                                                                              |
|                                                                              |
|                                                                              |
+--- Setting permissions... ---------------------------------------------------+
| /usr/local/nagvis/etc/nagvis.ini.php-sample                            done  |
| /usr/local/nagvis/etc                                                  done  |
| /usr/local/nagvis/etc/maps                                             done  |
| /usr/local/nagvis/etc/maps/*                                           done  |
| /usr/local/nagvis/etc/automaps                                         done  |
| /usr/local/nagvis/etc/automaps/*                                       done  |
| /usr/local/nagvis/share/userfiles/images/maps                          done  |
| /usr/local/nagvis/share/userfiles/images/maps/*                        done  |
| /usr/local/nagvis/share/userfiles/images/shapes                        done  |
| /usr/local/nagvis/share/userfiles/images/shapes/*                      done  |
| /usr/local/nagvis/var                                                  done  |
| /usr/local/nagvis/var/*                                                done  |
| /usr/local/nagvis/var/tmpl                                             done  |
| /usr/local/nagvis/var/tmpl/cache                                       done  |
| /usr/local/nagvis/var/tmpl/compile                                     done  |
| /usr/local/nagvis/share/var                                            done  |
|                                                                              |
+------------------------------------------------------------------------------+
| Installation complete                                                        |
|                                                                              |
| You can safely remove this source directory.                                 |
|                                                                              |
| For later update/upgrade you may use this command to have a faster update:   |
| ./install.sh -n /usr/local/nagios -p /usr/local/nagvis -B /usr/local/nagios/bin/nagios -l "unix:/usr/local/nagios/var/rw/live" -b mklivestatus -u apache -g apache -w /etc/httpd/conf.d -a y
|                                                                              |
| What to do next?                                                             |
| - Read the documentation                                                     |
| - Maybe you want to edit the main configuration file?                        |
|   Its location is: /usr/local/nagvis/etc/nagvis.ini.php                      |
| - Configure NagVis via browser                                               |
|   <http://localhost/nagvis/config.php>                                       |
| - Initial admin credentials:                                                 |
|     Username: nagiosadmin                                                    |
|     Password: nagiosadmin                                                    |
+------------------------------------------------------------------------------+

apacheを再起動する。

# service httpd restart

ブラウザでアクセスする。(http://<hostname>/nagvis/

タグ:Nagios nagvis

Nagiosでネットワークトラフィックをグラフ化する [nagios]

従来、ネットワークトラフィックをグラフ化するといえばMRTGが定番。
しかし、Nagiosに一本化することを検討。

まず、前提知識としてSNMPの知識は必須。
SNMPについてはこのへんが詳しい。

ちょいとはまった点は32ビットと64ビットでオブジェクトIDが違う点。

32bitOSのネットワークトラフィックのOIDはこちら。

ifInOctets  1.3.6.1.2.1.2.2.1.10
ifOutOctets 1.3.6.1.2.1.2.2.1.16

64bitOSのネットワークトラフィックのOIDはこちら。

ifHCInOctets  1.3.6.1.2.1.31.1.1.1.6
ifHCOutOctets 1.3.6.1.2.1.31.1.1.1.10


上記のOIDにネットワークインターフェースのIDを付加する。

例)eth0が2の場合

1.3.6.1.2.1.2.2.1.10.2
1.3.6.1.2.1.2.2.1.16.2

上記のOIDなどをネットで調べる場合はCiscoのSNMPオブジェクトナビゲーターが便利。

コマンドラインで調べる場合は以下の通り。
オブジェクト名が分かっていて、OIDを調べたい場合
# snmptranslate -On -IR  ifInOctets

戻り値を調べる方法
# snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.2.2.1.10.2

"No Such Object"って言われる場合は設定ファイルを見直そう。
/etc/snmp/snmpd.conf

以下の記述を追加。

view    systemview    included   .1.3.6.1.2.1.31


.1.3.6.1.2.1.31配下のオブジェクトをsystemviewと言う名前オブジェクトに追加する。
こうすることで、ifHCInOctetsが読み取れるようになる。

◆Nagiosで利用する場合

check_snmpというコマンドがあるのでこれを利用する。

送信、受信のネットワークトラフィックを収集する場合は以下のように受信、送信のOIDをカンマ(,)でつなぐ。

注)check_snmp v1.4.15 (nagios-plugins 1.4.15)の場合

define service{
    use             generic-service,srv-pnp
    host_name       localhost
    service_description Traffic Usage
    check_command   check_snmp!-C public -P 2c --rate -o 1.3.6.1.2.1.2.2.1.10.2,1.3.6.1.2.1.2.2.1.16.2
}


PNP4Nagiosのグラフはcheck_snmp_int.phpをもとに適宜修正する。

SNMPはいろんなデータが取得できるのでデータ収集し出すと止まらない。
きりがないので適当なところでやめておこう。

タグ:Nagios linux SNMP

Tomcat(Java)を使うとDNSの変更が反映されない件 [職]

メールサーバの変更に伴うDNSレコードの変更が反映されなかったのでメモ。

今回、メールサーバをリプレースした。
DNSがらみでトラブったのでご参考までに。

以下の例で説明しよう。

変更前サーバ:192.168.1.1 ホスト名:aaa
変更後サーバ:192.168.1.2 ホスト名:bbb

SMTPやPOPなどはDNS上ではCNAMEとして登録する。

DNSレコードの例(変更前)
aaa A 192.168.1.1
smtp IN CNAME aaa


DNSレコードの例(変更後)
aaa A 192.168.1.1
bbb A 192.168.1.2
smtp IN CNAME bbb


上記のように変更する事によって、クライアント側での変更を最小限にする。
DNSの変更を素早く反映させるために、TTLを短縮する(86400秒=1日を600秒=10分に変更)

この設定変更により一部のサーバを除いて無事に変更が反映された。
反映されなかった一部のサーバではTomcatが動いていたため、この辺に何か問題があるのではないかと思われた。

まず、基本的な知識として確認。
Linuxの場合、/etc/nsswitch.confの中でホスト名の探索順位が決められている。

例)hosts:      files dns

上記の例では、まず、ホスト上のファイル(/etc/hosts)を参照し、その後DNSによる探索を行う。
DNSの探索を行う際には/etc/resolv.confで指定したネームサーバに問い合わせを行う。

Windowsの場合
hostsファイルを参照し、その後、ネットワークのプロパティで指定したDNSサーバに問い合わせを行うのは同じである。
しかし、DNSサーバに問い合わせを行う前にリゾルバキャッシュを確認する。
このキャッシュの内容は以下のコマンドで確認できる。

# ipconfig /displaydns

参考

このキャッシュの保持期間だが、ポジティブキャッシュは1日(86400秒)、ネガティブキャッシュは15分(900秒)とのことである。

このため、OSレベル、ネットワークレベルではキャッシュが永続化する仕組みはないため、DNS変更が反映されるはずなのだが、Tomcat(Java)を使っているとTomcatの再起動をしないと反映されない。
色々調べた結果、Javaのプロパティのひとつ(networkaddress.cache.ttl )が影響している事が分かった。
このプロパティ、デフォルトでは-1となっており、「ずっとキャッシュ」する。

参考

この値を変更するには、java.securityというファイルの中で値を変更する。
ただし、変更にあたってはDNSスプーフィング攻撃に気をつけてねということらしい。

結局、消極的対処としては従来通り、Tomcatを再起動すると言う方法が考えられる。
もう一つは、リスクを取ってこのプロパティ(networkaddress.cache.ttl)を変える。

というわけで、デフォルトではJava系を使っているサイトは再起動が必要になることは覚えておこう。


関連情報として、「DNS Rebinding」DNS攻撃手法というものが興味深い。
4年も前のものだけど全然知らなかった。勉強になります。

力石 健次 DNS rebinding attackの対策と考察


徳丸浩の日記 DNS rebinding

この元になっている論文はこちら。(あとで読む)

Collin Jackson et,al
Protecting Browsers from DNS Rebinding Attacks 
ACM CCS 07


タグ:DNS Java

nagiosユーザーにroot権限を付与する [nagios]

check_XXXの中には実行するためにroot権限が必要なものがある。
こうしたコマンドを実行するためにはnagios ユーザをsudoに追加する必要がある。
しかもパスワードなしで実行できるようにする必要がある。

この設定をするにはvisudoを使う。このコマンドを使うと/etc/sudoersと言うファイルを編集できる。

# visudo

以下のような記述を追加する。
%nagios         ALL=(ALL)       NOPASSWD: ALL

NOPASSWD:ALLは出来るだけ控え、ALLの部分に実行可能なコマンドを指定する。
redhat ES6の場合、さらに以下の部分をコメントアウトする。

Defaults    requiretty


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。