投稿

ラベル(postfix)が付いた投稿を表示しています

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

postfix+spamassassinによる基本的SPAM対策

管理しているサーバへの要望 VPSで管理しているサーバは、9ドメインにもなっておりますが、その中のお客さんからの要望があって…。 以前のサーバでは、SPAMメールの件名(Subject)に[SPAM]が挿入されていて、それを元にフィルタリングしていたけれど、新しいサーバに変えてから、それが無くなって不便だから、何とかして欲しい… そうですか、今時サーバでやるのは、あまり流行っていないような気がするんですがねぇ。 精度の問題もあって、一般的なルールだとどうしても誤認識が相当数発生するのが欠点。各自のメールでベイズフィルタで学習させて、利用する方が精度が高いし、ローカルでそういった機能を持つメーラが増えているので、そっちを使った方が効率的だとは思うんだけど…。 まぁ、要望なので仕方ない。 昔設定した記憶をたどりながら、新たに導入することに。って15年ほど昔にやった手法なので、今風のやり方を調べながらですが…。 SpamAssassinのインストール Ubuntuなので、相変わらずインストールは簡単ですゎ。 $ sudo -s # apt-get install spamassassin spamassassin-rules-ja これだけです。必要なパッケージは、適当に拾ってくれるので、しばらく待つのみ。(ほんの10数秒だけどね…) 本当は、ウィルスチェッカなんかも入れるという方法もあるし、その他もろもろ、様々な設定方法があるけれど、シンプルな方法で行くことにする。 設定項目はごくわずか Spamd まずは、/etc/spamassassin/local.cfを書き換える。 デフォルトでは「*****SPAM*****」が件名に追加されるけれど、今回は要望通りに設定。 rewrite_header Subject [SPAM] report_safe 0 これで、最低限の記述はOKそう。 続いて、通常パッケージで入れると、ユーザとか作ってくれるけれど、設定の自由度が高いせいか、方法に応じて自分で作っておく必要がある。 # groupadd spamd # useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd #

SSL自己署名証明書の作成

イメージ
マルチドメインを管理していて これまで1台のサーバ(仮想も含め)で1ドメインの管理をこれまで行ってきた。 今回、複数のドメインを1台で管理した方が良い案件だったので、設定することにした。 webサーバはapache2のvirtual設定でOK。 IPは一つだけで、名前ごとに異なるコンテンツを返す。 メールはpostfix+dovecotで、virtual mailboxで管理することに。 ftpは、chrootして、各ユーザのhome以下のweb用ディレクトリに配置。 ここまでは、別に難しくはない。 テストでは、Thunderbirdを利用していたのが、トラブルを見つけにくくしていた。 Thunderbirdは、知らないSSL証明書を受け取った場合、例外として処理するかどうかを自分で設定できる。 僕が設定してテストしている時に、例外指定をしたため、以後警告も何も言わずに送受信ができていた。 ところが、WindowsLiveやOutlook/OutlookExpressは、起動時に確認され、OKしても再度メーラーを起動すると、再び警告が出てくる。 WindowsLiveだと「接続しているサーバーは、確認できないセキュリティ証明書を使用しています。」って、ええやんか〜。 問題はSSLだった オレオレ証明書(自己署名証明書)の使い方と、設定の計画にあった。 デフォルトでは、勝手に証明書を作ってくれて、それを使えば基本的には問題ない。 (というか、これまで問題になったことはない) ただし、先にも書いたように1マシン=1ドメインの場合だ。 ホスト名でCN名を埋め込んで証明書を作るため、マルチドメインの場合の処理が厄介だった。 今回はvpsを借りているので、デフォルトでは借りたvpsによる名前のホストで作ってくれている。 そこで、通常通りSSLを使用して、設定してみると…。 う〜む。 メーラーのサーバ設定を、オリジナルのドメインにしたり、仮想ドメインにしたり、IPにしたりしてみたがダメ。 サーバから証明書を持ってきて、登録するが上手くいかない。 あれこれやっているうちに、vpsがデフォルトで付けてくれたマシン名だとSSLで警告

imapでの接続

postfixの次のSTEP 前回、SMTPにpostfixを導入し設定を終えた。 今度は、外部からメールの取り出しができるように、imapの設定を継続する。 Dovecotが一般的らしく、前回Postfixを入れるときに一緒に入れた。 受信の確認には、コンソール用のMTUが必要(前回mailで確認しようとしたけれど、Maildirに非対応)なんだけど、とりあえずMaildir内を確認して届くのをチェック。 一応、Muttを入れてみるが、設定ファイルを書く必要があって、あちこち探して見るけれど、あまり詳しい情報がない。 いくつかのサイトを参考にしながら、次のように設定。 set mbox_type="Maildir" set folder="~/Maildir" set spoolfile="~/Maildir/" # realnameは、Fromヘッダの名前になる。 set realname="username" # use_fromを設定しないと、ローカルコンピュータの名前が設定される。 set use_from="yes" set from="username@xxxxx.yyy.zz" # envelope_fromを"yes"にしないと、MAIL FROM:コマンドでローカルコンピュータ名が # 使用される。   set envelope_from="yes" # Return-Path:これを正しく設定していないと、@niftyのメールサーバがはじく。 my_hdr Return-Path: username@xxxxx.yyy.zz my_hdr Bcc: username@xxxxx.yyy.zz set nomove mailboxes "~/Maildir/inbox" "~/Maildir/trash" # 一覧画面の表示項目(日時と件名のみ) set index_format="%4C %Z %{%b %d} %s" set postponed="~/Maildir/draft"

メールサーバの設定

イメージ
もっとも大変かも… サーバ設定で、ミスをすると致命的なのがメールサーバなので、しっかりと下調べをして臨むことに。何せ他のサーバへの影響が大きいのと、不要なトラフィックを発生させることになるからね。 基本的にはpostfixでOKなのだけれど、「POP3/IMAP4サーバ」にDovecotを使うのが、このところの標準構成らしい。 できればPOPは、さまざまな端末からの利用を考えると、問題があるのでIMAPを使えるようにしておきたい。 どうやら現在のubuntuには仮想パッケージが用意されている。 # apt-get install dovecot-postfix これで、postfix関連、dovecot関連の全てを入れてくれる。 途中で、このメールサーバの設定を聞かれるので、「インターネットサイト」を選択し、 ドメインを入力するだけで、インストールが完了する。 dovecot-core dovecot-imapd dovecot-managesieved dovecot-pop3d dovecot-postfix dovecot-sieve mail-stack-delivery postfix 全部で、8個のパッケージを入れてくれた。 設定の確認と修正 修正に関しては、 先人の情報 を参考にして/etc/postfix/main.cfを確認・修正する。 30行目あたりのmyhostnameを修正。 myhostname = mail.xxx.jp と、自ドメインのメールサーバのホスト名に変更。もちろん、前回DNSに登録してあるホスト名を利用。 34行目あたりのmydestinationを確認、修正。 mydestination = xxx.jp, vzzz-yyy-xxx-www.myvps.jp, localhost.xxx.jp, localhost  のように、受け取るドメインを列記する。VPSの本来のマシン名がデフォルトで入っているが、今のところ問題はないので、そのまま残しておく。 9行目あたり smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) となっているのを、以下のように変更。不要な情報は出さないように修正。 smtpd_ban