Security
Sep 02, 2010
iLogScanner v3.0
IPAがHTTPDのログの解析ソフトを公開していると聞いて
IPAがApacheなどのログを解析して攻撃を受けていることを検出するソフトを公開したと聞いた。iLogScannerという名前。v3.0だがそれ以前のバージョンの公開のときに聞いてない。
でやろうとしたのだが…。自分の環境では起動すらしなかった…。なんで今どきJavaアプレットなんだろうね。推奨環境はIE7でWindowsXPって意味不明だ。Javaを使ってなんでそうなるのかよくわからんな。Javaでやるのは結構なんだがアプレットなどというあやしげなものじゃなくてJava Web Startぐらい使ってくれればいいのに。
Oct 05, 2009
SSL証明書でクライアント認証をする
Apacheを使ってSSL証明書を使ってクライアント認証の実験をした。
まず次のものを用意する。
- CA証明書
- サーバSSL証明書 (PEMとKeyファイル)
- クライアント証明書 (PKCS12)
一々手で用意するのも面倒なので TinyCA を使って作成した。TinyCAの使い方は省略。
クライアント証明書認証の概念をおおざっぱに説明すると サーバ側にクライアント証明書を見せて、サーバが証明書が正しい(CAに署名されている)ことを確認して、接続を許可するという流れになる。通常のSSL接続の設定に比べると、サーバ側にCA証明書の設定が必要になる。
サーバSSL証明書の設定
まずは通常のApache+SSLの設定をする。あまり詳細な説明はしない。他を参照すること。mod_sslを導入した上で設定ファイルを書く。この時点でPEMとKeyファイルをサーバにコピーした上で設定が必要となる。
SSLCertificateFile /etc/ssl/apache/ssl-cert-ssltest.pem SSLCertificateKeyFile /etc/ssl/apache/ssl-cert-ssltest.der
この時点でブラウザで接続すると通常は証明書が信頼できない云々のエラーが出る。そこでブラウザ側にCA証明書をインストールする。手順は略。ただし、この手順はセキュリティ的には書いてあったからそのままやるとか思ってると将来大変なことになるので注意。
この状態で接続するとSSL証明書に関するエラーは出なくなる。
クライアント証明書の設定
サーバ側にCA証明書をコピーする。これをApacheに設定した上でSSL証明書接続を要求する設定も追加する。
SSLCACertificateFile /etc/ssl/apache/SSLTESTCA-cacert.pem SSLVerifyClient require
この状態で接続しようとしても接続できないことを確認する。
次にクライアント証明書をブラウザ側でインポートする。そのあと接続するとクライアント証明書を提示することの確認などがされて無事接続される。
環境変数のSSL_CLIENT_S_DN_CNに CommonName が入っている。これを利用してユーザーの確認をすればいい。
Apr 08, 2009
今年もJVNの証明書をインストールしたよ
もはや何がなんだか。
去年は間違った操作で削除しても困らなかった。今年も今日ログインして終わる気がする。
Jan 21, 2009
fail2banでtrackback spamを防ぐ
fail2banでうっとうしいtrackback spamを追い出そうとした。
fail2ban-regexで実験しようとしたら…???初期設定のものをテストしても一切引っかからないのはなぜに? と調べたら 0.7.5-2etch1は駄目だけど0.8.3-2では大丈夫。バグなのか? よくわからん…。
filter.d/zope-plone-trackback.confを作成して次のように設定。適当すぎるがまあいい。
failregex = <HOST> - - .*/trackback HTTP
jai.confに次のように設定。
[zope-plone-trackback]
enabled = true
port = http,https
filter = zope-plone-trackback
logpath = /var/log/apache2/access.log
maxretry = 6
こんな感じでやったら
# iptables -L fail2ban-zope-plone-trackback
Chain fail2ban-zope-plone-trackback (1 references)
target prot opt source destination
DROP 0 -- 92.48.127.153.svservers.com anywhere
RETURN 0 -- anywhere anywhere
とかなったので大丈夫かなと。
が、しかーし、逆引きはあるけど正引きがないという恐しいところホストがあった! log に逆引きで記録してあるから IP がわからないので規制できないというよくわからん話が…。
Jul 31, 2008
JPCERT/CC脆弱性情報ハンドリングワークショップ
まあ、一度行ってみた。8回目だったようだ。
僕はフリーソフトウェア作家の立場として行っている。やっぱり違和感があるんだよね。作成物に対する責任というのはあるのかどうか。報告してもらえるのはうれしいが、対処しなかったからと言って何やら言われるのはどうなんだという気がする。そこらへんはJPCERT/IPAの人も感じているようなんだけど。
あと、脆弱性の指摘。適当にしていいのか。治してくれないのはどうしたらいいか。商用サービスならいいが大学とかどうするんだ。予算がないからやらないというところをどうすればいいのか。悩みはつきぬ…。強制切断とかできりゃいいのか。
帰りにKDDIビルの写真を撮ってくるあたり壊れているよなあと思う。
Apr 06, 2008
JVNの証明書来る
今年もよくわからんJVNの個人証明書の取得の書類が送られてくる。
Mar 18, 2008
SGC SSL
ベリサインからDMが来た。グローバル・サーバIDなる証明書があるとのこと。
Mar 13, 2008
IPSecややこしい
規格があって相互接続もやっているだろうがね…。
Feb 26, 2008
tomoyoをためすはずが
頑張ってlinux-patch-tomoyoを当てたkernel-packageを作ったぞ。
Feb 22, 2008
JPCERTからお手紙
今年も来ました、SSLクライアント証明書申請様式。
JVNに登録されているので毎年出しているが、まともに使ったことが全然ない。中の人にも存在意義がよくわからんと直接文句言ったことがあるが、中の人も悩んでいるらしい。
あれ、返信封筒の切手自分で貼るの?去年までそうだったけ?
Feb 10, 2008
ライブラリのSSL証明書検証について
気になったのでざっと調べてみる。いろいろな言語のHTTPSを扱うライブラリで期限切れのSSL証明書を使っているサイトにアクセスしてみる。
- Ruby - open-uriを使ったら OpenSSL::SSL::SSLError: certificate verify failed となった
- Python - urllibを使ったらそのままスルー
- PHP5 - cURLを使ったら curl_execが FALSEを返すようだ。他のcURLも同じかな?
Feb 09, 2008
CAS認証について
どこぞで使っているCAS(Central Authentication Service)認証を使ったサービスをちょっと使ったので前から気になっていることをまとめて書く。
- クライアントとアプリケーションの参照しているDNSが両方乗っ取らられたら死ぬよね。認証サーバが変なとこ挿していても気付かない。
- さてアプリ側のDNSのみ乗っ取られたとする。偽CASサーバーを立ててアプリ側からそっちを見るようにする。偽CASサーバーは通常は透過的に本物のCASサーバーに接続させているとする。CASの手続として認証が終わったことにするとGETでチケットをアプリに渡して、アプリはチケットの検証を偽CASに問い合わせる。通常ならチケットは使い捨てのランダムな文字列なので、手動で適当にチケットを生成するなどの横取りは難しい。が、偽CASが偽チケットを許可したらどうなるか…。
- SSL証明書でサーバーの信頼性を確保?EV SSLじゃなかったら最近のSSL証明書なんてどこまで信用できるのやらという見方もできるよね。大体アプリのコードの中でSSL証明書の検証していますか?
- さて、この推測に誤りはあるのだろうか?
- さて、正しいものとして進める。確かにDNSを外部から乗っ取るのは楽ではないかもしれないが、DNSの管理者はアプリの管理者と同一とは限らない中でDNSの信頼性に頼るやりかたでいいのだろうか。脆弱性とはではいかんけどさ。SSL証明書がどこまで信用できるかがポイントかなあ。
- ところでせっかくのポータル上で動いてないのはなぜだろう。
Jun 23, 2007
新生銀行の認証方法
新生銀行の認証方法が変わったらしくて変な乱数表が送られてきた。
今さら乱数表かよ。キーロガーがしかけられるような環境では固定の乱数表なんか何の意味があるのかわからん。
Jun 21, 2007
Secure Matrix 雑感
CSEのSecure Matrixをちらっと見て、なんとなく疑問点。
Apr 28, 2007
JVNクライアント証明書更新
JVNのクライアント証明書の更新を行ったが…
サーバ証明書の設定がおかしいらしくてエラーダイアログが出る。理由は大体見当がつくのだが…。どうなんだあれは。

これはApacheの設定が悪いだろう。

