httpdでの認証がうまくいかない

それじゃ困るじゃないか。いや、全く困っております^^;

これまでかなり長い間、httpdの認証は、gdbmを使った、dbmmanageでやってきました。しかし、httpdを、2.4.xにアップグレードした後、認証がうまくいかないことが増えてきました。

いろいろ試して分かった事は、これまでに作ってあったデータベースにおいて、既存のユーザーのパスワードをdbmmanageで変更することは問題なくできます。

しかし、新しいデータベースを作ったり、既存のデータベースに新しいユーザーを追加した場合、httpdが認証しようとすると、ユーザーがいないと言うエラーがでます。

dbmmanageによる方法が陳腐化してるのかなと思い、いろいろ探してみました。しかし、これといった情報は見つかりません。

MySQLを使った認証というのがあったので、これはと思い、いろいろ調べましたが、モジュールの開発は2005年で終わっていて、現在の環境ではモジュールはbuildできませんでした。やはり、先々の事も考えますとApache httpdに標準で装備されている、認証法が無難だと思います。

結局htpasswdに戻る

ということにしました^^;

標準装備のものも切り捨てられてしまうことがありますけれど^^;

httpd 2.4.10 is up and running

ようやく,Apache httpd 2.4.10になりました.

これまでも何度か試みたんですが,どうも,設定が2.2.xの頃のままではうまくいかず,ああでもないこうでもないとやっているとダウンタイムが長くなってしまうので,KVM上に仮想マシンを仕立てて,2.2.xから2.4.xのupgradeのtweaksを覚えておいて,先ほど一気に^^; upgradしました.

なお,長いことSlackwareに元々付いていたパッケージをremovepkgで削除して,buildしたパッケージをmake installしてきましたが,最近はSlackBuildして,upgradepkgしてます.Apache httpd 2.4.xはSlackBuildでうまくいかなかったので,これだけはbuildして make installにしました.関連のapr, apr-utilはSlackBuildにしました.

httpd 2.2から2.4へ

もう,2年来の懸案事項となってしまいました^^;

ゼロから2.4のhttpdを立ち上げるのはそんなに苦労しません.distroによるお仕着せのconfigファイルをちょちょいといじれば,PHPもCGIも動いてくれます(というほど楽ではないけど^^; ).

アクセス制限の方法も,少しいじっていれば解ってきます.認証法は2.2と全く一緒です.

問題は,2.2で動いてきたサイトを2.4にする場合です.とにかく根気が要ります.

最初に試したcgi版のphpが動くサイトでは,最後の最後に来て,サーバーのルートをsymlinkにしていたのでは動かないと言うことが解りました.ここだけで,数時間^^;

クリーンインストールしたマシンでは,同じsymlinkで動くので,何とも悩みました.

動けばいいんです.理由は詮索しないことにします^^;

私の場合はSlackwareです.

Too Big To Fail

大きければ良いってもんじゃないって事を実感しました.

今回のOpenSSLの史上最悪のセキュリティーホール対策の話です.まあ,私が運営しているサイトなんか,意図的なクラックの対象にはならないと思いますが,そのうちネットをクロールしながら,総当たり的にクラックするツールなりウィルスが発明されて,どんなサイトも攻撃対象になり得ますので,対策を取っておきました.

対策の第一は,OpenSSLのupdateです.ふだんからソースからbuildしてますので,たいした手間ではありませんでした.

そして,サーバーの秘密鍵の更新です.サーバーの秘密鍵が盗まれても何の形跡も残らない,というこで,完全を期すならば,OpenSSLのupdateのあとにこの鍵の更新をすることが推奨されています.

証明書は,私の利用しているところは有効期限が半年なので,5か月内外で更新していますが,秘密鍵そのものは滅多に作り直すものでは無くて,タイムスタンプを見たら,どのサイトのものも2006年作成でした.で,自分のメモにしたがってやってみました.

メモには,キーのサイズを4096にするとあるのですが,前にキーを作ったのは,8年も前ですから,この際8192にしてみました.

私が管理しているサイトでは,httpd(HTTPS)の他,imapd(IMAPS)とsendmail(STARTTLS)がこの秘密鍵とそれぞれの証明書を使用しています.それら3つのサービスの秘密鍵と証明書を更新してデーモンを再起動しました.

httpdに関しては何ら問題がありませんでしたが,IMAP(IMAPS)とSMTP(STARTTLS)で接続できないとか認証エラーがクライアントから出ます.

昨夜から今朝までさんざん悩んで,sendmailをソースから再ビルドしたり,SASLのパスワードを設定し直したりしてみましたが,ちっとも症状は変わりません.ふと思いついて,

sendmail error 8192

で検索したらありました.キーサイズは4096までじゃないとsendmailのSTARTTLSは正常に動作しないようです.この他,IMAPS対応のメールクライアントやデーモン,プラグインでもNGなものがあるようです.

Heartbleed
ただし,HTTPSは正常に機能していましたが,DAVは動かなくなっていました.