I ♥ WordPress

名前ベースのバーチャルホストでそれぞれの証明書を使う
2007/07/05 01:12 posted by kunkichi

『セキュリティホールMEMO』にこんな記事が載ってました。

■ 2007.07.04

・名前ベースのVirtualHostでそれぞれのSSLサーバ証明書を使う (Web Security Memo, 7/4)。

RFC 3546 - Transport Layer Security (TLS) Extensionsというものがあるのですか。

ということで元記事の『Web Security Memo』。

Web Security Memo : 名前ベースのVirtualHostでそれぞれのSSLサーバ証明書を使う

Name-based SSL virtual hosts』 より、

名前ベースのVirtualHostでSSLを使う場合、以下の方法をとれば、それぞれのVirtualHostごとの証明書を使うことができます。

これは結構驚き。名前ベースのバーチャルホストではSSLが使えないというのが当然だと思ってました。固定概念って怖いね。

(※ 厳密に言うと”SSL”の部分はできなくはないけど、”証明書”があんまり意味をなさなくなる。個人の自宅サーバならともかく、商用サイトではそんなんありえないすね。)

まだちょっと experimental な感じもするし対応しているブラウザも少ないみたいだけど、IPアドレスが節約できるのはいいな、管理も楽になるし。

時間があるうちに試してみようっと。

dig の出力に色をつける dig-color(perl版)
2007/07/04 02:09 posted by kunkichi

せっかく『あわせて読みたい』の画像をはっつけたので、どんなサイトが「あわせて」読まれてるのかな?ということで、リンクをたどってみたら、こういうのを見つけました。

cl.pocari.org - dig の出力に色をつける dig-color

dig の出力に色をつける dig-color というのを作ってみました.
リソースレコードタイプは A/NS/CNAME/SOA/MX のみにしか対応していませんので,そのほかのタイプが必要であれば追加してください.

こちらはRubyで書かれているようで、Rubyが入ってない環境は結構あるかなと思ったので、Perlで書き換えてみました。

#!/usr/bin/perl -w
 
use strict;
use warnings;
 
my %colors = (
    "section" => "02;01",
    "comment" => "37",
    "normal"  => "00",
    "A"       => "32",
    "NS"      => "34",
    "CNAME"   => "36",
    "SOA"     => "33",
    "MX"      => "31",
);
 
my @return = readpipe( "dig " . join( " ", @ARGV ));
foreach my $line ( @return ){
    my $color = $colors{"normal"};
    if( $line =~ /^;;.+SECTION:$/ ){
        $color = $colors{"section"};
    }elsif( $line =~ /^;/ ){
        $color = $colors{"comment"};
    }elsif( $line =~ /^(.+\s)(SOA|NS|A|MX|CNAME)(\s.+)$/ ){
        $color = $colors{"$2"};
        # レコードタイプのみに色を付ける場合
        #$line = sprintf "%s\e[%sm%s\e[00m%s\n", $1, $colors{"$2"} ,$2, $3;
    }
    printf "\e[%sm%s\e[00m", $color, $line;
}

ま、単にPerlの書き方に変えただけなんだけど。変数とか配列とかの書き方とか、あとpopen使ったことないのでreadpipeに置き換えただけみたいな、本当にその程度。

むしろ、出力に色を付けるのは詳しく知らなかったので、その辺はいじらないでそのまま動かしたら、サラッと動いちゃったので本人がびっくり、みたいな(爆)

結果はこんな感じ。

dig の出力に色をつける dig-color(perl版)

色がつくだけで何気に見やすくなるんですね。オリジナルの作者の方のアイデアに感謝。

ターミナル環境をターボチャージ!
2007/07/03 20:59 posted by kunkichi

ターミナル環境をターボチャージ!

lifehacker.com に『HowTo: Turbocharge your terminal』という記事が掲載されています。(原文ままのタイトルですね)
ということでターミナルを便利に使うための .bashrc の設定がいくつか紹介されていたので paralles にインストールしてある CentOS 5でやってみました。

(more…)

qmailのログ
2007/06/26 00:26 posted by kunkichi

qmailのログはちょっとつらい。

qmail のログはいいかげんにもほどがある。ほかの機能がいくらすぐれていたとしても、何が起きたのか後から追跡できないものを使うというのは信じられないことだ。djbware はセキュアだとよく言われるが、これはバグが少ない、万が一バグがあって侵入されても被害を受けにくい作りになっているという意味である。しかし、アクセスを許可したクライアントの挙動を後から追跡できるようなトレーサビリティの確保もセキュリティの重要な要素のひとつである。qmail は、これがまったく欠けている。この観点からいえば、qmail はセキュアではない。(ore.dyndns.org - qmail でまともなログを取る)

運用したことがあるとほんとそう思います。

どちらかというと、「パッチを当ててもっと便利に使おう」ではなく、「パッチがなきゃこんな基本的な機能も実現できないものは捨てろ」という意識でこれを書いている。

(・∀・)ノ サンセー!

結局のところ、パッチやらサード・パーティのツール使っていろいろやるってのは、いろいろと問題を生んだりもする。
「qmailと親和性が高い○○○」みたいなキャッチコピーはもう信じない。具体的に何とは言わないが。

終わってるITスキルトップ10
2007/06/25 00:29 posted by kunkichi

ちょっと古いけど、スラッシュドットジャパンにこんな記事が。

終わってるITスキルトップ10

本家/.の記事より。「The top 10 dead (or dying) computer skills」、すなわち「死んだ(あるいは死にかけの)コンピュータスキルトップ10」と題したComputer Worldの記事が話題になっている。

元はアメリカのコンピュータ雑誌のようだけど、要は「これからは○○○だ!」と言われて廃れてしまったIT技術・スキル・資格のベスト10らしい。

で、肝心のベスト10はというと、

  1. COBOL
  2. リレーショナルでないDBMS
  3. IP以外のネットワーク
  4. cc:Mail
  5. ColdFusion
  6. C言語(!)
  7. PowerBuilder
  8. 認定 NetWare エンジニア
  9. PC ネットワーク管理者
  10. OS/2

んー、大体それっぽいのが並んでるけどC言語もなのかぁ、昔はそう思ったこともあるんだけど、最近はちょっと変わりつつあります。

仕事でサーバの運用をやってると、パフォーマンスやら負荷やらを監視することが当たり前になるんだけど、そこを突き詰めていくと、OSの仕組みを知ってないとやっぱり難しい。例えばOSがCPUやメモリをどのように扱ってるか?なんてのは、OSの実装がどうなっているかということと同じ。で世のOSというものは大概Cで書かれているわけで、Linuxあたりはソースが公開されているので、知りたきゃソース読め!と。つまりCに行き着いてしまうわけです。

それにサーバで動かすような主要アプリケーション、例えばapacheとかpostfixとかphpとか、こういうのも全部Cで書いてあるわけだしね。読めればもっと深く潜れるわけ。

僕も以前開発をやっていたときは、最近流行ってるPHP・Perlあたりのスクリプト系言語のほうがソース=実行プログラムで管理も修正もしやすいし、ビルドしちゃったらもう中身がわからないCみたいなのは時代遅れだと思っていたのだけど、それは管理手法の問題であって、本質的な問題ではないことに気づいていなかったんだよなぁ。若気の至りです(笑)。

とまあそんなわけで、Cの知識は重要。そしてこれを読みました。


この本、Cの書き方についてはあまり、というかほとんど書いてなくて、CのプログラムがCPUやらメモリやらとどう連携して動くのか?ということについて書いてある。こういうアプローチはおもしろい。運用してる側からすると特に。良書。

これでやっと次入門できます(笑)

Linux Raid 入門
2007/06/24 15:56 posted by kunkichi

ちょっと前に仕事で徹夜があったんだけど、徹夜明けの帰り道、フラフラしながらも本屋によってみるとこんなのを見つけて思わず買ってしまいました。


基本的にはLinuxでのソフトウェアRAIDの構築・運用の仕方についてまとめた本。まあよくもこんなニッチなトピックで出版できたなー(笑)でも、確かにLinuxのRAIDの情報については、ネット上でも整理できているとは言いがたいのが現状だし、ニーズはあるのかも。現に僕は即買ったわけだし(笑)

内容としては、基本的なRAIDの考え方から始まって、パーティション設定やファイルシステム関連(ext3/xfs/ReiserFS)あたりの基本的なコマンド、それらをふまえてのソフトウェアRAID構築・運用の説明がメイン。おまけでLVM・バックアップ当りにも触れているので、一通り押さえているという印象。

各コマンドの説明なんかはman叩けよ(爆)という感じがしなくもないけど、コマンドオプションとかは特によく使うものだけわかっていればとりあえずは十分だし、内容的に系統だててまとめてあるとやっぱり理解しやすいので、ニッチなトピックだけども、書籍としてこういうまとめ方は好印象。

で、ちょっとLinuxのRAIDについての私見。

数年前に、仕事で使っているOSを商用UNIXからLinuxへの移行したいなと考えたことがあって、コスト的・運用的な面を考えてもLinuxのほうがいいなと思っていたのだけど、ネックになったのがRAIDの実装。

やっぱり商用OSのRAIDの実装はよくできていて、それはもちろんソフト・ハードの両面があるからなんだけども、Linuxの場合、ソフトウェアとハードウェアは(基本的に)別だから、商用のようなスムーズな実装は難しいだろうし、やろうと思えば専用ハードを追加してできないことはないけど、でもそれだとコスト的なメリットが出にくくなる。

この辺りを考慮したとしても、当時のLinuxのRAIDは、実運用する側からするとちょっと弱いという印象があったのだけど、一通り読んでみると結構ちゃんとできるようになったのだね、という印象。最近のディストリビューションだとちゃんとインストーラの時点でRAID構築みたいだし、RAID関連コマンドもある程度そろってるみたいなので、これなら実運用でも使えるかなぁと、ちょっと期待できる感じにはなってきている気がします。

あ、そう、一つ思い出した、ソフトウェアRAIDは壊れることも多々あるよ、ということと、その場合にどうすればいいの?というのは運用ノウハウとしては大事。さすがにこの本でもその辺には触れていないので改訂の際には是非。改訂されることがあるか怪しいけど(爆)

結論:ハードウェアRAIDがよいね(爆)

今更入門書
2007/06/19 21:52 posted by kunkichi

最近は通勤でこれを読んでます。


今更入門書、って感じだけど、amazonのカスタマレビューの評価が軒並みよかったので、中古でゲット。でまだ読み始めたところなんだけど、これがなかなかの良書な感じ。一通りの範囲は網羅していて情報量は確かに多いのだけど、説明がとても簡潔でわかりやすい。個人的には、起動シーケンスのところがよかった。って今まであんまり気にしたことがなかっただけだけど(爆)。

でもサンプルで記載されてるネットワーク構成もそれなりに本格的だし、トラブルシューティングのコマンドあたりは日頃仕事で普通に使ってるものなので、後輩サーバ運用エンジニアを育てる教材としてはいい感じかなと。

お、僕もずいぶんとえらそうになったもんだ(爆)

Cent OS 5をParallesにインストールしてみた
2007/06/05 01:19 posted by kunkichi

やっとDVDイメージを落とし終わったので、Parallelsにインストールしてみたメモ。インストール時の注意は以下。

  • インストールモードは”Custom”
  • OSタイプは”Linux”、OSバージョンは”Red Hat Linux”。CentOSの場合、RHELかFedoraなんだろうけど、よくわからんのでとりあえず。
  • ネットワークは”Shared Networking”。ローカルだけでも、ネットワークにつながっている時も両方使えるので。
  • OSインストールは画面の指示に従って適当に。
  • ネットワークはParallelsの「Preferences」→「Network」で下の段の”Shared Networking”に指定されている範囲で。うちの設定では、
    • Start:10.211.55.1
    • End:10.211.55.254
    • Mask:255.255.255.0

    になっていたので、

    • IPアドレス:10.211.55.3/24
    • DHCP:不要
    • ゲートウェイ:10.211.55.1(Parallelsの仮想NATルータ)
    • DNS:10.211.55.1(Parallelsの仮想NATルータ)

    を指定。

  • システムクロックでUTCは使用しない。
  • ソフトウェアセットの選択では全てチェックを外して、「今すぐカスタマイズする」を選択して次に進む。
  • カスタマイズ画面では以下を追加。
    • 「開発」→「開発ツール」「開発ライブラリ」にチェック。
  • インストール後の設定では、
    • 「Firewall」をDisabled、SELinuxも同様

あとは大体の4.4時と同じやり方で。

4.4から比べると、めっちゃ違うって言う訳でもないと思うんだけど、微妙に違うね。

気になる、、、
2007/05/31 00:40 posted by kunkichi

この本


プログラミングというよりは、サーバ運用として、この手の知識の必要性を最近切実に感じる。

CentOS 5.0 Released
2007/04/13 20:21 posted by kunkichi

CentOS 5.0がリリースされたみたい。

スラッシュドット ジャパン | CentOS 5.0 リリース

CentOSはRed Hat Enterprise Linux(RHEL)のSRPMから作成されているRHELクローンの1つで、CentOS 5.0は3月14日にリリースされたRHEL 5がベースとなっている。

まだ、i386版とx86_64版しかでてないしServer版も出てないのだけど、軽くさわっとおくか。そんなに大きくは変わらんだろうし。

そいや、Debianも4.0(etch)が出てた。

スラッシュドット ジャパン | Debian GNU/Linux 4.0 (”etch”) released

今使い始めたなら当分の間リリースもあがらんから長く使えるやろけど、逆に言うと出たばっかしは怪しいというのもあるかな。パッケージが多いのは確かに魅力なんだけど。まあ暇があればやってみるべし。

このページの先頭へ