2004年5月6日木曜日

メール鯖立てる

メインで使っていた無料メール鯖が最近よくダウンするので,捨てることにした.
新たな無料鯖を探してもいいのだが,せっかく自宅鯖あるのだから,メール鯖を立てることにした.

sendmail はデフォルトでインストールされている.
鯖を立てた手順を忘れぬうちにメモしとこう.



m4 のインストール
# rpm -ihv m4-*
sendmail-cf のインストール
# rpm -ihv sendmail-cf-*
/etc/mail/sendmail.mc の編集

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
→ dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

sendmail リロード

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

サーバ外から接続許可(/etc/hosts.allow の編集)

sendmail:ALL の行を追加.

pop3鯖構築(UW IMAP のインストール)

# rpm -ihv imap-*

pop3, imap 起動

# chkconfig ipop3 on
# chkconfig imap on

メアド作成

# useradd -s /sbin/nologin kurobe_2004_05
# passwd kurobe_2004_05

そしてOE などのメーラー設定してしまう.

さて,これだと外からsmtp にアクセスされて
SPAM の踏み台になるかもしれないから「smtp 認証」で防御することにする.

/etc/mail/sendmail.mc の編集

define(`confAUTH_OPTIONS', `A')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
この3行の行頭の dnl を削除して有効にする.


DAEMON_OPTIONS(`Port=25, Name=MSA, M=E')dnl  を追加

/etc/mail/access が以下のデフォルトのままであるか確認

localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY

つまり,「サーバの外からのメールは転送しない」設定.書き直したら次のコマンド

# makemap hash /etc/mail/access.db < /etc/mail/access

sendmail.cf 更新して sendmail restart

# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
# /etc/rc.d/init.d/sendmail restart

saslの設定

/usr/lib/sasl/Sendmail.confの中身を pwcheck_method: pam から pwcheck_method: sasldb に書き換えて,saslのパスワードと認証にsasldbを使う設定に変更する.
/usr/sbin/saslpasswd kurobe_2004_05 を順次実行して,SMTP認証のパスワードを設定する.

これで送信すると,「接続エラー」で送信できなくなり,
メーラの設定を「SMTP認証を使う」にすると送受信が可能になったので,
踏み台になることはないことが確認できた.

とりあえず kurobe_2004_05@uja.jp が使えるようになった.
さらに,メールアカウントの数は無尽蔵に増やせる・・・何かの応募やアンケートの回答用に一時的にアドレスを作り,用が済んだら削除.


といって,実際は覚えられないようなアカウントを

  qpa2l5mz7jd8hv3yrw

のように1つだけ作って,/etc/aliases に

   kurobe_2004_05: qpa2l5mz7jd8hv3yrw
   adoresu1: qpa2l5mz7jd8hv3yrw
   mailadoresu: qpa2l5mz7jd8hv3yrw
   hogehoge: qpa2l5mz7jd8hv3yrw

と書き,newaliases を実行して,aliases のデータベースを更新すれば
すれば,アカウント1つで,無尽蔵にメールアドレスを増やせるのだが.


アカウント追加削除手順

# useradd -s /sbin/nologin hogehoge
# passwd hogehoge
# /usr/sbin/saslpasswd hogehoge

これで hogehoge@uja.jp
が使え,削除は

# userdel hogehoge


ルータに穴を開ける
当然,外からメールチェックするにはルータに穴を開けなければならない.
25番(SMTP),110番(POP) ポートへのアクセスをメールサーバマシンにアドレス変換するように設定変更.

0 件のコメント:

コメントを投稿

スパム対策のため,コメントは,承認するまで表示されません。
「コメントの記入者:」は「匿名」ではなく,「名前/URL」を選んで,なにかニックネームを入れてください.URL は空欄で構いません.