文房具としての 図 32 保存画面 Fi1e Status Hodified 物 0 「」 ect & 1 連載コ 4 X れ 9 : Sa 0A5 P 「 0 i ” Figure connents : 当 p 、 0 囈け 5 」 図 33 工クスポート画面 X 9 : Export menu Languaee &EPS Postscript) Hagnification POStscriPt EPS <EncapsuIated Postscript) ロ Export 011 EPS uith RSCII p 「 e i 材 ロ Export 純 EPS gith .och 「 0 れ 0 TIFF previeg をコ 0 「田北 Fi1e 日 1 。 e ロ Fie 「 i1 ・ s *. fig dinline.fig Ⅱ ps ← g. 社 e scale.fig splines. fig ie - 材 0 材 . 「 ig Border Hargin Grid ◆ tlino•、 De 「」 1t FiIe Output Fi1e Existing FiIenane hask Current 0 加 Directories Hone Shou Hidden Rescan EPS uith C010 「 TIFF p 「 e ⅵ材 PDF (POI 、 table D(K:unent FOI 、 nat) LaTeX bo 暑 ( fi 部 0 bo Ⅲ池 a 「 ) LaTeX picture LaTeX picture ・ epic 物 00 「 0 & LaTeX picture ◆ eepic nacros LaTeX picture + eepicenu れ 00 「 os Conbined PS/LaTeX (both parts) Conbined ・ /LaTeX (both parts) PiCTeX ” acro & IB 砒 . ( 、ヨ GL ) Textg1 、 special connands TPIC PIC HTHL lnage Hap 祚・ (HetaFont) (hetaPost) HHP <Hu1ti HetaPost) CGH ( [ 0 put 、 Graphics Hetafi1e) Binarg CG E 袵・ <Erüianced Hetafi1e) Tk (TcI/Tk toolkit) SVG ( Sca1ab1e Vector Graphics; beta) ( X11 Pixnap) ( X11 Bitnap) TIFF ( れ 0 conpression) ( 朮 0 [ ad S1ide) (Portab1e Pixnap) (PortabIe Netuork Graphics) ()C Paintbrush) EG (Joint Photo. Expert 。叩 (Graphics lnterchange Fo 「 at ) Bi し第引 ) FO 「 a し s XPh XBH S し 0 PPH PNG PCX GIF ni れ ag / t001S / Hask Current Oi 「 Directories Hone Shog Hidden 日 . fig . 「土 g. g ~ ・ . 「 ig. [ と ] / ho れ e / お ya / 材 0 「 k / / s n - 「 eposito 「ツり ni れ ag / t001S / 10- 暑「地 / x 「 ig ロ メニューから、、 Save " を選択します。すると保存画面 ( 図 UN 工 X MAGAZINE 2005.7 Text Flag Hidden を指定すると、テキストが表示されるはずの場 Rigid/Special の 2 つの値が指定できます。 フラグが指定できます。それぞれ、 NormaI と Hidden/ 図 34 のように、 Hidden 、 Rigid 、 SpeciaI の 3 つの した。これは何に使うのでしようか。 テキストを書くときに TextFIags という属性がありま のウインドウが開き、さまざまな設定がおこなえます。 E 卩刷も、 FiIe メニューから、、 print" を選択すれは印刷用 示されるように保存することもできます。 tive" をチェックすると、現在表示しているレイヤだけカ俵 layers" にチェックが入っていますが、、 Export only ac- ソースコードなども生成できます。標準では、、 Export all していることが分かりますね。 INIbX の picture 環境の を指定します。図を見るとさまざまなファイル形式に対応 面が開くので、保存したい形式と場所、そしてファイル名 メニューから、、 Exp 。 rt " を選択します。図 33 のような画 ほかのフォーマットに変更して保存したい場合は、 File して保存しましよう。 32 ) が表示されるので、ファイル名とディレクトリを指定 図 34 Text Flag の指定 125 イルが生成されるので、 INIVX のソースコードで図 35 の してください。すると拡張子が pstex と pstex-t のファ 、 Combined PostScript/LaTeX (both part)" で出力 をきれいに図に挿入できます。それには工クスポート時に まま出力できます。この機能を使うと、複雑な数式など クスポートするときに、 INIFfX のコマンド文字列をその SpeciaI を指定すると、図をフォーマットでェ ても、テキストのサイズは変更されなくなります。 まれていた場合に、複合オプジェクトのスケールを変更し Rigid を指定すると、テキストか馥合オプジェクトに含 うなときに利用されることが多いようです。 いテキストがあると作業しにくい場合があるので、そのよ どには正しくテキストが表示されます。図形の描画時に長 所に代わりに、、 < < > > " が表示されます。印刷するときな special FIag ー Rigid FIag ー Hidden FIag ー Text FIags
連載 / Linux のツールたち 図 13 wnn7egg による入力 「 i le Eclit ticns し f にを Toals Hel.1 ~ L 第十 1 トー If 材富 7t tO ロ、 83t a file, visit that fiie h C-x C-f, ion. 1 よ S bufter 13 for notes リ 0 リ t 朝 -lt. 地 sa も fo に Lj. 印 ー廿に n enter 廿汜 text 加 that 信厄 ' s own ff 日、 . ュ回凶 ー EEE : をれ「 1 第れ at け (L に 1 0. あ 1. ア . 韭 3. ( ▽ ; ) 無効になります。 kinput2 からの利用 4. ア 5. *CcWnn . wnnEnvrc6 : - /usr/1ib/wnn8/j a—JP/wnnenvrc 一方、特定のユーザーのリソース設定を変更したいとき は、そのユーザーのホーム・ディレクトリにある . Xr ← sources ファイルに以下の行を追加します。 12 Wnn8 の場合は、 /usr/lib/wnn8/ja-JP/wnnenvrc です IIIMF カ駛えるのなら kinput2 は不要かもしれません が、すこし設定を追加するだけで OS に付属の kinput2 が そのまま利用できます。参考までに、設定方法を紹介して おきましよう。 kinput2 は、 Wnn の境設定ファイルである wnnenv- rc を参照します。 Wnn7 と从ⅲ n8 では wnnenvrc のパ スが異なる 12 ため、そのままでは kinput2 が Wnn8 の jserver に接続できません。見方を変えると、この点さえ 修正すれは既存の kinput2 がそのまま使えることになり ます。サポートページには、以下の 3 つの修正方法が掲載 されています。 1. kinput2 のオプションで指定 kinput2 の—wnnenvrc オプションをイ吏用すると、 wnn- envrc ファイルのパスを変更することができます。した がって、 kinput2 —wnnenvrc /usr/1ib/wnn8/j a-JP/wnnenvrc と実行すれば、 Wnn8 の環境設疋ファイルが参照される ようになります。 2. X のリソースファイルで指定 kinput2 のリソースファイル (/usr/X11R6/Iib/XII /app-defaults/Kinput2) に、以下の 1 行を追加しま す。 UNIX MAGAZINE 2005.7 Kinput2*CcWnn. wnnEnvrc6 : - /usr/1ib/wnn8/j a—JP/wnnenvrc どちらの場合も、 X を再起動すれは変更が反映されます。 3. 環境変数で指定 kinput2 は環境変数 WNNENVRC を参照するので、 シェルの言定ファイルなどに以下の行を追加します。 ・ B シェル系 (bash など ) の場合 export WNNENVRC=/usr/1ib/wnn8/j a—JP/wnnenvrc ・ C シェル系 (tcsh など ) の場合 setenv WNNENVRC /usr/1ib/wnn8/j a-JP/wnnenvrc 上記のどれでもよいのですが、 kinput2 をコマンド行で をインストールすると FreeWnn は削除されるため、今回はこれを流用 13 もともと、これは FreeWnn を使うためのスクリプトですが、 Wnn8 の代わりに kinput2 経由で Wnn8 が使えるようになり カメソッドを切り替えてから X を再起動すれば、 IIIMF そして、、、 im—switch —s kinput2—wnn" を実行して入 GTK_IM_MODULE=xim —wnnenvrc /usr/1ib/wnn8/j a—JP/wnnenvrc" XIM_ARGS="—wnn -jserver localhost + kinput —xim \ XIM_PROGRAM=kinput2 XIM=kinput2 中身を以下の内容に置き換えます。 トである /etc/X11/xinit/xinput. d/kinput2-wnn13 の 一方、 FC3 では、入力メソッドのセットアップ・スクリプ 様、 Wnn8 特有の機能 ( つながり予測など ) は使えません。 用できるようになります。ただし、 wnn7egg の場合と同 あとは、 X を再起動すれば kinput2 経由で Wnn8 カ坏リ —wnnenvrc /usr/1ib/wnn8/j a—JP/wnnenvrc & kinput2 —xim —kinput —wnn \ export QT—IM_MODULE=xim export QT-IM—SWITCHER=imsw-mu1ti export GTK—IM_MODULE=xim export XMODIFIERS=" @im=kinput2" ~ 89 行目 ) を、まるごと以下の内容に置き換えます。 す。それには、 Wnn8 用の httx を起動している部分 ( 78 して IIIMF の代わりに kinput2 を起動するようにしま 入力メソッドのセットアップをおこなうので、これを変更 SUSE92 の場合、 /etc/X11/xim スクリプトを用いて を紹介しておきます。 方法を使い、 IIIMF の代わりに kinput2 を起動する手順 実行するケースはあまりないでしよう。そこで、 1 番目の しています。 159
連載 / ネットワークとセキュリティ 図 2 SPF の仕組み (example.net のアドレスでメールを送信する場合 ) 爪 MX 5 ns. example.net. 爪 A 1 1 1 .222.333.444 IN TXT "v=spfl + mx -all" ③レコードをもとに詐称されたアドレスかどうかを判断 ② DNS に SPF レコードを問合せ example. net の DNS mail. example. net ( SPF に対応した メールサーバー ) 三 example. net : ns. example. net : example. net ①外ロのメールサーバーからメールを受信 HELO ns. example. net MAIL FROM: <info@example.net> RCPT TO: くtrue@example.jP> 原稿早く送ってください HELO 0「e0「e. example.net MAIL FROM: <info@example.net> RC PT TO : <true@exampIe.jP> これは SPAM です ns. example. net 1 1 1 .222.333.444 ( SPF に対応したメールサーバー ) spammer.example.com 192.0.2.2 ( SPAM 送信者のメールサーバー ) wong 氏によって提唱されています 1 ドレスから配送されてきた場合には、メールアドレスが 乍称されているとして、その旨をメールのヘッダに追加 図 2 に、 SPF の動作の概要を示します。 したり、メールの受信を拒否できます。どのような対処 1. SPF に対応したメールサーバー (MTA) カト部のメー がおこなわれるかは、受信側メールサーバーの設定に依 ルサーバーからメールを受信します。この例では、 mail 存します。 ・ example. net がメールを受信する側のサーバー n,S. SPF レコードが記述されていないドメイン名の場合に example. net がメールを送信する側のサーバーです。 は、 SPF 未対応として扱われます。 2. 受信側メールサーバーでは、 SMTP のセッション中に Sender ID MAIL FROM: コマンドで指定されたメールアドレス (Envelope Sender) のドメイン名をもとに DNS の Microsoft は、 SPF を拡張した技術である、、 Sender SPF レコードを参照します。この例では、 info@ex- ID" を提唱しています。 SPF が Envelope Sender のド ample. net カゞ Envelope Sender なので、 example. net メイン名のみを認証するのに対し、 Sender ID では En- velope sender に加えてメールの Frorn ヘッダなどに含 ゾーンの SPF レコードを問い合わせます。 3. SPF に対応しているドメイン名の場合には、 DNS から まれるメールアドレスも認言寸象としています。 example. net ゾーンの SPF レコードが得られるので、 ただし、 Microsoft がライセンスの取得を要求している その内容をもとに接続元メールサーバーの IP アドレス ため、 Debian や Apache Software Foundation といっ を比較します。そして、 info@example.net から送られ たオープンソース・コミュニティが反発しており、 Sender たメールが、 SPF レコードで指定された IP アドレスか ID を採用しない旨を表明しています。 ら配送されていれば、メールアドレスが詐称されていな なお、両者を区別する際、 SPF のほうが Sender ID よ いことカ吩かります。一方、まったく関係のない IP ア りもさきに提唱されたので、前者は、、 SPF Classic" と呼 ばれることもあります。 1 なお、原不筆時点では、インターネット・ドラフト (draft-schlitt-spf- classic-01) が Network Working Group に提案されています。 0 一三ロ 47 UNIX MAGAZINE 2005 . 7
特集 SOHO 向けサーバーの構築 [ 2 ] 図 3 cyrus-sasl-vl. spec の修正点、 2 : 160 : %define release 0V13 . 1 ←オリジナルと区別するために、 .1 " を追加 —with-saslauthd=/var/run/saslauthd ー : ど主をこ 9 臭貝 9 . \ ←もとは - —without—pwcheck ・ openldap-devel ・ pcre-devel ・ MySQL MySQL-devel ・ p ost gresql ・ postgresql-libs ・ postgresql-devel ・ pam-devel ・ db4 ・ db4-devel ・ gdbm-devel 確認するには、 rpm コマンドに一 q オプションを付けて パッケージ名を指定する。 $ rpm —q openssl openss1—O.9.7d ー 0V13.1 上の例のようにパッケージのバージョン情報が出力され そこで、 apt-get を以下のように実行してソースパッケ pwcheck の機能力トされているからだ。 うまく機能させることができない。なぜなら、利用したい らも Vine Linux 3.1 用のものだと SMTP Auth を cyrus-sasl というパッケージに依存しているが、こち # apt—get install openssl Linux では、たとえば openssl ならは次のようにする。 たらない場合は、もちろんインストールしておく。 Vine れば、そのパッケージはインストールされている。みあ # apt¯get source cyrus¯sasl ージを入手し、 UNIX MAGAZINE 2005.7 の一ド ) 。 vine の下に展開される (Red Hat Linux の場合は /usr/src/redhat 6 Vine Linux 3.1 では、 root で取得したソースパッケージは / usr / src / ンのものである ) 。その後、次のようにビルドしなおして 2.1.18 ー 0 ⅵ 3 であり、行頭に記した行番号はこのバージョ ように修正する ( 執筆時点のパッケージのバージョンは usr/src/vine/SPECS/cyrus-sasl-v1. spec6 を図 3 の インストールする ( 誌面の都合上、で折り返していま す。以下同様 ) 。 # rpmbuild —ba /usr/src/vine/SPECS/cyrus—sas1=> —vl . spec # rpm —Uvh /usr/src/vine/RPMS/i386/cyrus—sas1=> * 2.1.18 ー 0V13.1. i386. rpm パッケージを利用しない場合は、適当なディレクトリに ソースを展開しておく。 次に、 Postfix のソースパッケージを取得する。執筆時 での最新版は 2.0.20 ー 0 ⅵ 5 である 7 。これも apt-get で取 得する。 # apt—get source postfix Postfix には SMTP Auth の機能があるが、さきほど も述べたように Vine Linux 用のパッケージはこれを利 用するようにビルドされていない。これを有効にしたうえ で再ビルドするために、 /usr/src/vine/SPECS/postfix. spec を図 4 のように修正する。 にオプションを付けて実行し、インストールする。 パッケージを利用しない場合は、環境に合わせて make 2.0 . 20 ー 0V15.1. i386. rpm # rpm -Uvh /usr/src/vine/RPMS/i386/postfix—*=> にしてインストールする。 とくに問題がなければ、さきほどの cyrus-sasl と同様 # rpmbuild —ba /usr/src/vine/SPECS/postfix. spec 修正したら、以下のようにして再ビルドする。 27 7 2.1.5 / 2.2.3 が Postfix としての最新版になる。 られている。このうち、もっとも重要なのが main. cf で Postfix の設疋ファイルは、 /etc/postfix の下にまとめ よう。 アクセスに悪用されないようにしてからサービスを公開し インストールがすんだら、必要な設定をおこない、不正 オープンリレーの禁止と SMTP Auth
[root@fedora3 xinput. d] # ロ 初に rpm コマンドを実行し、既存の IIIMF 関連のパッケ . xml . C011f . rpmsave Croot@fedora3 ~ ] # rpm [root@fedora3 ~ ] # rpm ージをすべて削除しました。 警・告・ : /etc/iiim/le . xm1. conf saved as /etc/iiim/ —e iiimf—server —e iiimf—le—canna 連載 / Linux のツールたち iiimf—docs 現在の「最適」バージョンは /etc/XII/xinit/xinput. d/wnn8 です。 /etc/X11/xinit/xinput . d/wnn8 ー優先項目 90 /etc/X11/xinit/xinput . d/kinput2—wnn ー優先項目 30 /etc/X11/xinit/xinput . d/kinput2—canna ー優先項目 40 /etc/X11/xinit/xinput . d/skkinput ー優先項目 30 リンクは現在 /etc/X11/xinit/xinput. d/wnn8 を指しています。 xinput-ja-JP ーステータスは動です [root@fedora3 xinput . d] # alternatives ——display xinput—ja_JP xinput-ja-JP /etc/X11/xinit/xinput . d/wnn8 90 —install /etc/XII/xinit/xinput ・ d/ja—JP - [root@fedora3 xinput . d] # alternatives 図 3 alternatives コマンドによるスクリプトの泉 (FC3) [root@fedora3 [root@fedora3 Croot@fedora3 Croot@fedora3 Croot@fedora3 [root@fedora3 Croot@fedora3 Croot@fedora3 ~ ] # rpm ~ ] # rpm ~ ] # rpm ~ ] # rpm ~ ] # rpm ~ ] # rpm ~ ] # rpm iiimf iiimf iiimf iiimf liimf iiimf —CSCOIIV —libs—devel -gtk —libs ¯gnome—lm—switcher 次に Wnn8 のインストール CD をセットし、 SUSE92 UN 工 X MAGAZINE 2005 . 7 QT_IM_MODULE=iiim GTK_IM_MODULE=iiim HTT_DISABLE_STATUS_WINDOW=t j a—JP —xim htt—xbe' XIM_ARGS=' —if Wnn8LE —lc_basiclocale - XIM_PROGRAM=/usr/Iib/im/httx XIM=htt (/etc/X11/xinit/xinput. d/wnn8 など ) で用意します。 でまず、以下のように記述したスクリプトを適当な名前 よってどのスクリプトを使うかを制御しています。そこ xinput. d ディレクトリに置き、シンボリック・リンクに ソッドのセットアップ・スクリプトを / etc / X11 / x ⅲ it / で、自分で設定する必要があります。 FC3 では、入力メ FC3 用の初期設定スクリプトは用意されていないの SUSE92 の場合と同様です。 ンストールされます。それを除けば、インストール手川頁は FreeWnn がインストールされていると、確認後にアンイ ますが、そのまま作業を続けてかまいません。システムに します。スクリプトでは、、 Red Hat L ⅲ ux " と認識され の場合と同様に、、 cd /media/cdrom; . /lnstall" を実行 次に、 /usr/sbin/alternatives コマンドを実行し ( 図 3 ) 、さきほど用意したスクリプトをシステムに登録します。 今回は wnn8 の優先度をほかのスクリプトよりも高く ( 90 ) 指定しているので、 alternatives コマンドを用いてシ ステムに登録すれば、 wnn8 が選択された状態になります。 155 は /etc/alternatives/xinput-ja-JP です 3 入力メソッドのセットアップ・スクリプトに対するシンポリック・リンク お、これらのウインドウが表示されるのは最初の 1 回だけ れる場合があるので、 [ 削除 ] ボタンをクリックします。な 替えアプレットに関する警告ウインドウ ( 図 5 ) が表示さ に、 FC3 では ATOK のときと同じく、入力メソッド切 味のメッセージ・ウインドウが表示されます ( 図 4 ) 。さら 時にユーザーごとの頻度ファイルなどを作成したという意 FC3 と SUSE92 のどちらの場合も、最初のログイン 使ってみる 動 ( 再ログイン ) すれば、 Wnn8 カ駛えるようになります。 以上でインストール作業は完了です。ここで X を再起 などを参照してください。 す。詳しくは、オンライン・マニュアル alternatives(8) は /var/lib/alternatives ディレクトリに収められていま に集められており 3 、代替スクリプトや優先度などの情報 シンポリック・リンクは /etc/alternatives ディレクトリ などをシンボリック・リンクで管理するための仕組みです。 るコマンドで、システムがデフォルトで使用するコマンド なお、 alternatives は chkconfig パッケージに含まれ ドで簡単に切り替えることができます。 など ) が選択される場合もありますが、 im-switch コマン 優先度の値によってはほかのスクリプト (kinput2-canna
結果が 1.26 秒なのに対し pentium 4 マシンは 3.82 秒 で、 Pentium III のほうが 3 倍ほど速い結果となりまし た。また、 MMX Pentium (266MHz) のマシンで実行 してみると 3.88 秒で、 Pentium 4 マシンとほほ変わらな い結果となりました、という報告記事です。 これに対して、その速度の差は浮動小数点演算時の桁溢 れの扱いの違いが景彡響しているのではないか、自分のとこ ろの Pentium III (1GHz) マシンと Pentium 4 ( 3. 2GHz) マシンで試してみたが、 lntel のコンパイラであ る ICC で -03 の最適化オプションを付けてコンパイル した場合は前者が 1.22 秒で後者が 2.84 秒、 -march= pentiumiii オプションを付けた場合は前者が 0.05 秒で 後者が 0.02 秒になった、さらに—march=pentium4 オ プションを付けたものを後者で動かすと 0.01 秒になった、 CPU ごとに最適化の手法が異なるため、状況によっては Pent ⅲ m4 のほうが遅くなることもあるだろう、といった フォローがきました。 Newsgroups: fj.mail.system. sendmail Subject: 複数の NIC を持っとき送信元アドレスの指定は ? 2 つのネットワーク・インターフェイスをもつ FreeBSD マシンをメールサーバーとして使用しており、 ADSL 回線 を介して PPPoE でプロバイダに接続しています。ネーム サーバーには、 PPPoE 接続に使用していないほうのネッ トワーク・インターフェイスの IP アドレスとホスト名が 登録されています。このサーバーの sendmail を経由して メールを送信すると、相手のメールサーバーにアクセスす る際に、ネームサーバーに登録されていない PPPoE 接続 用のインターフェイスの IP アドレスカ駛われてしまいま す。そのため、逆引きができなかったり逆引きの結果カ 来のホスト名とは違ってしまい、相手のメールサーバーに よっては接続を拒否されます。このような場合、ネームサ ーバーに登録されている IP アドレスをもつネットワーク・ インターフェイスからアクセスさせることは可能でしよう か、という質問記事です。 これに対して、 PPP の設疋ファイルである ppp. linkup で、 PPPoE 接続用のネットワーク・インターフェイスの IP アドレスを強制的に書き換えるように設定すればよい、 逆引きが正しくできるようになっていても、迷惑メールの 受信を制限するために ADSL 用の IP アドレスを使って いるサーバーからの接続を拒否するメールサーバーが多い、 そのためメールを送イ言する場合はプロバイダの SMTP リ レー用メールサーバーを経由して送信するのカましい、 最近は ADSL ルータに PPP 接続処理を任せてしまうの が一般的なようで、 UNIX 系 OS における PPP 接続の情 報をみつけるのに苦労した、といったフォローがきました。 Newsgroups. . net. watch Sub. 」 ect: goog 厄 group GoogIe の「グループ」 (NetNews 記事などを読み書き できるサービス ) カ噺しいバージョンの Beta 版に変わっ ています。 Google の独自グループと USENET をもっと 明確に分けてもらわないと、や japan ニュースグループ に対する誤解が生じるのではないかと危具します、という 報告記事です。 これに対して、とうとう日本のサイトも本家のサイトと 同じ形式になってしまった、各言語用のサイトのなかには まだ変わっていないところもあるので、以前のサービスを 使いたい場合はそのようなサイトにアクセスすればよい、 ただしいつまでこのた態カくかは分からない、インター フェイスカ畯わると新鮮な気持ちになる、とくに使いにく いというわけではない、文字コードや Message-ID の扱い が十分とはいえない、記事中の Message-ID をハイバーリ ンクにして、その記事をすぐに読めるようにするところま では対応できていないが、 Message-ID での検索はできる ようだ、といったフォローがきました。 Newsgroups: 」 apan. comp. macosx,fJ. sys. mac. OS-X Subject: Re: Tiger Mac OS X の新しいバージョンである Tiger ( 10.4 ) が まもなく発売されます。大学関係者としては、発売がなぜ この時期なのかという疑問を強く感じます。日本の教育市 場を無視しないでほしいと思います、という感想記事です。 これに対して、ゴールデン・ウィークのあいだに休日出 勤してアップグレードしろということなのだろう、先日、 Windows XP Professional の 64bit 版も出荷されたよ うだが、たしかになぜこの時期なのかという気はする、ゴー ルデン・ウィーク中に試せるように Tiger と Tiger server を発注したが届いたのは Tiger Server だけだった、 Tiger Server ではなく Tiger をさきに使ってみたかった、 Tiger のインストールは上書きインストールで簡単にできた、 い工いしい J いユ工い工い 333 工い工い工い工い工い工い工い工い j い〕」」工しい工いしい 3 ユ工い工い 3 工い j いしい工い工い J い : 第 J い工い 3 はんい工い J い 3 工い 33 ー - 、 UN 工 X MAGAZINE 2005.7 149
SOHO 向けサーバーの構築 [ 2 ] メールサーバーの構築と設定 荒木宏之 SMTP サービスの考え方 DNS の、1X レコード SMTP サービスを稼動させるには、 SMTP サーバーに 割り当てられた IP アドレスに対して MX レコードが設 定されている必要がある。前回設置した内部向けの DNS サーバーでは、以下のように 192.168.0.2 に niamod. jp の MX レコードカ第ス疋されている ( ゾーンファイル / var / named/niamod. zone に書かれている ) 。 myserver . niamod ・ jp ・ NS IN mail . niamod ・ jp ・ MX 10 IN 192 . 168.0.2 IN myserver CNAME IN mail myserver IN CNAME smtp myserver CNAME IN myserver POP CNAME IN myserver 1map 外部ネットワーク向けの DNS サーバーとして DDNS サービスなどを利用している場合は、サービス内容に MX レコードが登録されているかどうかを確認する。 A レコー ドしか割り当てられていないときは、原則として SMTP サービスの運用はできない 1 。 SMTP サーヒスの言齬十 SMTP (SimpIe Mail Transfer Protocol) とは、サ ーバーがメールを送受信するための最低限必要な機能を定 めたプロトコルで、インターネットの初期に定義されたも 1 多くの SMTP サーバーは、 MX レコードがみつからない場合は A レコ ードを検索し、そこに向けてメールを当言する。ただし、このような処理が つねにおこなわれるとい引焉正はない。 メールサービスの構築 今日では、メールはインターネットを利用するうえで欠 カせないサービスとなった。 しかし、たとえば、自分の好きなメールアドレスを付け たり、メーリングリストを自由に構築・運用しようとする と、 ISP などカ甘是供するサービスではどうしても限界があ る。メーリングリストの内容を自動的に保存したり、 Web 経由でアクセスできるようにしたいといった場合もなにか と制約が多い。 最近は、当り前のように届く SPAM やウイルス入りメ ールなどへの対策も必顎であろう。だが、これも設定可能 なフィルタが少なかったり、細かなチューニングカ攤しい といった問題がある。 今回は、サーバー上で SPAM やウイルス対策を含むメ ール関連のサービスを提供するための手川頁を、設計上のポ イントや留意点を中心にみていくことにしよう。 メールに関連するサーヒス メールシステムは大きく分けて、 ・メールサーバー間でのメールの送受信 ・メールサーバーで受信したメールを、アカウントをもつ ューザーに転送 の 2 つの異なるサービスから成り立っている。前者はいわ ゆる SMTP サービスであり、後者は POP3 や IMAP4 という名前で知られるサービスである。 この 2 つは、利用するプログラムや設定、提供する範囲 も異なるので、それぞれについて説明していく。 23 UNIX MAGAZINE 2005.7
文房具としての 図 21 複合オブジェクトの一時角寺のウインドウ 連載コ 4 Xfl : Close Com ound Compounds] をクリックするとすべての一時解除カ鮗了 プジェクトを同時に一時解除していた場合に、 [Close AII 複合オプジェクトの一時解除が終了します。複数の複合オ の [CIose This Compound] をクリックします。すると 放っておいて変更を加えましよう。変更がすんだら、図 21 クト化は解除されています。とりあえずこのウインドウは ドウカ観れます。じつは、この時点ですでに複合オプジェ を使って複合オプジェクトを選択すると、図 21 のウイン の下にあるアイコン ( 2 段目左 ) を利用します。この機能 す。この機能を使うには、複合オプジェクト作成アイコン に複合オプジェクト化を解除できる手段が提供されていま に面倒です。 Xfig ではこのようなときのために、一時的 プジェクトを選択しなおしてくつつけるというのはさすが つのオプジェクトに変更を加え、もう一度たくさんあるオ いっていったん複合オプジェクトを解除し、そのなかの 1 のオプジェクトの編集をおこなうことはできません。かと 複合オプジェクトにしてしまうと、それに含まれる個々 ントを左クリックすることで解除されます。 群を囲む長方形の 4 隅にポイントか現れるので、このポイ コンを使います。さきほど紹介したとおり、オプジェクト 逆に、複合オプジェクトを解除する場合はその隣のアイ るオプジェクトをすべて選択することもできます。 中央クリックで長方形の範囲を指定し、その範囲に含まれ トを選択し、右クリックすればグループの出来上がりです。 います。左クリックで複合オプジェクトにするオプジェク 複合オプジェクトの作成には 1 段目左のアイコンを使 ャンバスが見やすくなるといった効用もあります。 む長方形の 4 隅にのみポイントカれるので、編集時にキ また、編集時には、グループ化されたオプジェクト群を含 でもグループ化しておくと、言財栄作が減るかもしれません。 くなります。ある程度形が決まったら 1 つのオプジェクト 更機能を利用してもこれらのポイントの位置を変更できな CIose This Conpound CIose 日 11 Conpounds します。 属性の変更 色の変更や線の太さなど、 120 さまざまな属性については すでにお話ししましたが、まだオプジェクトを描く前に指 定する方法しか紹介していませんでした。でも、オプジ ェクトの各ポイントと同様に色や線の太さなどは当然変更 したいところです。これには 7 段目にある、、 Update" と 、、 Edit" と書かれたアイコンを利用します。 さきほど紹介した属性パネルで属性を変更する場合は、 Update アイコンを利用します。このアイコンをクリック すると、属性パネルの表示カ畯更されます。このときの属 性パネルの一部が図 22 です。通常、属性ノヾネルには選択 されたオプジェクトの属性のみが表示されますが、このと きだけはどのオプジェクトがこれから選択されるか分から ないため、すべての属性が表示されます。変更したいオプ ジェクトの属性に合わせて、属性パネルの値を変更します。 「でも、線の太さを変えたいだけなんだけど。属性パネル で指定されている属性が全部いっぺんに変わってしまった ら困るなあ」 おっしやるとおりです。そこで、どの属性を変更するか を指定しなければなりませんね。それをおこなうのが Up- date アイコンクリック時に画面左下に現れる、図 23 です。 下のほうにある 3 つの四角はボタンになっています。左の 黒いボタンをクリックすると、図 22 の各属性の右上にある すべての四角が黒くなります。いまはこの状態ですね。真 ん中の白いボタンを押すと、今度は図 22 のすべての四角 が白くなります。そして、右の黒と白が半々のボタンを押 すと、属性パネルの四角いボタンの色は、それまで白だっ たら黒に、黒だったら白にというように反転します。 「色カ畯わると何カ起こるの ? 」 そうでした。そこが重要なんじゃありませんね。属性パ ネルの四角が黒く塗り潰されている属性は変更対象である ことを示します。図 22 の状態で何かオプジェクトを指定 すると、選択されたオプジェクトの属性がすべて変更され てしまいます。いったん全部白にしてから、変更したい属 性だけを選択しましよう。 一方、もう 1 つの Edit アイコンを押してオプジェク トを選択すると、図 24 のウインドウが開きます。図は長 方形をクリックした場合の例です。オプジェクトの高さや 幅、ペンの色、線の種類、そして 2 点の座標が表示されて います。これらの属性を手動で変更することができます。 UNIX MAGAZINE 2005 . 7
連載 /UNIX Communication Notes ーー 0 示されるのは、、その Web サイトが危ない " という意味で あると、まじめな顔で説明するのを聴いて愕然とした。っ まり、デフォルトで組み込まれているルート認証局は安全 であり、それ以外のルート認証局は信用できないから、そ れらを起点とする信頼の連鎖関係にある証明書を使ってい る Web サーバーは信用してはいけないという理屈である。 これは、あまりに狭量な解釈ではないか。 また、 SSL/TLS を用いた web サーバーを構築したと きに、次のような経験もした。その web サーバーは、特定 の研究者グループなどを対象とする、いわばイ中間内のもの であった。そこで、 OpenSSL を使って独自に認証局を運 用し、その証明書を用いて SSL/TLS を組み込んたらどう かと提案した。ところが、「それでは証明書の信頼性は保証 できないので、許容できない。 ( 有名な ) 認証局運用会社か ら、正当なサーバー証明書を買うべきだ」と主張する人が いたのである。小規模なコミュニティのなかで運用する認 証局であり、誰もカ噸見知りのグループ内で利用する web サイトであっても、自分たちが生成したサーバー証明書は 信用できないのだろうか。 このような誤解カ昿まっているのは、見過ごすことので きない問題である。上で紹介したような意見は、 web プラ ウザにデフォルトで入っているルート認証局証明書は、ソ フトウェアの開発元があくまでもユーザーの便宜を考えて 組み込んだものだということをまったく理解していないと しかいいようがない。本来は、認証局の正当性の判断はユ ーザー自身に委ねられているのである。 最近は、さらに厄介な問題カ咄てきた。それは、 PKI に よって、、自分は誰なのか " を証明する手川頁を、法的に肩効な ものとして提供する枠組みの構築にかかわるものである。 ldentity : 私は誰 ? 私たちは、日常生活のなかで、、、自分は誰か " を相手に明 確に示さなければならない状況にしばしば遭遇する。その ような場合には、公的機関が発行した書類を提示して自分 カイ可者かを証明するのが一ヨ殳的である。 たとえば、帯電話を購入しようとすると、身許を証明 する書類の提示を求められる。これは、携帯電話が犯罪に 使われた場合、その所有者をただちに特定するためである。 NTT DoCoMo の Web ページには、次のような書類を 44 提示すれは本人だと確認できると書かれている。 ・運転免許証 ・日本国のパスポート 学生証 ( 顔写真、生年月日、住所カ載されているもの ) ・身体境害者手帳など 外国人登正とパスポートに準ずるもの また、銀行などからお金を借りる場合も、これらと同様 な書類の提示を求められるにのほかに、住所カ己載され た健康保険証などカ駛えることも多いようだ ) 。 こで、このような公的機関が発行する書類を提示する ことの意味を考えてみよう。ます、信頼の基盤は書類の真 正性にある。そして、これらの書類は基本的には本人に直 接交付されるため、それを持っているのは本人であろうと 推定できる、ということである。相手は、このプロセスがあ ることを前提とし、書類に記されている住所や生年月日を 信用しようと判断するのである。つまり、、、真正性 " と、、本 人への直接交付 " の 2 点が、身許確認に使える書類の信頼 性の基礎といえる。 日本の公的機関が発行する書類について、その真正性の 源をたどっていくと、最終的には戸籍と、その厳格な取扱 いにいき着く。逆にいえば、戸籍が厳格に運用されている からこそ、公的機関カ籍 ( のコピー ) と内容確認にもとづ いて作成する各種書類に効力があるといえるのだ。 これは、推理小説などでトリックの 1 つに使われること がある。戸籍の操作によって他人になりすました犯人の正 体は、なかなか明らかにならない。そして、、、なりすまし " の手口が明かされることで、どんでん返しの結末が待って いるという趣向である。たとえば、松本清張の『砂の器』 では、戦争直後の混乱を利用した戸籍の搦告という、 ( 現在 では考えにくいが ) なりすましのトリックが使われている。 日本国籍を有する人の場合は、戸籍というシステムによっ て、、自分は誰か " という根本的な情報が与えられるのであ る。この、、自分は誰か " は、英語では identity と呼ぶ ( こ の言葉は日本語に訳しにくいが、今回の文脈では、、身許 " も しくは、、識別情報 " と訳せるだろう ) 。 identity の電子イヒ ところで、ネットワーク上のサービスにおいて、自分の identity を示すのはたいへんに難しい。ちょっと考えれば UNIX MAGAZINE 2005 . 7
図 26 証日の石忍 i 儷 ia d が信頼できるサイトであると確認できませ この巧ーの考えられる原因は以下のりです - このサイトの証明書を正して ( 認証局カ坏明です。 - このサイトのサーバの設定ミスによりサイト証明書が不完全です。 - あなたの個人情報を入手するた取こ im 叩れであ 偽装しているサイトに接続はうとしています。 この問顋をサイトの管理者に連絡してください。 この証明書をサ入れる前に、このサイト正明書を注意深く審 査してください。 Web サイト im 叩 . n 面れ od を特定するこの証明 書を受け入れますか ? 証明書を審査する…← 0 今後この証明書を受け入れる 〇このセッションの問だけ一時こ証明書を受け入れる 0 この証明書を受け入れす、サイトに接続しない web サイトが未知の認証局により認証されています。 ~ 一ッ 0 区ー 亠ー 図 27 /etc/courier-imap/imapd. cnf RANDFILE = /usr/share/courier—imap/imapd nsCertType [ cert—type ] cert—type req-dn emaiIAddress = 貝央具ラま 9 ど 99 も 9. 生 : 、ユ p -. OU=Automatica11y—generated IMAP SSL key O=NIAMOD Mai1 Server L=Yokohama ST = 襲 C=JP [ req-dn ] prompt = Ⅱ 0 x509_extens10ns distinguished—name encrypt—key = yes default_bits 1024 [ req ] . rand 新たに /usr/share/courier-imap/imapd ・ pem が生 成されているはずだ。これで、証明書の作成は完了である。 ユーザー・ / ヾスワードの作成 Courier-IMAP は、認証に userdb を利用する ( より 正確には、 Courier-IMAP において認証処理を受け持つ Courier-authlib が userdb を利用する ) 。 userdb は通常のパスワードとは独立して管理されるの で、必要に応じてユーザーを登録し、そのパスワードを設 定する。この場合、システムへのログインや SMTP Auth 38 Ⅷ AP と Windows のウイルス文ソフト Windows でメールの読み書きをしている場合、たいていは、 ウイルス対策ソフトでフィルタリングをしているだろう。最近は、 かなりの数のウイルス付きメールが送られてくるので、この種の 対策はイ司欠である。 ところが、 IMAP を利用していると、読んでいるメールに対 して Windows 上のウイルスフィルタが機能していない。これ は、この種のソフトの大半が POP3 の利用を前提にしており、 MUA からメールを POP3 で取り込む際、サーバーと MUA とのあいだに割り込んでメールをチェックするためである。した がって、 IMAP アクセスの場合はまったくチェックされない。 今回の例では、メールを受信した時点で ClamAV によるフィ ルタリングをおこなっているため問題はないが、なんらかの事情 で IMAP サービスだけを構築する場合には、 IMAP フォルダ にメールを格納する時点でフィルタリングをおこなう必要がある だろう。さもないと、ユーザーがウイルス付きのメールをうつか り開き、感染してしまうようなことになりかねない。 もちろん、多くのウイルス対策ソフトが IMAP に対応してく れればよいのだが・ 認証の際のパスワードとは異なるものを用いる。 SMTP Auth のところでも述べたが、この種のパスワ ードは、それぞれ限定された機能ごとに用意すべきである。 そうしておけば、万一どれかが漏洩しても被害を最小限に 限定できるからだ。 ューザーの登録とパスワードの設定には、 /usr/sbin/ userdb と /usr/sbin/userdbpw の 2 つのコマンドを使 う ( どちらも Courier-authlib に含まれている ) 。 まず、ユーザーを登録する。 # /usr/sbin/userdb userl set home=/home/userl , mai1=/home/user1/Mai1dir uid = 1000 gid = 1000 home の値にはユーザーのホーム・ディレクトリを、 mail の値にはユーザーの MaiIdir をそれぞれ指定する。 uid と gid には、もちろんそのユーザーのものを指定する。これ は、 id コマンドで確認できる。 # id userl uid=1000(user1) gid=1000(users) 登録したらパスワードを設疋する。 imappw は imapd が、 imapspw は imapd-ssl がそれぞオ呀リ用するパスワー ドである。 # /usr/sbin/userdbpw ー /usr/sbin/userdb - userl set imappw # /usr/sbin/userdbpw ー /usr/sbin/userdb - UNIX MAGAZ 工 NE 2005 . 7