設定したことを忘れないように書いてあります。
東芝のRD-X5を購入した。 これはネットワーク経由でいろいろ設定できるのだが、こんなこと も起こしている様に、インターネットにつなげる様なレベルのセキュリティ対策はなされていない。 新しい機種では、対策されたが、パスワードを設定できるようになっているだけで、SSLなどには対応していない。 でも、利便性のためには、インターネットに接続したい。
ということで、リバースプロキシ&SSLラッパーであるpoundを入れて、SSLによる暗号化をおこなえる ようにしてセキュリティを確保することにする。 また、こうしておけば、複数台のrdを設置しても一つのアドレスでアクセスすることができる。
まずは、poundをダウンロード。
tarボールなので、Vineの管理方式であるRPMを作成する。
参考までに、SPECファイル(SPECSに保管)、スクリプト(SOURCESに保管)、 pound.cfg(SOURCESに保管を置いておく。
rpmファイルを作成し、インストール
#rpm -ba SPECS/pound.spec #rpm -Uvh RPM/i386/Pound-1.8.2-1site0.rpm
次に、SSLラッパーで使用する証明書を用意する。 証明書は、/etc/poundに作成するので/etc/poundで作業する。
秘密鍵の作成
# openssl genrsa -rand /var/log/syslog -des3 -out server.key 1024 0 semi-random bytes loaded Generating RSA private key, 1024 bit long modulus .............................................................++++++ ...++++++ e is 65537 (0x10001) Enter pass phrase for server.key: Verifying - Enter pass phrase for server.key:
秘密鍵からパスワードを削除
#openssl rsa -in server.key -out server-nonpw.key Enter pass phrase for server.key: writing RSA key
証明書の作成
# openssl req -new -key server-nonpw.key -x509 -out server.pem You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JP ← 国コード State or Province Name (full name) [Some-State]: ← 州。日本なら県 Locality Name (eg, city) []: ← 市 Organization Name (eg, company) [Internet Widgits Pty Ltd]: ← 所属 Organizational Unit Name (eg, section) []: ← 部署 Common Name (eg, YOUR name) []: ← サーバー名(DNS名) Email Address []: ← E-Mailアドレス
パスワードなし秘密鍵ファイルを、pemファイルと一体化させてpound用の証明書にする
# cat server-nonpw.key >> server.pem
パスワード付き秘密鍵ファイルは不要なので削除しておく。
次に、/etc/pound/pound.cfgの編集
ListenHTTPS 192.168.a.b,443 /etc/pound/server.pem ← サーバーのアドレス。HTTPSプロトコルをポート443で待つ。 UrlGroup ".*" BackEnd 192.168.c.d,80,1 ← RD-X5に設定したアドレス・ポート。 EndGroup
以上でとりあえず完了。ブラウザで、https://192.168.a.b:443をアクセスしてみて確認。
RD-X5購入したが、こいつの機能を生かすためには、LANに接続しなければならない。 ところが、AVラックとの配線をするためには、床にケーブルを這わせるはめになってしまう。それは美しくないので、無線レピータを購入しようと近所の100満ボルトへ。
ただ、結構値段がしたのと、ノートPCを更新して、802.11a/b/gがつかえるようになっているため、この際とおもって、 無線基地局をAterm WR7800のセットに更新。ただ無線LANの子機の設定は結構苦労した。マニュアル通りにやってもエラーばかり。何度かやってなぜか設定可能に。
Just my shopて購入。
今回の追加の目玉は、spamフィルタとTODOリストだが、特に惹かれない。だが、不満もすくないので最新版に更新しておくことに。 今回、メールで意見が挙げられるようになっていたので、改善要望を記入してメール。
会社のサーバで、smbmountを利用しているが、Windows上で別々のディレクトリがLinuxからマウントしたファイルシステム上では区別されず、片方のディレクトリしか参照されないという現象が発生。 現象自体は前から知っていたのだが、あまり利用されていないディレクトリなのか、苦情も出ていないので放置していた。
しかし、先日ディレクトリ構成を変更したら、利用されそうなディレクトリでも現象が発生したので、対策をすることとした。 だが、もともと手がかりもないため放置していた案件なので、まったく対処のしようがない。
八方塞がりなので、参加しないでいたsamba-jp メーリングリストで質問することとした。 sugjのメンバーではあったけど、アクティブに活動できそうもないMLにはいるのは気が進まないのでsamba-jpには 入っていなかった。
すぐに「kernel依存であり、fs/smb/dir.c中のsmb_compare_dentry()が問題(意訳)」と回答をいただいた。
kernelに手を入れるのは初めての上、全体の中でどのような依存があるかも理解していないので、 ソースを眺めながら、kernelに手を入れるべきかどうすべきかしばらく悩んでいたが、結局手を入れることにした。
下が変更内容。オリジナルでは、有無をいわさずtolowerしていた部分をascii文字だったらtolowerすることに。 そもそもtolowerはacsii文字にしか効かないのだし、これなら元とあまり文意は変わらんだろう。
Sjis依存で書くならばAnalogの時のように先行バイトをチェックしてSjisの第二バイト 目を無視するようにすべきだろうが、他のコードの事を考えるとSjisだけを改善してもスマートではないためやめた。
--- fs/smbfs/dir.c.org 2004-01-08 09:23:17.000000000 +0900 +++ fs/smbfs/dir.c 2004-01-08 09:38:45.000000000 +0900 @@ -328,8 +328,13 @@ if (a->len != b->len) goto out; for (i=0; i < a->len; i++) { - if (tolower(a->name[i]) != tolower(b->name[i])) - goto out; + if (isascii(a->name[i]) && isascii(b->name[i])) { + if (tolower(a->name[i]) != tolower(b->name[i])) + goto out; + } else { + if (a->name[i] != b->name[i]) + goto out; + } } result = 0; out:
上記パッチは未保証です。もし物好きにも使おうとする人がいる場合はat own riskで。
幸いにも? smbfsはモジュールで組み込むようにしていたため、上記変更をした後、make modulesでモジュールを作成。 現在使っているkernelを作成した状態のままになっていたため。 fs/smbfsにできたsmbfs.oを/lib/modules配下のsmbfs.oと置き換え(当然、オリジナルはリネームしてとっておく)、 リブートしたところ、ディレクトリを区別できるようになった。
しかし、なぜtolowerしているのか疑問。大文字小文字を区別しないようにするためだろうが。 NFSサーバとクライアントの実装を調べないとちゃんとした対処はできなさそう。 クライアント側にエントリが複数あっても指す先は一つじゃない?
暇になったので、Shuriken Pro3の不満を書いておく。 ほんとはサポセンにメールしたいのだが受け付けメールアドレスがない。
メーリングリストに返信するとき、fromアドレスに返信できない。会社で使っているとこれが一番めんどう。 会社のメーリングリストの場合、受信者を複数にして対応するためのものなので、返信は基本的に送信元に返信で、 CC:でメーリングリストというパターンなので、これはつらい。
下に書いた、送信メールにチェックがつかないの件は、認識違いで、送信フォルダから移せばチェックがつくようだ。 でも、それをキーとしてソートできないのは片手落ち。
受信メールを編集できない。送信者が間抜け場合、へんな改行などがはいって気持ち悪いので、受信メールに手を入れることがあるのだが、このようなことができない。
とりあえず、こんなところか。
まだまだほかにも引っかかることが多い。慣れの問題もあるかもしれないけど、いちいち引っかかって効率が悪い。
ライセンス的には、同時使用でなければOKとなっているので、Shuriken Pro3を会社のマシンにインストール。
しかし、会社で使うと決定的にAlmailより劣る点を発見。
テンプレート機能を頻繁に使っていたのだが、Shurikenでは、テンプレートは送信時にしか使えない。 転送時や返信時に宛て先ごとにヘッダやタイトル、文面を変更したいのだが、そのような機能がまったくない。
また、テンプレートもラベルにより一定の文面を挿入できるのだが、使えるラベルが少なすぎ。
まぁ、送信時のみにしかテンプレートが使えないので、そんなものかも知れないが、ヘッダ情報も使いたいものだ。
あと、自分の送信したメールにチェックがつかないのも保管するときに不便。bccで自分宛に送ればメールアドレスに チェックがつくようだが。送信控えを毎回作らなければならないのが不便。
振り分けや検索もちょっと使いづらい。この辺は慣れの問題かもしれないが。
IMAP4との連携は特に不都合はない。 フォルダの移動が簡単にできないのが不満だが、まぁ作り直して移動すればよいのでとくに問題はない。
OutlookやEudoraだけみて開発しないで、昔一斉を風靡したAlmailもみて開発してほしいものだ。 鶴亀メールがIMAP4に対応したら検討してみよう。