メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバは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の反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

vsftpd の動作がおかしい

ftpで接続できない

vps上の設定を行っていていよいよ最終段階に。
webコンテンツをUPしようと、ftpサーバを立てる。
$ sudo apt-get install vsftpd
まあ、これだけの話だ。

でもって、気持よくFileZillaで接続しようとするも接続できない???
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
と文句を言ってくる。
おや、前に違う環境で立てた時は、こんなことはなかった。

まあ、今回はvirtual hostをいくつも切るために、アカウントごとにchrootしているので、これまでとは状況が違うといえば違うのだけれど…。
今回利用しているのは、vsftpd 2.3.5だ。

ググってみっるとこんなタイトルの情報が…
Fixing 500 OOPS: vsftpd: refusing to run with writable root inside chroot ()」はいはい。まんまじゃないですか…。

バグでも潜んでいるんかと、読んでみる。
対策として、
chmod a-w /home/user
しろとな。これで試すと、問題なく接続できる。
いやぁ、しかし書き込み権限をなくせばOKと言われましても、これじゃUploadできないわけで…。

試しに、Uploadしてみるが、書き込みできないと言われる。
そりゃ、当たり前だ。

もしくは、次の2つの方法があるらしい。
vsftpdなら
allow_writeable_chroot=YES
vsftpd-extなら
allow_writable_chroot=YES
にしろと。(どうして記述の方法を変えたのか…)

vsftpd-extってなんじゃい?と思いつつ、とりあえず上の方法で試すも撃沈。

他の情報を探してみる

どうやらvsftpd2.3.5になった時に、セキュリティ強化のために導入されたらしい。

じゃ、2.3.4で行けばと思ったら、脆弱性が見つかっているので、止めた方がいいらしい。
手詰まりか?と思ったら、
方法は3つ。

  1. Extended vsftpd(さっきのvsftpd extがこれだった)を利用しろ
  2. vsftpdの3.x.x系を使え
  3. vsftpd 2.3.5改?(3系列backport)を使え
ということらしい。
1.は、本家vsftpdからダウンロード可能だが、tar.gz形式で、自分でbuildする必要がある。
2.はExtended vsFTPd buildsからダウンロード可能だが、こいつもsourceからbuildする必要がある。

最初はbuildしかけたのだけれど、折角ubuntuで構築しているのに、Package管理できないのは勿体ない。
今後、アップデートが出ても、確認が面倒になる。
そこで、ようやく見つけたのが3.だった。


お手軽にできた

詳細は、vsftpd: refusing to run with writable root inside chrootにあるので、確認してもらうとして…。

手順は以下の通り
  1. login as root (or sudo..) and do the following:
  2. apt-get install python-software-properties
  3. sudo add-apt-repository ppa:thefrontiergroup/vsftpd
  4. sudo apt-get update
  5. sudo apt-get install vsftpd
  6. vi /etc/vsftpd.conf and add the following allow_writeable_chroot=YES
  7. sudo service vsftpd restart
要はppaをリポジトリに追加して、そこにあるvsftpdを入れろと。
すると、2.3.5-1ubuntu2ppa1が入るので、confに上記を追記してやればOKとな。

ここに辿り着くまでに、少々苦戦しましたゎ。

おかげで、無事にUploadできるようになりましたとさ。

コメント

このブログの人気の投稿

WPS Officeで日本語入力ができない

Virtualboxとnvidiaドライバ

VirtualBoxでUSBから起動