本文へジャンプ

GIDEON STAFF BLOG

情報流出経路の解明 ISP解析(2016/09/14 14時47分 現在)

情報流出の経路となっているダウンロードサイトはどこのISPが利用されているか分析してみた。
Kaspersky からライセンスされたボットネットおよびC&Cサーバ、ダウンロードサイト、フィッシングサイト情報から解析結果を記載する。

結論から言うと、全世界のインターネット通信量の8割を占めると言われているUS(米国)が情報流出経路に利用されている実態が分かった。
個別のホスト名は記載できないが、特定のシステム環境が狙われた可能性がある。最近のランサム対策には米国とのアクセスを特に注意すべきである。
最近のウイルス、スパム配信元と全く異なる経路で情報流出が行われていることが判明した。

ボットネットおよびC&Cサーバ ISP トップ10
順位ISP名
1USLLCGoDaddy.com
2USCloudFlare
3DESERVERBLOCK
4USHostDime.com
5FROVHSAS
6USAmazon.com
7DEHetznerOnlineGmbH
8USUnifiedLayer
9USCyrusOneLLC
10US HetznerOnlineAG
圧倒的にUS(米国)のISPがボットネットに利用されていることがわかる。
上位のISP LLCGoDaddy.com 及び CloudFlareでTOP10の22%を占める。

ダウンロードサイト ISP トップ10
順位ISP名
1USCloudFlare
2USLLCGoDaddy.com
3FROVHSAS
4USAmazon.com
5DESERVERBLOCK
6UAUaserversNetwork
7DEHetznerOnlineGmbH
8DEHetznerOnlineAG
9RUAvguroTechnologiesLtd.
10NLDigitalOcean
マルウェアのダウンロードも上位2社のISPはダントツでTOP10の46%を占める。
最新のホームページ作成環境にセキュリティホールがありそこを狙われたものと考えられる。
ドイツのホスティングサーバもねらわれているようだ。

フィッシングサイト ISP トップ10
順位ISP名
1USCloudFlare
2USLLCGoDaddy.com
3USTake2Hosting
4USCyrusOneLLC
5USWholeSaleInternet
6JPEquinixAsiaPacific
7USUnifiedLayer
8USGMO-Z.comUSA
9USEnzu.
10SGPsychzNetworks
ボットネット同様、フィシングサイトの多くはUS(米国)が占めているのが特徴的である。
ただし、フィッシングサイトは数が大幅に減ってきており、ダウンロードサイト数の1/20程度にすぎない。
理由は、フィッシングサイトの痕跡が追跡される可能性が高いからだと考えられる。

ランサムウェア

 2015年の末から2016年5月まで猛威を振るったランサムウェアの対策を検討する。
 当社で解析した、約2000種類のランサムウェアの97%以上がZIPファイル形式でメールに添付されており、このZIPファイルをクリックするとJavaScriptが実行され、ランサムウェアを別のサイトからダウンロードしてくる仕組みになっている。残りの3%は添付されたZIPファイルを実行すると、ランサムウェアそのものが実行される。

 ランサムウェアの特徴は身代金を請求することと、この請求に対して支払いの対価をビットコインを介して求めてくることである。さらに、当社の調査により、このダウンロードサーバにアメリカの大手ホスティング会社のサイトが利用されたことが判明した。比較的新しいシステム構築を行っているホスティング会社が大規模に利用されたことは注目される。システムの脆弱性を絶えず補修することは困難であるが、一斉にハッキングする準備周到さが拡散の原因となったと考えられる。

 ランサムウェア対策(実害を及ぼすマルウェア対策)は、喫急の課題と考え、Cyber Cleanerでもダウンロード経路の遮断対策を行うことにした。対応が出遅れたことは否めないが、今後も最新のマルウェアに対応できるよう情報収集を行うと同時に、国内での情報共有化を図っていく方針である。

京都散策(その4)「最終日」

 蹴上浄水場のツツジは、ゴールデンウィークの期間限定で公開される。ツツジのトンネルの中は花びらの万華鏡のような光景でしばし足が止まった。
京都は水も美味しい所で、会場では水の飲み比べイベントが行われていた。
(1)京都の水道水 (2)ペットボトル入りの日本の名水 (3)ペットボトル入りの海外の名水の内、美味しいと感じる水に投票するのだが、私自身も含め多くの人が京都の水道水を選んだことが意外であった。

 蹴上浄水場からしばらく歩くと金地院に着く。ここの庭は格別だ。南禅寺の近くだが、訪れる人は比較的少ない。この庭でしばらく休息して足を休めた。普段の不養生のせいで、数キロの二足歩行がきつい。

 金地院の方丈の間には、狩野探幽の手長猿が描かれた屏風がある。部屋の電灯を消して屏風に目をやると、猿のリアルな姿が浮き上がってくる。また、庭に敷き詰められた白石は、石にあたった光の反射を室内に取り込むための工夫と聞く。電気のない時代の暮らしが偲ばれた。 

 八窓席という茶室はお忍びの場というにふさわしい。政治家たちが料亭で会談するのと同じく、茶室で重要な政事について会話がなされていたのかもしれない。政治、芸術、伝統文化をかい間見る瞬間である。

 旅の締めくくりに永観堂に立ち寄った。新緑のモミジが鮮やかだった。連休最終日ということもあり観光客はまばらで、じっくりとアングルが取れる。新緑のモミジに混じり紅のモミジ、それに満開のツツジの花が重なり合い実にコントラストが美しい。

幼稚園が隣接しており、園児は毎朝9時から10時の間は、庭で遊ぶそうだ。年中行事にお茶会がある。日常の中で自然と教えに触れることができる最高の環境とも言える。そんな環境をズーッと保っていって欲しいと思った。

京都散策(その3)「受け継ぐ人」

 たまたま、上賀茂神社の神事に出会うことができた。下賀茂神社の流鏑馬(やぶさめ)は有名だが、上賀茂の神事である賀茂競馬(かもくらべうま)というのは見るのも聞くのも初めて。朝早く宿をでて、上賀茂神社に着くと放送関係者が集まっていた。何事かと聞いてみると、年に一度の賀茂競馬の当日だった。

 早朝より様々な儀式がとりおこなわれ、昼過ぎからこの競馬が始まる。現在では、調教された競争馬に乗っているが、昔は農家の馬を使っていたので、観客席に突如馬が飛び出てきたこともあったという。自らもかつて騎手を経験し、60年間この行事をサポートしてきたご老人の言である。

 代々、競馬の騎手(のりじり)は神社の神主の家系の男性が勤めているそうだ。今回最年少の騎手はなんと中学2年生で、2度目の参加という。老練の騎手に劣らぬみごとな乗りっぷりだった。次世代への継承の思いが込められていた。男系の子孫がいないとこの先どうなるのか、少子化の影響で行事が失くならぬよう願うばかりだ。

 神様が競馬をご覧になり十分堪能されると、帰っていかれる。5本の矛が倒されたことが神様がお帰りになったサインだそうだ。なんとも古式ゆかしき行事である。この行事が922年にも渡り受け継がれてきたことが驚きだ。地元の人々が延々と継承し続けてきたことに頭が下がった。

京都散策 (その2)「仏頂面」

 三室戸の平戸ツツジは、なんともすばらしい。一面大木のツツジが大雲海のごとく咲き乱れる。朝に少し雨で湿った花びらが、キラキラと光を反射する光景に驚かされた。カメラで多くの花の景色を収めるものの、この神聖な空間ならではの雰囲気を伝えるのは難しいと感じた。

 平等院の藤の花がすでに終わりかかっていて、藤と平等院のショットは諦めた。その代わりに珍しいほうじ茶そばや、一昨日の八十八夜(5月2日)の新茶をいただいた。新茶は甘くて、コクがあり、苦味が一切ない。「お茶を楽しむ」という意味を舌で納得した。

 三十三間堂には、多くの仏像が並ぶ。梵天さんは手前奥の控えめな場所にいるが、観光案内の写真に使われている有名な仏像。ゾロアスター教、ヒンドゥー教、バラモン教にその源とする仏教が、日本に来ると整然と整理され、体系づけされたような気がした。仏頂面(ぶっちょうづら)と云う言葉も、元々は仏様の頭頂(仏頂)を語源としているらしい。日本語の語源が歴史と深く関わっていることを新たに知ることとなった。

 京都博物館は、歴史の教科書だ。雪舟の有名な達磨さんの水墨画に出会った。百聞は一見にしかず。やはり見ないと、感じない、伝わってこない。これだけよく収集したものだと感心した。京都は、町全体が歴史を遡ることができる希少な場所であることに嫉妬すら感じる。

京都散策 (その1)「筍づくし」

 洛西の竹林公園は、ゴールデンウィークにもかかわらず、訪れる人も少なく、澄み渡るウグイスの声(初めてその姿を見た)を聞きながら、竹林の茂みでひと時を過ごした。亀甲竹(亀の甲羅の模様がある)、金明孟宗(黄金色の竹)など珍しい竹が約110種類もあり、さながら竹の博物館のようである。この公園内にある川に架かる百々橋(どどばし)は平安時代からのもので、応仁の乱など戦国乱世を超えこの地に置かれている。ちょっとした風景に歴史を遡ることができるのも京都ならではだ。

 少し下ると、正法寺(しょうぼうじ)がある、このお庭がたいそう良く、まるで龍安寺の石庭を眺めているようで、さらに滝と池に通づる景色が見事である。春はその新緑の中に赤、白、ピンクのツツジ、新緑のモミジ、赤のモミジ、紫のカキツバタと色とりどりの花がすがすがしい風に遊んでいる。京都の風情はなんとも贅沢である。古からの仏の教え、美しい庭、歴史的な造形、さらには背景にある山々を借景にした空間、時間の広がりに時が止まったかのように穏やかな静けさを満喫できる。この庭を愛でながらお抹茶をいただき、とてもありがたく感じた。

 さらに足を延ばすと、乙訓寺(おとくにでら)に着く。今年は少し開花時期が早く、咲き終わったボタンを庭師が刈り取っていた。このお寺は聖徳太子の時代からのもので、空海と最澄が密教について法論を交わしたという記録がある。遠くインドから中国に高僧が伝え、さらに中国から日本へ伝承した空海が最澄に伝授したらしいが、解釈が異なり真言宗と天台宗に分かれていったのが、約1200年前のことである。過去を遡り原点が見えてくるのかもしれない。宗論はどちら負けても釈迦の恥。

 古都長岡京の地で、筍づくしの料理を賞味する。料亭が所有する竹林で朝に採った筍が振る舞われる。真っ白な無垢な筍は、全く苦味がなくお刺身で味合う。先付けに始まり十品あまりすべて筍づくしだが、飽きることもなく美味しくいただいた。唯一、最後に出た水菓子が筍でなかったのが残念。

福袋(春の贈り物)

100本のチューリップが見事に咲いた。
色とりどりに咲き誇るチューリップの彩があまりにも鮮やかだ。

今年の1月に園芸店の店頭にあった福袋。
チューリップの球根100球でで千円という驚きの価格に衝動買いをした。

さすがに100個を植えるのは骨が折れた。
狭い庭に所狭しと次々に並べた。かなり窮屈な間隔なので、伸びやかに育たないのではと心配した。

数回の冬の朝霜を経験したが、4月に入ると花を次ぎ次ぎにつけた。学校の花壇ではよくみかけるチューリップが我が家の庭に咲いているのがちょっと不思議に感じる。

咲き終えるチューリップには、追肥と乾燥作業があり、来年にまたお目にかかることができるという。毎年地味な作業が増えたのが大変だが、来年のお花畑を想像するとワクワクする。

春のおとづれ

昨日(2月19日)の日曜日、お昼に外出したついでに近くの梅林に足を運んだ。
久々に空も晴れ渡って暖かく気持ちもうきうきして梅が咲いていることを期待しつつ。

しかし今年はなんと例年の開花時期より2週間も遅いらしい。
例年通り梅祭り開催期間に大勢の人が集まってきて、 あちこちで梅の木の下で昼食をとっているのだが、 人だけがいっぱいで華やいだ花見にはほど遠い。
人も季節になれば、春のおとづれを期待するのだろう。 特に今年は春のおとづれを待ちわびているのかもしれない。 そういう自分もこうして訪れているのだから。

人にとって、冬の期間は気持ちを充実させるためにあるのだろうか。 開花が遅いときの梅は実りが豊かだと、梅林を営むひとが言っていた。 草木もじっくりと鋭気を養っているのだろう。

毎年あたりまえのように訪れる春を、今年は格別待ちわびている。
本当に当たり前のように訪れる春がありがたいと思った。

代替エネルギー発電の効率

電力不足をおぎなうため 原子力に代わるエネルギー供給をどうするかにわかな議論になってきている。
休日、庭作業しているとふっと疑問がわいてきた。 この地球のエネルギーはどのように供給されてきたのか。 自然が作り出したものを上回るエネルギーは存在するのか。

化石エネルギーを電気エネルギーに変換するのは効率が良かった。
原子力はもとになる原料単位のエネルギー変換効率は現状の技術では、 化石エネルギーに比べれば遥かに優れている。
それにしても、元は自然界の存在しているものを、 消費して人工的にエネルギーをつくりだしたものであるので、 自然を消費することしか考えていない。 しかもエネルギー消費の陰で大量の環境破壊を引き起こす物質を拡散してきた。

地球は、植物の繁栄で海が豊かになり、 動植物がバランスをとりながら、再生しながら生命をつないできた。 つまり、一方的に消費する関係ではバランスは保てない。
農薬は一時的には人間の単位労力あたりの収穫を増やすのには役立ってきた。 しかし、農薬の使用による環境破壊は結果として、 人間の健康を害することで代償を払うことになった。 資源界の再生能力が低下することで、 生活に必須な水にすら高いコストをかけて入手することになった。 長年海を観察してきた経験でも 自然の母体である海が弱っていることをに気づいていた。
植物による生命再生力にまさる効率よい資源再生はあり得ないとの信念を 強く抱くようになった。
植物の光合成の効率はあまり良くないのだが、 植物は光合成以外に自然界の環境蘇生に役立っている。
微生物の繁殖、動物との共生による自然の再生に重要な存在である。 なんといってもおいしいお水は植物のおかげである。

代替エネルギーによる発電の効率は悪くてもしかたがない気がする。 自然消費のエネルギー発電は 結果的にはそれ以上のエネルギー効率を悪くすることになることを 今回経験したような気がした。

事例:我が社のクラウドへの道(1)

3.11の大災害から3ヶ月が過ぎました。 未だに懸念される余震、そして原発事故と、 あの日を境に世の中が一変したかのように感じます。

あの日から、我が社に起こったことをお話しましょう。
当日、横浜は震度5強の強い揺れがありましたが、 物が壊れるなどの被害は免れました。 しかし、我が社にとって本当の危機はこの後に待っていました。
計画停電です。

3月13日(日)
夕方のニュースで東電の計画停電発表を知りました。
さあどうする?
サーバがストップしたら、お客様へのサービスに支障をきたし、 迷惑をかけることになる!
3月14日(月)
そうだ、自家発電機という手がある。 早速通販サイトで購入しよう! と思ったらすべて売り切れ、在庫なし。

社員A
「社長、どうしましょう。 サーバ機だけでも動いていれば何とかなるんですが。 地方のお得意さんの所に間借りさせてもらえないでしょうか」
社長
「そうだな、無理を言って頼むしかないかな。 ○○工業ならシステム環境も整っているから、お願いできればすぐに 業務ができるぞ。
……しかし、いくら非常時とは言え、 突然別の会社のシステムがオフィスに入ってくるなんて、 やっぱりありえないだろうなぁ」

テレビでは福島原発が煙をあげている映像が流れていました。
工学系大学出身の社長は、 この時すでにこの影響が広範囲に及ぶことを覚悟していました。

社長
(停電がなくても本当に避難が必要になるかもしれない……。
大阪にある実家のビルの2階が空いている。 あそこを仮オフィスにするという手もあるか……。
でも運用サーバをすべて移設するのは時間もかかるしコストも大きい。
そうだ、自社でプライベートクラウドを構築すれば、 問題は解決するはずだ)

とにかくトライしてみよう! やってみることに意味がある。

事例:我が社のクラウドへの道(2)

とにかくトライしてみよう! やってみることに意味がある。

クラウド(VPS)にシフトすることで、

  • 停電時でもサービスに支障をきたすことなく運用できる。
  • サーバ機などのハードウェアの管理が不要になる。
これらのメリットが得られる。 しかし、メリットがあれば当然デメリットがある。
最も重要なものの一つは、
  • 社外からのアクセスに対して、どうやってセキュリティを確保するのか?
これについては、
  • クラウド上のサーバにはVPNでしかアクセスできないようにする
  • 別のネットワーク上に専用のサーバを設置して、門番役にする
これらを実施することで十分な強度が得られ、 任意のアクセスポイントから安心してリモートアクセスができると判断した。
十分効果はあるはず。 これまでに各社のクラウドサービスは評価済みなので実現可能だ。 決断すれば、あとはひとつひとつ実行するのみ。

【課題1】データバックアップ
  • 3月15日(火) - 16日(水)
  • まずは社内の重要なデータをバックアップ。
    クライアントPCのVMイメージ作成とそのバックアップをとり、 非常時に持ち出せるよう準備。

【課題2】プライベートクラウド上に主要サーバを構築
  • 3月17日(木) - 18日(金)
  • クラウド環境へ移行するための、DNSの設定などの準備作業完了。

    [方針]
    • データセンタや社内のサーバルームで稼働している、 メールサーバ、ウェブサーバ、データ配信サーバなど 主要サーバをすべてクラウドに移行。
    • 主要サーバは 3 社のクラウドサービスに分散し多重化。
      ひとつのサーバがダウンした場合でも、 他のクラウドサービスにすぐに切り替えられるようにすることで、 業務に影響がでない環境を構築。

【課題3】リモートオフィスの実現
  • 3月19日(土) - 21日(月) 3連休
  • 実家の快諾を受け、大阪にてオフィス開設準備。 電源や回線もなんとかなりそうだ。
    次は、リモートオフィスや自宅待機に備え、開発環境を含めて 社内サーバをリモートからアクセス可能にすることが急務だ。

【課題4】社内サーバおよびクライアント環境のプライベートクラウド構築
  • 4月上旬
  • 夏場の計画停電実施を予測して、社内サーバ10台をすべて撤去。 クライアントPCはノートブックPCに切り替え、節電、停電に対応。
    社内環境をクラウドに移行するため、アクセス制御、 外部からのアクセス制御、外部へのサポートアクセス制御には、 十分な検討及び対策をおこなった。

【課題5】インターネット回線、電話回線の代替回線確保
  • 4月中旬
  • 光通信回線が切断された場合に備え、 別途携帯電話の FOMA網(7.2MBPS)など代替通信手段を確保。
    これによりオフィス以外でもメールの送受信ができ、 業務を行えるようにした。
    さらに電話の別回線切り替えやFAX転送ができる仕組みを導入。

  • 5月中旬
  • クラウドへの移行完了。

当初は停電対策や防災を目的として行なったことでしたが、 期待以上の効果がありました。

【効果1】
社内のサーバを撤去したことで、サーバ機の消費電力を減らせた。
停電時の非常用アクセスサーバもノートブックPCに切り替えることで、 新たにUPSを購入する必要がなくなった。 また、サーバルームの空調設備がいらなくなったことが、消費電力、 そして光熱費の大幅な削減につながった。これはうれしい誤算だ。

【効果2】
ハードウェアのメンテナンス、トラブルの心配から解放されると同時に、 機器への投資も必要なくなった。
運用管理に関わる労務費用も考慮すると、 かなりのコスト削減につながった。

【効果3】
開発・テスト、サポート接続サービス、社内のファイルサーバ、 クライアント PC を仮想イメージとして保存するストレージすべてを クラウド上で実現できた。
その結果、リモートサイトから作業ができるようになった。
さらには、複数社のクラウドサービスの特徴を活かした構成にしたことで、 計算処理能力、 ストレージ容量などリソースを自在に変更することが可能になった。

結果的に、場所を問わずリモートで業務ができる環境に 大きく近づくことになりました。
大阪オフィスの準備をしましたが、 全国で明日から拠点事務所を開設できるわけです。
「火事場の底力」と言いますが、大災害を目の当たりにして、 何かに追われるように、今できる最善の策を実行したように感じます。

皆様の会社でクラウドにご興味がありましたら、 こちら をご覧ください。
親身になってクラウド化のお手伝いをさせていただきます。

ホタル

日産スタジアム付近、新横浜運動公園内にてホタルが鑑賞 できるという噂を聞き行ってきました。

予定していた日は、残念ながら夕方より大雨警報となり断念。
翌日、早めの夕飯にして午後七時半に出発!! 外に出るとまたもや・・・パラパラの雨。 「雨の中、ホタルは出てくれるのか?」と心配なところもありましたが 傘をさすほどでもないので決行! 徒歩で15分ほどで、新横浜運動公園テニスコート付近にたどり着きました。

燦々のライトのテニスコート辺りにはさすがにいないだろうと暗闇の奥へと 歩いて行きます。 小川を渡す橋を越えた辺りにチカチカ光るホタルが見えました。 発色は思った以上に白色の光です。 パラつく雨のせいか、ホタルは茂みの中です。

Image: firefly.jpg

初めて見る私は、TVで見るようなグリーンの光でヒラヒラと舞い飛ぶ光景を 想像していたのですが、暗闇の中のクリスマスツリーの様な感じでした。
ホタルが小川を飛び出し、付近の芝生からも発光が!! 子どもたちがそれを丁寧に拾い集め、踏まれないようにと小川の葉に 乗せてあげました。その時に取った写真です。

Image: firefly2.jpg

昨年も放流はされたそうですが、数匹しか観測できなかったと・・・。 横浜ホタルの会が今年3月にヘイケボタルの幼虫の放流をし、 今年はだいぶ確認が出来るというので一度ご鑑賞いただきたいですね。

被災者の安否連絡について

2011 年 3 月 11 日からの東北地方太平洋沖地震により、 被害を受けられました皆様には、心からお見舞い申し上げます。

横浜在住の私個人としても生家の地域が津波で壊滅的な被害を受け、 家族の安否確認に大変苦労いたしました。 生存維持期間1週間・・・しかし東北は3月、積雪を伴う雪が降り、 体温を奪う気温の低下などの悪条件が重なりました。 避難者名簿に名前が挙がり始めたのは、震災の3日目からでした。 安否不明の一因は、散りじりに避難した家族同士が、 子ども、妻、親が避難したであろう場所へ更に移動を開始し、 避難所へ名簿を出さずに捜し歩いたことです。
避難方法は幾度となく防災訓練を行っておりますが、 避難した後の事など誰しも想定していなかったことと思います。 被災者の安否を探す側として今回参考になりましたことを 皆様にお知らせしたいと思います。
避難後のことをご家族で今一度確認いただければ幸いと思います。

もし、災害にあったら。

  1. 避難をした場所の名簿に必ず氏名、年齢、住所を記入。
  2. (おおよそこれで生存の確認は取れます。)

  3. 避難所を移動する際は、⇒【○○避難所】へ移動と記入。
  4. 災害伝言ダイヤル 171-1-電話番号 で安否を録音。
  5. (安否の情報を広めることが出来ます。名前、避難場所など。)

  6. 災害伝言ダイヤル 171-2-電話番号 で録音内容を確認。
  7. 災害伝言板についてはアクセスが集中し非常に繋がりにくいですが、 アクセス状況が落ち着いたら必ず登録しましょう。

結局、私の被災地の家族は倒壊を免れた家族の家に避難をしていた為、 5 日ほど安否不明でした。
しかし、名簿を登録していないため10日経つ今でも名簿に載っておりません。 連絡が取れた今、各地で心配をしている友人、 知人の為にもまずは名簿を記入するよう伝えました。 通信状態の復旧があまりよくない為、 災害伝言ダイヤルについては全て私が代理で録音を行いました。
恐らくこれで、ご心配いただいた多くの方に 安心していただけたのではないかと思います。

初夕日

2011年元旦の夕暮れ時、房総半島最南端の館山ですばらしい夕日に出会えた。
海に沈む夕日をすっぽりと覆う傘のような雲によって、 空が鮮やかな橙色に染まっていた。深紅に輝く砂浜がまたすばらしい。

Image: IMG_8731.JPG

お正月は初日出と相場が決まっているが、初夕日を拝むのもまた格別だ。
暗闇に消えゆくほんの一瞬の夕日に、大きな宇宙を感じるのはなぜだろう。
毎日夕日を楽しむ気持ちがあれば、すばらしい明日が訪れるに違いない。

htaccess で任意のファイルのみパスワードを要求しない

Web コンテンツを保護するために .htaccess ファイルを用いて Basic 認証などを実施する場合は多い。
通常 .htaccess はディレクトリ単位で有効になってしまうのだが、 あるディレクトリのアクセスを Basic 認証でアクセス制御したいが、 特定のファイルについては認証を要求しない設定を行いたい場合は Files ディレクティブとSatisfy ディレクティブで実現できる。

AuthType        Basic
AuthUserFile    認証用ファイル
AuthName        "Enter password"
Require         valid-user
<Files "認証要求しないファイル">
    Satisfy     Any
    Allow       from all
</Files>
	

Satisfy ディレクティブは Allow ディレクティブと Require ディレクティブがどちらも使われている場合の アクセスポリシーを制御する。
Any が指定された場合は AllowRequire のどちらかの条件を満たせばアクセスが許可されるので、 Files ディレクティブで指定したファイルに対しては Allow 指定が有効になり認証なしでアクセスが許可される。

晩秋

秋の紅葉を背景にしたお寺さんは、実にうつくしい。
どの角度からも見事に秋が映える。写真をとるには絶好だ。
隅々まできれいにお掃除されていてすがすがいい。
自ずと感謝の念が湧いてくる。

晩秋のこの時期は、冬の準備に余念がない。
粛々と備え、粛々と時が訪れ、去っていく。
こんなにわくわくと晩秋を味わったのは初めてだ。

Image: IMG_8210.JPG

永平寺にて

再現 大漁

ある日の午後横浜で買物をしていると、普段は持ち歩かない携帯電話がなった。
妻が珍しく着信音に気づいて、たまたまでた。
甥のてっちゃんからで、今朝魚釣りにいったところたくさん釣れたので、 今から持っていって良いかと言う。

果報は突然やってくる。 しかも普段は滅多に携帯しない携帯電話にでたので話が繋がった。
なんでも、同期の友達と連れ合って初めての魚釣りにいったら、 思いがけず大漁で独身寮に持って帰ることもできず、 どうしたものかと困って電話したとのこと。
箱を開けるとなんと!生きの良いアジが、あふれんばかりに氷詰めされていた。 数えてみると20センチほどのアジが60匹はあった。
船の生け簀で活かしてあったのをそのまま氷付けしたらしく、 目がキラキラしていて身はピンとはねている。
こんな新鮮なアジを見たことがない。今にも飛び跳ねて海に泳ぎだすかのようだ。
いかに美味しくいただくかが勝負どころだ。まずは、三枚におろす。 最初の数匹の手慣らしで要領が戻ってきた。数が多いので、気は軽だ。 皮をパキッと剥ぐ。 そして、小骨を丁寧に一本ずつ骨抜きで抜く。
小骨を抜く面倒なこの作業を、釣り人のてっちゃんに全てやってもらった。 メーカに勤めているだけあって、 作業のチェックをお願いしますと素直にお皿を差し出す。
ついつい便乗して、三枚おろしも頼んだ。 てっちゃんもお魚をさばけることは、婚活に有利と納得。
息子は、アジの下ごしらえがあまりに骨が折れることがわかったのか、 お寿司屋さんにはなれないと弱音をはいていた。
そうでしょう、そうでしょう。
釣り人は釣果だけでは評価されない。ありがたくいただくには修行が必要だ。 甥、息子夫婦、家族総動員で、アジと格闘した。 刺身、焼き魚、たたき、ナメロウ、南蛮付けができた。 全てさばいた。 味は・・・桜色に美しく透き通った刺身は、食べるとほんのりと甘みを感じた。 アジ特有の生臭さがみじんも無い。 どの品も今まで食べたことのない、新鮮なアジの美味しさを満喫させてくれた。

Image: IMG_8016.jpeg

今日は、大漁の虫の知らせをキャッチしてくれた妻にありがとう。
大漁のアジをもってきてくれたてっちゃんにありがとう。
婚活に貢献してくれたアジにありがとう。
おいしくいただくには修行が必要なことを教えてくれたアジにありがとう。
自然のありがたさを伝えてくれたアジにありがとう。

こんどは、鯛がくるといいな。

つぶやき
ある成功した経営者の言葉を思い出した。 幸運はそこら中に飛んでいる。その幸運がみえるかどうかだけが成功の秘訣だと。

電話の過去と今

9月から10月にかけて番組の改編により特番が多いですね。
その中で雑学番組を観ていて「へぇ〜」と思ったものの、 今に当てはまらないものがあったのでご紹介します。

Q.
救急の 119 や警察の 110 のダイヤル No. はどのようにして決まったのか?
同じ番号を 3 回押すだけのほうが早いではないか?

A.
ダイヤルの設定はまだプッシュホンではなく、ダイヤル式の時代。
確かに 1 はすぐに戻り・・・ではなぜ 9 や 0 なのか?
1…1…と回した後、9 や 0 のダイヤルがジジジ〜と戻る間に 気持ちを落ち着かせる為なのだそうです。

ダイヤル世代を知っている年代はもう立派な中年者以上ですよね。
「へぇ〜」「なるほど!」と思いませんでした?
小学生には、ダイヤル式の電話を知らない子も居ますからね。 現代には根拠がまったく通用しない「へぇ〜」のお話です。

自然の恵みに感謝

先週の休日(9/4-9/5)に久々の海に出かけた。

シュノーケリングも楽しみだったが、 なんと言ってもお目当てはテレビでも紹介されていた 相浜(千葉)漁港直売所の海鮮メニューだ。
その日は、すこし早い昼食時間にいったのだが既に予約が一杯だったが、 そこをなんとかお願いしたところ、丁度うまく空きができたので、 ごちそうにありつけた。
海鮮バーベキュー(1皿2人前)3000円がお勧めというか、 これしかないメニューをさっそく頼む。
店長のおばさん(長谷川さん)がまた活きのよい人で、 私たちの食材を焼きながら次々とくるお客さんの支度を威勢良く 男性達にてきぱきと指示していた。
千葉の海の女はたくましい(海の女でなくともそうか)。
メニューは、2人前でサザエ(大きめ)4個、伊勢海老2尾、 イカ2杯(イカ肝を混ぜてホイル焼き)、フランクフルトソーセージ2本、 ピーマン2個、伊勢海老の味噌汁(1尾がそのまま入っている)そしてご飯。
この大皿盛りの食材を目の前で焼いてくれる。 食べ頃になると次々にお皿にのせてくれるタイミングがまた良い。
網の上で、まだ生きている伊勢エビが動いているのが残酷だが、食欲が勝る。 これ以上のグルメはない。 とれたての活きたサザエは、ガッツが甘く感じ苦くなかったのが印象に残る。 もちろん伊勢エビは、 焼きたてをそのまま(ミソを少しつけるとさらにうまい)食べるのが一番とのこと。

Image: tateyama.jpg

館山沖の島海岸

海を眺めながら、磯の香りと焼きたての海の幸をいただき、 この上なくありがたく思いました。

ダイエットにタダは無い?

先日、健康診断を受けてきた。
十何年ぶりに「バリウム」を飲み上下左右にと指示を受け・・・。

最近はまじめに?!ジョギングしてたおかげで、 体重もメタボ測定も数値が落ちていた。ラッキー!!
ウォーキングから始まり、今や 10Km 程度までは・・・ くらいに体力も筋力も上がったような気がする。
精神力はいまいち。 「次の信号よ〜 赤になれ〜」と念じているから(笑)

「お金がかからずダイエット!!」なんて思っていたけど、 走り出すと「あのウエアーかっこいいねぇ」「どこのメーカー?」 などなど、揃えたくなるもので。
結局のところキャップ、ウエアー、シューズにポシェット、リュック ヤッケにジャンパー・・・etc。
挙句の果てにはラン用腕時計まで装備してしまった。

買ったからには、今の目標はハーフマラソンですかね。

中国水事情

このお盆に初めて上海に行った。
上海を上空からみた光景は、 広大な平原に 40 階立ぐらいの巨大ビル群が立錐の余地が無い程林立していた。
新宿の高層ビルが延々と建ち並んでいるかのようだ。 まさに巨大な都市だった。

上海でわかったことは、平均物価(食中心)は、 日本の 1/7 であること(為替レートと同じ)。 時間給、大学新卒給与もそんな比率である。
上海で足マッサージのお店(観光客向けでなく地元住民向け)に入ったが 1 時間で 20 元(280 円)でとても満足できるサービスだった。
働いている人の給与は時間給 10 元程度ということになる。

庶民的な中国料理の定食は 200 円以内ですむ。 コンビニでペットボトルのポカリスウェットは 63 円だった。 安い飲料水は 2L で 21円 だ。
あちこちの店先に 5L 程の飲料水ペットボトルが山積みになっていたことから 各家庭で備蓄していると思われる。 我々も旅行中、常に(ホテル内であっても)ペットボトルの水を購入した。

空はスモッグで曇りがちである。 一日青空の日があったが上海では珍しいとのことだった。
以前、中国マネーが北海道の水資源の豊富な土地を大規模に買収している、 という話を耳にして「まさかそのようなこと」と人ごとに思っていたが 上海の水事情を目の当たりにして俄にその話が現実味を帯びてきた。

水は空気と同様、再生しにくい地球資源である。 日本の青い空やきれいな水が、大変貴重なものであることを再認識した。

もし日本は住みにくいなんて思っている(不満たらたらな)人がいれば、 ぜひ中国に滞在することをお勧めする。
日本に戻ってくると日本のありがたさがしみじみと判るはずだ。

iPad

リビングや寝室で無線通信(AirMac Express)とつないで 日頃使っている Safari での WEB 検索やメールを読んだり、 YouTube で最新情報を見たりしていますが、 まったくストレスなく快適です。
メディアをすべてデジタル化したので、 省スペースで物理媒体の切り替えは一切無く、 テレビや iPad でメディアの再生ができます。

日本の雑誌、新聞はまだ iPad に最適化されたものが少ないですが、 Zinio でアメリカの雑誌のマックワールド、 ナショナルジオグラフィックなどが無料で読めたり、 有料だと NewsWeek や Wired もダウンロードしてすぐに読めるのがうれしい。
これで本棚に本を保管する必要がなくなりました。

デジタルカメラのメディアストレッジとしてもすっごく使いやすく、 写真の確認もすごく便利できれい。旅行にでかける時にはかかせない。
iTunes で iMac とも連動しているので、写真の編集がとても楽になりました。

勝海舟

勝海舟の言葉にこんなのがあった。

機は感ずべきもので、
云うことの出来ず、
伝達することの出来んものです。
実にその通り、好機を掴むも逸すもその人次第である。 それを伝えるのはことのほか難しい。
iPad のような便利なツールのおかげで 瞬時に情報アクセスできるようになったが、 その情報から機をとらえるのはその人の 感性のようである。 o

草枕

夏目漱石の「草枕」は以下のようにはじまる。

山道を登りながら、こう考えた。
智に働けば角が立つ。情に棹させば流される。意地を通せば窮屈だ。
兎角に人の世は住みにくい。

私の場合は・・・

お菓子を食べながら、こう考えた。
極端であっては体に応える。安易であっては効果がない。 リバウンド怖いとはじまらない。
兎角にダイエットは難しい。



私にとっては永遠のテーマなのでした。

サクラ

ゴールデンウィークに帰省(岩手県)してきました。
この時期に帰ると、もう一度お花見が出来ます。

子どもの頃はピッカピカの一年生は桜吹雪の中で・・・と 言うコマーシャルを「なんでだべ?!」と思っていました。
上京して、関東の桜は4月開花することを知りました(笑)

Image: cherry.jpg

なぜか実家に近づくにつれ、背高のっぽの桜の木が多くなります。 とうとう写真のような枝振りの桜の木を発見しました。

河津桜

積年の想いが今年ついにかないました。
例年2月は決算でいつもあわただしく時が過ぎていくのですが、 今年は決算が早々に完了したお陰で、 伊豆の河津桜を観に出かけることができました。 なんとも感無量です。

Image: IMG_7157.JPG

伊東あたりから河津駅に至る路にもあちこち桜が満開でした。
低木の河津桜の色濃いピンクと、 桜の木の下に黄色の菜の花がきらきらと光るコントラストが実にきれいです。

川沿いの露店では、 思い思いの名物をこの時とばかりに元気に商売しているのがまた楽しい。
露店をのぞきながらどんどん試食しているうちに、 ひととおり腹も満たされます。
花より団子と云いますが、 食が満たされると花も落ち着いて鑑賞でき嬉しいものです。

胡蝶蘭

新オフィスのニッチに胡蝶蘭が映えます。

Image: IMGP2612.JPG

MyJVN チェッカーサービス

JVN - Japan Vulnerability Notes - が セキュリティ設定チェッカ、バージョンチェッカのサービスを実施しています。

これらのサービスは Microsoft Windows 専用のサービスですが、 Windows の機能である USB メモリ自動実行機能の設定の確認や、 インストールされている Adobe Reader や Flash Player などの バージョンが簡単にチェック出来ます。
最近は GENO/Gumblar と呼ばれているマルウェアなど 悪意のあるソフトウェアによる Web サイトの改ざんなどが話題になっていますが、 そういった悪意のソフトウェアによる被害を防ぐための一つの足がかりとして こういったツールも積極的に利用すると良いでしょう。

FreeBSD 8.0-RELEASE

FreeBSD Release Engineering Team は FreeBSD 8.0-RELEASE を公開しました。

主な変更は以下の通りです。

  • Xen Dom-U、VirtualBox のゲスト/ホスト環境対応。
  • 階層型 jail のサポート
  • NFSv3 GSSAPI のサポート
  • NFSv4 クライアントの実験的サポート
  • IEEE 802.11s D3.03 無線メッシュネットワークと 仮想アクセスポイントのサポート
  • ZFS はもはや実験的ステータスではなくなった
  • USB 関係を全て書きかえ
  • SMP スケーラビリティの改良
  • ネットワークリンク層の改訂
  • MIPS アーキテクチャの実験的サポート

詳細は リリースノート を参照して下さい。

ファイルのオーバーライド

通常のパイプ動作するフィルタコマンドでは 元ファイルを直接オーバライドできない。
例えば sort (1) の -o オプションの様に 元ファイルのオーバライド指定ができる (この動作をスポンジ動作というらしい)もの以外での処理について。

一番簡単で誰でも思いつくのが一時ファイルを利用するやりかた。

$ command < foo.dat > foo.new 
$ mv foo.new foo.dat
	
この方法だと command の実行中に割込が発生したりすると 一時ファイルが残ってしまい美しくない。

$ cat foo.dat | ( sleep 1; command > foo.dat)
	
この方法だと sleep (1) の時間がうっとおしく、 データ量や command の速度などによって失敗する場合もありうる。

$ (rm foo.dat; command > foo.dat) < foo.dat
	
若干判りづらいのだがこれで確実に成功する。
先行する rm (1) は必須である。 rm (1) がない場合は外側のシェルが '<' により O_RDONLYopen (2) するファイルと 内側のシェルが '>' により O_RDONLY|O_TRUNCopen (2) するファイルの inode が等しいので、 OS は同一ファイルと見做し command の標準入力は O_TRUC により truncate されたファイルとなってしまう。
対して rm (1) がある場合は、 外側のシェルが O_RDONLYopen (2) するファイルと、 内側のシェルが O_RDONLY|O_TRUNCopen (2) するファイルの inode が異なるので、 OS はそれぞれを違うファイルと見なすためである。

起動時に任意のコマンドを実行する

Mac OS X 10.5 以降で起動時に任意のコマンドを自動で実行したい場合、 本来であれば launchd(8) を使用した制御が必要なので /System/Library/LanchDaemons/ 以下に plistファイルを準備する必要がある。
しかし、/Library/StartupItems に コマンド起動用のスクリプトファイルを設置する事により 任意のコマンドを起動できるので、 unix 系のシェルスクリプトに慣れている場合は こちらの方が使いやすい場合もある。

  1. /Library/StartupItems に任意の名称 (ここではサービス名とする)でディレクトリを作成する。
    # mkdir /Library/StartupItems/サービス名
    			
  2. 作成したディレクトリに任意の名称で起動スクリプトを作成する
    スクリプトファイルは サービス名 と同じ名称にする。
    # cat << EOF > /Library/StartupItems/サービス名/スクリプト名
    #!/bin/sh
    
    . /etc/rc.common
    
    StartService ()
    {
    	# サービスを開始するためのコマンドを記述
    }
    
    StopService ()
    {
    	# サービスを終了するためのコマンドを記述
    }
    
    RestartService () { StartService; }
    
    RunService "$1"
    EOF
    			
  3. 作成したスクリプトに実行権限を付与する
    # chod 755 /Library/StartupItems/サービス名/スクリプト名
    			
  4. 作成したディレクトリに StartupParameters.plist という名称でサービスの説明を記述したファイルを作成する。
    # cat << EOF > /Library/StartupItems/サービス名/StartupParameters.plist
    {
      Description     = "サービスの説明";
      Provides        = ("提供するサービスの内容");
    }
    EOF
    			
  5. ファイルの所有権限を root に設定する。
    セキュリティ上の理由から、 ファイルの所有者が root 以外の場合は自動実行されない様だ。
    # chown -R root:wheel /Library/StartupItems/サービス名
    			
  6. 再起動するとサービスが自動で実行される。

ダイエット成功!?

増加の一途をたどっていた体重が、生まれて初めて右肩さがりになりました。

去年の10月に久しぶりに会った友から、 西式健康法を基にした甲田光雄さんの本を紹介されました。
簡単に言えば午前中は食事を採らないブチ断食、 それ以外はできれば玄米菜食というものです。
ダイエット本は数々ありますが、 何と言っても私をその気にさせたのは私の友の変化です。 半年ぶりに会った彼女はかつて見たことない程、 痩せて肌もきれいになっていたのでした!
本も読まずに翌日から実行しましたよ。 私も負けてはいられない、と。

その後序々に体重が減り10ヶ月で7キロ減です。 特にリバウンドの気配はありません。 体重が減っただけでなく、以前より活力が出たように思います。
同じ時期に始めた知人も皆、効果があったそうです。 たくさん本も出ているようなので興味がある方はネットで検索してみてくださいね。

偉大な納豆に感謝

少し前になりますが、 納豆ダイエットで日本中のスーパーで納豆が売り切れるブームがありました。
何かと話題になる納豆にはどれほどすごいパワーがあるのでしょうか。

納豆の効果に抗菌作用があるということは昔から知られていたそうです。
江戸時代の本朝食鑑という本に 「腹中をととのえて食を進め、毒を解す」と記載されているそうです。
納豆に含まれる納豆菌は以下の抗菌作用のあるリゾチーム酵素や、 ジピコリン酵素が含まれているそうです。
リゾチーム酵素は細菌の感染に対する防御能力や免疫機能をもち、 細菌の細胞壁を加水分解して殺菌するので 有害菌を溶かしてしまうすごいパワーがあります。
また、ジピコリン酸も抗菌作用があり、 有害菌 O-157 を抑制するたのもしい働きをします。
加えて納豆菌には、 血液さらさら効果を生み出す不思議なナットキナーゼ酵素を含んでおり、 納豆に含まれるプロウロキナーゼ活性化酵素と連動して 血栓溶解効果をもつようです。
血液の状態をバランスよくするにはとても有効な働きをするそうです。

納豆菌の効果を箇条書きにまとめてみました。

  1. 乳酸菌など有用菌の増殖 
  2. 腸内有害菌の抑制
  3. 上記2項目により、腸内細菌叢のバランスを整える。
  4. 強力なタンパク分解酵素とデンプン分解酵素を生産する。
  5. ビタミンB群を豊富に合成する。

加えて、納豆の原料である大豆に含まれているイソフラボンは、 女性ホルモンを活性化することで、 骨粗鬆症や更年期障害、乳がん等の女性疾患に対する 有効成分であることが判っています。
体にいいサプリメントや薬などが開発されていますが、 これほど体に万能な効果がある自然の食物「納豆」に感謝して 食していきたいと思います。

あの小泉元総理も乗ったセグウェイ

体重移動で前進、後退が可能なセグウェイに乗ってきました。
遊園地アトラクションの一角で有料(お小遣い出して)の体験でした。
5 分間の講習で前進、スラローム、一回転などなど・・・ 原則後退は禁止となっておりましたが、講習のみチャレンジ! その後フリー走行10分間で慣れた頃にははい終了。

「これって販促?」と聞くと。 一般公道は走行不可なのだそうで、 基本的には大型倉庫内や私有地走行のみなのでとのこと。
埼玉のショッピングモールの警備などには使用されているらしいです。
ってことは、「通勤にいいなぁ」と思った私には残念。 しかも、ミリオン宝くじが当たらないと買えない金額だそうで。ムリムリ?!

ということで、二度と乗ることのないセグウェイに乗れた私はラッキーでした。

Eclipse

46年ぶりのビッグイベント

Image: IMG_5521.JPG

Camera Canon EOS 40D
Lens Canon EF 70-300 mm F/4-5.6 IS USM
Focal Length 300 mm
F Number 18.0
Exposure Bias Value +2/3 EV
Exposure Time 1/500
ISO Ratings 500

リンゴの木村さん

木村さんのリンゴは、腐ることなく枯れるそうです。
NHK「プロフェッショナル仕事の流儀」で紹介されご存じの方も多いと思いますが、 青森県中津軽郡の木村秋則さんは、 無農薬、無肥料の自然栽培でリンゴ作りをしています。
私自身この話を聞いてすごい発見だなと感心していたところ、 たまたまコーヒー栽培で自然栽培を実践しているという記事を発見しました。 ブラジル・サンパウロ州にある農園を営むジョン・ネットさんです。

2人の話には共通点があります。
自然界には天敵もいれば、お互いに助け合って生きる共生もあります。 ある種の虫が増えすぎるとそれを食べる天敵が現れる。 このように自然界には絶妙のバランスが働きますが、 こと収穫を目的とした畑の場合は同じようにはいきません。
畑の中でこの自然のバランスを崩さないよう人が手助けをすること。 また自然界の生物がうまく生存できる環境を提供しているのが 「ふかふかの土」なのだという原点です。
更に木村さんとジョンさんとの深い共通点は、 自然の恵みに感謝する「ありがたい」という気持ちでした。 大雨の日も日照りつづきの日もあることでしょう。
それでもお2人の話からは、 自然を大切にしたいという強く優しい思いが伝わってきました。

アジサイ

誕生月が6月のせいか昔から紫陽花の花が好きです。
薄い青色から次第に濃い青色になり、その後赤みを帯びた紫色に変化していく。
そんな移り変わる様を楽しんでいます。

Image: hydrangea.jpg

クライムウェア

2009年6月3日(水)当社サーバで異常な数のウイルスが検知された。
すべて「トロイの木馬」と云われるウイルスで、 世界の主要なボットネットからの配信であった。 同様の報告をお客様からも頂戴したので以下に特記する。

不正かつ有害な動作を行う意図で作成されたソフトウェアプログラムの総称として 「マルウェア」という言葉がある。 このマルウェアに「クライムウェア」という新たな分類が加わった。 悪意のあるソフトウェアの中でも犯罪につながる可能性があるソフトウェアを意味する。
最近になって検出されたマルウェアの 90% 以上が このクライムウェアであることが驚異である。 多くはトロイの木馬と呼ばれるソフトウェアで、 キー入力の履歴を記録するもの (キーロガー)、 銀行サイトの利用時にスクリーンショットを撮るもの、 他の悪性コードをダウンロードしてくるもの、 ハッカーからシステムへのリモートアクセスを可能にするもの等々がある。
これらクライムウェアに共通なのは、 機密データ (パスワードや暗証番号など) を「盗み」、 その情報を犯罪者に送信する点である。 サイバー犯罪者たちは、手に入れた機密データを悪用して 一般の利用者から金銭を盗み出す。 クライムウェアの目的は、金銭を奪取することであり、 利用者のデータを破壊するような派手な動作はしない。 そのため動作している事実がわかりにくく、 利用者はまさか自分のパソコンがクライムウェアに感染しているとは想像だにしない。
ネットでのショッピング等で利用者が入力した機密情報を、 サイバー犯罪者に悪用された例などが報告されているが、 犯人を特定することは非常に困難である。 このようなクライムウェアに関して利用者ができる対策としては

  1. 主要な通信ポートのみ外部へアクセスができるように制約をおこなう。
  2. アクセスログなどを見ながら、 クライアントが不明な任意のIPアドレスにアクセスをおこなっていないかどうか監視する。
などが有効である。

みちくさ

この時期は、道ばたに咲く花々を眺めながら散歩するのがとても楽しい。
ついつい花の咲いている道を探しては、 未知な道を歩いている自分に気付くことがある。
そうか、みちくさ=道草とはそんなことかなあと思う。

道ばたに生えている、フキ、ヨモギ、ツクシ、ミョウガなどを見ては、 ついつい食べ頃とその食感を想像してしまうのは食いしん坊の本性からだろう。
子供の頃、学校から直接帰宅することは希で、 何か面白そうなものを探してはいつもみちくさしたものだ。
神社のザクロの実がなれば木に登って取って食べたりした。 学校帰りのみちくさこそが毎日だった。

歳を重ねてくると、 松尾芭蕉の「奥の細道」は芭蕉が不思議な力「そぞろ神」に誘われ、 ついついみちくさに出かけたくなったのではないかと思えるようになった。
遠大な旅を味わう余裕のない自分にとっては、 せめてものみちくさがプチ旅かもしれない。

The myth of unix security

Kaspersky 社のブログ によると、 FreeBSD や Linux をターゲットとしたマルウェアが発見されたとの事です。

It’s often argued that *nix systems are secure, and there are’t any viruses or malware for such systems. This hasn’t been true for a long time, as two recently detected malicious programs prove.
Kaspersky 社の Blog より

超訳してみると、 『多くの場合、unix システムはセキュリティを確保しているので、 ウィルスやマルウェアはありえないと主張されていた。 これらの事は既に真実ではない事が最近検出された2種類の悪意あるプログラム により証明されている。』みたいな事が言われています。
今回は単なる perl スクリプトと FreeBSD や Linux 上で実行可能な 暗号化された perl スクリプトの 2 種類のマルウェアが発見されたらしく、 それぞれ迷惑メイルを送信する「ボット」や、 セキュリティソフト風の怪しいソフトウェアを販売するための 詐欺サイトを宣伝・販売するウェブサイトを構築してしまうそうです。

Windows に比較すれば FreeBSD や Linux の方が多少は安全ですが、 それはあくまでも相対的な比較においての安全であり 絶対的に安全という訳ではありません。 そんな事はちょっと考えてみれば常識だと思うのですが、 世の中には「Linux だから安全」という様な事を妄信している人もいる様です。
システムにセキュリティホール(脆弱性)が存在する可能性がある限り、 『セキュリティに対して万全』とは言えません。
日頃からセキュリティ情報には注意を払い、適宜対策を実施することが肝要です。

皐月

語源由来辞典によると、

皐月は耕作を意味する古語「さ」から稲作の月として「さつき」になった。
漢字「皐」には「神に捧げる稲」という意味があるため、 皐月が当てられたと思われる。
と記載されています。

花木のさつき(皐月)が陰暦の5月に咲くので皐月と命名されたようです。
語源を知らない私の感覚では、 花木の皐月(さつき)が花を咲かせるので 5月は「さつき」と云われるようになったと思いこんでいました。
語源を知らないと本当の意味がわからないのも事実ですが、 その時代で流行語のように勝手に語源をでっちあげて、 語源がいつの間にか書き換えられているような気がします。

語源の話ではないですが、 私が子供の頃(力道山全盛の頃)は、 シャツをズボンから出していると 母から「みっともない!」と思い切り怒られました。
ところが最近ではシャツをズボンの中にきっちりしまい込んでいようものなら、 妻と娘から即座に『チョーダサイ!!』と避難轟々(ごうごう)です。
時代が勝手に変遷しているだけなので私個人には何ら関係ないことですが。 とはいえ毎度疑問を感じます。

正しいマナーの辞典を作っても守られないのでしょうね。

FreeBSD 7.2-RELEASE

FreeBSD Release Engineering Team は FreeBSD 7.2-RELEASE を公開しました。

主な変更は以下の通りです。

  • 仮想メモリサブシステムによるアプリケーションメモリの スーパーページへの透過的使用をサポート
  • BTX ローダの改良、いくつかの問題点の修正
  • ciss ドライバの改良
  • sdhci ドライバの追加による class 8 SD ホストコントローラのサポート
  • NetBSD から Bluetooth ネットワーク管理用の btpand デーモンが移植されました
  • jail の複数 IPv4/IPv6 アドレスサポートなどの改良
  • KDE 4.2.2、GNOME 2.6 が採用されました
  • DVD インストールイメージの配布が開始されました

詳細は リリースノート を参照して下さい。

ライスペーパーを使って

最近のお弁当ブーム、景気の悪化による食費抑制にメタボリックシンド ローム対策が相乗効果を成したのか?
お弁当の売り上げは伸びているらしいです。
ある会社ではお弁当部なるサークルがあり、男女、既婚未婚 問わずお弁当作りに勤しんでいるようです。

お弁当に野菜を入れるのって、入れる側も食べる側も意外と面倒ですよね・・・ でも、やっぱりお野菜は健康の為にも入れたいし。
そこで、簡単一品にライスペーパーがお役に立ちます。

水戻ししたライスペーパーにハム、お野菜になどを巻き込んで ドレッシング(トロミありがGOOD)をかけちゃう。
あとはくるんで一口大にカットしてしまえばかさばらず、 食べるときも丸ごとぺろりときれいにお口の中に!!

残り物を何でも包んでしまえば、残り物整理にもお役立ち!! 前の晩の野菜炒めや、サラダの残り葉などなど。

そうそう、急なお客さんの時にもライスペーパー料理! ちょっとカッコがつきますよ(笑)

POSIX.2 標準仕様のシェルによる変数展開

シェルスクリプトを作成する際に シェル変数に値を代入したり参照したりする事は頻繁に発生するが、 シェル変数の展開にも便利な使い方がある。
basename (1) や dirname (1) と同様な動作が シェルの組込みとして利用できるので資源の節約にもつながり、 上手に利用すると可読性の高いスクリプトが作成できる。

機能一覧

${parameter:-word} デフォルト値への置換
${parameter:=word} デフォルト値の代入
${parameter:?[word]} 値の検査とエラー
${parameter:+word} 代替値の使用
${#parameter} 文字列長の取得
${parameter%word} 最短後置パターンの削除
${parameter%%word} 最長後置パターンの削除
${parameter#word} 最短前置パターンの削除
${parameter##word} 最長前置パターンの削除

デフォルト値への置換

  • ${parameter:-word}
  • ${parameter} が NULL の場合 word に置換される。

    $ echo ${foo}
    
    $ echo ${foo:-FOO}
    FOO
    $ echo ${foo}
    
    $ foo=BAR
    $ echo ${foo:-FOO}
    BAR
    			

デフォルト値の代入

  • ${parameter:=word}
  • ${parameter} が NULL の場合 word に置換され、 かつ parameter に代入される。

    $ echo ${foo}
    
    $ echo ${foo:=FOO}
    FOO
    $ echo ${foo}
    FOO
    $ echo ${foo:=BAR}
    FOO
    			

値の検査とエラー

  • ${parameter:?[word]}
  • ${parameter} が NULL の場合 word が指定されていればその値を、 指定されていない場合はデフォルトの値を表示し、 非対話実行されているシェルをエラー終了させる。

    $ echo ${foo}
    
    $ echo ${foo:?value not set}
    value not set
    			

代替値の使用

  • ${parameter:+word}
  • ${parameter} が NULL 以外の場合 word に置換される

    $ echo ${foo:+FOO}
    
    $ echo ${foo}
    
    $ foo=BAR
    $ echo ${foo:-FOO}
    FOO
    $ echo ${foo}
    BAR
    			

文字列長の取得

  • ${#parameter}
  • ${parameter} の文字列としての長さに置換される

    $ echo ${foo}
    
    $ echo ${#foo}
    0
    $ foo=FOO
    $ echo ${foo}
    FOO
    $ echo ${#foo}
    3
    			

最短後置パターンの削除

  • ${parameter%word}
  • ${parameter} の右から word で示されるパターンの最短部分を削除する

    $ bar=/foo/bar/baz
    $ echo ${foo%/*}
    /foo/bar
    $ foo=foo.c
    $ echo ${foo%.*}
    foo
    $ foo=foo
    $ echo ${foo%.*}
    foo
    			

最長後置パターンの削除

  • ${parameter%%word}
  • ${parameter} の右から word で示されるパターンの最長部分を削除する

    $ foo=foo.example.com
    $ echo ${foo%%.*}
    foo
    $ foo=http://www.example.com:8888/
    $ echo ${foo%%:*}
    http
    $ foo=foo
    $ echo ${foo%%.*}
    foo
    			

最短前置パターンの削除

  • ${parameter#word}
  • ${parameter} の左から word で示されるパターンの最短部分を削除する

    $ foo=foo.c
    $ echo ${foo#*.}
    c
    $ foo=foo.example.com
    $ echo ${foo#*.}
    example.com
    $ foo=foo
    $ echo ${foo#*.}
    foo
    			

最長前置パターンの削除

  • ${parameter##word}
  • ${parameter} の左から word で示されるパターンの最長部分を削除する

    $ foo=foo.example.com
    $ echo ${foo##*.}
    com
    $ foo=/foo/bar/baz
    $ echo ${foo##*/}
    baz
    $ foo=foo
    $ echo ${foo##*.}
    foo
    			

HP ProLiant ML110 G5 で FreeBSD 7.0-RELEASE を稼働させる

PCクラスの筐体でサーバとして稼働できる Hewlett-Packard 社の ProLiant ML110 G5 で FreeBSD を動かしてみました。

ML110 G5 はマザーボードから IDE やパラレルポートといった 旧いインタフェイスが省略されている所謂レガシーフリーなサーバなので、 当然光学ドライブも SATA 接続となります。
FreeBSD 7.0 では(一部の) SATA 接続光学ドライブとは相性が悪いので、 起動時の boot prompt で hw.ata.atapi_dma="0" を指定すると、 スムーズにインストールできる様になります。 インストールした後は /boot/loader.conf に 以下の記述を追加しておくと自動で設定されて便利です。

hw.ata.atapi_dma="0"
	

ML110 のマザーボードに搭載されている NIC は Broadcom 社の GbE ですが、 型番が "NetXtreme BCM5722 Gigabit Ethernet PCIe" となっていて 標準のカーネルでは利用できません。
インストールの際は CD からのインストールを実行したり、 USB 接続の NIC などを利用してインストールした後で、 以下のパッチを適用してカーネルの再構築を行うと、 無事にギガビットイーサが利用できるようになります。
diff -cr /usr/src/sys.orig /usr/src/sys
*** /usr/src/sys.orig/dev/bge/if_bge.c	2009-04-03 12:05:39.000000000 +0900
--- /usr/src.sys/dev/bge/if_bge.c	2009-04-02 12:51:46.000000000 +0900
***************
*** 169,174 ****
--- 169,175 ----
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5715S },
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5720 },
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5721 },
+ 	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5722 },
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5750 },
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5750M },
  	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5751 },
diff -cr bge.orig/if_bgereg.h bge/if_bgereg.h
*** /usr/src/sys.orig/dev/bge/if_bgereg.h	2009-04-03 12:05:39.000000000 +0900
--- /usr/src/sys/dev/bge/if_bgereg.h	2009-04-02 12:51:13.000000000 +0900
***************
*** 2011,2016 ****
--- 2011,2017 ----
  #define	BCOM_DEVICEID_BCM5715S		0x1679
  #define	BCOM_DEVICEID_BCM5720		0x1658
  #define	BCOM_DEVICEID_BCM5721		0x1659
+ #define	BCOM_DEVICEID_BCM5722		0x165A
  #define	BCOM_DEVICEID_BCM5750		0x1676
  #define	BCOM_DEVICEID_BCM5750M		0x167C
  #define	BCOM_DEVICEID_BCM5751		0x1677
	

構成にもよりますが デュアルコアの Xeon は早くて快適です。

河津桜

若干旧聞に属する話題ですが、さる 2月7日に河津桜を見てきました。
河津桜の原木に咲き誇る桜の花です。

Image: img_0180.jpg

一足早く暖かな春の息吹を感じていただけるでしょうか。

wget でファイル送信

wget (1) でファイルを送信する必要が生じたので、 ブラウザでファイルを送信する際のパケットをキャプチャして 通信内容を調べてみました。

想定しているのは input type='file'enctype='multipart/form-data' を指定した フォームによるファイル送信処理。
通常の http ヘッダ以外に "Content-Type""boundary"wget (1) の --header オプションで指定して、 multipart/form-data 形式に整形した送信するファイルの内容を --post-data オプションで指定するだけで送信できます。
Content-Type'multipart/form-data'boundary は送信するデータの中に含まれない 任意の文字列を指定すれば問題ない様です。

multipart/form-data 形式は以下の形式に整形します。

--任意の文字列
Content-Disposition: form-data; name="フォーム名"; filename="ファイル名"
Content-Type: text/plain
(空行)
ファイルの中身
(空行)
--任意の文字列
	

実際にコマンドライン形式に記述するとこの様になります。

wget --header="Content-Type: multipart/form-data; boundary=バウンダリ" --post-data='
--バウンダリ
Content-Disposition: form-data; name="フォーム名"; filename="ファイル名"
Content-Type: text/plain

ファイルの中身
         :

--バウンダリ
	' 送信先URL
	

スクリプトの場合などはシェル変数などを利用すると、 もう少し見やすいスクリプトになるでしょう。

#!/bin/sh
    :
    :
# バウンダリ文字列は世界標準時基準時点からの秒数とする
boundary="boundary-`date '+%s'`"
# 受信する cgi の <input type="file" name="..."> で指定されるフォーム名
formname="フォーム名"
# 送信するファイル
filename="ファイル名"
# 送信するファイルのデータ
contents="`cat ${filename}`"

# multipart/form-data 形式のデータ生成
data="
--${boundary}
Content-Disposition: form-data; name='${formname}'; filename='${filename}'
Content-Type: text/plain

${contents}

--${boundary}
"

# ファイルの送信処理
wget --header="Content-Type: multipart/form-data; boundary=${boundary}" \
    --post-data="$data" 送信先 URL
    :
    :
	

USBメモリからブートできてパーティション操作やファイル復元が可能な『Parted Magic』

ext4に対応した Parted Magic 3.5 でパーティションを操作する

こんなディストリビューション(?)あったのか。 知らなかった。 USBメモリからブートできるイメージがあるのはかなりありがたい。 いざというとき存在を知ってれば便利そうだ。

DNS DDoS

詐称された IP address から `. IN NS' という query を投げる DNS DDoS 攻撃が最近流行っているそうです。
この DNS 問い合わせに対して root servers のリストを応答してしまうと 数百バイト程度の応答が発生してしまうので、 詐称された IP address に膨大なトラヒックが集中してしまい 結果として DDoS 攻撃 分散型サービス拒否攻撃(Distributed Denial of Service attack) となってしまいます。

bind はバージョン 9.5 で既に対策が実施されており `. IN NS' 問い合わせに `refused' と応答するので、 対策されていない DNS の管理者は早急に対策する方が良いでしょう。

節分

今日は節分の日、近くの神社で豆まきがあり、近所の人たちがあつまりました。

Image: IMG_4594.JPG

このあたりでは「節分」は梅の開花時期で、 春の訪れとともに「福」の訪れも感じました。

サブマシンガンでも耐えられるスーツ

WIRED NEWS - 大統領も着る? サブマシンガンにも耐えるオシャレな防弾スーツ

こんなスーツがあるとは! ただ着てみたいという欲望を満たすだけのために着てみたい。

しかし、ポロシャツで7500ドルか…。オーダーメイドのスーツっていくらだろう。

自己完結型バイオトイレ

本文中に「最初はなかなか信じてもらえない」とあるが、 確かに表題見たときは「またか」的な印象があった。

しかし、記事を読んでそんな気持ちは吹き飛んだ。 ご自身の病気から発した疑問を追い求めて、それをビジネスと結びつけ、 完成度を高めていくプロセスにはある種の憧れすら感じる。

しかし、処理後のおがくずは普通の土より衛生的という話みたいだが、 精神的意味合いで触りたくはないな…。

FreeBSD で BlueTooth マウスを利用する

最近は BlueTooth を内蔵しているハードウェア(特にラップトップ)が増えたが、 勿論 FreeBSD からも BlueTooth マウスは利用可能である。
特にラップトップの場合少ない USB ポートを占有しないので、 BlueTooth マウスは非常に嬉しいハードウェアだといえる。

BlueTooth マウスを利用するためにはカーネルモジュールをロードする必要がある。 シェルプロンプトから kldload (8) を実行してロードしてもよいが、 /boot/loader.conf に以下の記述をすることで 起動時に自動的にカーネルモジュールをロードする様になる。

netgrph_load="YES"
ng_ubt_load="YES"
vkbd_load="YES"
	

BlueTooth 機器に接続するためには BlueTooth 機器のデバイスアドレスと 機器の名称が必要になるので、 hccontrol (8) コマンドを実行して それらの情報を取得する。

# hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
        BD_ADDR: XX:XX:XX:XX:XX:XX
        Page Scan Rep. Mode: 0x1
        Page Scan Period Mode: 0x2
        Page Scan Mode: 00
        Class: 38:01:0c
        Clock offset: 0x5f95
Inquiry complete. Status: No error [00]
	

BlueTooth 機器との接続を管理するのは hcsecd (8) というコマンドなので、 接続する機器ごとの情報を /etc/bluetooth/hcsecd.conf に登録しておく。

device {
	bdaddr  XX:XX:XX:XX:XX:XX;
	name    "任意の名称";
	key     nokey;
	pin     nopin;
}
	

BlueTooth マウスのデバイスアドレスを /etc/bluetooth/hosts に登録する。
XX:XX:XX:XX:XX:XX	任意の名称
	

bthidcontrol (8) コマンドで BlueTooth マウスの情報を取得し 定義ファイルに出力した上で、bthidd (8) コマンドを実行すると BlueTooth マウスが利用可能となる。

# bthidcontrol -a 名称 query > /etc/bluetooth/bthidd.conf
# bthidd -c /etc/bluetooth/bthidd.conf
	

主要なコンピュータ言語/コンパイラのベンチマーク

スクリプト言語のベンチマークを探していて辿りついたページ。

The Computer Language Benchmarks Game

Rubyは1.9になって結構速くなってるとか、Python3は2.Xと比べてちょっと遅くなってるとか見てるだけで面白い。

なお、最初に選択するOS and CPUによって、選択できる言語が変わる。

FreeBSD 7.1-RELEASE

FreeBSD Release Engineering Team は FreeBSD 7.1-RELEASE を公開しました。

主な変更は以下の通りです。

  • i386/amd64 の標準スケジューラが ULE スケジューラに変更されました
  • OpenSolaris から DTrace が移植されました
  • NFS Lock Manager (NLM) Client がサポートされました
  • USB デバイスや GPTへの対応など boot loader が改良されました
  • cpuset(2) システムコール、cpuset(1) コマンドが追加されました
  • KDE 3.5.10、GNOME 2.22.3 が採用されました
  • DVD インストールイメージの配布が開始されました

詳細は リリースノート を参照して下さい。

ESTA

来年(2009年)の1月29日から米国に入国する際は "電子渡航認証システム(ESTA)" による事前認証が必要になります。

米国国土安全保障省(DHS)は8月1日より、 電子渡航認証システム (Electronic System for Travel Authorization: ESTA)を開始した。 この新しいオンラインシステムは、ビザ免除プログラム(VWP)の一部である。 現在、ESTAのウェブサイトでは任意ので申請を受付けているが、 2009年1月12日からは申請が義務化され、 米国に短期商用・観光目的(90日以下)で渡航予定の VWP参加国のすべてのビザなし渡航者は、 米国行きの航空機や船舶に搭乗する前に オンラインで渡航認証を受けることが必要になる。
アメリカ大使館のWebSiteより

今までは3ヶ月未満の短期滞在の場合は I-94W と呼ばれる 米国査証免除プログラム参加国用入国用紙に記入するだけで良かったが、 今後は事前認証が必要になるので注意が必要です。
ESTA による認証は2年間有効との事なので、 出発直前に慌てない様に早めに済ませておくのが良いかも?

セキュリティ情報

FreeBSD 上に以下のセキュリティ上の脆弱性が発見された。

  1. Bluetooth 関係のカーネルモジュールの BUG に起因する脆弱性
  2. netgraph 及び bluetooth 関係のカーネルモジュールで、 適切に初期化されていないポインタが存在している事が原因で 発生する脆弱性が存在する。
    この脆弱性によりローカルユーザにより任意のコードの実行や root 権限の奪取、jail からの脱獄が可能となる。

  3. ftpd サーバにクロスサイトリクエストフォージュリの脆弱性
  4. ftpd は汎用目的の ftp サーバの実装の一つであり FreeBSD ベースシステムに含まれているが、 非常に長い文字列により与えられたコマンドの分割処理に問題があり、 結果として任意のコマンドを実行されるなどの危険性がある。

どちらも標準状態では無効になっているので、 明示的に設定している場合以外はそれほど問題はないが、 修正パッチがリリースされているので適用すべきである。

セキュリティニュース

2008.11.11 にMcColo がプロバイダより切断された後の経過をフォローする。

2008.11.15

Srizbi および Rustock の配信サーバ McColo C&C サーバ (米国サンノゼ IPアドレス:208.66.194.22) からの配信が再開した。
実はサーバが物理的に撤去されていないことが判明。 まだサンノゼの Market Post Tower で活動を続けているようだ。

2008.11.16

Rustock の配信サーバ C&C サーバが McColo から ロシアのデータセンターに移動した。

2008.11.25

Srizbi に感染しているボットがよみがえった。 新しい実行ファイルに更新され活動を再開した。
その配信サーバはエストニアにあり、 ロシア語 (koi8-r) でMIMEエンコードしたスパムであった。 このことから当初ロシアにある SMTP サーバにターゲットにしているようだ。

2008.12.01

Srizbi および Rustock の配信サーバは現在のところ、 大半が停止し、ごくわずかな配信サーバを残すに至った。
SrizbiRustock に代わって Pushdo が代替ボットになっている。
Cutwail というワームプログラムは迷惑メールの送信および Cutwail を最新にアップデートするために使われるため、 このプログラムの配信を止めることでスパム配信を停止できる。

出典

GNU Bourne-Again Shell を便利に使う

対話シェルとして使用する bash (1) の コマンドライン履歴機能の便利な使い方。
bash (1)のコマンドライン履歴機能のうち イベント指示子、単語指示子、修飾指示子は オンラインマニュアルにも情報が少ないが、 慣れると非常に便利でキータイプ量も減るので是非マスターしておきたい。
以下の文中で nm は任意の整数、 foobarbaz などは任意の文字列を示します。

機能一覧

イベント指示子
!! 直前に実行したコマンドを実行する
!-n n 回前に実行したコマンドを実行する
^foo^bar
!:s/foo/bar
直前に実行したコマンドの foobar に変更して実行する
!:gs/foo/bar 直前に実行したコマンドの全ての foobar に変更して実行する
!foo foo で開始されるコマンドを実行する
!n
n 番目に実行されたコマンドを実行する
単語指示子
!:n 直前に実行したコマンドの n 番目の引数を取得する
!^ 直前に実行したコマンドの 1 番目の引数を取得する
!$ 直前に実行したコマンドの最後の引数を取得する
!* 直前に実行したコマンドの全ての引数を取得する
!:n* 直前に実行したコマンドの n 番目から最後までの引数を取得する
!:n-m 直前に実行したコマンドの n 番目から m 番目までの引数を取得する
!:-n 直前に実行したコマンドの最初から n 番目までの引数を取得する
!:n- 直前に実行したコマンドの n 番目から最後の 1 個前までの引数を取得する
修飾指示子
:p コマンドを表示のみして実行しない
:h パスのファイル名部分を取り除きディレクトリ名を取得する
:t パスのディレクトリ名部分を取り除きファイル名を取得する
:r ファイル名の拡張子を取り除き "." の前を取得する
:e ファイル名の拡張子を "." 付きで取得する

イベント指示子

  • !!
  • 直前に実行したコマンドを実行する
    $ echo foo bar baz
    foo bar baz
    $ !!
    echo foo bar baz
    foo bar baz
    			

  • !-n
  • n 回前に実行したコマンドを実行する (複数のコマンドを繰り返して実行する場合に便利)
    $ echo foo bar baz
    foo bar baz
    $ echo FOO BAR BAZ
    FOO BAR BAZ
    $ !-2
    echo foo bar baz
    foo bar baz
    $ !-2
    echo FOO BAR BAZ
    FOO BAR BAZ
    			

  • ^foo^bar
    !:s/foo/bar
  • 直前に実行したコマンドの foobar に変更して実行する (下のパターンの場合 "/" は任意の文字に変更が可能)
    $ echo foo foo foo
    foo foo foo
    $ ^foo^bar
    echo bar foo foo
    bar foo foo
    $ echo foo foo foo
    foo foo foo
    $ !:s/foo/bar
    echo bar foo foo
    bar foo foo
    			

  • !:gs/foo/bar
  • 直前に実行したコマンドの全ての foobar に変更して実行する ("/" は任意の文字に変更が可能)
    $ echo foo foo foo
    foo foo foo
    $ !:gs/foo/bar
    echo bar bar bar
    bar bar bar
    			

  • !foo
  • foo で開始されるコマンドを実行する
    $ echo foo bar baz
    foo bar baz
    $ touch foo bar baz
    $ !ec
    echo foo bar baz
    foo bar baz
    			

  • !n
  • n 番目に実行されたコマンドを実行する
    $ echo foo bar baz
    foo bar baz
    $ echo FOO BAR BAZ
    FOO BAR BAZ
    $ !1
    echo foo bar baz
    foo bar baz
    			

単語指示子

  • !:n
  • 直前に実行したコマンドの n 番目の引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !:0
    echo echo
    echo
    $ echo foo bar baz
    foo bar baz
    $ echo !:2
    echo bar
    bar
    			

  • !^
  • 直前に実行したコマンドの 1 番目の引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !^
    echo foo
    foo
    			

  • !$
  • 直前に実行したコマンドの最後の引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !$
    echo baz
    foo
    			

  • !*
  • 直前に実行したコマンドの全ての引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !*
    echo foo bar baz
    foo bar baz
    			

  • !:n*
  • 直前に実行したコマンドの n 番目から最後までの引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !:2*
    echo bar baz
    bar baz
    			

  • !:n-m
  • 直前に実行したコマンドの n 番目から m 番目までの引数を取得する
    $ echo foo bar baz FOO BAR BAZ
    foo bar baz FOO BAR BAZ
    $ echo !:3-5
    echo baz FOO BAR
    baz FOO BAR

  • !:-n
  • 直前に実行したコマンドの最初から n 番目までの引数を取得する
    $ echo foo bar baz FOO BAR BAZ
    foo bar baz FOO BAR BAZ
    $ echo !:-4
    echo foo bar baz FOO
    foo bar baz FOO
    			

  • n-
  • 直前に実行したコマンドの n 番目から 最後の 1 個前までの引数を取得する
    $ echo foo bar baz
    foo bar baz
    $ echo !:1-
    echo foo bar
    foo bar
    			

修飾指示子

  • :p
  • コマンドを表示のみして実行しない
    $ echo foo bar baz
    foo bar baz
    $ touch foo bar baz
    $ !e:p
    echo foo bar baz
    			

  • :h
  • パスのファイル名部分を取り除きディレクトリ名を取得する
    $ echo /foo/bar/baz
    /foo/bar/baz
    $ echo !$:h
    echo /foo/bar
    /foo/bar
    			

  • :t
  • パスのディレクトリ名部分を取り除きファイル名を取得する
    $ echo /foo/bar/baz
    /foo/bar/baz
    $ echo !$:t
    echo baz
    baz
    			

  • :r
  • ファイル名の拡張子を取り除き "." の前を取得する
    $ echo foo.c
    foo.c
    $ echo !$:r
    echo foo
    foo
    			

  • :e
  • ファイル名の拡張子を "." 付きで取得する
    $ echo foo.c
    foo.c
    $ echo !$:e
    echo .c
    .c
    			

社名『ギデオン』の由来

社名ギデオンは旧約聖書の士師記にでてくる勇者の名にちなんでいます。
「後顧の憂いのない300人」の戦士を集め、3万人の敵を相手に勝利したという 「ギデオンの300」のエピソードを創業精神としました。

聖書にでてくるダビデ、ソロモンなどの勇者は、もとよりとても強く、 優れた人脈を持つ賢者として描かれています。 一方ギデオンは元来はひ弱で、人脈もなく貧乏だった人ですが、 神の助けを得て王者となりました。

創業初期は、資金もなく、営業力もなく、開発人員も少なく、 状況はギデオンと全く同じでしたが、 「ギデオンの300」を心のよりどころとして一歩一歩事業を展開してきました。

1990年創業からやっと2009年には新社屋を建設するにいたりました。
今後10年には、現在の10倍規模の事業に成長させたいと考えています。

iSCSI Initiator on FreeBSD

最近は Buffalo の TeraStation など安価な iSCSI ストレージもあるが、 勿論 FreeBSD からも iSCSI は利用可能である。

ただし残念ながら iSCSI がサポートされているのは FreeBSD では 7系からなので、 FreeBSD 7.0-RELEASE で試してみる。

# kldload scsi_initiator
# iscontrol -d -t IPアドレス
TargetName=iqn.2004-08.jp.buffalo:TS…
TargetAddress=IPアドレス
# cat << EOF > /etc/iscsi.conf
name {
	TargetName=iqn.2004-08.jp.buffalo:TS…
	TargetAddress=IPアドレス
}
EOF
# iscontrol -n name
# ls /dev/da*
/dev/da0    /dev/da0s1
ドライバをロードした後で iscontrol コマンドを実行して target を検索。
検出した TargetNameTargetAddress/etc/iscsi.conf に設定を保存して、 再度 iscontrol コマンドを実行すると、 ちゃんと /dev/da0s1 が生えてきて普通に使えました。

迷惑メール防止法本日より施行

特定電子メールの送信の適正化等に関する法律(通称 迷惑メール防止法)の改正案が 本日より施行された。
今回の改正はオプトイン方式( 受信を同意した相手にしか特定の電子メールを送信できなくなる) へ移行した事が一番大きなポイントであるが、 他にも厳罰化や送信者情報偽装の禁止などが盛り込まれている。

FreeBSD 6.4-RELEASE

FreeBSD Release Engineering Team は 6-STABLE 系最後のリリースとして FreeBSD 6.4-RELEASE を発表しました。

主な変更は以下の通り

  • NFS Lock Manager (NLM) Client
  • 暗号化フレームワーク Camellia cipher のサポート
  • USB デバイスや GPTへの対応といった boot loader の改良
  • DVD インストールイメージの配布開始
  • KDE 2.5.10、GNOME 2.22.3 の採用
  • BIND、sendmail、OpenPAM などのアップデート

ICANNが悪質なドメイン登録業者を取り消し

ITmedia News - 悪名高きドメイン登録業者、ICANNが認定取り消しへ

ICANN - EstDomains Update: Notice of Termination Stayed

取り消しの理由はESTDomainsの社長が有罪になったからとのことで、悪質なドメイン登録を許していたからではない模様。

今回の措置が効果があったとしても、悪質なドメイン登録業者であっても代表者が有罪にならなければ登録業者としての取り消しができないということを示しており、必ずしも良いニュースとはいえない。

php からのディスクアクセス

php だという時点でアレなんですが…

php からディレクトリにある全ファイルの一覧を取得する処理のパフォーマンスを exec()popen()opendir() を利用した処理で比較してみる。

方法は単純にテスト用のディレクトリに 500 ファイルを用意して、 それぞれの関数を使用してファイル名一覧を取得する処理を 10回実行した場合の処理速度を計測する。

exec("ls -1") 0.774762
popen("ls -1") 0.865914
opendir() 0.136642

外部 shell を実行しないので opendir() が早いだろうとは予想していたが、 これほど差が出るとは思わなかった。
パフォーマンスを優先する場合は勿論だが、 余計なプロセスを生成しないので opendir() が地球に優しい様だ。

<?

	$func = array("byls", "bypopen", "byopendir");

	for($i=0; $i<3; $i++){
		$dist = array();
		$start[$i] = gett();
		for($j=0; $j<100; $j++)
			$dist[$j] = $func[$i]("/tmp/test");
		$end[$i] = gett();

		printf("%-10s:%f\n", $func[$i], $end[$i] - $start[$i]);
	}

	function	byls($dir)
	{

		exec("ls -1 $dir", $output);

		return($output);

	}

	function	bypopen($dir)
	{

		if(($fp = popen("ls -1 $dir", "r"))){
			while($buf = fgets($fp))
				$output[] = trim($buf);
			pclose($fp);

		}

		return($output);

	}

	function	byopendir($dir)
	{

		if($dir = dir($dir)){
			while($file = $dir->read())
				$outout[] = trim($file);
			$dir->close();
		}

	}

	function	gett()
	{

		$t = gettimeofday();
		return((float)($t['sec'] + $t['usec'] / 1000000.0));

	}

?>

ついでにシェルの glob なパターン指定を利用して 指定した文字列にマッチするファイル名の一覧取得を行う場合のテストもしてみた。

20071203000 から 20071203499 までの500個のファイルの中から、 200712032?? にマッチするファイル名の一覧取得で時間を計測してみる。

exec("ls -1 200712032??") 0.883770
popen("ls -1 200712032??") 0.902392
opendir() -> preg_match("/200712032../") 0.188792
glob("/200712032../") 0.203928

exec()popen() が遅いのは相変わらずだが、 preg_match() の呼出しが意外に早かったのが驚き。
正規表現のマッチ処理って基本的に相当時間がかかる筈なんだが…
glob() はファイルシステムに自分でアクセスしてる様なので早い。
複雑なパターン指定が必要なら preg_match() の方が柔軟だが、 シェルに渡せる程度のパターン指定なら glob() を利用するのが 可読性やメンテナンス性と性能が両立できて良いのかも?

Tweak

Leopard を使っていてちょっと便利な小技

  1. iTunes 8 から表示される様になった曲の右側の iTunes Store へのリンク矢印を表示させない
    $ defaults write com.apple.iTunes show-store-arrow-links -bool FALSE
    		

  2. iTunes 8 のブラウザ表示時にジャンルを表示させない
    $ defaults write com.apple.iTunes show-genre-when-browsing  -bool FALSE
    		

  3. Spaces が自動で切り替わるのを防止する
    $ defaults write com.apple.dock workspaces-auto-swoosh -bool NO
    		

  4. ドラッグで Spaces を移動する際の待ち時間を設定する
    $ defaults write com.apple.dock workspaces-edge-delay -float 0.5
    		

  5. HelpViewer のウィンドウをフローティングではなくする
    ヘルプが最前面にこなくなるので便利
    $ defaults write com.apple.helpviewer NormalWindow -bool YES 
    		

  6. ネットワークドライブに .DS_Dtore を作成しない
    $ defaults write com.apple.desktopservices DSDontWriteNetworkStores true 
    		

  7. X11 の終了確認ダイアログを無効にする
    $ defaults write org.x.x11 no_quit_alert false
    		

  8. Mail.spp で添付ファイルのインライン表示を無効にする
    $ defaults write com.apple.mail DisableInlineAttachmentViewing -bool yes
    		

  9. Front Row の iTunes トップソングの国を指定する
    $ defaults write com.apple.frontrow MusicStoreFrontID 国コード
    		

    代表的な国コード
    111111 デフォルト (アメリカ)
    143442 フランス
    143443 ドイツ
    143444 イギリス
    143447 フィンランド
    143449 アイルランド
    143460 オーストラリア
    143461 ニュージーランド
    143462 日本

NTFS-3G

BootCamp を利用して Windows とデュアルブートの環境を構築している場合、 Leopard 標準のドライバだと NTFS でフォーマットされたハードディスクには 読み込みのみしかアクセスできないので何かと不便である。

しかし MacFuse と NTFS-3G を利用すると NTFS でフォーマットされたディスクにも 何の問題もなく書き込みができるので便利である。
MacFuse も NTFS-3G も公式サイトではバイナリも配布されているが、 MacPort からも簡単にインストールできる。
NTFS-3G を利用するためには既に Leopard によってマウントされてる NTFS のディスクのマウントを解除した後で NTFS-3G によるマウントを実施する。

$ sudo port install ntfs-3g                    # MacPort から ntfs-3g をインストール(依存関係で MacFuse もインストールされる)
FuseFS を利用するためにここで再起動する
$ /usr/sbin/diskutil list                      # 現在マウントされているボリュームを表示しデバイス名を確認しておく
   :
   3:       Microsoft Basic Data Windows Xp              64.9 Gi    disk0s3
$ mkdir -p /Volumes/NTFS                       # 最初の1度だけマウントポイントとなるディレクトリを作成する
$ /usr/sbin/diskutil umount disk0s3            # Leopard によって既にマウントされているディスクのマウントを解除する
$ sudo /usr/local/bin/ntfs-3g /dev/disk0s3 /Volume/NTFS -o volume=NTFS,default_permissions,locale=ja_JP.UTF-8,uid=UID,gid=GID
ntfs-3g コマンドのオプションに uid、gid を指定すると マウントされたディスクに含まれるファイルやディレクトリの オーナ、グループを指定できる。
アクセスは非常に遅いが NTFS パーティションに書き込みできるのは嬉しい。

Time Machine

Leopard から搭載された Time Machine というバックアップシステム
標準状態だと Time Machine のバックアップ先は直接接続されたドライブ、 もしくは Apple 純正の Time Capsule しか選択できないのだが、 以下の手順を実施する事により samba で共有しているネットワークドライブに バックアップする事ができた。
ただし、この方法は公式にサポートされた機能ではないので、 バックアップの消失等の危険性がある。
あくまでも自分自身の責任において実施して下さい。

  • samba で新規の共有を作成する
  • → 共有する名称は任意でかまわない

  • ターミナルから以下のコマンドを実行する
  • $ defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
    

  • Finder の "移動" メニューから samba で共有したサーバに接続する
  • Time Machine の環境設定でディスクの変更を行う
  • → ネットワークドライブが選択可能となっているので選択する

  • Time Machine の "今すぐバックアップを作成" でバックアップを開始する
  • ネットワークドライブに作成されるイメージのファイル名を確認する
  • → 通常は ホスト名 + "_" + マックアドレス + ".sparsebundle" となっている

  • Time Machine によるバックアップがエラー終了する
  • ディスクユーティリティを起動して新規ディスクイメージを作成する
  • 名前: ネットワークドライブに作成されたイメージのファイル名
    場所: 任意の場所
    ボリューム名: 任意の名称
    ボリュームサイズ: バックアップに必要となる容量を指定する
    ボリュームフォーマット: Mac OS 拡張 (ジャーナリング)
    暗号化: なし
    パーティション: 単一パーティション - Apple パーティションマップ
    イメージフォーマット: スパースバンドル・ディスクイメージ

    ネットワーク越しにスパースバンドル・ディスクイメージを作成できないので、 "場所" はローカルディスクを指定する必要がある。
    一番最初に" イメージフォーマット" を スパースバンドル・ディスクイメージに設定する事により 実際のハードディスク容量よりも大きなサイズが指定できる。

  • 作成したイメージファイルをバックアップ先に転送する
  • Time Machine を再度実行してバックアップを作成する

Flash9 on FreeBSD!

先日 FreeBSD 7-STABLE で Flash9 を動作させるためのパッチが公開されたが、 更に FreeBSD 6.{3,4}-RELEASE でも Flash9 を動作させるパッチが公開されたので、 ここ から 早速ダウンロードして Make World してみる。

新しい環境で再起動した後 ports から linux-flashplaye9 をインストール。
インストール後、

$ nspluginwrapper -i /usr/local/lib/npapi/linux-flashplugin/libflashplayer.so
を実行してから firefox を起動し、 about:plugins すると、ちゃんと flashplayer 9 を認識している。
さっそくニコニコ動画にアクセスすると動画がちゃんと表示されています。

結構嬉しいです