カテゴリー
WordPress

本家のお世話-#41。(Malwareの話)

投稿アップデート情報  追記(6/23)

 臨時サーバには,ウイルス対策ソフトとして,Avira Free Antivirusを入れてある。今朝,これが34個もの「PHP/WebShell.A.1[virus]」を報告してきた。検知場所は,C:WINDOWSTempのphpxx.tmpというわけで,現時点で悪さをしているわけではないらしい。

 当然削除したが,せっかくCentOS6の練習機を建てたので,これでちょっとphpxx.tmpの中を覗いてみた。初体験。こんな感じ。
—————————————————————————————————————————
   <?php
   $auth_pass = "";
   $color = "#df5";
   $default_action = ‘FilesMan’;
   $default_use_ajax = true;
   $default_charset = ‘Windows-1251′;
   preg_replace("/.*/e","x65x76x61x6Cx28ーーーー省略1ーーーーx63x6Fx64x65x28
   ’~~~~省略2~~~~’
   x29x29x29x3B",".");
   ?>
—————————————————————————————————————————
 見たところ,普通のPHP Script。ただし,本体部分は,エンコード後圧縮されている。
 Windows-1251 は キリル文字で,この文字コードで保存されているらしい。
 x65x76x61x6Cx28ーーーー省略1ーーーーx63x6Fx64x65x28 の部分をデコードすると,
eval(gzinflate(base64_decode( 同様に,x29x29x29x3B の部分は ))); になる。本体部分(~~~~省略2~~~~)は,素人が生半可にいじるのは危ないかなと思い,何もしなかった。何か結構,深刻なタイプのBackdoorで Windows にも Linux にも影響があると書いてあるし。

 どこから着弾したのかと思って調べてみたが,よく分からない。よく分からないが,Apacheのログに,
   78.85.9.30 – – "POST ~/uploadify.php" 404 "Googlebot/2.1" <<– 関係部分のみ抜粋
というのが,phpxx.tmpと同じ時間帯にズラッと並んでいた。自鯖上には uploadify.php は1枚もないから,HTTPエラーコードはすべて404になっている。これは失敗しているけど,開いているポートから,tmpファイルとして送り込まれたということだろうか。この辺りのことが,もともとよく理解できていないのだが,今回調べてもまだよく分からない。ご存知の方は,ご教示いただけるとありがたいです。

 ところで,uploadify.php だが,6月9日づけで,WordPress Exploit Alert: Uploadify.phpという記事が見つかったから,脆弱性があるらしい。既に,パッチが出ているのかどうかははっきりしない。

 書き忘れるところだった。UAがGooglebotになっているが,逆引きすると,ホスト名は a30.sub9.net78.udm.net になるので,詐称は明らかなようだ。

追記(6/23):
 今日,WordPress Exploit Alert: Uploadify.phpを見に行ったら,新しい情報が書き込まれていた。関係のある方は,参考にされるといいかもしれない。

カテゴリー
Windows

マイクロソフト セキュリティ アドバイザリ (2718704)

投稿アップデート情報  追記(6/9)

 まぁ,参っちゃいますねぇ。Microsoft 自身が発行した証明書が悪用されたらしく,その対応としてマイクロソフト セキュリティ アドバイザリ (2718704)が出ました。世も末じゃ。

 自動更新にしていればもうパッチが当たっているはずですが,更新プログラムとして,KB2718704があるかどうか,一応確認してみましょうね。あったら,O.K. ない場合は,Microsoft Updateを利用しましょう。それでもうまくいかない場合は,Unauthorized digital certificates could allow spoofingに行って,自分のOSに対応するものをダウンロードしてインストールしましょう。英語のページですが,ダウンロードファイルそのものは,言語別になっているので,落とす前に,日本語にしてから落としましょう。

 関係あるのは,
     Microsoft Enforced Licensing Intermediate PCA (証明書 2 つ)
     Microsoft Enforced Licensing Registration Authority CA (SHA1)
ということらしいので,結構あちこち影響あるのじゃないでしょうか。マイッタマイッタ(爆)。

追記(6/9):
 こういう悪夢の元だってことだよねえ。今回は,対象がちょっと別次元だったので,一般人はなんとか最悪のシナリオをまぬかれたってことらしい。

カテゴリー
everyday life

久しぶりにセキュリティネタ。

 久しぶりに,セキュリティネタ。気になるネタはたくさんあるけど,何しろ我が身がテンヤワンヤなもので(汗)。

 「DNS Changer」って知ってる? リンク元の記事のように,昨年,一般のニュースでも逮捕の話がチラッとは上がっていたから,覚えている人もいるかもしれない。

 で,FBIの運営しているネームサーバが7月9日に運用を終了する。前にも,終わるよ終わるよという話はあったが,今度は本当らしい。Googleさんも,対応を打ち出したようだし。自分のPCが感染していなければ関係ないけど,感染している場合は,「DNS Changer マルウエア感染確認サイト公開のお知らせ」の対策を参考に対処しよう。感染のチェックも一応,リンク先のJPCERT/CCのページで出来る。

 ところで今日は今日で,すごいマルウェアの話を読んだ。「Flame」というらしい。あまり凄すぎて実感がないけど,まぁ,一般人の知らないところで,その種のものはどんどん開発されているということだろう。開発と実際に使われるまでにはタイムラグがあるからなぁ。

 なんの技術でも,悪用しようと思えばできるから,人間の本性が変わらない限り根本的な解決にはならない。しかし,だからと言って知らん顔してればいいってものでもないから,難しい。

 こっちは,情報が入ってきてから対処するくらいしかできないから,分析をしている方たちには頑張ってほしいです。よろしくお願いします。

カテゴリー
Vulnerability

ウェブマスター ツール 。

 googleのウェブマスター ツールの設定をしてみた。googleのアカウントはむかーし作ったけど,ほとんど使ったことがない。

 しかし,ウェブマスター ツールには,サイトのマルウェア診断がある。これを利用させてもらうことにした。なんでかというと,今日の我が家の検索キーワードに「wordpress thumb.php 脆弱 修正」というのがあって,うちの記事WordPressのテーマでゼロデイだって?!を読みに来た方がいらっしゃった。うちの場合は,クラッキングされたという記事ではなくて,Scottのつぶやきがらみの記事だったんだけどね。

 まぁ,そういう方はちょくちょくいるんだ。で,同検索ワードでググったところでは大した数ではないのだが,「wordpress クラッキング」というキーワードだと,ひと月以内でも結構な数が引っ掛かることが分かった。

 幸いにして,今までそういう目にあったことはないけど,Robのとこの例もあるし,何事も「転ばぬ先の杖」というじゃありませんか。

カテゴリー
Vulnerability

本家のお世話-#25。(PHP5.3.10へアップデート)

投稿アップデート情報  追記(2/7)  追記2(2/7)  追記3(2/9)  追記4(4/11)

 Effective DoS attacks against Web Application Plattforms ? #hashDoS のように PHP5.3.9 に追加されたコードに,remote からのコードの実行を招く別の欠陥があるという指摘があったばかりだが,PHP5.3.10 が出た。PHP News Archiveよれば,「All users are strongly encouraged to upgrade to PHP 5.3.10.」ということなので,早速やる。

 Apacheもorg版は2.2.22になってるんだが,Lounge版はまだのようだ。

  1. 何はともあれ,php-5.3.10-Win32-VC9-x86.zip をダウンロード,サーバ機がWindowsXpSP3(x86)なので。
  2. 適当なところに,ファイルを展開。
  3. 5.3.9 の php.ini-production と 5.3.10 の php.ini-production を
    fc /n c:php.ini-production c:phpphp.ini-production >c:compare.txt
    で比べてみた。相違点はなかったので,php.iniは 5.3.9 のものをそのまま使う。
  4. php.ini以外の展開したファイルと5.3.9のファイルをそっくり差し換える。

 
 ところで今日は立春ですね。

追記(2/7):
 そういえば,PHP 5.4.0がRC6まで行っている。次の候補版のリリースは2月2日と書いてあるが,少し遅れいてるみたいで,RC7は,まだPHP Quality Assurance Team Web Page.にしかないようだ。遅れているわけではなくて,NEWSもちゃんと出ていた。http://www.php.net/のトップに記載がないだけらしい。  斜字体は2/9追記
 NEWSを読んでいてもピンとこないことばかりで,これらのテストをしようなどという大それた気は毛頭ないのだが,NEWSを読んでいてちょっと気になる項目があった。「<?= は今後short_open_tagの設定にかかわらず,有効になります。」と書いてある。そういえば,どっかほかのところでも,そんなことを読んだ気がする。
 short_open_tagについては,昔,痛い目にあったことがある。5.3.10のphp.iniを調べてみたら,
    ; short_open_tag
    ; Default Value: On
    ; Development Value: Off
    ; Production Value: Off
となっていた。使っているのは,php.ini-production だから,自鯖では当然Offになっているわけだ。で,恐る恐るOnにしてみた。こいつが関係あるのは,確か,PHPをXMLと組み合わせたときの<?xml ?>とかに関係あるだけだったと思うから,今は,WordPress以外のスクリプトはほとんど使っていないし,使ってる分も自分で作ったものだけのはずだから,大丈夫だとは思うんだが……

 さて,Apacheを再起動。

 大丈夫みたい。ホッ。これでこの件に関しては5.4.0にするときも問題なしだね。

追記2(2/7):
 ここのところ,1週間ばかりhttp://www.gknw.de/mirror/curl/win32/に接続できなかった。http://curl.haxx.se/を見ると,version 7.24.0が出ているみたいだけどと思いながら,他に落とせるところはないだろうかと探していて,http://fossies.org/windows/www/curl-7.24.0-ssl-sspi-zlib-static-bin-w32.zip/を見つけた。
 で,今まで読み違えていたcurl.exeに関することと,最近のPHPにはもともとlibeay32.dll も ssleay32.dll含まれていることに,気づいた。どこかで勘違いして,「curl.exeがPHPのライブラリとしている」と思い込んでしまっていたのだが,実はいらなかった。どこで勘違いしたのだろう。cURLのインストール手順には,「libeay32.dll および ssleay32.dll が PATH の通った場所に存在する必要があります。」とちゃんと書いてあるのに!! 落ち込む。
 一応趣味だから,libeay32.dllはversion 7.24.0にしたけど……(爆)

追記4(4/11):
 PHP導入についての新しい記事を,本家のお世話-#28。本家のお世話-#29。に書いた。

カテゴリー
Vulnerability

本家のお世話-#24。(PHP5.3.9へアップデート)

投稿アップデート情報  追記(4/11)

 昨日(まっ,UTCだと10日付になるが),PHP5.3.9 がリリースされた。徳丸さんの日記の記事なんかもあって,よくわからないけど大変なのねー,ということでアップデートしてみた(爆)。

  1. 何はともあれ,php-5.3.9-Win32-VC9-x86.zip をダウンロード,サーバ機がWindowsXpSP3(x86)なので。
  2. 適当なところに,ファイルを展開。
  3. 5.3.8 の php.ini-production と 5.3.9 の php.ini-production を
    fc /n c:php.ini-production c:phpphp.ini-production >c:compare.txt
    で比べてみた。スペルミスの訂正を除くとiniで変わっているのは以下のところだった。
    ————————————————————-
    ; Enables or disables the circular reference collector.
    ; http://php.net/zend.enable-gc
    zend.enable_gc = On
    ————————————————————-
    ; How many GET/POST/COOKIE input variables may be accepted
    ; max_input_vars = 1000

    ; Maximum amount of memory a script may consume (128MB)
    ————————————————————-
    ;windows.show_crt_warning
    ; Default value: 0
    ; Development value: 0
    ; Production value: 0
    ————————————————————-
    [xsl]
    ; Write operations from within XSLT are disabled by defaul
    ; XSL_SECPREF_CREATE_DIRECTORY | XSL_SECPREF_WRITE_NETWORK
    ; Set it to 0 to allow all operations
    ;xsl.security_prefs = 44

    ; Local Variables:
    ————————————————————-
    DOS:FCコマンドの使い方については,「DOS:FCコマンド “/N” スイッチを使用する場合について」とコンソールから HELP FC で確認のこと。

  4. 以上のようなことなので,新しい php.ini-production を我が家用にカスタマイズして,phpフォルダごと入れ換え,Apacheを再起動。WP Mail SMTP のことがあるので,php.iniのカスタマイズのときに,extension=php_openssl.dll も忘れずにアンコメントすること。

追記(4/11):
 PHP導入についての新しい記事を,本家のお世話-#28。本家のお世話-#29。に書いた。

カテゴリー
WordPress

本家のお世話-#23。(WordPress3.3.1へアップデート)

投稿アップデート情報  追記(2/1)

 1/4にWordPress 3.3.1 セキュリティおよびメンテナンスリリースが出て,ページを見に行ったら,その日は日本語版は今準備中ですのでしばらくお待ちください,とのことだった。

 で,1/7の今日になっても,ダッシュボードのアップデートのところに,日本語版の情報が表示されない。XSSの脆弱性の修正も入っているというアナウンスだったので,気になって上記のページを再度見に行ったら,WordPress 3.3.1 日本語版をダウンロードのリンクが追加されていた。いつ追加されたんだと,ファイルをダウンローダで引っ張ってみたら,ファイルそのものの日付は,1/4のようだ。ということは,珍しくもダッシュボードのアップデートには,情報が出ないということなのだろうか。

 まあ,たまには,手動もいいじゃないのというわけで,久しぶりに手動でアップデートをやってみた(爆)。

 まず,何はさておき,元ファイルとデータベースのバックアップをする。やらなかったときに限って青ざめるようなことが起こるので,絶対にサボってはいけない作業である(笑)。

 その後,落としてきたzipを展開してファイルの差し換え。無事完了。不具合なし。

 手動でやらなかったら気づかなかったこと。フィード関係の以下の6個がなくなっていた。
    wp-atom.php
    wp-commentsrss2.php
    wp-feed.php
    wp-rdf.php
    wp-rss.php
    wp-rss2.php

追記(2/1):
 XREAのフリースペース。で書いたように,XREAにWordPressをインストールしてシングルサイトを作った。今日気づいたのだが,こっちのサイトでは,ダッシュボードの「WordPressの更新」のところに WordPress3.3.1–ja の情報が出ている。本家との違いは本家はマルチサイトということだが,もう一つ違うのは,本家の親サイトの言語が英語になっているということだ。インストールしたファイルそのものはどちらも同じ日本語版なので,更新情報が親サイトの言語設定に引きずられて表示されているのではないかと思う。
 親サイトの言語設定を変えてみれば,検証はできると思うが,設定を変えて本家がおかしくなるのが怖いので未検証である(爆)。

カテゴリー
Vulnerability

phpMyAdmin狙いの話。

 phpMyAdmin configuration storageのところの【注】に「phpMyAdmin狙いのクローラ」の話を書いているのだが,エラーログでわかるphpMyAdmin狙いクローラの使うディレクトリ名を調べてみた。

 自鯖のエラーログ,帰宅後は現時点でまだ2週間しかとっていないんだけど,それでも49個もあった。もちろん全部エラーが出てるんだけどね。以下の通り。
 まぁ,きちっと管理すればいいのだろうけど,人間が手作業でやることじゃないから,これらのディレクトリ名を避けるだけでも多少の効果はあるのじゃないかと思う。
    admin/mysql-admin
    admin/phpmyadmin
    admin/pma
    database
    datenbank
    db
    dbadmin
    muieblackcat
    myadmin
    mysql
    mysql-admin
    mysqladmin
    padmin
    php-my-admin
    phpadmin
    phpmyadmin
    phpMyAdmin
    phpMyAdmin-2
    phpMyAdmin-2.2.3
    phpMyAdmin-2.2.6
    phpMyAdmin-2.5.1
    phpMyAdmin-2.5.4
    phpMyAdmin-2.5.5
    phpMyAdmin-2.5.5-pl1
    phpMyAdmin-2.5.5-rc1
    phpMyAdmin-2.5.5-rc2
    phpMyAdmin-2.5.6
    phpMyAdmin-2.5.6
    phpMyAdmin-2.5.6-rc1
    phpMyAdmin-2.5.6-rc2
    phpMyAdmin-2.5.7
    phpMyAdmin-2.5.7-pl1
    phpMyAdmin-2.6.0
    phpMyAdmin-2.6.0-pl1
    phpMyAdmin-2.6.2-rc1
    phpMyAdmin-2.6.3
    phpMyAdmin-2.6.3-pl1
    phpMyAdmin-2.6.3-rc1
    phpmyadmin1
    phpmyadmin2
    pma
    PMA
    sqlweb
    typo3/phpmyadmin
    web/phpMyAdmin
    webadmin
    webdb
    websql
    xampp/phpmyadmin

カテゴリー
Windows

本家のお世話-#22。(COMODO Firewallを使う)

 今日,思い出して,本家のお世話-#14。の追記に,ZoneAlarm10 Free Firewall をサーバのファイアーウォールとして使うのを断念したことを書いた。

 で,サーバのファイアウォールをどうするかということになる。本家のお世話-#13。でも書いたように,「ウイルスバスター・クラウド」+「ファイアウォールチューナー」というのはサーバのファイアウォールとしては使いにくい。まぁ,本家のお世話-#14。に書いた不具合がなくても,インストールしてみた ZoneAlarm10 Free Firewall も決して使いやすくはなかったが。

 ああでもないこうでもないとフリーファイアーウォールソフトをあさってみて,結局,COMODO Firewall Free Versionを使うことにした。

 インストールしてみたところインターフェースは割と分かりやすい。インストーラは少しカスタマイズしてインストールした。手順を画像であげておく。



 「COMODO Firewall #1」で[Agree and Install]をクリックすれば,インストールが始まるのだが,その前にボタンの下にあるリンク[Customize Installer]をクリックして,オプションを適宜設定したのち,「COMODO Firewall #1」に戻ってインストールするという手順を取った。使いだしたばかりで,手探り状態のところもあるので,参考にはならないかもしれません。

カテゴリー
Windows

本家のお世話-#14。(Apacheの再導入)

投稿アップデート情報  追記(12/20)  追記2(12/25)  追記3(2012/1/2) …… 追記6(8/11)

 本家のお世話-#13。で導入したZoneAlarm10だけど,むかーし使っていたのとだいぶUIが変わっていて,どうも使いにくいなぁ。

まぁ,ボヤキは置いておいて,Apacheの再導入から始める。PHP5.3.6以降の関係があるので,ApacheはApache Loungeに行って,httpd-2.2.21-win32-x86-ssl.zipを落としてきた。apache.org版と違い,Apache Lounge版はMSIじゃなくてzip。今回は前のファイルをきれいさっぱり削除したので,地道に一からやらないといけない。ただし,Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86)のインストールは,済んでいる。

  1. まず,httpd-2.2.21-win32-x86-ssl.zipを展開する。
  2. こののち,apache.org版使用にもどることがあるかもしれないので,フォルダ名をorg版に合わせて,置き場所もProgram Filesにする。<<—この辺は好き好き。
  3. httpd.confのカスタマイズ。
    • ServerRootを2.でファイルを置いた場所に変更。
    •    <IfModule mpm_winnt_module>
      Win32DisableAcceptEx
      </IfModule>
      はどうしようかな。
      後で
      [warn] (OS 64)指定されたネットワーク名は利用できません。
      [warn] (OS 121)セマフォがタイムアウトしました。
      が出たときに追加するかなと思いつつも,一応入れておく。
    • ServerAdmin のメールアドレスを自分のものに変更。
    • ServerName をlocalhost:80に変更。
    • DocumentRoot を”G:/WEB/example” に変更。
    • DocumentRoot に合わせて,<Directory “G:/WEB/example”> に変更。
    • インデックスファイルを置き忘れたときに,ディレクトリ内がさらされることのないように,Options Indexes FollowSymLinks をOptions FollowSymLinks に変更。
    • .htaccessが使えるように AllowOverride None を AllowOverride directive-type に変更。directive-typeに使えるキーワードについては,AllowOverride ディレクティブを参照のこと。
    • DirectoryIndex に index.php を追加。
    • ScriptAlias を “G:/WEB/cgi-bin/” に変更。
    • ScriptAlias に合わせて,<Directory “G:/WEB/cgi-bin”> に変更。
  4. 一応,手動でApacheのテストラン。コンソール(=コマンド プロンプト)を開き,httpd.exe のあるディレクトリに移動。
    >httpd.exe

    ところが,コンソール上に[notice] Disabled use of AcceptEx() WinSock2 APIが表示され,以下のように同じエラーがWindowsのイベントログにも出る。
    ————————————————————————————————————————-
    イベントの種類: エラー
    イベント ソース: Apache Service
    イベント カテゴリ: なし
    イベント ID: 3299
    日付:     xxxx/xx/xx
    時刻:     xx:xx:xx
    ユーザー:   N/A
    コンピュータ: xx
    説明:
    The Apache service named reported the following error:
    >>> [xxx xxx xx xx:xx:xx xxxx] [notice] Disabled use of AcceptEx() WinSock2 API

    詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。
    ————————————————————————————————————————-
    これは,Apacheとしては[notice]なんで,confのカスタマイズのときに入れたWin32DisableAcceptExが効いていれば起動時のログに出るのとイベントログにエラーが出るのは正常だけれども,イベントログにエラーで出るそれでクラッシュするのが変。で,下記のようにコメントアウトして,Apacheを再起動してみた。
    #<IfModule mpm_winnt_module>
    #Win32DisableAcceptEx
    #</IfModule>

    また,エラー。今度はソケットが使えない旨のエラーで,イベントログにもエラーとして記録されている。
    ————————————————————————————————————————-
    イベントの種類: エラー
    イベント ソース: Apache Service
    イベント カテゴリ: なし
    イベント ID: 3299
    日付:     xxxx/xx/xx
    時刻:     xx:xx:xx
    ユーザー:   N/A
    コンピュータ: xx
    説明:
    The Apache service named reported the following error:
    >>> (OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。 : make_sock: could not bind to address 0.0.0.0:80

    詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。
    ————————————————————————————————————————-

    いろいろ調べてみたら,どうもWinSockがおかしいみたい。というわけで,「Windows Server 2003、Windows XP、および Windows Vista で Winsock2 の破損を確認して回復する方法」というページを参考にやってみた。まずは,コンソールから netsh winsock reset を打ってみたんだけど,どうもよくならない。
    で次は,Microsoft Fix it 50203を使ってみたが,よくならない。結局,「手順 1: 破損したレジストリ キーを削除する」「手順 2: TCP/IP をインストールする」までやったら,ようやくノーエラーで起動できるようになった。
    何が原因かよくわからないが,WinSockのリセットでは「ウイルス対策、ファイアウォール、プロキシ クライアントなどに悪影響が生じるおそれがあります。」という記載があるから,逆も真なりで,ファイアウォールをZoneAlarm10にしたことが引き起こしたことかもしれない。

    ところで,初めのほうのDisabled use of AcceptEx() WinSock2 APIのエラーがイベントログに残ることについては,Winsockの破損とは,関係ないかもしれない。kazenokakasiさんが「Apache2.2.17で変更有り。」という記事を書いておられるのに,ググっているときに気づいた。  今日気づいたのだが,kazenokakasiさんのところは直リン禁止ということらしい。リンクからでは記事が読めなかった。ブラウザのアドレスバーにhttp://sitifukuzin.com/blog/?p=6021を記入して跳んでほしい。  追記4(2/15)
     今のWindows上のApacheには,
    <IfModule mpm_winnt_module>
    Win32DisableAcceptEx
    </IfModule>
    はいらないみたいだね。
    (12/25 消し線追加)

  5. 無事起動するようになったので,サービスとして登録する。コンソールでhttpd.exe のあるディレクトリに移動し,
    >httpd.exe -k install
    Windowsのサービス一覧でちゃんと登録されていることを確認。ApacheMonitorのショートカットを,スタートメニューのスタートアップに追加する。
    (注) Apacheのサービスの状況はタスクトレイのApacheMonitorのアイコンで確認できる。Start/Restart/Stop もここからできる。
  6. まあ,一応, http://localhost/ は確認しておいたほうがいい。もちろんドキュメントルートに index.html を作って入れておかないと,下記が表示されちゃうよ。
    Forbidden
    You don’t have permission to access / on this server.

書き忘れたが,httpd.confで使用している /WEB/example , /WEB/cgi-bin なんかは,該当場所に作っておかないと,Apacheがディレクトリがないよと言ってくるので,注意。

追記(12/20): 大事なことを書き忘れていた。
本家のお世話-#13。で導入したZoneAlarm10なんだが,重大な不具合があって使うのを止めた。どんな不具合かというと,Apacheを停止するとWindowsが勝手に再起動するというものだ。だいたい,一般クライアント用のファイアーウォールソフトをサーバ用に使おうというところに無理があるのはわかっているが,ウィルスバスターといいZoneAlarm10のFree版といい,ベンダ側はクライアント用のものはサーバ用としては使わせない方向で動いているようだ。ネットのマルウェアがどんどん進化しているせいだろうか。

ZoneAlarm10の使用を止める前に一応努力はしてみた。
apacheのメーリングリストでは,
linux の watchdog の機能と同じようなものが ZoneAlarm Free 10 にもついているのではないか。
という示唆をいただいた。検証してみると,Apacheが正常に停止せずpidファイルが残った場合は再起動が起こらないので,ZoneAlarm Free 10 にも同様の機能がついてそうだという感触を得た。他に,違うファイアウォールソフトを使った方がいい,あるいは,ZoneAlarmのサポートに聞いてみたほうがいいという意見もいただいた。使おうとしていた ZoneAlarm10 がFree版だったので,問い合わせは躊躇していたのだが,http://forums.zonealarm.com/ で調べてみたら,Zone Alarm Apache shut down conflictという書き込みがあった。それに対するモデレータの回答があって「サーバソフトのサポートはしていないので,他のセキュリティソフトを探してください」というものだった。

ということなので,ZoneAlarm10 Free Firewall をサーバのファイアーウォールとして使うことは断念した。

追記2(12/25):
今朝のログに
[warn] (OS 64)指定されたネットワーク名は利用できません。
[warn] (OS 121)セマフォがタイムアウトしました。
が出ていたので,やはり
<IfModule mpm_winnt_module>
Win32DisableAcceptEx
</IfModule>
を復活することにした。

  追記6(2013/8/11):
中途半端な場所に追記(汗)。
現時点でも,下記なしだと頻繁にハングが起こる。メッセージは,
「(OS 64)指定されたネットワーク名は利用できません。」
Apache2.4から,Win32DisableAcceptExの代わりにAcceptFilter Noneを使うことになったので,
<IfModule mpm_winnt_module>
AcceptFilter http none
</IfModule>
を入れている。

追記3(2012/1/2):
検索キーワードで「httpd-2.2.21-win32-x86-ssl.zipがダウンロードできない」というのがあって,なんだろうなとLoungeを見に行ったら,Apache 2.3.16 Release Candidateなんぞがあって,大分ページの雰囲気が変わっているし,表記が,httpd-2.2.21-win32-x86-ssl.zipじゃなくて,httpd-2.2.21-win32.zipになっている。「初めて落とすときは悩むよな」ということで,追記。
名称としてhttpd-2.2.21-win32-x86-ssl.zipはなくなっているので,代わりとしてはApache 2.2.21 Stableのhttpd-2.2.21-win32.zipを落とせばO.K.です。

追記5(4/11):
Apache導入についての新しい記事を,本家のお世話-#28。本家のお世話-#29。に書いた。