トップページへ

 セットアップ
Debian化
カーネル再構築
Debian化仕上げ
HDDの初期化
フローチャート

 サーバ構築
ルータの設定
無料ドメイン収得
Webサーバ
メールサーバ
FTPサーバ
ファイルサーバ
プリンタサーバ
DNSサーバ
データベースサーバ

 運 用
基本的なコマンド
テキストエディタ
シェルスクリプト
運用に必要な物
ファイアウォール
ログの管理
バックアップ
データ復旧
VMware

 監 視
Webアクセス解析
システム監視
ログ解析
不正アクセス監視

 その他
リンク

sponsored link

【 更新履歴 】


2009年7月25日
 サイトデザインを一新

2009年3月31日
 Debian化仕上のページを更新

2008年09月15日
 新サイト開設



SMTPサーバ:Postfix


ここでやること
■ メール送信サーバであるPostfixをインストールする
■ メール受信サーバであるpopa3dをインストールする

 まずはメールの送信と受信を行うSMTPサーバの設定を行います。(POPサーバはSMTPサーバで受信したメールを取り出すためのプログラムです) ここでの設定はセキュリティを考え、自宅LAN内のパソコンからのメール送信のみ許可しています (つまり自宅以外のパソコンからは使用できません)。だって自宅サーバなんだし、自分以外使いませんから。
 あと、多くのプロバイダはスパムメール対策のために自宅サーバの管理者泣かせのOP25B (Outbound Port 25 Blocking:契約しているプロバイダ指定のメールサーバ以外からの送信を遮断)という制御を行っているのでその回避方法も掲載します。
メール転送プログラムは多数ありますが私はPostfixを使用します。(使っている人が多いし、たまたまPostfixに関する参考書があったから)

コマンド:Postfixのインストール

まずはPostfixのインストール

# apt-get install postfix

下記の質問をされますので答えていきます

  サーバーの形式 → internet site
  rootへのメールの場所 → NONE
  メールネームの設定 → 収得した玄箱のドメイン名
  整形の設定(append domain to simple address) → No
  受信ドメイン名 → 収得した玄箱のドメイン名, localhost.dyndns.org, local host  ←ここではあまり余計な情報を載せない方がいいと思います

※後で設定をやりなおす時は

# dpkg-reconfigure postfix

Postfixの設定ファイルを編集します。

ファイル編集:/etc/postfix/main.cf

smtpd_banner = $myhostname ESMTP ←外部に余計な情報を出さないように設定
biff = no
append_dot_mydomain = no
myhostname = 収得した玄箱のドメイン名
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = 収得した玄箱のドメイン名, localhost.dyndns.org, localhost
relayhost =
mynetworks = 127.0.0.0/8 192.168.0.0/24 
LAN内のパソコンからメールを送信できるように設定。デフォルトのままだと telnetやsshでサーバにログインしたユーザーしか使えません
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all


コマンド:Postfix再起動

Postfixを再起動して設定を反映させます

# /etc/init.d/postfix reload


■不正中継テスト
 不正中継テストを下記のサイトで実施する。SMTPサーバはスパムメールやメールボムの送信元として不正使用される可能性がありますので気をつけましょう。
RBL.jp

■DoCoMoの携帯にメールを送れるようにする
 メールサーバを運用していてDoCoMoへのメールが遅れない現象が発覚しました。 調べてみるとDoCoMo側の設定によるものらしいので自分が契約しているsmtpサーバのアドレスから送信すれば問題なくメールが送信できました。

ファイル編集:/etc/postfix/main.cf

以下の分を追加する

transport_maps = hash:/etc/postfix/transport

ファイル編集:/etc/postfix/transport

/etc/postfix/transportのファイルを新規作成し、下記の内容を記入します

docomo.ne.jp :[プロバイダのsmtpサーバアドレス] ←mail.xxx.jpなど
.docomo.ne.jp :[プロバイダのsmtpサーバアドレス] ←mail.xxx.jpなど

コマンド:Postfixの再起動

下記コマンドで設定を反映させ、transport.dbを作成する

# postmap /etc/postfix/transport

Postfixを再起動させて設定を反映させる

# /etc/init.d/postfix reload


■OP25B対策
 最近では迷惑メール対策として多くのプロバイダがOP25B(契約しているプロバイダ指定のSMTPサーバ以外へのアクセスを遮断)を導入しています。
 導入されると自宅サーバからの外部へのメール送信が全て遮断されてしまいます (契約しているプロバイダの情報を参照してください)。それに対処するために自宅サーバから一度プロバイダ指定のサーバにアクセスしてから 外部へメールを送信する手法があります。

ファイル編集:/etc/postfix/main.cf

経由するサーバを指定

relayhost = [契約しているプロバイダのSMTPサーバ]

コマンド:Postfixリロード

設定を反映させる

# /etc/init.d/postfix reload





POPサーバ:popa3d


メール受信サーバであるPOPサーバのインストールと設定を行います。
※他にもimap対応のサーバなど多数ありますのでどれををインストールしても良いです。

コマンド:popa3dのインストール

インストール時に下記の質問に答えます

# apt-get install popa3d
スタンドアロン設定:yes ←Noならinetdの管理下におかれる


■メールユーザの追加
 ここで作成した「POPメールアカウント」=「サーバ上でのユーザ」となるのでセキュリティのためにメールアカウントユーザのサーバ上での 権限を無くしておきます。(「POPメールのパスワード」=「サーバへのログインのパスワード」であるため)

ファイル編集:/etc/shells

/etc/shellsに下記の文字を追加します。これでユーザ登録の際に、シェルを/bin/falseと指定されたユーザは メールログインが出来てメールコマンドは通りますが、一般シェルの操作はできずに余計な操作をされるのを防ぎます

/bin/false

コマンド:メールユーザ追加

まずは基本的なシェルコマンドを使えないユーザを作成します。この名前がメールアドレスの@の前の文字列になります

# useradd -s /bin/false ユーザ名

作成したいメールのパスワードを設定します

# passwd ユーザー名  ←メールのパスワード入力

もしも、すでに作成されているユーザーのシェル権限を変更するには下記のコマンドを実行します

# usermod -s /bin/false ユーザ名

 上記で追加したユーザ名がメールアドレスの@の前の部分になります、メールパスワードもユーザ追加時に入力したパスワードとなります。
 LAN内から外部へのメールしか使用しないのでOutlookExpress等でのPOPサーバとSMTPサーバアドレスを玄箱のアドレス(例えば192.168.0.10など)に設定します。

 上記の設定を行ってもメールが送られてこない場合、もしかしたらエイリアスの設定でメールの受信者が他のユーザーになっている可能性がありますので 下記の設定を確認します。この機能は通常、複数のメールアドレスを1つのユーザーが受信させるために使用します。

コマンド:aliasesの設定

# vi /etc/aliases
  メールアカウント名 : 受信するメールアカウント名 ←必要が無けれは削除します

エイリアスの変更を行ったら下記のコマンドで設定を反映させます。

# newaliases