2006年12月16日

Outbound Port25 Blocking (OP25B) qmail対策5

d8570193.jpg

OP25BがISPからたいしたアナウンスがないまま突然導入されてオフィスでは急にメールが使えなくなったと大混乱でした。
独自のメールサーバーを立てて複数の拠点からアクセスする場合もろに影響を受けてしまいます。
OP25Bの功罪に関してはここでは語りませんがサーバーの管理者としては大迷惑なことは間違いありません。

※qmailの場合
tcp-serverの起動スクリプトを編集

vi /etc/init.d/qmail


# SMTP 以降(例)vpopmailを使用している場合

   tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail`
        -x /home/vpopmail/etc/tcp.smtp.cdb smtp   `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|
        splogger smtp &


上を全部コピーして-x /home/vpopmail/etc/tcp.smtp.cdb 0の次のsmtp部分を587に変更して

   tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail`
        -x /home/vpopmail/etc/tcp.smtp.cdb 0 587 `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|
        splogger smtp &

を全行追記してqmailを再起動

 

※postfixの場合
vi /etc/postfix/master.cf

# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
587 inet n - n - - smtpd

に変更し再起動。

 

あとはOP25Bの影響を受けるユーザーのメーラーのsmtp接続のポートを587に変更すれば、
受けないユーザーは25番のまま両方のポートとも使えます。

 



2006年02月12日

初めてのモブログ

b65caecb.jpg初めてモブログやってみました。

骨董通りの某ショップで春物のライダースを買いました。

今年は寒すぎ、早く暖かくなって欲しいな。



PCルーター(iptables)

28d618c1.jpg

8ヶ月ぶりのblogです。
ゴルフも4ヶ月くらいやっていない割りにはTreadmillで毎日軽く走りこんでるせいか、身体もぼちぼち絞れて良い感じです。

Fedora Coreもとうとう20日に5のテスト3がリリースされる予定で約1年ぶりの正式版が待ち遠しいです。

この8ヶ月で結局メールのMTAをpostfixからqmailに変更しました。
POPにはqmail、IMAPにはqmailCourier-IMAPで快適に運用しています。
ついに今まで僕のこだわりのPOP before SMTPをやめてSMTP-AUTHにしました。

気が付いたらezmlmで3つのメーリングリストを運用するようになってメールのトラフィックが急増したのとユーザーが増えて責任が増してきたので、たまにフリーズしていたルーターを捨てて、PCルーターを構築しました。
これは非常に画期的でiptablesログ解析(IPTables log analyzer)がリアルタイムこんな感じで至れり尽くせりで監視できるので超快適です。

qmailログ解析ツール導入(qmailanalog)も使えるし、qmailadminでWebインタフェースで設定が自由に出来るのも魅力ですが、メーリングリストに関してはpostfixの時のMailmanと比較するとezmlmの機能は少ししょぼい気がします。
qmailでもMailmanは動作するようなので挑戦してみたいですが、ハードルは少し高そうです。



2005年08月20日

TCP Wrapper

c4eba488.jpg

ゴールデンウィーク以来のblogです。
Treadmillの走り込みと水泳のお陰かどうにかローライズのデニムが穿ける体形に戻ってきました。
6月中旬にFedora Core 4がリリースされ早速予備サーバーに即行でインストールしましたが、X windowを使わなくなった僕にとっては今回は全く感動のないバージョンアップでした。
個人的に割り切れないタイプの性格なので、偶数が好きでは無い事も関係しているかも知れませんがw。
現在もメインのサーバーはFC3で稼動させています。
毎年この時期は実家が海に近いので両親の家で過します。
最近の日本の地方都市はローカルのケーブルTV局の普及で高速のケーブルモデムが安価で使えるので先月NYに出張した時にホテルからダイアルアップで苦労してネットにアクセスした事を考えるとまったく天国です。
そういえばアメリカでもローカルのナッシュビルのホテルでは高速無線LANが使えました。
よくアメリカのホテルでダイアルアップが使えなかったという人がいますが、
内線番号(9)から交換機に接続するまでのタイムラグがあるので(,)コロンを
内線番号と電話番号の間に入れるとコロン一つで約1秒の間か取れるので
9,,,,733-0055のようにコロンを3、4個くらい入れると上手くいくことが多いと思います。

ところでTCP Wrapperですが
SSHとFTPのセキュリティをより堅牢にする為にアクセスできるプロバイダーを
限定しています。
/etc/hosts.deny を
sshd : ALL
vsftpd : ALL
にして

/etc/hosts.allow を
sshd : 192.168.1. .○○○○.ocn.ne.jp .ad.24.net
vsftpd : 192.168.1. .○○○○.ocn.ne.jp .ad.24.net .eo.bbtec.net

のようにローカルと自分が使用する日本のプロバイダーのみにアクセス許可を限定するだけでも海外からの不正アクセスも不可能になるので、セキュリティはかなり向上すると思います。



2005年05月02日

Procmail メール転送

9d023be1.jpg
 今、国内の某所で久しぶりにのんびりと連休を楽しんでいます。
仕事柄、ゴールデンウイーク中も一応Laptopは携帯してますが、やっぱり移動中は携帯電話が絶対便利です。
以下は特定のメールアドレスからのメールだけ携帯に転送する簡単なレシピです。
 
※Maildirの場合

# vi /home/ユーザー/.forward
"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #ユーザー"
procmailでabc@hoge.co.jpから来たメールはhoge@docomo.ne.jpへ転送するようにする
# vi /home/ユーザー/.procmailrc ← .procmailrcファイル作成
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOCKFILE=$HOME/.lockmail
LOGFILE=$MAILDIR/procmail.log
:0:
*^From:.*abc@hoge.co.jp
! hoge@docomo.ne.jp

※Mailboxの場合

# vi /home/ユーザー/.forward
"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #ユーザー"
procmailでabc@hoge.co.jpから来たメールはhoge@docomo.ne.jpへ転送するようにする
# vi /home/ユーザー/.procmailrc ← .procmailrcファイル作成
PATH=/bin:/usr/bin:/usr/sbin
LOGFILE=$HOME/procmail.log
LOCKFILE=$HOME/.lockfile
MAILDIR=$HOME
:0:
*^From:.*abc@hoge.co.jp
! hoge@docomo.ne.jp
 
※注意
:0:を下に書き換えれば受信したアカウントにもccメールが残せます。
:0 c
作成したレシピ設定ファイルの所有者設定を変更してください。
# chown ユーザー /home/ユーザー/.procmailrc
 
※ P.S.
 
応用で転送メールの条件を例えば会社のメールアドレスの一部
例: abc.co.jpの場合
*^From:.*abc とすれば会社からのメールアドレスはすべて携帯に転送できます。
また複数の相手からのメールを転送したい場合は
 
:0:
*^From:.*abc
! hoge@docomo.ne.jp
 
:0:
*^From:.*def@hoge.com
! hoge@docomo.ne.jp
のようにレシピの条件を書き足していけます。


2005年04月16日

DNSサーバー

7490317c.jpg
Linux歴も半年になると一生自分には理解できないと思われたような事が、不思議に自然と分かってきます。
多分自宅サーバーを構築する時の最初の壁は、ルーターのポート・フォワーディング設定だと思います。
これを最初からiptablesを使ってNIC2枚でPCルーターで構築しようとすると、難易度は10倍くらいに上がってしまいます。
あと個別のWeb,Mail,ssh,ftp,Samba,WebDAV,Squidのサーバー等は最近は非常に分かり易い設定のHow toサイトがあるので,僕も分厚い本を読むことなく大いに助けられました。
そしてその次の壁はDNSの設定ではないかと思います。
これは単純に見えて本当に奥が深く、正直一番苦しみました。
Googleで検索しても何故かプロバイダーのように個別の2つの固定IP、ns1とns2とで複数のネームサーバーを分かりやすく設定する方法が検索できません。
 
 またあまりに丁寧過ぎて設定が面倒な方法が多いので,
内部向けの設定等が不要な場合ならばこれ以上記述を削れない限界まで簡易に設定する方法を試してみました。
テストしたのはFedora Coreの1と3ですが、多分2でも問題ないと思います。
ここでの2つの固定IPは別の場所にあり、両方とも逆引き出来ない固定IPです。
逆引きの設定が必要な場合は以下にその設定を加えて下さい。
 
 
 
※プライマリDNSサーバー設定
/var/named/chroot/etc/named.conf
 
options {
        directory "/var/named";
        allow-query { any ; };
        allow-transfer { xxx.xxx.xxx.xxx; };←セカンダリーDNSサーバーIP
    notify yes;
};

zone "." IN {
        type hint;
        file "named.ca";
};
zone "0.0.127.in-addr.arpa" in {
        type master;
        file "127.0.0.zone";
};
// domain1の正引きゾーン情報
zone "domain1" IN {
type master;
file "domain1.db";
};

// domain2の正引きゾーン情報
zone "domain2" IN {
type master;
file "domain2.db";
};

// domain3の正引きゾーン情報
zone "domain3" IN {
type master;
file "domain3.db";
};
 
 
ルートゾーンzoneファイル FCの場合named.caはインストール済み
 
[root@linux ~]# dig > /var/named/chroot/var/named/named.ca
で最新化が可能
 
127.0.0.zoneファイル(ローカルループバック)
 
$TTL    3600
@       IN      SOA     ns.domain1. root.domain1.  (
                                      2005041601 ; Serial
                                      3600       ; Refresh
                                      900        ; Retry
                                      604800     ; Expire
                                      3600 )     ; Minimum
              IN      NS      ns.domain1.
3             IN      PTR     localhost. ←左の3はプライマリのサーバープライベートIPアドレス
                      (例:192.168.0.3の末尾番号)を指定
domain1.dbゾーンファイル設定
 
$TTL    86400
@       IN   SOA    ns.domain1. root.domain1.(
                   2005041601 ; Serial
                      7200   ; Refresh
                       7200   ; Retry
                     2419200  ; Expire
                    86400 )  ; Minimum
    IN   NS       ns.domain1.
    IN   NS       ns.domain2.
    IN   MX  10   domain1.
@   IN    A       domain1のグローバルIPアドレス
*   IN   A       domain1のグローバルIPアドレス

domain2.dbゾーンファイル設定

$ORIGIN domain2.
$TTL 86400
@    IN    SOA      ns.domain1.  root.domain2.(
                    2005041601 ; Serial
                       7200 ; Refresh
                        7200 ; Retry
                      2419200 ; Expire
                     86400 ) ; Minimum
     IN    NS         ns.domain1.
     IN    NS         ns.domain2.
     IN    MX   10     domain2.
@     IN     A        domain2グローバルIPアドレス
*     IN      A        domain2グローバルIPアドレス

domain3.dbゾーンファイル設定

$ORIGIN domain3.
$TTL 86400
@    IN       SOA    ns.domain1. root.domain3.(
                       2005041202 ; Serial
                          7200 ; Refresh
                           7200 ; Retry
                         2419200 ; Expire
                        86400 ) ; Minimum
    IN       NS       ns.domain1.
    IN       NS       ns.domain2.
    IN      MX  10    domain3.
@    IN      A         domain3グローバルIPアドレス
*    IN      A          domain3グローバルIPアドレス
 
※セカンダリDNSサーバー設定
/var/named/chroot/etc/named.conf

options {
        directory "/var/named";
    allow-query { any ; };
};

zone "." IN {
        type hint;
        file "named.ca";
};
zone "0.0.127.in-addr.arpa" in {
        type master;
        file "127.0.0.zone";
};
 
// domain1のスレーブ設定
zone "domain1" IN {
type slave;
file "slaves/domain1.bak";
masters { xxx.xxx.xxx.xxx; };←プライマリDNSサーバーIP
};
// domain2のスレーブ設定
zone "domain2" IN {
type slave;
file "slaves/domain2.bak";
masters { xxx.xxx.xxx.xxx; };←プライマリDNSサーバーIP
};
// domain3のスレーブ設定
zone "domain3" IN {
type slave;
file "slaves/domain3.bak";
masters { xxx.xxx.xxx.xxx; };←プライマリDNSサーバーIP
};
 
ルートゾーンzoneファイル named.caはプライマリと同じ
 
127.0.0.zoneファイル(ローカルループバック)
 
$TTL    3600
@       IN      SOA     ns.domain2. root.domain2.  (
                                      2005041601 ; Serial
                                      3600       ; Refresh
                                      900        ; Retry
                                      604800     ; Expire
                                      3600 )     ; Minimum
              IN      NS      ns.domain2.
10            IN      PTR     localhost. ←左の10はプライマリのサーバープライベートIPアドレス
                      (例:192.168.0.10の末尾番号)を指定

上手く動作するとdomain#.bak ファイルは瞬時に/var/named/chroot/var/named/slaves に自動的に作られます。
 


2005年04月12日

マスターズ 2005

b30547a0.jpg
タイガー・ウッズがついに3年ぶりにマスターズ・トーナメントでプレーオフを制しました。
ついにドライバーのシャフトでダイナミックゴールドをやめ400CCを超えるサイズのナイキ・イグナイト460(8.5度)に変えた去年から何か勝つためのこだわりの予感がありました。
クリス・ディマルコもホールによっては70ヤードくらいオーバードライブされても、タイガーにプレッシャーをかけ続け、しぶとく難しいパーパットを17,8と沈めて勝負はまさかのプレーオフへ。
 
プレーオフ1ホール目でウッズはあっさりバーディーを決め3年ぶり4度目のグリーンジャケットをゲットしましたが、昨年の無冠のレフティーだったフィル・ミケルソンが、アーニー・エルスと歴史に残る対決で悲願のメジャー初制覇も良かったけれど、タイガーが不運に泣いた初日から振り返って実に感動的で熱くなれるトーナメントでした。
 
自称体育会系?ゴルファーだったはずの僕は690.MBを物置にしまってしまい、今はプレシジョンのライフル100にリシャフトした690CBがすっかりエースアイアンになってしまいました。
これだと体育会的な練習しなくても、多少のごまかしはききます。
それでもアプローチとパッテイングはどうしようもなく、肝心なところでスコアメークが出来ません。
今週末は因縁のライバルとの対決です。
4連勝した後、5連敗してやっと薄氷の勝利で先週やっとイーブンに戻しました。

美しいクラブで男はだまってマッスルバックがマイポリシーのはずだったんですが・・・。


yataka1 at 00:01|この記事のURLTrackBack(0)ゴルフ 

2005年03月09日

Fedora Core 3

612f380e.jpg
Treadmillで走り込んだおかげか今年はインフルエンザに罹らないですみました。
でもゴルフ仲間は軒並みインフルエンザにやられて、2度もゴルフの予定がキャンセルされて自宅のメインサーバーも予備サーバーもほぼやりたいことは完全にやり尽くした状態で、トラブルもなく安定した状態で稼動していたのに、やることがないのでとうとうメインサーバーをFC3に完全に移行してしまいました。
今まではメインサーバーはGUIでインストールしていたのに、今回はCUIで開発ツールのみでインストールしました。
なんと今までOSのインストールだけでも2時間もかかっていたのが嘘のように15分くらいでインストールできました。
今まで色々なやり方でインストールしてきましたがこれが最強です。
ソースからダウンロードしてgccでコンパイルして自分にあった環境が結構簡単に作れます。
 
FC2とはあまり相性がよくなかったので、メインサーバーはFC1で運用していたのですが、
今度のFC3は色々な面で改良されかなり良くなっていると思います。
時代はSMTP-AUTHなんでしょうが、僕のこだわりのPOP before SMTPの設定も一発でいきました。
ただ、yumでのカーネルのアップデートは大まかな設定が終わってからの方が良いと思います。
今走らせているkernelのバージョンはLinux 2.6.10-1.770ですが、気持ち良くサクサク動いています。
しかし5月にはもうFC4がリリースされる予定ですし、前にも書きましたが一年に4度も大きなバージョンアップするOSはFedoraくらいです。よくFedoraの事を人柱linuxという人もいますが、Red Hat社のFedora Projecは非常に素晴らしいProjectだと思います。

何れにしてもRed Hatがlinuxの最強のディストリビューションであることは間違いなく、もしビジネスで使うなら安定したRed Hat Enterprise Linuxを選択すれば問題がないわけで、超短期間でバージョンアップする度にスキルアップするしかないFCは僕のような趣味的なパーソナルユーザーには思いっきりあってると思います。


yataka1 at 00:30|この記事のURLTrackBack(0)

2005年02月03日

Postfix(POP before SMTP)

3e7dc8c7.jpg
朝晩Treadmillで30分くらい軽く走りこんで、カルピスのアミールSを飲んでもいっこうに血圧が下がらない。以前は超低血圧で朝起きられなくて困っていたのに・・・。
先週、自宅サーバーを構築してから初めてそのサーバーのアドレスにVirusメールが届きました。
1日トータル300通くらいのSpamメールを受け取り、そのうちVirusメールも20,30通は受け取るし、PCのVirusソフトは常時最新にアップデートされているので何の問題もないけど自分のサーバーにVirusメールが届くのは実に嫌なもんで、早々にサーバーにPrivate and Non-commercial useなら無料のAntiVir MailGateを悪戦苦闘しながらインストールに成功したものの、MTAがsendmailだと僕の設定が悪いのかメインのドメインでは完璧に機能するのにバーチャルのサブドメインでは時々メールが送信不能に陥ったり、非常に不安定だったので思い切ってとうとうMTAをPostfixに変えました。
以前も一度Postfix+drac+qpopperでPOP before SMTPで短期間運用していた時期もあったのですが、PostfixはデフォルトではメールのインターネットヘッダーのReceived: fromを内部ルートをはじめ、送ったプライベートのクライアントマシーンの名前まで表示してしまうのが嫌だったのですが、やっとReceived: fromを簡単に非表示化する方法を見つけたので、無骨で思い入れの深かったsendmailからpostfixに完全に移行しました。
以前は20時間もかかったのに今回は1時間くらいで移行できました。

1.sendmailからPostfix(POP before SMTP)移行の設定変更ノート
 (drac+qpopperは設定済みです)詳しくはPOP before SMTP
 
# yum -y install postfix

Postfix(main.cf)設定
 
# vi /etc/postfix/main.cf
myhostname = linux.hogehoge.com
mydomain = hogehoge.com
inet_interfaces = all
#inet_interfaces = localhost (コメントアウト)
mydestination = $myhostname, localhost.$mydomain $mydomain
mynetworks_style = subnet
mynetworks = 127.0.0.0/8 (POP before SMTPの場合は192.168.1.0/24を削除)
relay_domains = $mydestination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mail_spool_directory = /var/spool/mail
header_checks = regexp:/etc/postfix/header_checks
そして最終行に
virtual_maps = hash:/etc/postfix/virtual
smtpd_recipient_restrictions = permit_mynetworks, check_client_access btree:/etc/mail/dracd, check_relay_domains
(※このsmtpd_recipienから始まるheck_relay_domainsまでを必ず1行で記述すること)
 
Postfix(Received 非表示化)
# vi /etc/postfix/header_checks
/^Received:/ IGNORE
 
Postfix(自動起動)
# chkconfig --add postfix
 
sendmail停止
# /etc/init.d/sendmail stop
 
Postfix起動
# /etc/init.d/postfix start
 
これでテストして問題がなければsendmailアンインストール
# yum -y remove sendmail

と書きましたが、じつは僕はまだsendmailを未練がましくアンインストール
していません。でもとりあえず問題なくPostfixもAntiVir MailGateも完璧に動作しています。
 
※バーチャルドメインでの設定
 
バーチャル環境で運用している場合はPostfix起動のまえにバーチャルのサブドメインで運用しているユーザーを下のように記述します。
# vi /etc/postfix/virtual
hogehoge.org anything
aaa@hogehoge.org aaa
bbb@hogehoge.org bbb
@hogehoge.jp @hogehoge.com (hogehoge.jpに来たメールを全てhogehoge.comに転送する場合)
 
hoge.com anything
ccc@hoge.com ccc
ddd@hoge.com ddd
のように記述して
# postmap /etc/postfix/virtual

初回はPostfixを初期起動するので下は必要ありませんが、その後バーチャルドメインのユーザーを追加して反映させるにはreloadする必要があります。
# /etc/rc.d/init.d/postfix reload
 
# useradd -s /sbin/nologin 新規ユーザー
ユーザーの追加はSSHによるリモート接続をさせない場合は
新規ユーザーの設定はsendmailと同じです。
メインのドメインの場合はvirtualの設定は必要ありません。

 
bottle.gif

2005年02月02日

690CB

ea53016a.jpg
木曜は3ヶ月ぶりのゴルフでした。前回のブログで書いたとおり戸塚カントリーで倒れたのがトラウマになってしまい。誘われてもなかなかその気にはなりませんでした。
しかし僕のゴルフを含めて人生の?師匠であるデザイナーのノブオ池田先生から半強制的に誘われて、やっと重い腰を上げました。
先生は50代の半ばですが自称ではなく、まさしく300ヤードヒッターです。
当日も530ヤードの軽い打上げのロングで2打目をグリーンオーバーさせていました。
ドライバーもワークスの8度のヘッドにブルーGを挿して47インチの長尺に仕上げてあり、まさにドラコンキング仕様です。僕は先生の年齢で片足ヒンズースクワットを左右50回以上出来る人を他には知りません。真夏でもラウンドハーフを終わった後、ドライビングレンジで300発は軽く打っちゃうような強靭な体力とヨガができそうなくらい柔軟な身体。
やっぱり飛ぶには、飛ぶ理由がありますw。
自称体育会系?ゴルファーでマッスルバックを愛する僕もさすがに3ヶ月ぶりなので690.MBはあきらめてダイナライトゴールドS-300を挿してあった690CBをキャディバックに入れてラウンドしました。
しかし、練習なしの3ヶ月のブランクはどうしようもなくラウンドの翌日には出社する前にワークショップに行ってリシャフトしてしまいました。
どういうスコアだったかわかりますよね・・・w。
今度のシャフトはプレシジョンのライフル100でしかもとうとうRシャフトを選びました。
Rであれば叩けば左に逝っちゃうので、ワークショップのオーナーの勧めで
スイングの矯正になるかどうかはわかりませんが実験的にやってみました。
練習場ではおkですが、ラウンドレポートは次のラウンドでします。
690CBを持っていけばの話ですが、接待ゴルフなら690.MBでやりますw。
キャビティ打ちになってもプライドは捨てません。 う〜ん???


yataka1 at 00:27|この記事のURLTrackBack(1)ゴルフ 

2005年01月25日

バーチャルドメイン Part 2

89c2431c.jpg
3ヶ月ぶりのblogです。
実は前回10月17日のblogで明後日行くと言ってた戸塚カントリーの西コースのイン8番ホールのティーグランドで高血圧で倒れてマーシャルカーで医務室に運ばれてしまいました。
さすがは名門「戸塚カントリー」午前中は医師が常駐しており、素晴らしい対応でした。
1年半前から体重も14kgダイエットしてPaul Smith CollectionのLサイズがオーダーしなくてもせっかくジャストサイズで着れるようになったのに・・・。
 
当日は雨で気温も低く最悪のコンディションの中8,9番がもしダボダボでもハーフで47だなと思ったまでははっきり覚えています。
30ヤードのバンカーショットが30cmに寄ったり、7mの下りのスネークラインのボギーパットが入ったり思えば血圧が上がりそうなゴルフでしたw。
おかげさまで大事には至らなかったもののすっかりリズムを壊してしまい、その上公私にトラブルがありすっかりご無沙汰して失礼しました。
高血圧の原因はストレスと超運動不足で年明け早々自宅にTreadmillを買って、ここ10日ほど毎日軽く走り込んでいます。

Fedora Coreもバージョンが3になり(一年に3度バージョンアップするOSはある意味すごい)
今はこのサーバーを使ってくれるユーザーが出来たのでバージョンアップしていませんが、やっとGUIではなくCUI(コマンドユーザーインターフェイス or キャラクタベースユーザーインターフェイス)で少しviが使いこなせるようになりました。
来月くらいからFC3で新規にもう一台サーバーを立てて、ルータのNAT設定で振り分けてメールサーバー以外を新サーバーに移行させようと思っています。
というのはFC2、FC3でDRACとqpopperとPostfixでPOP before SMTPを実現しようとすると、ソースからインストールしたものがファイル名や、使用ライブラリのバージョンが変わるためかアップデートがうまくいかなかったりして、結局最後にはPostfix+DovecotでSMTP-Authにしてしまえば良心的なハウツーサイトも多いしOSのバージョンに関係なくコピペで10分でメールサーバーが立てられるのに・・・。
 
 
とりあえず前回のバーチャルドメインの補足を書きます。
前回は適当にダミーを作りVirtualHostの最上位に記述し、該当ディレクトリーにdumyホルダー設置し、ダミーを作ることでIPでの直接のアクセスを不能にしWebDAVの脆弱性をねらった攻撃(IIS攻撃ツールもしくはW32.HLLW.Gaobot.gen)等を避けるようにしましたが、1回のアタックごとに32KBもログを消費し非常に精神衛生上良くないのと、SSL等の設定をしたい場合ではダミーは使えないのでhttpd.confを編集して長すぎるURI(414エラー)はログに記録しない設定に変更しました。
 

1.hpptd.conf NAMEベース設定変更ノート

# vi /etc/httpd/conf/httpd.conf
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
※変更
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined ← 長すぎるURI(414エラー)はログに記録しない

※ ダミードメインを削除

※ メインのドメインを設定
<VirtualHost 192.168.0.4:80> ← :80のポート番号を入れたのは、入れないとSSLでエラーになる。
ServerAdmin admini@hogehoge.com
DocumentRoot /home/www/web1
ServerName www.hogehoge.com
 ServerAlias www.hogehoge.com
 ServerAlias hogehoge.com
ErrorLog logs/hogehoge.com-error_log
CustomLog logs/hogehoge.com-access_log combined ← combinedに変更しないとVirtualHost環境では有効にならない。
</VirtualHost>
 

※ サブドメインの設定
<VirtualHost 192.168.0.4:80>
ServerAdmin admin@hoge.org
DocumentRoot /home/www/web2
ServerName www.hoge.org
 ServerAlias www.hoge.org
 ServerAlias hoge.org
ErrorLog logs/hoge.org-error_log
CustomLog logs/hoge.org-access_log combined ← combinedに変更しないとVirtualHost環境では有効にならない。
</VirtualHost>
私の場合
Webサーバーの予備があるので<VirtualHost 192.168.0.4:80>としているが
1台の場合は<VirtualHost *:80>でサーバーに割り当てるIPアドレスは必要が無い。

※ sendmail バーチャルドメイン設定追加メモ
 
SSHによるリモート接続をさせないメールユーザを新規作成する場合
# useradd -s /sbin/nologin 新規ユーザー
# passwd 新規ユーザー 新規ユーザーを設定する。
# vi /etc/mail/virtusertable
# makemap hash virtusertable.db < virtusertable

 
treadmill


2004年10月17日

バーチャルドメイン

4ac04801.jpg

今日はせっかくの日曜なのに朝からマンションの理事会
明日は名古屋へ出張、あさっては早朝からお堅い団体の親睦ゴルフ。
ゴルフはうれしいけど、コースはタフで有名な名門「戸塚カントリー」。
うーっ! ぜんぜん練習してなーい 迷惑かけそう・・・
先週mysqlが暴走してから放置してあった2つのバーチャルドメインサイトを
やっとさっき修復しました。 サーバーの設定をしたりシステムの構築をするのは
好きだけど、不思議とwebサイトの構築にはまったく興味が起きない。
このセンスのないblogのレイアウトを見れば一目瞭然だけど、
webサイトはフラッシュ好きの社員と親しいweb制作会社に完全におまかせ状態です。



下は今回バーチャルドメインで設定に関してググってみても意外と分かりやすくて参考になるところが
少ないので今更ですがあえて記載しました。


1.hpptd.conf NAMEベース設定ノート


※IPは自分がサーバーに割り当てたIPアドレスを使う(グローバルIPを使わない)


#NameVirtualHost *
NameVirtualHost 192.168.0.4  コメントを解除 
適当にダミーを作りVirtualHostの最上位に記述し、該当ディレクトリーにdumyホルダー設置し、
ダミーを作ることでIPでの直接のアクセスを不能にし、メインとサブのアクセスの優先順位をなくす。
個人的にはdumyホルダーにはFedoraの/var/www/htmlにあったerrorホルダーを入れて
no-indexの時のFedoraとAPACHEのテストページ表示させてます。



※ ダミードメインの設定
<VirtualHost 192.168.0.4>
ServerAdmin admin@dumy.jp
DocumentRoot /home/www/dumy
ServerName www.dumy.jp
ErrorLog logs/dumy-error_log
CustomLog logs/dumy-access_log common
</VirtualHost>



※ メインのドメインを設定
<VirtualHost 192.168.0.4>
ServerAdmin admini@hogehoge.com
DocumentRoot /home/www/web1
ServerName www.hogehoge.com
 ServerAlias www.hogehoge.com
 ServerAlias hogehoge.com
ErrorLog logs/hogehoge.com-error_log
CustomLog logs/hogehoge.com-access_log common
</VirtualHost>



※ サブドメインの設定
<VirtualHost 192.168.0.4>
ServerAdmin admin@hoge.org
DocumentRoot /home/www/web2
ServerName www.hoge.org
 ServerAlias www.hoge.org
 ServerAlias hoge.org
ErrorLog logs/hoge.org-error_log
CustomLog logs/hoge.org-access_log common
</VirtualHost>



2.sendmail バーチャルドメイン設定ノート


cd /etc/mail
vi virtusertable


例:
postmaster@yyyy.org  tvk
kato@yyyy.org  kato
@yyyy.org   taro
@zzzzz.com %1@yadayada.co.jp


空白部分は<タブ>
上から優先でpostmaster@yyyy.orgkato@yyyy.org以外はtaroへ
4行目の@zzzzz.com宛ては@yada-yada.co.jpに転送される
但し、taro@zzzzz.comならtaro@yada-yada.co.jpへ転送。


このファイルをdbに変換
makemap hash virtusertable.db < virtusertable


sendmail.mcへ追加


define(`confCR_FILE', `/etc/mail/local-host-names')dnl
FEATURE(virtusertable, `hash /etc/mail/virtusertable')dnl


local-host-namesに使用するドメインを追加
vi /etc/mail/local-host-names


yyyy.org
@zzzzz.com


# cd /etc/mail/
# m4 sendmail.mc > sendmail.cf


# /etc/rc.d/init.d/sendmail restart


 



2004年10月11日

不正中継

3c54fd95.jpg

昨日でLinux歴2ヶ月、少し分かってきたと思った矢先またやってしまいました。
やっと苦労のすえバーチャルドメインとバーチャルメールに成功して、これから友人たちへアカウントを発行しよとしたら、BBSで使っていたmysqlが突然暴走して、bind, apache, mysqlが完全に息の根を止めてしまった。
原因はapache 経由でmysql処理を必要とする cgi に高い負荷がかかったからか?
httpd.confの記述の問題か? 何故か連休になるとトラブルが多い。
とにかくmysqlを止めてBBSを閉鎖して、bindを修復してメールを復旧させた。
復旧したらPOP before SMTPに使っているdracのキャッシュがたまに完全にクリアされない問題が何故か解決していた。


災い転じて・・・ポジティブに考えよう。
しかしPOP before SMTPは過去の遺産なんていう人もいるけど、今まで自宅サーバーを設置後1日平均で5,000メールくらい(実質15-20 IP)の不正中継のアタックを受けて1度も不正中継していないのは結構すごいと思う。
sshでのアタックは1日20 IPくらい、ログを見ると笑ってしまうようなパスワードでログインしようとしているのが可笑しい。
うちに来るspamは今は圧倒的にtwドメインが多く、sshはオーストラリアからのアタックが多い。
とにかく自宅サーバーは本当に簡単に構築出来るようになったけど、ハウツー本の情報だけだと圧倒的に不正中継の温床になりやすい。



もし不安なら、Mail relay testing にアクセスしてAddress to test:(as host name or dotted quad)に現在自分が接続しているIPアドレスを入力して(他はブランクで可)Test for relayを押すと17種類のテストをしてくれて
All tests performed, no relays accepted.と表示されれば問題なし。


 



2004年09月28日

セカンダリーDNS

31a27075.jpg日曜日のゴルフは東京は雨だったけど、僕は仲間うちでは有名な晴男。沼津は曇りで上り3ホールだけ少し降られたけど、なかなかのゴルフ日和でした。ラウンド前の練習の時に飛ばなかったドライバーは本番では絶好調だったのに、練習グリーンで絶好調だったアプローチが超最悪で、スコアは・・・  う〜ん笑うしかない wwwww とほほ 今日からここのblogのシステムもリニューアルされていたので、新しくなった別タグでアクセスカウンターを見たら1日で500アクセスを初めて超えていて、これはシステムエラーか?もしくはlivedoorの社長の強烈な露出パワーか? どっちでも良いけど何気にとってもうれしい。 今日、僕のもう一つの趣味のオールドノリタケのサイトのサーバーの構築を頼まれてたのを思い出して、とりあえずドメインは速攻でゲットしたものの、自前でネームサーバーを2つ用意するのが大変で、セカンダリーサービスを利用するのも癪だし、会社がハウジングで置いてるサーバーのIPが使えるのを思い出して久しぶりにNetwork Solutionsにアクセスしたら、テクニカルコンタクトがサーバーをハウジングをお願いしている会社に変えられていて、英語でFAQを読み漁る事1時間もかかってテクニカルコンタクトじゃないと登録ドメインのDNSがホスト登録ができないことがわかって、強行手段でドメインのテクニカルコンタクトを仮変更する為にDNSをNetwork Solutionsが管理するNS100.WORLDNIC.COMとNS99.WORLDNIC.COMにして一旦テクニカルコンタクトをNetwork Solutionsにしてから再度ログインして新規DNSホストを登録した後、何気に元の情報に戻しておいたけど、会社でメインで使ってるサーバーだからトラぶったらどーしよう。 やっぱし、かなりまずいかなぁw無理しないでレンタルサーバー借りてれば・・・すべては後の祭り

2004年09月25日

知らなかった事

2e9b4ba8.jpgああ!明日はゴルフなんだけど、PWで数回素振りをするとついPCの前に座ってしまう。

今やっと、このBlogのCNAMEのDNSが妙に安定していない理由が判明しました。

BIND(ネームサーバー)の正引き用ゾーンファイルを更新した後は、Serialの値を更新しなきゃいけない事をしらなかった。 これだから素人は・・・汗


知らなかった事といえばFedora Coreでバックアップを取る方法はググって良い方法を見つけたけど、まさかトラブった時には解凍したホルダーを手動でコピーするとは思いもせず、解凍すれば自動実行でバックアップされるものと信じて、じーっと待ったり何度か再起動してみたり 今考えると思いっきり笑える。


ここがその自動バックアップ運用(Linuxサーバー⇒Windowsクライアント)の方法が掲載されていたサイトです。
他にも色々助かる情報が親切で丁寧に書かれていて、PuTTYとviを使えばコピペでサーバーがグレードアップできます。w

さて明日は90が切れるか???

寝ます。

2004年09月20日

POP before SMTP

aa7bc3bc.jpg三連休中ゴルフは1ラウンドだけで、結局練習はなし・・・うーん根性なしw

以前公開サーバーを立ち上げたその初日に、メールサーバーを大量のSPAMの中継の餌食にされ、
それ以降不正中継されるのが嫌で、/etc/mail/のaccessをまるでdocomoのドメイン指定受信のように
超単純かつ大胆に編集しまくって運用して来たものの、今後SMTP-AUTHかPOP before SMTP を採用したくても、
Linux歴1ヶ月では、壁はあまりに厚くFedora Core2を再インストールすること5回、
Fedora Core1にいたっては14,5回のインストールを繰り返し、やっと POP before SMTPを完成させました。


前回FC1を薦めたのは、FC2よりはインストール時間がはるかにかからないためで、
FC2は4枚のCDを忙しく入れ替える必要があるのが大きな理由の一つで、
ハウツー本では最小のインストールを薦めていますが、現実的にはファイルをソースからダウンロードして
Berkeley DBを使ってgccでコンパイルして自分で理想的環境を作ってインストールするなんてのは
現実的にはビギナーにはほとんど絶望的で、初めからFCをフルインストールしてしまえば特殊な目的を除けば、
そこそこの理想的開発環境が知らずのうちに出来てしまうフルインストールを選択したほうが時間をかけても
結局まだましな気がします。

 今までMTA(Message Transfer Agent)はトップシェアを誇りながら評判の悪いsendmailを使ってきたけど、
そもそも性格的に高性能の流行物に弱いのでqmailかpostfixに変えたくて qmailはsendmailと
互換性がなくてハードルが高そうだったので今回はパスしました。

やっとの思いで、postfix+drac+qpopperで20時間以上もかけてPOP before SMTPを完成させたのに人間は現金なもので、
完成してしまえば、MAILER-DAEMONのメッセージからして妙にソフトで洗練されているのが気に入らなくて、
sendmailのに無愛想な味気なさが良く思えてきて、結局今のところはsendmail+drac+qpopperで運用しておいて、

次はひそかにqmailに挑戦しようと思っています。


Fedora Core1を使ったsendmail+drac+qpopperでのPOP before SMTPインストール・ノートです。(FC2,FC3でも動作確認済)

1.DRACのインストール

# cd /usr/local/src

# mkdir drac

# cd drac DRACのゲット

# wget ftp://ftp.cc.umanitoba.ca/src/drac.tar.Z 展開

# tar xvzf drac.tar.Z

展開後のMakefileの修正

# vi Makefile

viエディターで以下の部分を修正
INSTALL = install
DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C
CC = gcc
CFLAGS = $(DEFS) -g
LDLIBS = -ldb
RPCGENFLAGS = -C -I
MANADM = 8

※注意ググルと  DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH という記述が多いですが、
-DREQ_HASHを追加するとhash形式になるので省いています。

 Makeします。
# make
# make install
# mkdir /usr/local/man
# mkdir /usr/local/man/man3
# mkdir /usr/local/man/man8

# make install-man

# cp libdrac.a /usr/local/lib

dracd-setup.linuxを編集して起動スクリプトを作ります。

# vi /usr/local/src/dracd-setup.linux

daemon rpc.dracd& を削除して daemon /usr/local/sbin/rpc.dracd -i -e 5 & ※(-e 5は5分の意味です。未記入で30分)

killproc rpc.dracd を削除して killproc /usr/local/sbin/rpc.dracd

スクリプトをinit.dにコピーしてランレベルを変更します。

# cp dracd-setup.linux /etc/rc.d/init.d/dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc0.d/S99dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc3.d/S99dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc6.d/S99dracd

/etc/mailにdracd.allow-sampleファイルを作成します。

# vi dracd.allow-sample ファイル名がなければ作りますか?と聞いてくるので、はいを選択
255.255.255.255 127.0.0.1 と記述しローカルだけ許可し/etc/mailに保存。
DRACを起動します。

# /etc/rc.d/init.d/dracd start

ntsysvでportmapの起動を確認してない場合は
# /etc/init.d/portmap start

drac.dbのパーミッションを変更します。
# chmod 600 /etc/mail/dracd.db 以上でDRACの設定が完了です。


2.qpopperのインストール

qpopperのゲット
# wget ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper4.0.5.tar.gz

展開

# tar xvzf qpopper4.0.5.tar.gz

自動的にqpopper4.0.5というディレクトリができます。
# cd qpopper4.0.5

# ./configure --enable-drac --enable-specialauth 
# make
# make install

qpopperをxinetdから起動するための起動スクリプトを作成します。

# cd /etc/xinetd.d/
# vi popper

service pop3
{
        disable = no
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/local/sbin/popper
        log_on_success  += HOST DURATION
        log_on_failure  += HOST
}

qpopperを起動します。
# /etc/rc.d/init.d/xinetd restart

 
以上でqpopperの設定が完了です。


3.Sendmailの変更

ここからが裏技です。通常直接sendmail.cfを編集しますが、正直どこに書いていいか分かりませんでした。
それでsendmail.mcを使いファイルを開きます。
# vi /etc/mail/sendmail.mc 最下行に以下の部分を追加してください。

LOCAL_CONFIG
#dynamic relay authorization control map
Kdrac btree /etc/mail/dracd
LOCAL_RULESETS SLocal_check_rcpt
#allow recent POP/IMAP mail clients to relay
R$*<タブキー>$: $&{client_addr}
R$+<タブキー>$: $(drac $1 $: ? $)
R? <タブキー>$@ ?
R$+<タブキー>$@ $#OK

※絶対に<タブキー>で均等なスペースを空けてください。
<無変換>と<変換>の間のスペースキーを使うと無効になります。

sendmail.cfを再構築します。
# cd /etc/mail/ # m4 sendmail.mc > sendmail.cf
変更してあれば/etc/mail/accessファイルをもとに戻します。

# vi /etc/mail/access 下のようにaccessではローカルだけの中継のみにします。
localhost.localdomain RELAY
localhost RELAY 127.0.0.1 RELAY

# makemap -v hash access.db < access  
sendmailを再起動すれば出来上がりです。
# /etc/rc.d/init.d/sendmail restart

続きを読む

2004年09月15日

男はだまってマッスルバック?

4ee74208.jpg去年の秋以降、親しいゴルフ仲間に大きな仕事のプロジェクトが入ってしまい、
めっきりゴルフをやらなくなって今年に入ってからまだたったの4ラウンド。

もともと体育会系の人間じゃなうえ練習もしてないのに、ギアおたくで実力以上のスペックの
クラブセッティングをしてしまうのでさらにわけが悪い。
でもどうせシングルハンデにはなれそうもないし、少なくてもキャディバックの中身だけは
一瞬だけでも同伴プレーヤーを威嚇したい。

あと職業柄、美しいクラブでプレーしたいという思いが強く好きなブランドはタイトリスト。
ついにワールドランキングでタイガーがビジェイ・シンに負けたけど、タイガーがナイキに
いかずタイトリストを使ってたら・・・イグナイトは飛びそうだけど方向性が悪そうだ。
でも欲しい・・・w

自宅鯖を作ったり、今月に入ってからわりと引篭っていたけど週末から練習場に行って体を
作り直そうと今日硬く決意しました。

体が回ってきたら今後はギアレポートをガンガン書きます。

写真のセッティング

1W Callaway Fusion 9 JSY-7.5 S (GRAPHITE BLUE-G)
3W Titleist 980F 15 STRONG SPEEDER-S
5W Titleist 980F 19 SPEEDER-S
Iron 3-PW Titleist 690.MB DYNALITEGOLD S300
SW Titleist BV 60-M
PT ODYSSEY 2BALL BLADE


yataka1 at 23:26|この記事のURLTrackBack(0)ゴルフ 

2004年09月14日

自宅サーバー構築でお勧めの本

book
以下は僕が自宅鯖を構築するためにお勧めの3冊の本です。

初心者でもダイナミックDNSで希望のドメインは使えなくても

とりあえず自宅サーバーを構築したいならFedora Core1 で作る自宅サーバー for Linux

が絶対お勧め、ただしルーターを使ったポート・フォワーディングに関して説明がないのと

最近増えてきた固定IPサービスに関しては記述がないので、Fedora Core2で作る 最強の自宅サーバーを読めばセキュリティの面でもより詳しく書かれています。

Fedore Core 1で作る自宅サーバー for Linuxはすでに同じ作者の新刊のFedora Core 2が出版されていますが、個人的にCD3枚でインストールできて使い勝手が良いFC1の方を紹介しました。


この2冊を読んでそれなりに失敗を繰り返しながらも、それなりの手応えが掴めたら

はじめてのFedora Core 2 がお勧めです。この本はタイトルはやさしいですが、

内容はGUIを利用しないでサーバーを構築する内容になっており結構ハードです。

しかし、DNSサーバーをFCの特徴であるchroot環境で動作させる方法やApacheの設定方法が

非常に親切に書かれており、手元にあると非常に便利ですしやっぱり使えるものなら

LinuxはGUIを使わないのがベストであることは間違いないです。

正直、僕個人はまだその域に達していませんが・・・w



2004年09月12日

自宅鯖を構築したが使い道がない

d5afdae7.jpg今年の夏は暑すぎてゴルフもあまり真剣にやる気がしなかったし、メジャーを入れてもプロ野球もつまんないから、自宅でしこしこ自宅鯖を作ってました。
今時はLinuxもGUIが使えてハードルが本当に低くなったし、そもそもサーバー用のPCは低スペックマシーンで大丈夫だから、デルのPowerEdge400SC(\45,000)にBUFFALO(\3,900)のルーターで40MのADSL(固定1 IP)経由で超快適に動いてます。
OSはFedora Core1で2週間くらいで、Mailサーバー、Webサーバー、DNSネームサーバー、SSH,TELNET
FTPまで作りこみました。
今のところメール以外に特に使い道がないので、blogで日記を始めてみました。