• 新手のBlogスパム

    前のバージョンから「ひらがな」フィルタを使って海外からのコメント・トラックバックスパムを削除していたのですが、敵も気が付いてきたようでタイトルのコピーを入れたスパムを送ってくるようになりました。

    スパムを送ってくる業者はページランクが上がれば良いので同じ言語であるかどうか関係なくスパムを送っていると思われます。日本語サイト以外でも言語フィルタをつけたサイトが増えてきているのかも知れません。

    「ひらがな」フィルタの効果は絶大だったのですが、タイトルのコピー・本文の一部をコピーされたスパムの場合、ほぼ無力に近いです。blogアプリをアップグレードしてる半日程度の時間、平仮名フィルタが無かっただけで900くらいのトラックバックスパムが着てしまいました。半分だけでもタイトルや本文のコピーをつけてSPAMを送られてきたらモデレートなんて不可能です。そのうちまた新しい手法が必要になりそうです。やはりGeoIPかな… あまりやりたくない手法ですが…

  • Blogアプリをバージョンアップ

    このBlogはb2evolutionなのですが、一応安定版となっているとはいえ随分前からアップグレードしていませんでした。調べてみたら2年間アップグレードしていませんでした。

    1.9.1Betaにアップグレードしました。基本的にconf/_basic_conf.phpの文字エンコーディングを”utf-8″に設定するだけでそれなりに日本語環境でも動作するようです。メールのエンコーディングはダメなようで修正が必要です。一部には明らかな不具合もありますがBetaなので次の最終版では直っている事を期待したいです。

    改行文字がファイルによってCR/LFとLFが利用されている部分などは修正されているのかな?と期待していたのですが直っていないようです。ほぼ同じ内容のコードを含むファイルが複数ある等、改善した方が良い箇所があるのですが気長に待つ事にします。
    # ずっと直っていないのですぐに直る
    # 事は期待できないでしょうね。

    バージョンアップに伴いコメント・トラックバックのモデレートができるようになりました。デフォルトがモデレートなのでコメント・トラックバックが即座に反映されません。面倒ですがスパムの量を考えると仕方ないです。

  • PostgreSQL 8.2 リリース

    PostgreSQL 8.2がリリースされました。

    主要な変更点

    Among the features of this new version are:

    * Higher performance (+20% on OLTP tests)
    * Improved Warm standby databases
    * Online index builds
    * SQL2003 aggregates
    * Improved TSearch2 with Generalized Inverted Indexes
    * Support for DTrace probes
    * Advisory Locks
    * New ISN/ISBN and pgCrypto modules
    * Selective pg_dump options

    参考: アプリプログラマに影響が大きい変更点
    http://blog.ohgaki.net/index.php/yohgaki/2006/09/29/postgresql_8_2_beta

  • PS3でも動作するMomonga Linux 3 for PPC64

    Momonga Linuxメンバーの方がインストール可能なPPC64のDVDイメージの公開を準備中です。

    rpm系では初!と思われる full 64bit(ppc64) の環境です。
    Momonga ppc64 環境が初めて日の目を見るかも…

    との事です。

    私はISOイメージを手に入れたのでとりあえずDual G5のMacに入れてみよう。

  • Zero3 esにプレミアムバージョン

    名刺リーダーが追加されて3000~4000円増しで発売されたのですね。知りませんでした。既に購入済みユーザーにも販売されるようです。連絡先に自動登録できるのかな? 名刺リーダーは欲しかった機能なので買います。

    個人的には必要ないですがコレを見るとワンセグチューナーもあるようです。無線LANカードプロジェクタにつなげるオプションもあったり(MiniSDに付けるタイプはこちら)至れり尽くせりです。

    電話としてはちょっと困る事(フリーズしたり)もありますが、お勧めの1台と思います。私の周りではZero3 es人口急増中です。

    追記:
    モニタに出力できるIMSV-841が買える場所がない、と思っていたらこんなページを見付けました。

    http://kureyon88.seesaa.net/article/21568393.html

    価格差が大きいですね。

  • VAIO Z1をメモリ増設して延命

    プリンストンテクノロジーのページを見ると自分が持っているVaio Z1は1GBのDIMMを付ける事ができるようです。Core2DuoのMac Bookを買おうかと思っていたのですが1GB DIMMに交換して少し延命する事にしました。どちらにしてもこのノートも捨てる訳ではないので512MB -> 1GB DIMMに交換しても良いかなと。

    多分載せる事ができるだろうとは思っていましたがこれで安心して買う事ができました。ありがとうプリンストン :)

    と言うことで今日、通販で買ったプリンストンのメモリ(バルクより高いですが情報提供料としてプリンストンテクノロジー製を購入。今値段を調べたらこのメモリ、買った時に比べてめちゃくちゃ安くなってますね…)が届きました。768MBと1256MBではWindowsの動作は雲泥の差です。メモリが少なくてディスクアクセスが多くて困っている方には、この手のアップグレードはお勧めです。
    # 一部のVaio Z1には1GBのDIMMは付けれないようです。ご注意下さい。

    ところでノートPC用の512MB DIMM(PC2100)が余ってしまいました。送付するのは面倒なので高松近郊にいらっしゃる方限定になってしまいますが、STLUGのオフ会に来れる方でこのDIMMが有効活用できる方であれば差し上げます。メール下さい。
    # STLUGの方、私のブログ読まれているかな??

  • Momonga Linux 3のX

    Momonga Linux 2では普通にXも使えていたPCにMomonga Linux 3をインストールしたところXが起動するとZAPもVCへの切替えもできない状態になりました。インストールまでは通常通りGUIでインストールできたので設定の問題であることは明らかです。勘でDRIかな?とxorg.confを編集してdriモジュールをロードしないようにしたら普通に使えるようになりました。
    # 当然DRIは使えませんが、Xは使えるようになりました。
    # ディスプレイドライバはviaです。

    もしインストール後にXが使えなくなった方、DRIを無効にしてみると良いかもしれません。

    この他にもnVidiaカードを使っている方はxorg謹製のnvドライバを利用するよりvVidiaが提供しているドライバを使用した方が良いと思います。nvドライバだとXが全く動作しなかったり、少し動作してもすぐにおかしな状態になる場合あります。nVidiaが提供しているドライバもバージョンによって当たりハズレがあります。ハズレに当たるとどうやっても正常に動作しない事があります。私はIA32用(i686)の

    NVIDIA-Linux-x86-1.0-9629-pkg1.run

    を945チップセット+GeForce6600、TwinView有効で利用しています。特に問題もなく快適です。

    IA64(x86_64)の場合、1.0-8776は当たり、1.0-9626はハズレだそうです。

    参考:http://wiki.ohgaki.net/index.php?Momonga%20Linux%2FNVidia%20TwinView

  • Flash Player 9 beta for linux

    2006/11/20付けでBeta版のバージョンアップ行われたようです。IA64は出さないのかな?出してほしい。

  • Easy video creation using only FOSS software

    Free+OSSだけでビデオ編集するための情報。

    娘が生まれてから大量のビデオは撮っていますが編集はした事が無いです。OSSで手軽編集できる環境になった?!

  • SANS TOP20

    SANS TOP20が更新されています。

    Cross Platformの一位が「Web Applications」になっています。PHP以外のWebアプリにもセキュリティ上の問題が数多くあることに気が付いたと言うことでしょう。といっても解説はPHPが対象となっています。HTTP Response Splittingは最近のPHPでは不可能になっていますが記載されています。(header関数でCR,LFは送信できないよう仕様変更されている。最近ではPythonで作られているtracにHTTP Response Splitting脆弱性が見付かっている)

    PHP以外のアプリでも問題が多い事を示している統計情報もあります。例えば、これなど
    http://internet.watch.impress.co.jp/cda/news/2006/07/24/12759.html
    対象はJavaのWebアプリが多いと聞いています。

    XSSと異なり、SQLインジェクションなどは100%防げるにも関わらずこういった状況のようです…

  • Selenium: オープンソースのWebアプリテストツール

    結構便利そう。

    ホーム:
    http://www.openqa.org/selenium-core/

    デモ:
    http://www.openqa.org/selenium-core/demos.html

    ダウンロード:
    http://www.openqa.org/selenium-core/download.action

  • フォームの2重送信はセキュリティ問題か?

    備考:前のエントリのコメントに対してこのエントリを作成しました。

    セキュリティ対策の3大要素の一つとしてデータの整合性(Integrity)があります。3要素は私が勝手に決めたことではなくISO規格でも決まっています。

    個別のアプリでの解釈の問題になりますが、データの整合性に重複送信が含まれない、と考えるのであればコメントされている通り「発想が変」と言う考え方になるかもしれません。重要なデータでなければ(例えばブログへのコメントなど)安全性とは無関係といってもあまり差し支えないです。しかし、注文や送金などのデータでは致命的です。

    # 認証システムが無いサイト(必要ないサイト)
    # に「認証システムが無い」からといって「セキュリ
    # ティ問題だ」と騒ぐ必要がないのと同じでデータ整
    # 合性が必要ないサイトではセキュリティ問題になり
    # ません。だからと言ってデータ整合性の問題が
    # セキュリティ問題でなくなる訳ではありません。

    従ってデータの整合性が必要でないサイトやアクセシビリティを気にしないサイトであればREFERERでCSRF対策したサイトでも、2重送信対策をしていないサイトでも問題ないといえるでしょう。データの整合性がセキュリティ問題でないサイトも多くありますが一般的にはセキュリティ問題といっても差し支えないと考えています。(認証の問題がセキュリティ問題であると同じように、データの整合性もセキュリティ問題ということです)

    # REFERERを送ってこないクライアントからは
    # 接続を受け付けなければアクセシビリティ
    # の問題になります。

    安全性が低いサイト、アクセシビリティが低いサイトを作ることは自由です。しかし、お勧めできるサイトでないと考えています。完全なCSRF対策(と2重送信対策)を施したサイト作っても手間はほとんど変わりません。これらの理由からREFERERを利用したCSRF対策、ハッシュ値等を利用した2重送信対策は不完全・不適切な対策であると考えています。

  • refererでCSRF(XSRF)対策…

    フォームにランダムで一意なIDを割り当てる方式も十分簡単だと思いますがREFERERでCSRF対策を行っているサイトが結構あるようですね…

    FlashでREFERERが書き換えられる問題は別次元の問題だとしても、REFERER自体ブラウザが送信するデータであるため元々信頼できるデータでは無いです。随分前からクライアントレベルのセキュリティ対策ソフトウェアの中にはREFERERヘッダを削除する物もあります… 社内サーバから外部リンクをクリックした場合に社内サーバのURLが外部に洩れないようにREFERERヘッダを削除するプロキシもあります…

    一般的な環境からなら使えるから(ある程度安全)といってセキュリティ対策にREFERERを使用するのは良くない考え方です。

    ところでREFEERERでCSRF対策を行っているサイトは同じフォームの重複送信対策はされているのでしょうか?送信されたデータのハッシュを取って同じだったら重複とみなすとか?(この手のサイトは「2回以上送信ボタンを押さないでください」と設計ミスが明記されていることが多いです…書いてないサイトも多いと思います)

  • 今日の驚き!

    何故かmb_send_mailでメールが文字化けする、普通に運用しているサーバでは問題が無いにも関わらず…

    調べてみるとmbstring.languageのaccess設定が6になっていました。6つまりスクリプトからは変更できない状態になっています。運用サーバ環境(開発環境含む)ではphp.ini設定はほとんど全て仮想サーバレベルで設定していたので今まで気が付きませんでした。

    mbstring.languageの設定が変更できないと、mb_send_mail()を使って正しくメールを送信することができなくなります。(日本だけ、とかなら良いですが)この件、かなり「怒」なので時間ができたら誰が変更したか調べる事にします。

    PHPは5.1…

    追記:
    mb_send_mail()で文字化けで困っている方は、php.iniなら

    mbstring.language = “japanese”

    Apacheの設定ファイル、.htaccessなどなら

    php_value mbstring.languge japanese

    と設定します。これで日本語メールでも文字化けしなくなります。デフォルトのmbstring.language設定(neutral)の場合、日本語メールは正しく送信できません。

    パッチをするなら(PHP_5_2ブランチ)

    cvs diff: Diffing ext/mbstring
    Index: ext/mbstring/mbstring.c
    ===================================================================
    RCS file: /repository/php-src/ext/mbstring/mbstring.c,v
    retrieving revision 1.224.2.23
    diff -u -r1.224.2.23 mbstring.c
    — ext/mbstring/mbstring.c 11 May 2006 14:47:34 -0000 1.224.2.23
    +++ ext/mbstring/mbstring.c 10 Nov 2006 05:10:51 -0000
    @@ -739,7 +739,7 @@

    /* {{{ php.ini directive registration */
    PHP_INI_BEGIN()
    – PHP_INI_ENTRY(“mbstring.language”, “neutral”, PHP_INI_SYSTEM | PHP_INI_PERDIR, OnUpdate_mbstring_language)
    + PHP_INI_ENTRY(“mbstring.language”, “neutral”, PHP_INI_ALL, OnUpdate_mbstring_language)
    PHP_INI_ENTRY(“mbstring.detect_order”, NULL, PHP_INI_ALL, OnUpdate_mbstring_detect_order)
    PHP_INI_ENTRY(“mbstring.http_input”, “pass”, PHP_INI_ALL, OnUpdate_mbstring_http_input)
    PHP_INI_ENTRY(“mbstring.http_output”, “pass”, PHP_INI_ALL, OnUpdate_mbstring_http_output)

    1行パッチなので他のバージョンでも同じ場所を直せばOKです。パッチをすればmb_language()で言語設定を変更しmb_send_mail()で正しくメールが送信できるようになります。

  • httpOnlyをFirefoxで

    PHP 5.2.0のsetcookie/setrawcookie関数からhttpOnly属性をクッキーにつける事ができるようになりました。httpOnly属性はMicrosoftが独自に拡張した仕様で、JavaScriptからクッキーの値を使用できなくする機能です。httpsでのみクッキーを送信するsecure属性に似ています。

    Microsoftの独自拡張なのでIEでは利用できましたがFirefoxでは利用できません。しかし、アドオンを使用することでhttpOnly属性をFirefoxでも利用できるようです。

    httpOnly
    by Stefan Esser

    Adds httpOnly cookie support to Firefox by encrypting cookies marked as httpOnly on the browser side, so that JavaScript cannot read them.

    Hardened PHP ProjectのSfefanさんが作者です。

    XSSで自分のセッションを盗まれるリスクが低減できるのでお勧めのアドオンだと思います。