2012年10月15日月曜日

SMTP認証専用のdovecot

最近は、PostfixでSMTP認証をする際にdovecotを利用するケースが増えてきたのだが、SMTP認証のためだけにPOP/IMAPサーバを起動するのが嫌な場合(というよりPOP/IMAPのサービスが不要であればこちらを推奨する)は、dovecotを認証専用のサービスとして起動すればいい。

具体的には、まず /etc/dovecot/dovecot.conf でprotocolsを以下のように設定する。
 
        protocols = none

その上で、dovecotのドキュメントにあるように、/etc/dovecot/conf.d/10-master.confに
以下のように設定する。


   service auth {
      unix_listener /var/spool/postfix/private/auth {
        group = postfix
        mode = 0666
       user = postfix
      }
    }

あとは、dovecotが認証に利用する情報に合わせて/etc/dovecot/conf.d/10-auth.confあたりを編集してdovecotを起動すればいい。


起動後、netstatで確認すると以下のようになる。

[root@fc17 ~]# netstat -ant | egrep '110|143|993|995'
[root@fc17 ~]#
※POP/IMAP関連のポートはオープンしていない


なお、Postifx側の設定は(詳細はドキュメントで要確認)、main.cfに以下の記述をすれば良い。

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

2012年10月8日月曜日

yum パッケージのダウングレード

パッケージを最新にアップデートしたものの何かしら不具合が見つかり、古いバージョンに戻したいといった場合は以下のようにする。

 例えば、Fedora17でdovecotをダウングレードする場合
※Ver2.1.10からVer2.1.5へダウングレード

 [root@fc17 ~]# rpm -q dovecot 
dovecot-2.1.10-1.fc17.x86_64
[root@fc17 ~]#
[root@fc17 ~]# yum downgrade dovecot

読み込んだプラグイン:langpacks, presto, refresh-packagekit
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ dovecot.x86_64 1:2.1.5-1.fc17 は ダウングレード です
---> パッケージ dovecot.x86_64 1:2.1.10-1.fc17 は 削除 です
--> 依存性解決を終了しました。

依存性を解決しました

========================================================================
 Package        アーキテクチャ               バージョン                          リポジトリー                  容量
========================================================================
ダウングレード中:
 dovecot           x86_64                       1:2.1.5-1.fc17                      fedora                       2.3 M

トランザクションの要約
========================================================================
ダウングレード  1 パッケージ

総ダウンロード容量: 2.3 M
これでいいですか? [y/N]


これと同じ事をyumではなくrpmコマンドで実施する場合は、ローカルに古いバージョンのパッケージを用意して、以下のようにする。

# rpm -Uvh --oldpackage [pakage名]



なお、yumでバージョンまで調べようとした場合、最新のパッケージしか調べられない(表示されない)と思うが、/etc/yum.confの[main]セクションに以下の記述を追記することにより、全てのバージョンが調べられるようになる。

showdupesfromrepos=1

例えばdovecotを調べると、以下のようになる。

[root@fc17 ~]# yum list | grep dovecot
dovecot.x86_64                         1:2.1.10-1.fc17               @updates
dovecot.i686                           1:2.1.5-1.fc17                fedora
dovecot.x86_64                         1:2.1.5-1.fc17                fedora
dovecot.i686                           1:2.1.10-1.fc17               updates
dovecot.x86_64                         1:2.1.10-1.fc17               updates
dovecot-devel.i686                     1:2.1.5-1.fc17                fedora
dovecot-devel.x86_64                   1:2.1.5-1.fc17                fedora
dovecot-devel.i686                     1:2.1.10-1.fc17               updates
dovecot-devel.x86_64                   1:2.1.10-1.fc17               updates
dovecot-mysql.x86_64                   1:2.1.5-1.fc17                fedora
dovecot-mysql.x86_64                   1:2.1.10-1.fc17               updates
dovecot-pgsql.x86_64                   1:2.1.5-1.fc17                fedora
dovecot-pgsql.x86_64                   1:2.1.10-1.fc17               updates
dovecot-pigeonhole.x86_64              1:2.1.5-1.fc17                fedora
dovecot-pigeonhole.x86_64              1:2.1.10-1.fc17               updates
[root@fc17 ~]#

2012年9月16日日曜日

知らなかったコマンド

何かの拍子に知らないコマンドの存在に気づくことがある。

最近知ったのは、usleepコマンドとsetquotaコマンド。

usleepコマンド

sleepコマンドより単位を細かくしたもの。
例えば、10秒カウントするなら以下のように使う。
#例がよくない(普通にsleep 10で事足りる)

[root@fc17 ~]# time usleep 10000000

real    0m10.001s
user    0m0.000s
sys     0m0.000s
[root@fc17 ~]#




 setquotaコマンド

普段は、edquotaコマンドを利用していたが、こちらの方がわかりやすいかも。
使い方はこんな感じ。
#ハードリミットとして2GBを割り当て

[root@fc17 ~]# setquota -u $USER 0 2048000 0 0 $QUOTA_PARTITION

2012年9月9日日曜日

クラウドメッセージングサミット

9/6に開催されたそれに参加してきた。

期待していたVMwareのセッションは、単にZimbra(ジンブラ)の紹介で終わってナンだよー感たっぷりだったが、それでも(自分にとって)有益な情報を得られたので、メモレベルだが以下に記す。

Sentrion
Sendmail社の製品で、ハードウェア形と仮想アプライアンスの2種類がある。
基本となるプラットフォームに、必要な機能(例えばアンチスパム+アンチウィルスなどなど)だけを取り入れてシステムを構築できる。以前からMailstream Managerという製品がありそれに似ているが、送信者認証など実現可能な事が増えている。

RING Organic Storage
安価な普通のLinuxサーバを使って、分散型かつスケールアウトできるストレージを実現する技術だそうです。この技術を上手く使えれば以下のようなケースはあまり考えなくて済みそうです。
  • SANやNASを使ってシステムを構築し、そのシステムの更新時期にデータの移行やマイグレーションが発生し、システムを停止する必要に迫られるケース
  • メールデータが肥大化し、そのデータのレプリケーションにも時間がかかり、レプリケーション自体が破綻するようなケース



2012年8月27日月曜日

Fedora17でyumが使えなくなった

何か変更したつもりは全くないが、最近になってyumを使うと以下のようなエラーが出るようになった。

 [root@fc17 ~]# yum update
読み込んだプラグイン:langpacks, presto, refresh-packagekit
 http://ftp.riken.jp/Linux/fedora/releases/17/Everything/x86_64/os/repodata/repomd.xml: [Errno 14] curl#7 - "Couldn't connect" 他のミラーを試します。
 エラー: failure: repodata/repomd.xml from fedora: [Errno 256] No more mirrors to try.
 [root@fc17 ~]#

何でだろう?と思いつつ、/etc/yum.repos.d配下のファイルを編集してみても状況はかわらず。。
ネットワーク周りをひとつずつ見直していたらデフォルトゲートウェイがなくなっている事に気づいた。


[root@fc17 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 p1p1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 p1p1
[root@fc17 ~]#

ということで修正を施し(/etc/sysconfig/networkにGATEWAYを追加)、

[root@fc17 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 p1p1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 p1p1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 p1p1
[root@fc17 ~]#

これで、問題なくyumが使えるようになりました。

2012年8月19日日曜日

systemdになって変わったもの

最近のFedoraではchkconfigコマンドやserviceコマンドの役割がsystemctlコマンドに引き継がれていて、使い方に慣れるのまでが結構面倒でした(何故にSolarisっぽくなった?)。

さらに(普段はSSHでしかログインしないので)ふとランレベルを変更しようと/etc/inittabを開いたところ、コメントが書かれている以外何もない状態になっていました。(Fedora17で確認、それより前のVersionではランレベルの記述だけはあったと記憶しているのですが)。
で、そのコメントに、Ctrl-Alt-Deleteを押した時の動作やランレベルの変更についてきちんと書かれており、そのコメントに従えば(具体的には以下のように実行すれば)ランレベルが変更されました。

# cd /etc/systemd/system/
# ls -l default.target
lrwxrwxrwx. 1 root root 36  6月  2 08:47 default.target -> /lib/systemd/system/runlevel5.target
# ln -f -s /lib/systemd/system/runlevel3.target  /etc/systemd/system/default.target
   ※ここで"-f"オプションを付与する事で、runlevel5.targetへ張られていたシンボリックリンクを
    強制的に上書きを行います

2012年8月12日日曜日

yumでセキュリティパッチだけを適用する

Red Hatが提供するアップデートには以下のものがある。

 ・セキュリティに関する修正      RHSA(Red Hat Security Advisory)
 ・バグに関する修正           RHBA(Red Hat Bug Fix Advisory)
 ・機能強化や追加に関する修正 RHEA(Red Hat Enhancement Advisory)

通常yum update をするとこれら全ての修正がアップデート対象になりますが、"--security"という
オプションを付与するとRHSAに関する修正だけをアップデート対象にする事ができます。

このオプションを使うと、例えばハードウェアベンダーのサポートがRHEL5.7でないと
受けれない場合、(表現の仕方が正しいかは微妙ですが)RHEL5.7をHOLDしたまま
アップデート・パッケージを適用するといった運用ができるようになっています。
#RHELでは5.1以降で利用可能
#CentOS5 or 6でも、yum-securityパッケージを導入することにより利用可能

[root@cent5 ~]# yum info yum-security
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: rsync.atworks.co.jp
 * extras: rsync.atworks.co.jp
 * updates: ftp.iij.ad.jp
Available Packages
Name       : yum-security
Arch       : noarch
Version    : 1.1.16
Release    : 21.el5.centos
Size       : 27 k
Repo       : base
Summary    : Yum plugin to enable security filters
URL        : http://linux.duke.edu/yum/download/yum-utils/
License    : GPLv2+
Description: This plugin adds the options --security, --cve, --bz and --advisory flags
           : to yum and the list-security and info-security commands.
           : The options make it possible to limit list/upgrade of packages to specific
           : security relevant ones. The commands give you the security information.
[root@cent5 ~]#

CentOSの場合、man 8 yum-securityで詳細を確認してください。