LimeSurveyをインストール

オープンソースのアンケートシステム、LimeSurveyをFreeBSDにインストールしました。いつもの「実験君」です。データベースにはPostgreSQLを使います。

まだ使い始めたばかりなので、LimeSurvey自体についての感想や応用方法については後日に取っておきます。今回は現時点でマニュアルには載っていなかったインストールに関する情報を補足します。なお、この情報はLimeSurveyのForumにも投稿し、投稿後に気づいたこともこのブログとForumの両方に追記するようにしていますが、こちらのブログの内容が最新情報になります。

FreeBSD&PHP5.2&PostgreSQLという組み合わせでLimeSurveyを導入するには、以下の3つのPHPのextensionが必要になります。

  • PGSQL

これを入れないと、データベースに接続できず、インストールスクリプト(/limesurvey/admin/install)を実行した直後に”Database connection failed”というエラーメッセージがブラウザ上に表示されます。

  • SPL

これを入れないと、インストールスクリプト(/limesurvey/admin/install)を実行した直後に”ArrayObject not found”というエラーメッセージがブラウザ上に表示されます。SettingsStorageというクラスがArrayObjectを継承して定義されているからです。

  • CTYPE

これを入れないと、新しいアンケート(survey)を保存する際に、”Fatal error: Call to undefined function ctype_alnum()”というエラーメッセージがブラウザ上に表示されます。

他はマニュアル通りで問題なく動き始めたのでかなり幸先が良く、フォーラムも活発で、UIや機能も大分頑張って作った感がにじみ出ているので、かなり期待しています。

使用感や応用についてはまた後日ご報告します。

/limesurvey/admin/install

devel/php5-pcre (port directory error)

PHP5のportupgrade中に

が出たので、/usr/ports/UPDATINGを見ると、 php5-dbase php5-ncurses php5-pcre php5-spl php5-ming php5-mhash がコアになったから消して、php5と依存してるもの全部リビルドせいとのご指示。

で依存しているものたちをメモ。

で消し去ったら


2011/10/17 追記(archiver/php5-zip参照): /usr/local/php/ext/php_config.h に、必要の無い行がある場合は削除します(pcre spl以外は実際に存在していたか特に確認していません)。

間違いの無いようにファイルも

とでもしてリネームしておきます。追記部分終了


最後に

あたりで処理。あとは一応php.iniを見直し。

あ、その金庫、横に鍵が張り付けてありますが中身大丈夫ですか?

動けばよいってもんじゃない 」ですが、ショッピングカートはその最たるものの一つです。かつてネット通販が出始めの頃、いろいろなケースに出会いました…

最も多かった問題が、返信メールに記載されたURLをクリックするとログインもしていない(そういう通販サイトにはcookieとかセッションとかいう概念が存在しません)のに住所から注文内容から確認できるものです。メールにURLを記載しなければ良いという話でもなく、注文するときはそのようなシステムと知らないわけで、注文終わってからあーやばい通販だったかと学習することになります。今では使う通販も決まってきて新しいシステムの通販に手を出すことはほとんどないのでそういう思いをすることもまずないですが、いまだに某大手ISPのアンケートシステムでも使われてました。海外のTシャツ屋、今は無くなってしまった書店、今もある比較的大手の通販、などなど何度か出会いました。「該当URLが404を返すようにして、あと恐ろしいのでカードの情報も削除しておいてね」とお願いすると、そのすべてから「URLにランダムな文字列が入っているので大丈夫!」(鍵が貼り付けてある金庫なので当然大丈夫じゃないです。念のため)「SSLだからデータは安全!」(通信路の暗号化であり、しかもメールで送られてきてしまったURLは暗号化されていないうえに両端ではデータは復号化された状態なので全然大丈夫じゃないです…)と笑い話にもならない自信満々のお返事を頂戴したものです。

このたび「noindex,nofollow,noarchiveと書いてあるし、user agentでロボットはじいているから大丈夫!」という説も増えたようですが、何にせよ鍵が横に貼り付けてある金庫を、メールで送ったりブラウザから送信させておいて、その金庫の中身が大丈夫だと言ってしまうのはこれまた…

今時ですとブラウザに各種ツールバーをインストールされている方も昔よりも格段に多いでしょうから、tappingやらbrute forceされるまでもなく、そして自らが認識しているかどうかにかかわらず閲覧しているURLが他ホストに自動的に送られている場合も、セキュリティのためなどと称して多数あることでしょう。また別の側面では「ランダムな文字列」が実は順番の数字のBASE64エンコードだったりソルト無しハッシュ値のような、なんちゃってランダムだったときにもノーガード公開状態となります。

このようなシステムを作ってしまう人がここ十数年絶えることなく出続けてきたわけですから、webアプリ作成者の常識に期待することをあきらめるとすると今回のような深刻な犠牲者を増やさないためにはどうすればよいでしょうか。セキュリティソフトと呼ばれるものの中には生のまま特定の情報が送受信される場合に通信を遮断する機能を持つものがありますが、メールで送られてくるURLの場合のように他人のシステムから送られてきてしまう場合、そしてそのページに問題がある場合にはいかんともしようがありません。良さそうなのは、ショッピングカートに限らず鍵付き金庫をばら撒くようなシステム採用サイトのレピュテーションサービスでしょうか。コミュニティーベースでしか成立しそうにないですが、消費者保護とサービス提供者の常識確保のために政府にやっていただければ良いですね。そしてやはり経営者さん、特に消費者の不利益に直結するサイトを運営されている経営者の方たちも「動けばいいってもんじゃない」を考えていただけるとありがたいです。

と今回の某通販での大惨事の記事を見て思ったことでした。

ClamAV 0.96のビルドが失敗

ClamAVのエンジン古いっすよ警告が出るようになったので0.96にするべくportupgradeしたところ、失敗。エラーは次の通り。

PythonのtracebackとGNU makeのメッセージが混ざって見づらいですが、LLVMのユニットテスト用のファイルを作成開始し、import threadの行にて、ImportError: No module named threadエラー発生、ということでどうやらビルド後に行われるテストのPythonでthreadモジュールが必須になったようです。

にて(XXはインストールされていて使われたPythonに合わせて修正)、THREADS の項目を選択してPythonを再インストール。その後ClamAVのアップグレードも無事完了。

その「名前」、あなたのものですか?(その2)

この記事は「その『名前』、あなたのものですか?(その1)」の続きです。

あるお客様が、会社のウェブサイトの引越しをしたい、とおっしゃいました。 この場合、一番基本的な進め方としては、サイトのコンテンツを構成するファイル達を別のサーバに移動して、URLが新しいサーバを示すように変更する、と いうものです。しかしこのお客様の場合はそれが(すぐには)できませんでした。前回の記事は「ドメイン名」について解説しました。

前回のポイント

  • ドメイン名 ≒ 唯一無二の苗字
    • 唯一無二だから好き勝手につけられない。→レジストラから入手するもの。
  • IPアドレス ≒ 住所
  • ネームサーバ ≒ 住所録
    • ドメイン名に対するIPアドレスを知っているネームサーバをレジストリに登録する。
    • 苗字を変えずに住所だけ引っ越すことができる。

今回は実際の引越しについて解説します。

人が引越しをする理由は様々です。間取りが狭くなった、新しい設備が欲しい、建物が無くなる、などなど。ウェブサイトのサーバを引越しする理由も大して変わりありません。そして、人が引越しをするときは、トラックで中身を移動して市役所に転出・転入届を提出しますが、ウェブサイトのサーバの引越しも基本的には中身を移動して住所変更をするだけです。

では、弊社サイトである「www.abacustech.co.jp」を引っ越すと仮定した例で考えてみましょう。前回の記事の例では、このサイトのコンテンツ(文章や画像などのページの内容)は198.51.100.88というIPアドレス(住所)のサーバに置いてありました。今回は、これらのコンテンツを203.0.113.7という「住所」にあるサーバに移動したとしましょう。

図1 サーバの引越し
図1 サーバの引越し

ドメイン名「abacustech.co.jp」は レジストラから株式会社Abacus Technologiesの名義で入手し(図1の(1))、Abacus Technologiesが操作できるネームサーバを登録しています(図1の(2))。そこでAbacus Technologiesはネームサーバに新しいIPアドレス(203.0.113.7)を登録します(図1の(3))。これは皆さんが引っ越した際に転居届を出すのと似ています。

この処理が終わると、ネームサーバは「www.abacustech.co.jp」について聞かれたら、新IPアドレス(203.0.113.7)を教えるので、ユーザのコンピュータからは正しく、引越し先である203.0.113.7のサーバへ要求がたどり着くのです(図1の(4))。

この処理が正しくできたのは、直接的には、レジストリに登録されているネームサーバをAbacus Technologiesが操作できたからなのですが、そもそも操作できるネームサーバが登録できたのは、以下の条件が揃っていたからです。

  1. abacustech.co.jpがAbacus Technologiesの名義である(管理のためのメールが届く)
  2. レジストラに登録されているドメイン名の登録内容の変更権限(*1)をAbacus Technologiesが持っているので、Abacus Technologiesが操作可能なネームサーバを指定できる

通常、変更権限を持つ人はそのドメイン名の名義人、もしくはその名義人から委託された人になります。この2つの根本的な条件が揃えば、ドメイン名の登録IPアドレスはいつでもどこにでも変更できます。

そこで質問です。皆さんがウェブサイトを公開しているそのドメイン名、名義人とドメイン名の登録内容の変更権限を持つ人は誰ですか?

ウェブサイトを制作する際に、その作業を業者に委託すると、ドメイン名の取得も代行してくれる業者が多いです。もしドメイン名の取得も委託する場合は、ドメイン名の名義人と、登録内容の変更権限を持つ人が誰かを確認しましょう。そして、もし将来的にサーバの引越しの自由度を視野に入れるのであれば、できる限りドメイン名の名義と登録内容の変更権限を持つ人が自分になること、もしくはその名義や変更権限が移管できることと、その移管プロセスが明確であることを確認しましょう。

ドメイン名が自分のものであれば、もちろんサーバに縛られることなく自由に処理できます。もしドメイン名の名義人でなかったり変更権限がなければ、仮にサーバを引越ししたくなっても、ドメイン名の名義人や変更権限を持つ人が許可しないと引っ越せません。もし許可が無くても引っ越したければ、別のドメイン名を取得することになり、それは苗字が変わるのに似たインパクトがありますが、このインパクトについてはまた別の機会に解説します。

ドメイン名の名義人になると、その管理にはドメイン名によって年間で数百円から数万円の管理費がかかります。ドメイン名は、不要になれば放棄できます(ただし一度放棄したら、後日同じドメイン名を再度取得したくなっても、それができる確証はありません)。また公共性の高いサイトや大人気のサイトの場合は悪い人が取得してmalwareの配布に利用される恐れもあります。

ドメイン名は唯一無二の苗字と同等で、時間が経って周知されればされるほど組織や会社の呼称の一つとして大事なものになります。ウェブサイトを制作する際や、会社のドメイン名を取得する際には、ドメイン名の名義人と管理について以上の要素を包括的に検討されることをお奨めします。

ここがポイント

  • ドメイン名の名義人であり変更権限があれば好きに操作できる
  • IPアドレスはいつでもどこにでも変更できる
    • →苗字を変えずに住所だけ好きに引越し可能!(*2)

(*1) 少し専門的な言葉を使うと、ドメイン名の登録内容とは「whois」の内容のことです。ドメイン名の内容の変更権限を持つ、ということは「whoisの内容の変更権限を持つ」ということで、レジストラによってその権限の付与の仕方が異なります。例えばMelbourne ITというレジストラだと、変更権限を持つユーザはユーザIDとパスワードを使ってシステムにログインして管理します。

(*2) ただしそのサーバが利用できる立場でないといけません。引越し先の物件を賃貸契約していないと引っ越せないと同じです。

注意: この記事内のIPアドレスは全て説明用のダミーのIPアドレスです。このようなIPアドレスについては「文書に記述するときに使って良い説明用のドメイン名、IPアドレス」を参照してください。

その「名前」、あなたのものですか?(その1) – ドメイン名とは何ですか?

仕事用のウェブサイトをドメインも含めて誰かにお任せで作られる方へ: ドメインを含むURLなどを長く使い続けたい場合は、なんだかよくわからなくてもぜひドメインの「登録者(Registrant)」(属性JPの場合は[登録担当者]、汎用JPの場合は[公開連絡窓口])および「管理者(Admin)」のメールアドレスは、完全にコントロールできる権限が自分だけにあり、かつ@以降にそのドメインを含まないメールアドレスを指定してもらってください。御自身で利用しているプロバイダがメーリングリストを提供している場合もあるので、そういったサービスを利用して自分とお任せする方へ自動的に転送されるようなメーリングリストのアドレスを作成すると便利かもしれません。ドメイン登録者のメールアドレスの確認はwhoisというものでできます。廃業される方も多いので何年か後に泣かないで済むかもしれません。


あるお客様が、会社のウェブサイトの引越しをしたい、とおっしゃいました。この場合一番基本的な進め方としては、サイトのコンテンツを構成するファイル達を別のサーバに移動して、URLが新しいサーバを示すように変更する、というものです。しかしこのお客様の場合はそれが(すぐには)できませんでした。そこで2回に分けてウェブサイトの引越しについて解説します。今回は「ドメイン」について解説します。

例えば弊社のサイトを見るためには、ブックマークに登録していただいたリストの中から「株式会社Abacus Technologies」をクリックしたり、http://www.abacustech.co.jp/とURLを直接入力したり、検索結果から弊社のサイトのページを選んでいただいていると思います。いずれの場合も、皆さんのコンピュータは「www.abacustech.co.jp」にアクセスしようとします。

ドメイン名の使われ方
図1 ドメイン名の使われ方

図1の(1)でユーザーが見たいウェブページを指定するために使っているwww.abacustech.co.jpのabacustech.co.jpの部分が「ドメイン名」と呼ばれるもので、「ドメイン名」は「苗字」の役割を果たします。つまり「abacustech.co.jpさん」と呼んでいると思ってください。ただしこの「苗字」は唯一無二という特性があり、他に同じ苗字を持つ人はいません。そして、みんなが好き勝手に名前を付けていたら唯一無二にはならないので、ドメイン名は「レジストラ」から入手することになっています。なお、説明書などで例示するときに使えるドメインは「文書に記述するときに使って良い説明用のドメイン名、IPアドレス」をご参照ください。

さて、苗字を知っていても住所を知らないので、ユーザーはそのページが実際にどこにあるのかは知りません。そこで登場するのが「ネームサーバ」です。「苗字」の役割を果たすドメイン名に対して、ネームサーバは「住所録」の役割を果たします。つまりネームサーバが「www.abacustech.co.jpさん」がどこに住んでいるのか、その「住所」を見つけてくれるのです。その「住所」の役割を果たすのが「IPアドレス」と呼ばれるものです。IPアドレスは物理的に存在する機械に対して割り振られています。したがって、住所録であるネームサーバに聞けば「www.abacustech.co.jpさん」の住所が「198.51.100.88」(*1)であることが分かるので(図1の(2))、コンピュータはそのIPアドレスを指定してウェブサイトのページを要求することができるのです(図1の(3))。

でも、そもそも「www.abacustech.co.jpさん」の住所が記載されている住所録はどこにあるのでしょうか。その情報を管理しているのが「レジストリ」です。レジストラからドメイン名を入手すると、管理情報の一つとして、レジストリにそのドメインの情報を管理するネームサーバをレジストラ経由で登録できます。ネームサーバはレンタルサーバの業者が提供するもの、レジストラが提供するもの、他にも相当気合があれば自分でサーバを運用する、などがあります。

ところで、このトピックのそもそもの目的は「ウェブサイトの引越し」でした。皆さんが引っ越した場合には、市役所で転出・転入届けを出して、新しい住所を届け出ますね?市役所が駅から遠い所にあるとちょっと面倒ですが、これをしないと住民票が移動しません。さて、そう考えると、ドメイン名に関しても、「苗字」(ドメイン名)があって「住所」(IPアドレス)と「住所録」(ネームサーバ)があるということは、「要するに住所録を書き換えれば良いのか?」と想像できるのではないかと思います。それで正解です。つまり苗字を変えずに住所だけ変えることができるのです。

では次回はその引越しについてご説明しましょう。

ここがポイント

  • ドメイン名 ≒ 唯一無二の苗字
    • 唯一無二だから好き勝手につけられない。→レジストラから入手するもの。
  • IPアドレス ≒ 住所
  • ネームサーバ ≒ 住所録
    • ドメイン名に対するIPアドレスを知っているネームサーバをレジストリに登録する。
    • 苗字を変えずに住所だけ引っ越すことができる。

(*1) IPアドレスは一つのドメイン名に対して複数登録できます。また一つの機械(ネットワークインターフェース)に対して複数のIPアドレスを割り振ることができます。さらには複数の機械に一つのIPアドレスを割り振る(エニーキャスト)こともできますが、一般人がインターネット上でエニーキャストを運用することはありません。

注意:

PivotXでファイルのアップロードをする時は

PivotXのCommunityでもファイルのアップロードについて度々話題になっているようです。アップロードの設定は場合によっては若干複雑になります。 そうこうしているうちに自分もその仲間入りをしてしまいました。 php.iniの次の行がOnになっていること。

file_uploads = On

php.iniの次の行が指定しているディレクトリが存在していること。

upload_tmp_dir = “/phptmpdir”

upload_tmp_dirが指しているディレクトリ(上記の例だと/phptmpdir)はhttpdのプロセスオーナーが読み書きできるようにアクセス権が設定されていること。 この設定ができていないと、新しいエントリーを作成中にイメージをアップロードする操作をしたときに、Complete(完了)というメッセージが出るものの、イメージディレクトリには何もできません。

FAX受信 -> PDF -> e-mailでペーパレス 爆速インストールHylaFAX

あるお客様が一日中ひっきりなしにFAXを受け、トナーを買いに行く手間も値段もバカにならないし紙も大量に消費して地球に優しくないとのこと。常時可動のサーバも無いので、そりゃHylaFAXの出番でっせ、と社に戻って記憶をたどってワークショップをあさると、ありました外付けモデムME5614D2 for まいと~く、そして非力ながらもまだまだ使えるWindows 2000 Professionalときらきら光るシールの張ってあるPC。これでナンバーディスプレイ対応FAX e-mail変換機が簡単にできるじゃありませんか。送信時は媒体が定まっていないので今までどおりFAXに挿すままでよさそう。受信だけが問題である、というわけでさらに簡単(後日 PDF -> e-mail添付 -> FAX送信でペーパレス もやりました)。他にも「HylaFAXでの送受信速度」も参考になるかもしれません。あとインターネットからサーバへのアクセスはフィルタするなり対処が必要です。IPv6でlistenしているからいいやとほっておくと、当たり前にIPv6になった日に大騒ぎになるかもしれません。

まずはFreeBSD RELEASEを最小インストール、そしてpowerd, ntp, ipfw, メール, syslog転送など必要な設定(ざくっと省略)。

デフォルト以外を選択したのは

  • [nn] Default page size: A4

だけ。 /dev/cuau0 (cf. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/serialcomms.html)がモデムがつながっているやつであることをさくっと確認。ATI4とかATI3とか。そしてアプリケーションでの設定。USBモデムならば/dev/cuaU0とか。

デフォルト以外を選択したのは

  • Country Code: 81
  • Area Code: 3 (東京03から国内開放番号の0を除いた3)
  • Long distance dialing prefix: 0  (国内開放番号)
  • International dialing prefix: 010 (国際開放番号 cf. マイライン)

自動的にfaxaddmodemが起動され、そこでデフォルト以外を指定したのは

  • Serial port that modem is connected to: cuau0
  • Phone number of fax modem: +81.3.0000.0000 (FAXの番号)
  • Local identification string: HOGEHOGE (任意のFAXID。相手側のFAXに通知される。)
  • Long distance dialing prefix: 0  (国内開放番号)
  • International dialing prefix: 010 (国際開放番号 cf. マイライン)
  • Tracing during normal server operaton: 0x1a73f
  • Default tracing during send and receive sessions: 0x1a73f
  • Rings to wait before answering: 3  (早すぎると相手番号を取得し損ねる)

Windows用のinfファイルを見ながら適当にモデムに向かって電話をかけつつ、Caller IDを取得する方法(ここではAT+VCID=1)を見つけて /var/spool/hylafax/etc/config.cuau0 とか.cuaU0 などに追加。

CallIDPatternの後者は自機の番号。AT+GCI=00はAmazonなどで売っているConexant CX93001搭載の技適マークなんか付いてないど安いClass 1.0, Class 2 USB FAXモデムを構内回線につないでFAX受信時にATAでオフフックにならないような場合に付けてあげるともしかしたらつながるようになるかもしれません。Amazonの商品コメントでもFAXの送信ができても受信が安定してないとかできないと書いてありますが、料金からしてだめもとでいろいろ試して楽しめちゃう人向け商品ですね。IN/OUTがあるとかいう深い謎を持った商品もありましたがLINE/PHONEの間違いでしょうきっと。AT+GCI=で設定してATI5で返ってくる00の部分は、日本製でもITU-T.35のAnnex Aに基づいているものもあれば某携帯キャリアのように81とか電話の国番号だったり、某モデムでは64とかなんでかわからない値だったりするので、チップセットメーカによって違う場合があります。話を戻してその他のATI4とかはログで眺めてふーんとうなずくためのものです。ついでに下のこのME5614D2 for まいと~く用に書いた追加設定でMR560E5 for まいと~くも動作することも確認。

e-mail送り先などを指定するために /var/spool/hylafax/etc/FaxDispatch を作成。http://www.hylafax.org/content/Handbook:Server_Operation:Receiving_Faxesにも詳しく書いてありますが、/var/spool/hylafax/bin/faxrcvd を見ながら作成すると必要なものが一目瞭然。

他にも${CALLID1}が自社の番号の時には自社の名前を表示するようにしたりして遊んでみました。/var/spool/hylafax/etc/templates/ro(ちょっとしたボケ)/faxrcvd-succces.txtを自分の気に入った順番や必要な情報だけに整理(ftp://など必要ない)して、

/etc/ttysでは、TAで送信者の電話番号による振り分けを行って2つのfaxgettyで捌くように設定します。

を追加。

して、syslogでエラーが無いことを確認。FAXを送って動作していることを確認して、再起動。再起動後もFAXを送ってちゃんと動作していることを確認。ハードディスクの空きは十分すぎるほどあるのと、良く伺うお客様なので、キューはひたすら溜めて問題時対応用に。いずれフラッシュするようにしましょう。

さらに万が一のPCハングや保守時にも受信できないといけないので、ワークショップからCFカードにFAXを受信できるVE-GP62をひっぱりだしてきましたが、さすがに大量のファックスをいちいち確認するのは大変かもしれないので、冗長用には今のFAXの使い方の紙に印刷のまま使ってもらうのが良いでしょうか。そもそも送信用のFAXは今までのを使うのだから後者ですね。実際に運用して確認してもらいましょう。

ありがとう HylaFAX と portsシステム。あなた方のおかげで楽して世の中がまたまた少しエコになりました。多分。

PivotXで最新の記事のリストを表示したい

PivotX を使い始めて数ヶ月が経ち、記事も順調に増えてきました。そして、記事が増えることで新たに発見した使い方や、追加で欲しい機能が出てきて、日々楽しく試行錯誤をしています。

その一つが「最近の記事」のリストです。

一般的なブログには画面上のどこかに「最近の記事」セクションがあるものが多いですね。 PivotX では「最近のコメント」をリスト表示するタグはあるものの、記事に関してはありません。でも、 PivotX で避けては通れないタグのひとつ、 subweblog を使ってブログ内の記事リストの表示フォーマットを好みの形に指定できます。そして、複数の subweblog タグを使えば、メインの部分のリストにはタイトルと日付とイントロダクションを表示して、サイドバーには同じ記事のタイトルのリストだけを表示する、ということができ、「最近の記事」セクションを作ることができます。このやり方に関しては PivotX Support Forum でも取り上げられています(参照: “List of latest posts“)。

ただ、一つ注意しなくてはいけないのが、同じページの subweblog タグは、同じページングの影響を受ける、という点です。つまり上記の参照にあるような指定の仕方だと、トップページから「次のページへ」ボタンを押すと、もちろんメインの部分には次のx個の記事のリストが表示されますが、サイドバーのリストも次のx個の記事について表示されます。つまり「最近の記事」のつもりで作ったリストが全然最近ではなくなってしまうのです。

そこで上記の参照の例に追加して、最近のリストを表示するための subweblog タグに

ignorepaging="1"

というオプションを指定します。このオプションを指定することで、その subweblog タグの中身はページングの影響を受けず、常にリストの頭から表示されます。

2010年2月23日の時点で、PivotX のオンラインドキュメントでは ignoreoffset というオプションが掲載されていますが、このオプションは動作しません。PivotX Support Forum で確認したところ、どうやらこの記述は間違いのようですので、ignorepaging を使いましょう (参照: “How do you use the ignoreoffset option in subweblog?“)。

_sub_sidebar.htmlのお好みの場所に以下のコードを入れると、サイドバーに最近の記事のタイトルをリスト表示することができます。(*1)

注釈:

  1. recent という subweblog はデフォルトのテンプレートで指定されている standard とは別に定義しました。

日経など:中国製「雷ガード」、発煙・発火12件 輸入元、無償交換へ

リコール情報を見てからぼちぼち探していましたが、昔気休め用に使ったのがいくつか有りました。もう使っていないので、新しいのをもらうよりも捨てる方がまだ地球に優しいでしょうか。

しかしPDFでお知らせするところが多いです。そんなアプリがあるんだとか、今そのバージョン使ってちゃだめじゃん、とかプロパティが面白いっちゃ面白いんですが。

本当は怖いtar

などと刺激的なタイトルをつけてしまいましたが、「ディレクトリトラバーサル」とか「GNU tarのsuper userでの展開時のumask」とかを思い起こす方が多いと思います。主に展開時に大きな問題になるそれらも重要なことなのはもちろんですが、基本も忘れずにしていないと作成時でも泣きをみるかもしれません。設定ファイルのバックアップを取ろうとしたとします。

深く考えずにやってしまいそうですが… umaskの確認をお忘れなく。/somewhere/が論理的に他人に読めず物理的にも安全な場所であれば完璧です。単純にsudoを設定すれば防げるという話でもなく、.profileや.cshrcでumaskを厳しく設定していても、普段自分だけがユーザの機械での作業をメインにされている方は他人の機械で作業しているときは忘れてしまうかもしれません。

のようにする癖が付いていれば、せっかく読めなくなっているファイル(例:/etc/master.passwdやら/etc/shadowやら)を他のユーザが読めてしまう危険が激減します。既存のファイルに追記する場合はモードの確認も必要です。

cpio, dd, zip, 普通にcp などなどなど、そしてWindowsも含めて暗号化ファイルシステム上のファイルをzipしたりコピーするときなどなどなど、コピー元が安全にしてあってもコピー先で読めてしまってはいけません。プログラミングでは一時ファイルを作成する際とかも関連事項です。当たり前すぎ?こりゃまた失礼いたしました。

迫るサポート期限

セキュリティ更新が原則ストップする予定日(予測日)

Windows 10 2004 2021-12-14 サービス オプションごとの Windows 10 の現在のバージョン
ご存じですか? OS にはサポート期限があります!
Windows 10 20H2 2022-05-10 サービス オプションごとの Windows 10 の現在のバージョン
ご存じですか? OS にはサポート期限があります!
Windows 10 21H1 2022-12-13 サービス オプションごとの Windows 10 の現在のバージョン
ご存じですか? OS にはサポート期限があります!
Windows 8.1 2023-01-10 マイクロソフト サポート ライフサイクル
ご存じですか? OS にはサポート期限があります!
Windows Server 2012/2012 R2 2023-10-10 など マイクロソフト サポート ライフサイクル
FreeBSD 12.x-RELEASE security branch 2024-06-30 http://security.freebsd.org/#sup
FreeBSD 13.x-RELEASE security branch 2026-01-31 http://security.freebsd.org/#sup
Ubuntu 20.04 LTS
Focal Fossa
2030-04 List of Releases
Ubuntu kernel release cycle
FreeBSD security branch http://security.freebsd.org/#sup
Internet Explorer Internet Explorer 11 desktop app retirement FAQ
Adobe製品 Supported Product Versions

終了したもの

Ubuntu 16.04 LTS
Xenial Xerus
16.04.5(16.04.1,16.04.0)
2021/4 List of Releases
16.04.x Ubuntu Kernel Support
Debian GNU/Linux
8 Jessie
LTS 2020/6/30
(2018/6/17)
https://wiki.debian.org/LTS/
https://wiki.debian.org/DebianJessie
Windows Server 2008/2008 R2 2020/1/14 など マイクロソフト サポート ライフサイクル
Windows 7 最終SP 2020/1/14 など マイクロソフト サポート ライフサイクル
ご存じですか? OS にはサポート期限があります!
Ubuntu 14.04 LTS
Trusty Tahr
14.04.5(14.04.1,14.04.0)
2019/4 List of Releases
14.04.x Ubuntu Kernel Support
FreeBSD 10.4-RELEASE security branch 2018/10/31 http://security.freebsd.org/#sup
Firefox NPAPI plug-in support (ESR 52) ESR 2018/8(2018/5) NPAPI plug-in support…
FreeBSD 10.3-RELEASE security branch
(extended)
2018/4/30 https://www.freebsd.org/security/unsupported.html
Debian GNU/Linux
7 Wheezy
LTS 2018/5/31
(2016/4/26)
https://wiki.debian.org/LTS/
https://wiki.debian.org/DebianWheezy
FreeBSD 11.0-RELEASE security branch 2017/11/30 https://www.freebsd.org/security/unsupported.html
Ubuntu 12.04 LTS
Precise Pangolin
12.04.5(12.04.1,12.04.0)
2017/4/28 List of Releases
12.04.x Ubuntu Kernel Support
Windows Vista 最終SP 2017/4/11 など サポートの終了とは
マイクロソフト サポート ライフサイクル
Firefox NPAPI plug-in support (51) 2017/3/7 Firefox 52… NPAPI plug-in support… NPAPI プラグイン のサポートは終了しました
FreeBSD 10.2-RELEASE security branch 2016/12/31 https://www.freebsd.org/security/unsupported.html
FreeBSD 10.1-RELEASE security branch
(extended)
2016/12/31 https://www.freebsd.org/security/unsupported.html
FreeBSD 9.3-RELEASE security branch
(extended)
2016/12/31 http://security.freebsd.org/#sup
Debian GNU/Linux
6 Squeeze
LTS 2016/2/29
(2014/5/31)
https://wiki.debian.org/LTS/
https://wiki.debian.org/DebianSqueeze
Windows 8 2016/1/12 など マイクロソフト サポート ライフサイクル
FreeBSD 8.4-RELEASE security branch
(extended)
2015/8/1
2015/6/30
https://www.freebsd.org/security/unsupported.html
Windows Server 2003/2003 R2 最終SP 2015/7/14 サポートの終了とは
マイクロソフト サポート ライフサイクル
FreeBSD 10.0-RELEASE security branch
(extended)
2015/2/28 https://www.freebsd.org/security/unsupported.html
FreeBSD 9.2-RELEASE security branch
(extended)
2014/12/31 https://www.freebsd.org/security/unsupported.html
FreeBSD 9.1-RELEASE security branch
(extended)
2014/12/31 https://www.freebsd.org/security/unsupported.html
FreeBSD 8.3-RELEASE security branch (extended) 2014/4/30 https://www.freebsd.org/security/unsupported.html
Windows XP 最終SP 2014/4/8など サポートの終了とは
マイクロソフト サポート ライフサイクル
FreeBSD 9.0-RELEASE security branch 2013/3/31
2013/1/31
https://www.freebsd.org/security/unsupported.html
FreeBSD 7.4-RELEASE security branch
(extended)
2013/2/28 https://www.freebsd.org/security/unsupported.html
FreeBSD 8.2-RELEASE security branch 2012/7/31
2012/2/29
https://www.freebsd.org/security/unsupported.html
FreeBSD 8.1-RELEASE security branch (extended) 2012/7/31 https://www.freebsd.org/security/unsupported.html
FreeBSD 7.3-RELEASE security branch (extended) 2012/3/31 https://www.freebsd.org/security/unsupported.html
Debian GNU/Linux Lenny 2012/2/6 http://www.debian.org/News/2012/20120209
Windows Vista SP1 2011/7/12 サポートの終了とは
マイクロソフト サポート ライフサイクル
Windows Server 2008/2008 R2 SPなし 2011/7/12 マイクロソフト サポート ライフサイクル
FreeBSD 7.1-RELEASE security branch 2011/2/28
2011/1/31
https://www.freebsd.org/security/unsupported.html
Adobe Flash Player 9 2011/2/8 http://kb2.adobe.com/cps/406/kb406791.html
FreeBSD 8.0-RELEASE security branch 2010/11/30 https://www.freebsd.org/security/unsupported.html
FreeBSD 6.4-RELEASE security branch, 6-STABLE 2010/11/30 https://www.freebsd.org/security/unsupported.html
Windows XP SP2 2010/7/13 サポートの終了とは
マイクロソフト サポート ライフサイクル
Windows 2000 2010/7/13 サポートの終了とは
マイクロソフト サポート ライフサイクル
FreeBSD 7.2-RELEASE security branch 2010/6/30
2010/5/31
https://www.freebsd.org/security/unsupported.html
Windows Vista SPなし 2010/4/13 サポートの終了とは
マイクロソフト サポート ライフサイクル
Debian GNU/Linux Etch 2010/2/15 http://www.debian.org/News/2010/20100121
FreeBSD 6.3-RELEASE security branch 2010/1/31 http://security.freebsd.org/#sup

忍び寄るIPv4アドレス枯渇

またbogonが減ったそうです。The Team Cymru Bogon List IANA IPv4 Address Space Registry

逆に追加された 198.51.100.0/24 and 203.0.113.0/24 はIANAの出典をみると RFC5737 のことで、特別なアドレス領域をまとめていた RFC3330RFC5735 にobsoleteにされた(差分は最後の方のAppendix A)とのこと。パケットフィルタでbogonを自動更新で無く運用(=RESERVEDだけをフィルタ)されている方は変更すると幸せになれるかもしれません。自動更新でなく未割り当て領域をフィルタすると悲しいことになるのでだめですよー。

とはいえまだまだIPv4の空きはあるっちゃあるわけですが。(その後中央在庫無くなってます)

ご参考:文書に記述するときに使って良い説明用のドメイン名、IPアドレス

検体送付先/誤検知連絡先メモ

おそらくまとめていらっしゃる方はたくさんいらっしゃると思いますが、DIY精神でメモメモ。

ドイツ語やらロシア語やら交じりのメイルが返ってきて、ファンタジーな感じです。

unbel32とKaspersky

2010/01/10日曜日のKasperskyさんの完全スキャンが実験機のC:\WINDOWS\System32\unbel32.dll(sha1:53ab09116a18b8387cf8574739ae8cf93fdd1d5a, md5:32ed3e6eb5df06067596c80a3f316eed, size:52224)をTrojan.Win32.Agent.dffbと判定したので、false alarmでしょうが念のためquarantineしておきました。Belonを扱うことがないので放置で良いといえば良いのですが…2日たっても隔離から復元できずにtrojan扱いなので、さすがに既に報告してくれた人もいらっしゃるでしょうが他人任せではいかんよと思い直してKaspersky Labに報告。夜に返事が来ていて確かに誤検出で次のアップデートで直るとのこと。遅くとも2010/1/13 8:36(+0900 JST)のリリースまででの修正を確認。すばやい対応ですね。以降最新のKasperskyの定義データベースでも検出された場合は本当にtrojanかもしれませんよ。これとは関係ないですがKasperskyさんのvulnerability検出はとても便利で役に立ってます。いやまじで。

注意: unbel32.dllの安全性を保証するものでは有りません。またファイル名だけで誤検知を判断するのはとても危険なので(当たり前ですが)ハッシュとサイズの両方での確認が必須です。

2010/1/13 17:48追記 念のためKasperskyさん以外にも一応連絡。Comodoさんは「false alarmでは『ない』」とのこと。

2010/1/14 9:31追記 Comodoさん、結局検知しなくなりましたね…ヒューリスティクスとしては検出して正解だ、という意味に受け取るべきなのかもしれませんが、うーむ。製品ユーザではないからでしょうか、返事の返事はいただけませんでした。

Kasperskyさんのお返事はこんな感じ。

2010/1/15 7:00追記 2010/1/15 6:51(+0900 JST)現在、VirusTotalで検出されなくなりました。VBA32は遅くとも3.12.12.1/20100114までに対応してくれたようです。使っていないので詳細は知りませんが、3.12.12.1は定義ではなくてエンジンのバージョンでしょうか。

2010/1/14 9:31追記 VirusTotalさんに伺った2010/1/14 7:05(+0900 JST)現在での検出状況。ほぼ消えました。VirusBlockAdaさんからも調べてから近いうちにアップデートするね、とお返事来てるので3.12.12.1でなくなったら消えるでしょうか。

というわけでVirusTotalさんに伺った2010/1/13 10:55(+0900 JST)現在の検出状況。過去の誤検出を悪用してその名前をmalwareに使うような悪い人もいるでしょうから、ファイル名だけで誤検出を確認するのはとても危険です。あたりまえながら。ハッシュをサイズとともに有効活用してください。