Monthly Archives: 12月 2008

腕時計悩み中

Nixon
最近、腕時計について周りに聞いてて、IWC とか BREITLING とか進められてました。でも、ちょっと高いなぁ、と思ってました。腕に 10 万以上のものつけて歩けねぇよ。ちっちぇなぁ、俺。と思いつつ、やっぱ庶民ですからねぇ。
で、チョイ前に友達と飲んだときに、「来年はテクノだわ」とか言ってみたけど、なかなかよさげなのがなくて・・・。
というわけで今んとこ候補に挙がってるのが Nixon。ちょっとミーハーなのかあなぁ、ってのが嫌なとこ。でもリンク先の THE BANKS シリーズはいいなぁ。テクノじゃない・・・。
まぁ、結局セイコーとかカシオでいいんじゃないかな。

PaXによるテキストリロケーションの制限

“Gentoo hardened toolchainを使用しているのなら、典型的なプログラムのコンパイルはテキストリロケーションを含まないPIC ELFライブラリを作成します。ですが、一部のライブラリは依然としてテキストリロケーションを様々な理由で含んでいます(しばしば処理を間違ったアセンブリを含んでいるものもあります)。これは、攻撃者がシェルコードを実行するためにPICでないライブラリを使用することができるため、セキュリティの弱点となります。 PICでないライブラリは、共有ライブラリのためのコード共有を妨げるため、メモリの消費にもつながります。”

Gentoo Hardened よくある質問とその回答 — Gentoo Linux ドキュメント
家のマシンを色々アップデートして、カーネルも入れ替えて再起動して寝た。ら、Apache が起動していなかった。システムの稼動確認は大事だねぇ・・・。って思いつつ起動しようとしたら、起動しない。なぜだ。
アップデートしたから PHP のモジュールがリンク変になっちゃったのかと思いつつ、再構築してみたが、起動しない。そのときに php -v して出てきたエラーが

error while loading shared libraries: cannot make segment writable for relocation: Permission denied.

というもの。
調べてみると、カーネルのセキュリティ機構である PaX の制限に引っかかっているっぽい。バイナリ中でテキストリロケーションということをしていると、PaX で制限されちゃうんだそうです。カーネルの

CONFIG_PAX_NOELFRELOCS

オプションを有効にしていれば、ですが。
この、テキストリロケーション、気になって調べてみたものの、C の知識がないので深くは理解できませんでした。Sun のページにこんな記述が。

“Locations represent addresses in memory if a section is allocatable; that is, its contents are to be placed in memory at program runtime. Symbolic references to these locations must be changed to addresses by the link editor.”

Object Files in Executable and Linking Format (ELF) (x86 Assembly Language Reference Manual) – Sun Microsystems
つーことは、たぶんメモリ上でテキストデータの配置を変更するのをテキストリロケーションて言うのかな。
参照先によると、テキストリロケーションを許可するデメリットとして、セキュリティの弱点とメモリ消費につながるんだそうです。シェルを利用可能な場合、不正なテキストリロケーションを含んだライブラリを利用して、変なことができるんですかねー。
テキストリロケーションを使用したくないなら、コンパイル時に -fpie とか付ければ良さそうですが、Gentoo の hardened プロファイルを使用していれば勝手に調整してくれているようです。USE フラグには pic ってのもあって、PHP はこれを設定しないとテキストリロケーションが使用されるようです。これを設定してないから Apache が起動できなかったんですねぇ。
ただし、Gentoo の PHP で USE フラグに pic を設定するそうです。emerge 後のメッセージに書いてありました。

pam_loginuidに関するエラーメッセージ

“The pam_loginuid module sets the loginuid process attribute for the process that was authenticated. This is necessary for applications to be correctly audited.”

6.18.pam_loginuid – record user
借り物の CentOS でこんなエラーが出てた。

pam_loginuid(sshd:session): set_loginuid failed opening loginuid
pam_loginuid(crond:session): set_loginuid failed opening loginuid

特に動作に影響は出てないようだが、logwatch で大量のメッセージを拾ってくるのでうざい。なんとかしなきゃ。
どうやら /etc/pam.d/ の crond とか sshd とかに

session    required   pam_loginuid.so

ってのがあって、ここでメッセージが出力されてるっぽい。
/lib/security/pam_loginuid.so がおかしいのか、アップデート時に設定ファイルも変更になったのか、調べてみものの、わからず。ネットで検索すると、コメントアウトしたって人が多い。でもディストリビュータが出してる設定がそこまで変なわけがない。
というわけで PAM 配布元のドキュメントを閲覧してみました。どうやら、loginuid というモジュールは監査のための設定をするっぽい。
そういやカーネルに監査の項目があったと思い出し、make menuconfig して、General setup の Auditing support を有効に変更。再コンパイル、再起動すると、メッセージは出てこなくなりました。
明日の logwatch が楽しみだ。めでたしめでたし。

フリスクの広告が気になった

FRISK Japanese Official WEBSite
帰りの電車で FRISK の広告が気になった。で Web サイトを見に行ったんだけど、その広告はなかった。残念。
口で説明できるか微妙だけど、最近よく見る格子状で交わるところが白抜きになってるやつのバージョン違いでした。よく見るやつは白地なんだけど、今日見たのは黒地で同じような模様。
なんだけど、チカチカ光るように見えるんですよ。たぶん目の錯覚を利用してるんだけど、見てるところの周りの白丸が光ってるような感じになって、感動しました。
やっぱ広告やるなら、あーいう面白いのを作らなきゃだよね。

残業抑制と自由な職場

“これまで割増賃金率は残業時間の長さにかかわらず一律25%以上だったが、同法では(1)月45時間までは25%以上(2)月45時間超から60時間までは引き上げに向けて労使で協議する(3)月60時間超は50%以上――の3つを定めた。 “

残業60時間超は割増率50%以上に 改正労基法が成立
2010 年からの適用だそうです。中小企業は当面猶予だそうで。経営者は大変だぁ。
と、思ったら、リンク先のコラムが気になった。

“2003年に厚生労働省が「賃金不払残業の解消を図るために講ずべき措置等に関する指針」を出している。この中では「始業及び終業時刻の確認及び記録は使用者自らの現認又はタイムカード、ICカード等の客観的な記録によることが原則であって、自己申告制によるのはやむを得ない場合に限られるものであることに留意する必要がある」となっているが、霞が関では未だにタイムカードが導入されていないようである。”

優秀な人材が逃げるIT業界の長時間労働――放置すれば罰金刑も【コラム】ビジネス-最新ニュース:IT-PLUS
へー、そんな指針があったんだ。勤務時間の自己申告制はやむ得ない場合に限られるとは。まぁ、会社ってのは経営者が従業員を雇って働かせているんだから、そうですよね。
ただ、自由な勤務時間を求める労働者もいるから大変だ。けど、そういう人らは欲張りな気がする。自由に働いて社員としての保障も欲しいなんてね~。
自由に働いて、その対価をちゃんと払ってくれれば、俺はいいかなぁ。労働者を続けるならだけど。
ん?勤務時間帯と労働時間は別の話か・・・。