2009年1月20日火曜日

SeaGateのHDD、ファームウェアに不具合との事でアップデートした…ら失敗した

1/20昼追記
なんか全然駄目な模様、事例一杯http://calves.jugem.jp/?eid=500
2ch該当スレのまとめ引用→http://nekoya.clipp.in/entry/43860
この記事まねしてアップデートしようとしてはダメです。
1/21 いたたまれなく追記:Seagateガンバレ…
1/27 成功したので新しい記事を書きました、リンクでどうぞ。



「SeagateHDD不具合!」ということで世間は色々騒がしい。
対象は主に2008年後半製造のHDDということでいいのかな?なんだかどんどん広がっているようなので心配。
 

対象製品の一覧は、
Seagate ナレッジベース
で確認できる、自前のHDDの型番をチェックしましょう。
 
型番がわかって、対象っぽければさらに drivedetect というツールで ファームのリビジョンをチェックできます。
http://support.seagate.com/kbimg/utils/drivedetect.exe

とりあえず自分の使ってるドライブは型番「ST3500320AS」、とってもストライクということが判明…orz
[caption id="attachment_1184" align="alignnone" width="480" caption="画像:Drive Detect 実行結果"]画像:Drive Detect 実行結果[/caption]
 
起動ドライブじゃなかったので多少ましかな。
 

で、幸いにも自分のモデルは更新版のファームウェアがリリースされている、この原稿時点では「SD1A」。
ここで大急ぎで適用すべきか少々悩むが、容量に余裕があったのでバックアップとって適用することに。どうせ黙っていてもHDDが使い物にならなくなるのを待つだけだしね。
 
 

ファームウェアの更新ユーティリティはISO形式のCDロムイメージで提供されていた、こういうのはてっきりFDだと思っていた。
ISOで1.6MBか、まあ今ではFDDついてない人も多かろうし、生フロッピーなんてもう自宅に置いてないもんな、サーバではまだ結構やるが。
 

[caption id="attachment_1185" align="alignnone" width="320" caption="写真:ファームウェア更新ユーティリティ"]写真:ファームウェア更新ユーティリティ[/caption]
ほいできたー、ちゃっかりdrivedetect も含まれていた。
 

あとはCDから起動して…って記事書いてんのに(><)
仕方ないので下書き保存して再起動するか、記事の続きはかけるかな?

 
 


 
 

ただいま、失敗しました。
本当ならば手順を書くところだったんだが、、経過を撮影したのでせっかくなので載せて置こうか。
 

[caption id="attachment_1186" align="alignnone" width="240" caption="写真:更新ユーティリティーのメニュー"]写真:更新ユーティリティーのメニュー[/caption]
起動するとまずはReadmeが表示される、一通り目を通してF10を押すとこのメニューに入れる。
 

[caption id="attachment_1187" align="alignnone" width="240" caption="写真:HDDスキャンの結果、対象モデルあるよね?"]写真:HDDスキャンの結果、対象モデルあるよね?[/caption]
"S"キーでスキャンしてHDDの認識を確認、いざ更新!
 

[caption id="attachment_1188" align="alignnone" width="240" caption="写真:Error!"]写真:Error![/caption]
!?
なんでやねん。
「Error: Specific model not found. ST3500320AS expected.」て、ついさっきDetectいうてたやん。
 
 

色々条件を変えてみたが、
■HDDを1台だけにする
→ 結果変わらず。「??」
 

■Readmeの「全デバイスをはずせ!」という指示を熟考、「そうかIDEのCD-ROMをはずせば…」
→「system not found」CD起動できず… しまった!当たり前だ!
 

■メモリ4GBのところを2GBに減らす
→ 結果変わらず。
 

(ノ`皿´)ノ彡┻━┻
 

とりあえずエラー画面を撮影したのでメーカに送ってみるか。。。セグメント違反を起こして終了の模様。
[caption id="attachment_1189" align="alignnone" width="300" caption="写真:失敗画面フル"]写真:失敗画面フル[/caption]
 

ウチの環境だけなのかな? マザーボードはASUSの「M3A78-EM」、いわゆるAMDのチップセット「AMD780G/SB700」を使っているので、この組み合わせでの成功例とかないかな。
 
ちなみにドライブはまだ無事だ、中身も読めるが心配だなあもう。

1/20昼追記
なんか全然駄目な模様、事例一杯http://calves.jugem.jp/?eid=500
2ch該当スレのまとめ引用→http://nekoya.clipp.in/entry/43860
この記事まねしてアップデートしようとしてはダメです。
1/21 いたたまれなく追記:Seagateガンバレ…
1/27 成功したので新しい記事を書きました、リンクでどうぞ。

2009年1月18日日曜日

第17回まっちゃ139勉強会に行ってきました

今日は黒七味を買いに京都へ行きました、お子様向けに生八つ橋いちごチョコレートもね。
 


[caption id="attachment_1180" align="alignnone" width="240" caption="写真:黒七味と八つ橋"]写真:黒七味と八つ橋[/caption]
[caption id="attachment_1181" align="alignnone" width="240" caption="写真:東本願寺前から京都タワー"]写真:東本願寺前から京都タワー[/caption]

 
 

早速の脱線から閑話休題、と言うわけで「第17回まっちゃ139勉強会」行ってきたのでちょいレポ、あえて味については書かない。
スタッフの皆さん、講師・LTそして参加者の皆さんお疲れ様でしたー
 

基本的に勉強会の内容については、詳細は口外無用というポリシーがあるので当たり障りがなさそうな話で感じた内容をメモっておこう、自分のメモなので内容については保証できないです。
(当たり障りのある話があったか?と聞かれても困るけど)
 
 

008年セキュリティインシデント総まとめ(仮題)(小野寺匠さん)


この辺→「日本のセキュリティチーム (Japan Security Team)」のお方。
 

●悪さをする人の狙いの変遷。99年-01年くらいはWEB改ざん、それ以降はクライアントの脆弱性をつくように。組織的に行われ、手段が洗練化してきてたちが悪く。
●(だいぶ丸めて)WindowsUpdateはやろう。リリース版の無印WIndows、SP1はマズイ。SP2からはマシ。
●日本はセキュリティ的にレベル高め、
●Windowsを直接WEBにつなぐと危ないの当たり前なので、ISPはモデム貸すのは完全にやめて、ルータだけにしてほしい。
(これについては日系NETWORKにもあったが、WinXPのSP2未満はインターネット直接接続すると 4分でなにかしら感染するらしい。。)
●昨年の"MS08-067"はブラスターみたいに流行ってもおかしくなかった、当時に比べ個人のPCのパッチ適用率が上がってたりと拡散しにくい状況になったのかな。
●USBメモリによる感染増加、USBの自動再生いやならGPでとめたり。
●MD5の証明書やめようねー
 

まあその他もろもろ、引き出しの多さには非常に驚き…
 
 

LTは省略しておく、この辺は参加したほうがよさそうだから。
ちなみにテーマはこんなだった。

「アイデンティティ管理入門」ヴァルカンさん


セキュリティ規格色々紹介(題名うろ覚え)F.koryuさん


「その後の龍谷大学理工学部メール環境」セキュメモの小島先生


「UltraVNC SCを使った遠隔サポート」よーいちさん


 

皆さん勉強量がハンパないなぁと感じる、普段の私の仕事は結構「動けばいいや」的なところがあるので、仕様とか規格・ましてその背景など説明されると関心せざるを得ないですね。
モノ作るにあたってはやはり納得いくまで調べないと、または定型化しておかないと結局あとで困るんだよなあと思う。
 

さて、省略してはイカンところとしては宣伝?
セキュリティホールmemo 小島先生のサイト、連日かなりお世話になっている身としては初の生・小島先生に少々感動。
関東の方はまっちゃ445 よろしく?
admintech.jp も要チェック、というか次の「AD×LDAP」とか大好物だ、さすがに東京まで行けないので資料だけでも欲しい…
 

ほか、PCI-DSSは具体的な部分について個人的にまとめサイト作ろうとしてるので(要件に対応するOSの機能・設定をまとめる。)もっと話を聞きたいなあ。
 

「UltraVNC SC」、何気に一番面白かったカモ。。実用向け特化の内容はウチの保守部隊iSTAFFに通ずるものが。

 
 
 

懇親会も行った、まっちゃ139御用達、定番のお店だったらしい。お料理美味しかったです。
色々お名刺の交換させて頂きましたが、普通に取引先の方がいて噴いた、エー。セキュメロにも来られるそう、よしちょっと行ってみよう。
せっかくなのでまっちゃさんに抱きついておいた、「アッー!」
 
 

今回驚いたのは私の所属するアイクラフト社員の女の子がいきなりいたこと、事前情報なし。確かにこないだ誘ったが、くるなら教えてくれよ(笑) 新手のツンデレかと。
ついでに言うと、小野寺さんの発表で彼女はマイクロソフトのイメージが変わったらしい。「仕様ですから」とつっけんどんに御高くとまっている印象が払拭された模様。確かにそういうのはあるかも。
 

ほか Wassr購読中の方々 と話す機会を結構もてた。この辺は結構貴重なんじゃなかろうか。
 

あとは帰りに一緒だった勉強会@徳島 の子。
話を聞くにプログラミングにどえらい情熱を持っていることがよくわかった、素直ないい子だった。「オリジナル言語をつくるぜ」と言ってたので是非がんばって欲しい。
 
 

…こういった高い情熱を持ったエンジニアをを雇用して食わせながら遊ばせたい(もちろん利益はアリで)とする、一部ベンチャー企業の経営者さんの気持ちがわかる気がした。
 

彼らの情熱を業績につなげ、なおかつ市場の活性化と雇用の確保をやっていくという事はITに携る者として目指す姿の一つなのかもしれない。美化しすぎかな?
 
 

とりとめないがこんなもんで。

2009年1月17日土曜日

ITのウイルスも風邪のウイルスも気をつけよう

IT屋のはしくれである私が「ウイルス」と言い出す、コンピュータに妙な動作をさせて被害を与えるアレの話と見せかけた、ちょっとひねってるようで直球な話、長文注意!
 

ここ最近、通勤時など人混みに身をさらす用事では使い捨ての不織布マスクを装着している。
早い話が 風邪、インフルエンザ等、空気感染のウイルス対策をしているということなんだが、マスクのほかにも拠点に着いたら手洗いうがい、なんとなく体を払っておいたりと、気がつく範囲で対策に余念ないよう心がけている。
おかげでこの冬は 病気的な理由でで体調が悪かった事は(二日酔いと疲労を除いて)今のところ無い。
 
 

さて、 この辺から本題だけど、セキュリティが低下するといった意味で、コンピュータウイルスと人体に悪影響を及ぼすウイルスはよく似ている。
(そもそもコンピュータウイルスの語源だから当然ともいえるのか。)
好きこのんでセキュリティ勉強会(まっちゃ139等)に参加したりする身としては、やはり健康に起因するセキュリティ事故にも注意を払うべきだと思うわけです。
 
 

まあちょっと比較してみよう、まずは個人単位でのセキュリティ。

  • コンピュータウイルスで自分のPCがやられる
    →復旧作業に丸一日、業務に支障

  • 風邪ウイルスで自分の体がやられる
    →一日仕事休み、業務に支障


 

さらに対処を遅らせ無理して動かすと…

  • コンピュータウイルスはどんどん拡散・感染
    →周辺のPCに被害拡大、業務に大幅な支障

  • 風邪ウイルスは周囲に拡散・感染
    →体調不良者続出、業務にも結構な支障が



(※この辺は定義的にワームも入っている気もするが、まあこのくだりでは広い意味でウイルスとまとめてよいでしょう。)
 

どちらもやっぱり被害はでかい、今の時期に人混みでマスクしない(=自衛しない)のはまあ仕方ないけど、自らが咳をしているのにまったく無防備という方を見受けると、セキュリティの意識が低めなのではないかと思ってしまう。
 
少なくともウイルス撒いてそうなのがいたら身を守る手段、たとえばマスクなど持ち歩くほうが良いのではないかと思う。
 
 

コンピュータウイルスの影響は一部の業務停止から始まり、情報漏えいだとかによる会社の社会的信用低下といった副作用が直感的にわかりやすい、新聞沙汰もざらだし。
それを受けて、「なるほど気をつけるべきだ」というのは分かる、興味をもって調べる・対策を講じる人が多くなるのも自然でしょう。
 

ここでちょっと考えて、「なんで対策するの?」って話になった場合、やっぱり業務停止するのが嫌なんだったり、悪い影響が広がると後々面倒だということになる。
 

それはそのまま人体向けのウイルスにも当てはまると考える。
インフルエンザ感染しやすいウイルスが広まると学校は閉鎖、病院はごった返しとそれこそ社会的にどえらいことになるわけで、一社の信用が失墜するのとはまた違った意味で影響がでかいんですよね。
 
 

長くなったけども、情報セキュリティに気をつけると自負するならば身の健康もしっかり守ろう、ということが言いたかった、ウイルスが原因で体調崩すのは立派なセキュリティ事故だよと。これは大いに啓発したい、あとコンピュータのアレをウイルスになぞらえて表現した最初の人もリスペクトしたい、誰だか知らないが…
 
 

しかしここ数年で気づいた事で面白い事例がある、やや主観に基づいてるけど子供を生んだ母親は(大体)強い。ウイルスなんてへのカッパ。
ノロウイルスだ何だと父娘が苦しんでいても平気で面倒みている、あれらは少々特殊なのかも知れないなぁ、そのへん誰か解明してないかな。

2009年1月14日水曜日

PHP Fatal error: Call to undefined function sqlite_open() phpから SQLite2できない?

CentOS5.2、php5.1.6 (yum)の環境で sqlite_open() が出来ねー。
 

という状況で調べたら、phpからsqlite使うなら pdo_sqlite で sqlite3 を使いましょう、という情報が多い。
phpinfo() で確認したら、ご丁寧にコンフィグオプションで "without-sqlite" が指定されていた。
yumでインストールしたらそうなる模様、楽をするとしわ寄せがくるなあ。
 
 

sqlite2 を使う必要があるので少々困った。
sqlite.so だけ入れたら何とかなるだろうと思い探したら丁度よい情報が
 

[PHP]パッケージで入れたPHP 5に最新版sqlite拡張を入れる - GRANADA Hatena @ sotarok


複雑な事情はあれど、とりあえずPHP5をパッケージで入れた人むけ。
-snip-
で、実はこれで入れると、 without-sqlite されていて、php-pdo 入れれば sqlite3 系は使えるけど、sqlite2系の関数が使えない。

 
そうそう、そうなのよ。
解決法として phpize によるモジュールの個別インストール方法が紹介されていたので早速やってみる。
 

PHPの過去リリース から5.1.6のソースを落として ext/sqlite をphpize 。
.configure して make して
"/usr/local/src/php/php-5.1.6/ext/sqlite/modules/sqlite.so" の出来上がり。
 
 

きっちりphpから sqlite2 用の関数が使えるようになりました。
少々ならバージョン上がっても、同じ手順で大丈夫だろう。

2009年1月13日火曜日

第17回まっちゃ139勉強会に参加申込みした(1/17)

社外の勉強会に参加する、ということで京都を拠点に関西でセキュリティを勉強しようという「まっちゃ139」に参加してくる、2回目。
 
 

勉強会、懇親会の内容や申込みは下記から。
第17回まっちゃ139勉強会

第17回まっちゃ139勉強会懇親会
 

日本のセキュリティチーム (Japan Security Team) や セキュリティホール memo の中の人が講師&ライトニングトークをされるようでとても面白そう。
(間違ってたらごめんなさい。)
 
 

うちの会社は勉強会参加費&交通費を出してくれるので助かる、会社の名前くらいは言ってあげよう。懇親会は実費で参加。
前まっちゃに参加したときは懇親会行かなかったけど今回は行こうかな、admintech.jp のに行ってみたら面白かったので。
京都なのでちょっと遠いのがやや心配。
 

2009年1月9日金曜日

Windowsのオブジェクトアクセス監査でアクセス権の変更を記録する

ちょっと質問を貰った事でまとめたので、こちらに転載。
 

WindowsServer2003のファイル共有を使っていたら、共有フォルダのアクセス権が知らん間に変わっていたので、監査ログを残しておきたいという話。
 
 

監査を有効にするには下記のように設定。
【解説】重要なファイルに対するアクセスを監査するには? - ITPro
 

今回の目的だと、フルコントロールでなくて、「アクセス許可の変更」を成功・失敗ともつければいいや。
 
 

ファイル監査全体については下記がすごく分かりやすい。
ファイルサーバー監査(ファイル) - 株式会社エスディーケー
http://www.sdk-ltd.com/misc/el107.asp
 

で、実際今回理解しておけばいいことだけまとめ。
 

  • ファイル操作イベントは ID 560 から 562 ではさまれます

  • 一連の動作は、オープン後のファイルハンドル番号が共通なので同時にアクセスがあっても分かる

  • イベントID 560 と 562 の間にある イベント ID 567 にユーザがやろうとした動作の情報がある



 



で、567のやろうとした動作は アクセスマスク として書いてあります。
 

アクセス権の変更なら、
「アクセス マスク: WRITE_DAC 」
 

となっているので抽出できる。というわけです。
 
[caption id="attachment_1168" align="alignnone" width="469" caption="画像:アクセス権変更した時のイベント"]画像:アクセス権変更した時のイベント[/caption]
 

どのファイルをいじったかは直前のイベントID560のログを見て、ハンドルIDから引きましょう、イメージファイル名はファイル操作に使ったアプリなので間違えないように。
 

ちなみにここではファイルだけど、Windowsはフォルダを「入れ物属性持ったファイル」として扱うのでフォルダの場合も大体同じです。

2009年1月6日火曜日

procファイルシステムの下のfdディレクトリ

Linuxのprocファイルシステム、まあ大概 "/proc" にあるやつ。以前に「プロセス毎の環境変数を参照する」という記事を作ったが、またproc関連の話。
 

"/proc" 以下にはシステムで動作中の各プロセスID名でディレクトリが作られ、それらの情報が保管されているが、その中に"fd" というディレクトリがある。
その中にはプロセスが使用中のファイルへのシンボリックリンクが作らてれる。
 



実際の例を見るために apache の開いているファイル情報を見てみる。
 
 


まず psid をチェックしよか。
# pstree -p
init(1)─┬─agetty(2109)
--- snip ---
├─httpd(1848)─┬─httpd(12453)
│ ├─httpd(12454)
│ ├─httpd(12455)
│ ├─httpd(12456)
│ ├─httpd(12457)
│ ├─httpd(12458)
│ ├─httpd(12459)
│ ├─httpd(12461)
│ └─httpd(13484)
--- snip ---

 

大元の1848を調査しよう、"/proc/{プロセスID}/fd"を見てみよう。
# ls /proc/1848/fd
0 1 10 11 12 13 2 3 4 5 6 7 8 9


数字ばっかり? それはディスクリプタ番号だからだ。
少し細かく言うとプロセスが入出力先として持つディスクリプタの番号を名前にしたリンク 、"File Descriptor" だから "fd" ということらしい。
 

詳細を表示しよう。
# ls -l
total 0
lr-x------ 1 root root 64 Jan 5 19:31 0 -> /dev/null
l-wx------ 1 root root 64 Jan 5 19:31 1 -> /dev/null
l-wx------ 1 root root 64 Jan 5 19:31 10 -> /var/log/httpd/ssl_error_log
l-wx------ 1 root root 64 Jan 5 19:31 11 -> /var/log/httpd/access_log
l-wx------ 1 root root 64 Jan 5 19:31 12 -> /var/log/httpd/ssl_access_log
l-wx------ 1 root root 64 Jan 5 19:31 13 -> /var/log/httpd/ssl_request_log
l-wx------ 1 root root 64 Jan 5 19:31 2 -> /var/log/httpd/error_log
lrwx------ 1 root root 64 Jan 5 19:31 3 -> socket:[4625]
lrwx------ 1 root root 64 Jan 5 19:31 4 -> socket:[4626]
lrwx------ 1 root root 64 Jan 5 19:31 5 -> socket:[4630]
lrwx------ 1 root root 64 Jan 5 19:31 6 -> socket:[4631]
lr-x------ 1 root root 64 Jan 5 19:31 7 -> pipe:[35186]
l-wx------ 1 root root 64 Jan 5 19:31 8 -> pipe:[35186]
l-wx------ 1 root root 64 Jan 5 19:31 9 -> /var/log/httpd/error_log


apache が現在開いているファイルへのリンクだとわかる、ソケットやパイプもあるな。
 
 


これを応用すると結構アクロバティックな真似ができる。
削除したファイルをlsofで復元する - ITmedia (linux.com原文の日本語訳)
 

この辺の話は面白いな。確かにapache 動作中にログファイル消しても平気だし、同名のファイルを作ってもそこにログが書き込まれない、あれはそういうわけかと。