2009/08/21

apache-1.3 mod_ssl

復習大切ですよね、というわけで apache のこと復習してました

apache-1.3 の場合 mod_ssl ってのは本体とは別で配布されてます
本体も mod_ssl も展開して
./configure --with-apache=../apache-1.3.41
的なことをして設定
更に本体の方に移動して
./configure && make && make certificate && make install
的なインストールをします
設定ファイルは conf/httpd.conf に入ってまして
でも Listen するのが 8080 とか 8443 とかになってました
make certificate するときにオレオレ作ったんでそれが使われます
で、startssl

apache-2.0 の場合は本体に入っているので
./configure --enable-ssl
的なことをして設定
設定ファイルには 443 ポートでの設定が入ってる
設定ファイルは conf/ssl.conf が conf/httpd.conf から Include されてるので編集
証明書は作ってくれないのかな??

apache-2.3 の場合も本体に入ってる
設定ファイルは conf/extra/httpd-ssl.conf になってて
conf/httpd.conf からの Include は comment out されてます

にしても、apache 大きかったです

2009/08/20

ネットワークはほかのアプリケーションによって変更されました

Mac のネットワークの設定をしようと思って
「システム環境設定」から「システム環境設定」を開いたら
ネットワークはほかのアプリケーションによって変更されました
って言われました
OK を押すとまた出てきます

こ、これは前に出会ったやつだ! と思い
OK 押したその瞬間に左下の設定を lock する南京錠を押せば
設定が変更できるようになるんだったなと思ってクリック
そしたら、マウスカーソルが虹色にクルクルしたまま帰ってこなくなりました
これは困りました

とりあえずシステム終了させようとしたら強制終了の確認が出たので強制終了
も一度試してみたもののやっぱり同じ状態になったのでググりました
/Library/Preferences/SystemConfiguration/preference.plist
が悪くなってるからこいつを何とかしろって出てました
rename して退避してみたら無事設定ができるようになりました

よかった

2009/08/17

wpa wpa2 tkip ccmp

無線 LAN の設定をしてるときや
WEP や TKIP が破られたというニュースを聞く度に
どうも良く用語の理解をしていないなと思っていたので
どっかに良いまとめは無いものかとググってみました

AirMac では WPA=TKIP WPA2=AES に固定? - PB memo
暗号化アルゴリズムとしては RC4 や AES っていうのがあって
それらを使って wifi を暗号化する仕組みが WEP や CCMP で (プロトコル?)
WEP は弱かったんで少し手直ししたのか TKIP なのかな?

で、WPA と WPA2 の違いというのが、良く分からない
具体的にどこが違うのか良く分からないのですが
WPA(TKIP), WPA(CCMP), WPA2(TKIP), WPA2(CCMP) という 4 つ別のものがあって
それぞれに対応してないと接続できないようですねぇ...
で、WPA=WPA(TKIP), WPA2=WPA2(CCMP) という通り名が結構通用してる、のかな?
WPA と WPA2 の間の TKIP と CCMP の互換性の辺りが良く分からないんですが
どうも互換性無いようですねぇ

互換性を考えるといま素敵なのは WPA(CCMP) な気がするんですが
WPA(CCMP) に対応してないけど WPA2(CCMP) には対応してる機器もあるみたいなんで
中々悩ましそうです

2009/08/14

"http revision-up"

久し振りにヤマハの RTX1100 の設定のことをちょっと調べたら
ファームウェアも上がってたのでアップデートしようとしました

ヤマハのルータは何を考えてるのか分からない! ってくらい
頻繁に機能追加してくれて (仕様も変わったりするんですが)
知らない間に素敵機能が追加されてるかもしれないドキドキ感が味わえます

なのでリリースノートを遡って眺めてたら http revision-up を
定期的に行ってくれるっていう機能の追加がされていました
Rev.8.03.80リリースノート
え、なに、っていうか、http で上げれたの?

とりあえず tftp でアップデートをしてしまった後に
ちょっとググったらリリースノートを発見
Rev.8.03.37リリースノート
2006 年 3 月ですって、3 年前から存在してる機能でした
私が RTX1100 と出会う前からです...

次回は、http でやってみようかと思います
ちょっと怖いから定期的なのは今は見合せることにして

2009/08/12

x-forwarded-for combine

proxy 的なものがかまされると
apache なんかの access log が残念なことになってしまいます

Apache の log format の default は Common Log Format とかいって
"%h %l %u %t \"%r\" %>s %b"
だそうです (mod_log_config - Apache HTTP サーバ)
これは
%h でホスト名は取ってるんだけど proxy 使ってるとサーバの名前しか取れません

しかし、「x-forwarded-for と combine で FA」と耳にしたのでググってみました
[Pound][Apache]X-Forwarded-Forログ設定 : ブログシステム - BLOG.BBTUNE.COM -
なるほど、mod_log_config - Apache HTTP サーバ
%{Foobar}i サーバに送られたリクエストの Foobar: ヘッダの内容
ってのを使うんですね。
これでもぉログ取り放題です。

2009/08/08

chromium linux flash

Linux の Chromium どっすか?
みたいなことを聞かれたんですが全くいじってなかったので
試してみようかと思ってググって入れてみました

chrome linux とかで検索したら
Early Access Release Channels ‎(Chromium Developer Documentation)
ここに deb ファイルがあったんでインストール
1 つだけ足りないパッケージがあったんで aptitude で入れました
まぁ、それは、環境依存ですね

$ dpkg -L google-chrome-unstable
すると /opt に大体入ってるみたい
/etc/cron.daily/google-chrome ってのがあって
毎日最新版に update しようとしてるみたいです
自動更新嫌な場合は /etc/default/google-chrome を編集
/opt/google/chrome/google-chrome が起動スクリプトで
/opt/google/chrome/chrome が内部で呼ばれてるっぽく
設定ファイルは ~/.config/google-chrome に入ってます

設定画面を見るとテーマで GTK の設定と同調できるみたいなので
GUI は GTK を使っているのか日本語入力もスムース
twitter にも書き込めたし今これ書いてるのも chromium です

Flash が見れたらとりあえず不自由しないかな? と思い
再びググってみたところ
chromium alpha linux and flash - Google Chrome Help
I created the "plugins" directory inside the google-chrome directory and just put the file "libflashplayer.so" from Adobe there.
If you run "chromium-browser --enable-plugins" Flash works in the most recent build
とあったので
/opt/google/chrome/plugins を作ってそこに .so 入れて
--enable-plugins 付けて chromium 立ちあげたら YouTube も見れました

何だか Flash がとても安定しているような気がして
Firefox 3.5 以降で Flash 使ってると頻繁に落ちてて困ってたんで
選択肢が増えるってのは有難い話だしサクサクしてるってのも良い感じ
暫く常用してみようかなぁ〜、と思っています

[追記]
っていうか、起動したときの splash 画面に --enable-plugins しろって出てた!
package に flash がインストールされてたら、そっちを見てくれるみたいでした
わざわざ plugins 作らなくても OK か...

2009/08/07

openssl rsa "public_key"

また Ruby で CSR ですか、と思われても仕方無いのですが
今回は CSR を作りたいなというお話でして
色々ググったりして
RubyOpenSSLDigitalSignatureSample - Hironobu's Tips List
ここで秘密鍵のこと習ったり
Ruby のソース眺めたりして
結果こんな感じになりました

require 'openssl'
include OpenSSL

# RSA key pair を作る、引数は鍵長と exponent
pkey = PKey::RSA.new(1024, 65537)

# Subject 用にお名前を用意する
# oid と名前の pair を沢山渡す
# oid はどれ? という場合は http://www.alvestrand.no/objectid/2.5.4.html
# new でも渡せるし追加もできる
subject = X509::Name.new([['2.5.4.6', 'JP'], ['2.5.4.8', 'Tokyo']])
subject.add_entry('2.5.4.7', 'Chiyoda-ku')
subject.add_entry('2.5.4.10', 'example')
subject.add_entry('2.5.4.3', "www.example.com")
# subject = "/C=JP/ST=Tokyo/L=Chiyoda-ku/O=example/CN=www.example.com"

# 空の CSR を作って秘密鍵と Subject を登録
req = X509::Request.new()
req.public_key = pkey
req.subject = subject

# 最後に署名して終わり、鍵と hash 関数を与える
req.sign(pkey, OpenSSL::Digest::SHA1.new)

puts req.to_text
#Certificate Request:
# Data:
# Version: 0 (0x0)
# Subject: C=JP, ST=Tokyo, L=Chiyoda-ku, O=example, CN=www.example.com
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# RSA Public Key: (1024 bit)
# Modulus (1024 bit):
# 00:c3:a5:c1:63:63:0d:79:0e:94:e2:82:4f:97:97:
# 07:9a:26:86:8c:27:14:ef:99:ed:9e:9e:46:03:10:
# 9e:e9:6a:af:69:8a:11:47:29:55:c5:68:59:14:70:
# ce:6a:91:34:9a:59:98:1e:59:09:a3:f5:30:69:b6:
# bf:09:c2:24:5c:96:16:81:ef:4e:ae:51:70:0f:14:
# 03:9e:17:18:9c:c1:2c:c1:cb:5d:7f:9e:1b:4a:0d:
# 92:11:47:42:cc:71:23:54:0d:60:ec:79:4d:27:20:
# dd:f0:1f:31:06:c6:88:86:31:d5:a1:ba:91:5a:bb:
# 08:a5:29:4e:89:99:35:58:cd
# Exponent: 65537 (0x10001)
# Attributes:
# a0:00
# Signature Algorithm: sha1WithRSAEncryption
# 8b:df:fb:0f:5c:33:56:22:06:c7:1d:8d:df:a0:d3:fc:ea:ea:
# ff:bd:69:12:b5:f5:56:b2:9a:e0:38:2c:57:0e:99:33:97:93:
# 66:50:b4:68:d6:a4:9d:dc:71:77:48:1a:4c:a5:41:6a:33:29:
# 98:5a:ae:75:61:1f:0e:38:42:ab:29:e3:41:dd:bb:88:bf:d1:
# 27:2e:8e:91:c7:a8:a8:4a:f8:7c:dd:86:d5:48:94:19:a1:c0:
# 8a:bb:94:c2:c3:7b:50:7c:a2:9d:d3:45:45:59:cd:5c:d9:b6:
# a0:a6:db:13:32:75:27:3d:b6:84:a1:bb:30:6c:9b:8a:13:f7:
# ac:43


もうちょっとがんばって
  • Extension 書く
  • 日本語入れてみる
などあるかとは思いますが
まぁそういうのは追い追い