Fedoraの最近のブログ記事

つい昨日、このブログのCAPTCHA認証がちゃんとセットアップされていないことが明らかになり、直したばかりなのですが。

なんと、「妹認証」なるものがあるそうです。なんでも、妹の質問に答えることで認証されるそうです。動作デモも公開されています。ネタではなく、れっきとしたCAPTCHA認証モジュールです。

技術的には、
  • 日本語のTrueType Fontに対応している
  • 質問と答えをセットで設定できる
というところが興味深いですね。

プログラム本体はPHPです。配布パッケージ内に、画像がpngファイルおよびpsdファイルで格納されている(ただし、psdは私の持っているPhotoshop 6.0では開きませんでした。CS3も持っていますが試してません)ので、妹が嫌な人は画像を変えていろいろできそうですね。

ある意味、パスワードリマインダー的な使い方もできます(質問・答えを動的設定すればよい)し、anonymousかつ会員制サイトみたいなものも作れます。実のところ、意外に隙を突いたアイデアだと思います。

ちゃんとテストしていなかったのが原因です。
今までにコメントしようとしていただいた方々、ご迷惑をおかけしてすみません。

Movable Typeで認証のないコメントを受け付けるには、スパム防止のために画像認証をするのが普通です。いわゆるノイズにまみれた人間にしか読めない文字列を入力させる、というものです。これを実現しているのがCaptchaなのですが、いくつかやらなければいけないことがあります。
  • Image::Magickをインストールする
  • Movable Typeの設定→コメントで
    「コメントを受け付ける」にチェック
    CAPTCHAプロバイダを「MovableType規定」とする(この選択肢が出ない場合はImage::Magickのインストールができていません)
  • Movable Typeの設定→登録/認証設定で
    「認証なしコメント」にチェック
  • mt-config.cgiに以下の設定を追加または変更する。なお、絶対パスにする必要がある
    CaptchaSourceImageBase /(mt-staticのディレクトリ)/images/captcha-source
私の場合、この最後の設定ができていないのでした。
詳しくは公式サイトのリファレンスにもあります。

昨日の設定では不足の部分があるので、追加します。

Postfixの設定

秘密鍵の生成: 1024ビットの秘密鍵を作成
% openssl genrsa -out /etc/ssl/server.key 1024
自己証明書の作成
% openssl req -new -x509 -key server.key -out /etc/ssl/smtp.pem

main.cfに関連設定を追加

# TLS configuration
smtpd_tls_cert_file = /etc/ssl/smtp.pem
smtpd_tls_key_file = /etc/ssl/server.key
smtpd_tls_loglevel = 3
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_cache

最後の設定はsdbmだとログにエラーが出る。
postfix/tlsmgr: fatal: unsupported dictionary type:sdbm

% yum install sdbm.so
しているが、まだ何かが不足しているようなので、btreeを使うことにしている。

Courier-IMAPの設定

パッケージをデフォルトでrpmbuildしてインストールすると、
imapd-ssl:/usr/lib/courier-imap/etc/shared/index: No such file or directory
というエラーがログに出る。これは単にパッケージングの問題のようで、
% touch /usr/lib/courier-imap/etc/shared/index
しておけばいいだけ。

自己証明書作成時は、いくつかインタラクティブな入力があるが、
Common Name (eg, your name or your server's hostname) []:
この質問で、利用するメールサーバーのDNS名を正しく入れないと、メールクライアントが「証明情報が食い違っている」というWarningを出したり、mewなどはそもそも接続してくれない。注意。

利用ポート

SMTPでは通常通り25を開けておく。SSLを有効にするには465を開ける必要がある。また、TLSもMUAによっては465を開ける必要がある。
IMAPでSSLを有効にするには993を開け、143は開けなくてもよい。TLSを有効にするには143を開ける必要がある。




サーバをアップグレードするたびにいつもいつも忘れるので、備忘録を書くのですが、
そのファイルもいつもどこかに行ってしまって、結局調べなおしになります。

ここに書いておけば最悪Googleのキャッシュにでも残るであろう。:-)

私のサーバコンフィグレーションは、

Postfix
Courier-IMAP
です。posfixのインストールはFedoraインストール時にすんでいるので省略。Courier-IMAPは配布パッケージには含まれていないので自分で作ります。

Postfix設定

いらないものを削除

sendmail、CFがインストールされていたら、使わないので削除

main.cf

/etc/main.cf は以下を変更

mydomain = ドメイン名
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
        mail.$mydomain, www.$mydomain, ftp.$mydomain
mynetworks_style = subnet
mynetworks = ローカルサブネット/24, 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/
# これをしないと踏み台にされる
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
smtpd_sasl_auth_enable = yes
# Outlook対応(無くてもよい)
broken_sasl_auth_clients = yes

Courier-IMAP設定

インストール

rpmbuildするために、ホームディレクトリに
rpm/{BUILD,RPMS,RPMS/i386,SOURCES,SPECS,SRPMS}
を作っておく。

Courier-authlib関連
% yum -y install mysql-devel
% yum -y install expect
% yum -y install /usr/include/ltdl.h
% yum -y install postgresql-devel
% rpmbuild -tb courier-authlib-0.61.0.tar.bz2
% rpm -Uvh courier-authlib-0.61.0-1.fc9.i386.rpm
% rpm -Uvh courier-authlib-devel-0.61.0-1.fc9.i386.rpm

Courier-IMAP関連
% yum -y install /usr/include/fam.h
% yum -y install openldap-servers
% rpmbuild -tb courier-imap-4.4.1.tar.bz2
% rpm -Uvh courier-imap-4.4.1-1.9.i386.rpm

起動サービス設定

  1. /usr/lib/courier-imap/etc/ にあるファイルのうち、起動しないものの設定を変える。
    たとえば、
    /usr/lib/courier-imap/etc/pop3 で、
    POPD3START=NO
    とする。
  2. 起動するサービスは証明書ファイルを使うようにする
    たとえば、
    /usr/lib/courier-imap/etc/imap-ssl で、
    TLS_CERTFILE=/etc/ssl/server.pem
    とする。
自己証明書作成

上記で指定した証明書を作成する。
% openssl req -new -x509 -nodes -out /etc/ssl/server.pem -keyout /etc/ssl/server.pem

authdaemondが起動していることを確認する。

以上では、IMAP over SSLで接続できますが、実はTLSは有効になっていません。
設定不足なんでしょうが、まぁ一応セキュアになったのであとはゆっくりやりましょう。







このアーカイブについて

このページには、過去に書かれたブログ記事のうちFedoraカテゴリに属しているものが含まれています。

前のカテゴリはAVRです。

次のカテゴリはInformationです。

最近のコンテンツ アーカイブ

August 2008: 月別アーカイブ