IT

apacheとSSLとオレ

そういえば /etc/httpd/conf/httpd.conf にSSLのセクションが無い…と途方に暮れていたところ、/etc/httpd/conf.d/に ssl.conf を発見。DocumentRootとServerNameを書換えてrestart。アクセスしてみると「“localhost.localdomain"の証明書は信頼できない」と怒られた….

確かにおっしゃるとおりなので、オリジナルのサーバー証明書を作成。

[root@nx9030 root]# cd /etc/httpd/conf/
[root@nx9030 conf]# ### 1. サーバー秘密鍵 server.keyの生成 ###
[root@nx9030 conf]# make genkey
umask 77 ; \
/usr/bin/openssl genrsa -des3 1024 > /etc/httpd/conf/ssl.key/server.key
Generating RSA private key, 1024 bit long modulus
.....++++++
...........++++++
e is 65537 (0x10001)
Enter pass phrase:************(パスフレーズ)
Verifying - Enter pass phrase:************(パスフレーズ)
[root@nx9030 conf]# ### 2. サーバー証明書 server.crtの生成 ###
[root@nx9030 conf]# make testcert
umask 77 ; \
/usr/bin/openssl req -new -key /etc/httpd/conf/ssl.key/server.key -x509 -days 365 -out /etc/httpd/conf/ssl.crt/server.crt
Enter pass phrase for /etc/httpd/conf/ssl.key/server.key:************(パスフレーズ)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:Fukuoka
Locality Name (eg, city) [Newbury]:Fukuoka
Organization Name (eg, company) [My Company Ltd]:bravotouring.com
Organizational Unit Name (eg, section) []:authorization
Common Name (eg, your name or your server's hostname) []:www.bravotouring.com
Email Address []:webmaster@bravotouring.com
[root@nx9030 conf]# ### 3. apache起動時に止まらないよう秘密鍵からパスフレーズを削除 ###
[root@nx9030 conf]# /usr/bin/openssl rsa -in ssl.key/server.key -out ssl.key/server.key
Enter pass phrase for server.key:************(パスフレーズ)
writing RSA key
[root@nx9030 conf]# ### 終了 ###

ここでサーバー証明書の**“Common Name”**がサーバーのFQDNにマッチしていないとブラウザに警告が現れる事になるので要注意。今回作成したサーバー証明書のフィンガープリント(SHA1)は

GPKIの罠

高木センセ−の大作をようやく読み終えた。「広島市大型ごみ収集申し込み」はあまりに豪快。SSL証明書の有効期限切れメッセージを目の当たりにする機会なんてパソコンの時間が狂っている時くらいだと思っていたが、事実は小説より奇なりだ。

後半で挙げている高知県の事例も合せて、問題の本質はここ。

Webサイト見てもですね、こんな警告が出るけども問題ありませんという解説を書いているところっていくつかあるんですね。そういうのを見た経験のある人がですね、「警告は無視してもいいんだ」ということをなんとなく思うわけですよ。そういう誤った理解がどんどんどんどん伝染病のように広がっているわけですね。それが問題の根本なんですよ。 Webブラウザがご丁寧に「警告」を出しているのに「警告が出ても問題ないです」と指導する事で、ユーザーの警戒心を馴らしてしまう危険性が危惧されるわけだ。例え電話口で相手が警察官を名乗っても疑ってかからねばならない昨今、時流に逆行する悪癖と言わざるを得ない。

病原体の発生源は政府である。この国のPKIはもう死んだに等しい。もはや防ぎようがない。

というコメントが象徴するように、多くの無知が誤解を呼び、PKIを台無しにしてしまいつつある。

証明書

www.shinsei.pref.fukuoka.lg.jp の証明書

事前にLGPKIルート証明書をインストールしておけば良いと言うのは確かに正論だが、自分の両親は言うまでもなく、弟にしても果たしてそれが期待できるだろうか?

WebブラウザにLGPKIルート証明書の標準装備を促すような働きかけを政府がしていれば、このような体たらくにはならなかったのになぁ。

お膝元の福岡県はどうやろ?と電子申請Webサイトをチェック。「初めて利用される方へ」として**「安全な通信を行うための証明書」**をインストールするように指示されているが、なかなかわかりづらい。

Q&Aにも「警告ダイアログ」云々の記述は無いが、PKIという言葉を聞いた事も無いような人にも気付いてもらえるだろうか?

最終的に福岡県地方公共団体組織認証基盤(LGPKI)から**「安全な通信を行うための証明書」**という愛称で呼ばれる「LGPKI Application CA 自己署名証明書」をダウンロード。

認証局を運営する各県毎に発行されているが、内容は地方公共団体における組織認証基盤(LGPKI)の管理下で同じなので、一度入れておけば他県のWebサイトでも問題無く適用される。

しかしSSLサーバー証明書の発行者として「Application CA LGPKI JP」という名称はどうにも安易でやる気なさげ。こういうとここそ権威主義のお役所らしく(笑)仰々しい偉そうな名称を謳うべきだと思うのだが。

追伸:2004年9月27日付けで「Q&Aを更新しました」と書いてあったので、「動作環境について」を見てみたら

Microsoft Windows XP(SP2)はご利用いただけませんのでご注意ください。

と書いてあった。さっさと補正予算を組んで改修してくださいな。

そういえば、新サーバーのSSL設定はほったらかしにしたままだったり….f(^^;;

参照

高木浩光@自宅の日記 http://takagi-hiromitsu.jp/diary/

福岡県 http://www.pref.fukuoka.lg.jp/

政府認証基盤(GPKI) http://www.gpki.go.jp/

地方公共団体組織認証基盤(LGPKI) http://www.lgpki.jp/

@IT http://www.atmarkit.co.jp/index.html

1月のWindows Update

予告どおり3件のアナウンス。

HTMLヘルプの問題対処であるMS05-001、カーソル、アニメーション カーソルおよびアイコンの問題対処であるMS05-002は、どちらもWebアクセスやメールの添付ファイルにより攻撃コードが実行される恐れがある危険な欠陥。いずれも昨年末から知られており、すでに欠陥を突く方法まで公開されているので、対応が早いと思うか遅いと思うかは別れるところだが、何はともあれ修正プログラムを適用すべし。

いずれにおいてもWindows XP SP2も例外ではないので抜かり無き様。またWindows 9x/MeのパッチはWindows Updateからしか適用できないので要注意。

MS05-003はインデックス サービスの問題。これもリモートから攻撃コードが実行される危険なモノだが、既定で稼動するサービスでは無い(IISに手動の設定が必要)ので一般ユーザーには影響はない。

参照

ITmedia http://www.itmedia.co.jp/

日経IT Pro http://itpro.nikkeibp.co.jp/

TechNetセキュリティセンター http://www.microsoft.com/japan/technet/security/

Mac mini

思わぬところから伏兵登場。

重量は1.32キロと、ノートブックPC並みの軽さ。コンパクトディスクを一回り大きくした、16.5センチ四方、高さ5センチのコンパクトさが売り物だ。ファンは静音動作型のものが1基入っている。ACアダプタは外付けタイプ。

一見PSXみたいだが、スペック的にはサーバー向きだったり…

参照

ITmedia http://www.itmedia.co.jp/

アップル http://www.apple.co.jp/

サーバー増強

メモリ

メモリチップはelixir N2DS25616CT-5T

今日も今季最寒の一日。気温3℃、ぱらつく雪の中をDOSパラまでMTBを飛ばして、サーバー用に200pin SO-DIMM 256MB(PC2700)のバルク品を4,170円で査収。

ノートPCはメモリとの相性がナーバスな場合が多いと脅されてたのでビクビクしていたが、あっけなく認識。Videoメモリとなる32MBを差し引いて480MBがめでたく主記憶となった。

Linuxの起動およびX-Windowの動作も問題無く…どころか、もたついていたWindowマネージャーがサクサク動くようになり超ゴキゲン。これなら最初から増設しておいた方が良かったかな。

さてチップ上のプリントによると正体はelixirのN2DS25616CT-5T。公式サイトによると枝番の5TはDDR400を指すらしい。nx9030標準のメモリはDDR333という事だったが、ケンカしなくて良かった良かった。ちなみに店頭価格は4,170円。3rd PartyのBOX版だと安くても6,000円。いや8,000円以上の価格を付けているところも珍しくないのでかなり安上がりに終わった形だ。

ついでにユニクロにてクリアランス特価でヒートテックインナータイツと指付きソックスも査収。これで爪先までぬくぬくなり。しかし、ちょうど十日恵比須という事もあってとパピヨンプラザから妙見交差点は大混雑。寒かったけどクルマで来なくて良かったよ。

あとはニュース関係まとめ。明後日12日はWindows Updateの日です。

参照

ITmedia http://www.itmedia.co.jp/

INTERNET Watch http://internet.watch.impress.co.jp/

Firefoxにセキュリティホール

ダウンロードダイアログにおいてドメイン名の後ろが隠れてしまうという見せ方の問題で、download.microsoft.com.one.two.three.four.com 等という不自然に長いURLを使えば、サブドメインを別のドメインに見せかける事ができるという指摘だ。これによりユーザーの錯誤の上に悪質なプログラムをダウンロードさせる事が可能となるが、さほど深刻なものではない。日ごろからむやみにプログラムをダウンロードすることは戒めるべきだろう。

修正プログラムは無く、次期バージョンで改修されるという事だ。

Internet ExplorerではURLの前方が省略される為に問題は無いとされているが、Windows XP上のInternet ExplorerではFirefoxと同じように表示が.comで切られてしまうという話もあり、油断は禁物だ。

参照

日経IT Pro http://itpro.nikkeibp.co.jp/

SpamAssassinのRPMアップデート

Fedora Core の SpamAssassin がちょっとだけ古かったので、ソースのtar ballからrpmを作ってアップデート。

$ cd /usr/src/redhat/RPMS/i386/
$ wget http://sunsite.tus.ac.jp/pub/apache/spamassassin/Mail-SpamAssassin-3.0.2.tar.gz
$ sudo rpmbuild -tb ./Mail-SpamAssassin-3.0.2.tar.gz
    :
書き込み中: /usr/src/redhat/RPMS/i386/spamassassin-3.0.2-1.i386.rpm
書き込み中: /usr/src/redhat/RPMS/i386/spamassassin-tools-3.0.2-1.i386.rpm
書き込み中: /usr/src/redhat/RPMS/i386/perl-Mail-SpamAssassin-3.0.2-1.i386.rpm
    :	
$ sudo rpm -Uvh spamassassin-3.0.2-1.i386.rpm perl-Mail-SpamAssassin-3.0.2-1.i386.rpm

spamassassin-toolsなるrpmパッケージは

エラー: Failed dependencies:
        perl(Parse::Syslog) is needed by spamassassin-tools-3.0.2-1.i386
        perl(Statistics::Distributions) is needed by spamassassin-tools-3.0.2-1.i386

というエラーになった。MCPANからParse::SyslogとStatistics::Distributionsもinstallしてやってみたのだが、状況は変らなかったので処分保留。

結果的にログ採取も multilog から syslog にしちゃったので、解析cronも日付抽出部分を修正。

syslogの巻

router で廃棄した迷惑パケットのログが採れてないなぁ?と思ったら、nx9030 の 514/udp ポートが開いてなかった。rオプションを付与する必要があるという事がわかり、/etc/sysconfig/syslog に

SYSLOGD_OPTIONS="-m 0 **-r**"

と記述してsyslogを再起動。

昨日の宿題、/var/log/messages に大量に残される

Jan  5 14:10:02 nx9030 crond(pam_unix)[14838]: session opened for user root by (uid=0)
Jan  5 14:10:02 nx9030 crond(pam_unix)[14836]: session closed for user root

というcrond のログ。

4時間ほど地味に試行錯誤した結果、authファシリティのinfoプライオリティである事を突き止めたので、/var/log/messages から排除するよう /etc/syslog.conf を変更。

#*.info;mail.none;authpriv.none;cron.none               /var/log/messages
*.info;mail.none;authpriv.none;cron.none;**auth.!=info**  /var/log/messages
**auth.info**                                             **/var/log/authinfo**

取り敢えず/var/log/authinfo に記録するようにしておくが info なので捨ててもいいかも。

いちお、/etc/logrotate.d/syslog にも追加して

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron **/var/log/authinfo** {
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

logrotate の対象に入れておく。

analog続編

さて難航中のanalog。日本語サイトのhttp://www.jp.analog.cx/しか観てなかったので気付かなかったが、本家 http://www.analog.cx/ に 6.0 が上がっていたので恭しくアップデート。

ざざっとUTF-8でコンフィグレーションしたところ、完璧では無いものの検索語のデコードも良好なので、取り敢えずこれで行く事に。APACHELOGFORMATとLOGFORMATの設定をしたらかなり良さげ。

という /usr/share/analog/analog.cfg なり。

10a11,13
> #DEBUG ON
> LANGUAGE JAPANESE-UTF
> DOMAINSFILE lang/jpudom.tab
13c16
< LOGFILE logfile.log
---
> # LOGFILE logfile.log
14a18,28
> **APACHELOGFORMAT (%h %l %u %t \"%r\" %>s %b)**
> LOGFILE /var/log/httpd/access_log*
> **LOGFORMAT AUTO**
> LOGFILE ./referer_log*
> IMAGEDIR /analog/images/
> DNS READ
> #DNS WRITE
> #DNSFILE dnscache
> DNSFILE /usr/share/analog/dnscache
> #DNSLOCKFILE dnscache.lock
> DNSLOCKFILE /usr/share/analog/dnscache.lock
15a30
> OUTFILE /usr/share/analog/index.html
16a32
> HOSTNAME "[bravotouring.com]"
106a123,148
> 
> # append by YANO
> MONTHLY       OFF             # 月毎レポート
> WEEKLY        ON              # 週毎レポート
> DAILYREP      ON              # 日毎レポート
> DAYREPROWS    7               # 日毎レポートは1週間分(7days)
> HOURLYREP     ON              # 時間毎レポート
> HOURREPROWS   168             # 時間毎レポートは1週間分(7days*24H)
> DIRECTORY     OFF             # ディレクトリレポート
> FILETYPE      OFF             # ファイルタイプレポート
> SEARCHQUERY   OFF             # 検索語句レポート
> SEARCHWORD    ON              # 検索語レポート
> FULLBROWSER   OFF             # ブラウザーレポート
> BROWSER       OFF             # ブラウザーの概要
> OSREP         OFF             # OSレポート
> REFERRER      ON              # リンク元レポート
> REFSITE       ON              # リンク元サイトレポート
> VHOST         OFF             # 仮想ホストレポート
> 
> REQINCLUDE    pages           # リクエストレポートはページだけを含めるようにする
> #FILEEXCLUDE  *.jpg           # jpegファイルは統計対象外
> FILEEXCLUDE   *.png           # pngファイルは統計対象外
> #FILEEXCLUDE  *.gif           # gifファイルは統計対象外
> 
> SUBDOMAIN     *.*.*           # サブドメインは階層表示
> HOSTEXCLUDE   iron.bravotouring.com   # 自分のアクセスは統計対象外

ウェブメーラー続編

メールヘッダーのSubjectなどで日本語が文字化け。本文は化けてなかったので大丈夫だと思っていたのだが…自分に言い訳をしながら調べたところmimedecodeがEUCとシフトJISにしか対応してないという事が判明。残念ながら本家http://www.cc.rim.or.jp/~ikuta/mime_pls/でもアップデートされてない様だ。

ライブラリである mimir.pl に手を入れるのは避けたいので、WebMailer/common_lib.pl を修正。

&Jcode::convert(\$value, $charset);
$value = &mimedecode($value, $charset2);

となっていたのを

$value = &mimedecode($value);
&Jcode::convert(\$value, $charset);

とし、一旦MIMEエンコードを7bits JISに戻してから、JcodeでUTF-8に変換するよう対処。つか、本来この順番であるべきな様な気がする。