www.kkoba.com  » kkobaのblog

2005年03月13日

[Linux] courier-imapのSSL対応

インストール済みのcourier-imapを、防諜対策としてSSL化した。 参考にしたのは、POP3/IMAPサーバ over SSL(Courier-IMAP)の構築

0. 方針

  1. 外部からの接続は、SSLを必須とする。
  2. localhostのみSSL化されていない通常のimapでの接続を許可する(SquirrelMail用)。
  3. 外部から接続するクライアントは、Sylpheed(Linux)、Outlook(Windows)、QMail3(PocketPC)とする。
  4. 外部のクライアントからの認証は、SSL化されていて安全なので、Outlookの標準であるLOGIN認証を利用する。

1. courier-imap用の鍵の作成

courier-imapをSSL化する鍵は、公開鍵と秘密鍵を繋げたものになる。SSL証明書を$29で購入してあるので、この証明書を利用して鍵を作成した。

# cat www.kkoba.com.crt www.kkoba.com.key > mail.pem

注意点として、mail.pemは、以下のようになっている必要がある。

-----BEGIN CERTIFICATE-----
公開鍵の内容
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
秘密鍵の内容
-----END RSA PRIVATE KEY-----

購入した公開鍵は、「-----BEGIN CERTIFICATE-----」「-----END CERTIFICATE-----」が無かったので、自分で追加した。これが不足していると、以下のようなエラーがでる。

imapd-ssl: couriertls: /usr/local/certs/mail.pem: error:0906D06C:PEM routines:PEM_read_bio:no start line

2. courier-imapの設定変更

LOGIN認証だけを利用するので、以前にCRAM-MD5認証に使ってたパスワードファイルを削除する。

# rm /etc/userdb*

/usr/lib/courier-imap/etc/imapdを、SquirrelMail用として、LOGIN認証とlocalhostからの接続に対応させる。

IMAPDSTART=YES
ADDRESS=127.0.0.1
IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE"

/usr/lib/courier-imap/etc/imapd-sslを設定し、外部からはSSL接続のみを許可する。

IMAPDSSLSTART=YES
IMAP_TLS_REQUIRED=1
TLS_CERTFILE=/usr/local/certs/mail.pem

/usr/lib/courier-imap/etc/authdaemonrcを、LOGIN認証のみに設定する。

authmodulelist="authpam"

3. SquirrelMailの設定変更

CRAM-MD5認証を利用していたSquirrelMailを、LOGIN認証に変更するために、SquirrelMailインストール先/config/config.phpを編集する。

$imap_auth_mech = 'login';

4. iptablesの設定変更

自作ルータの設定を変更し、外部からアクセス可能なポートをimap(143)からimap-ssl(993)に変更する。

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 993 -j DNAT --to $MAIL_SERVER
 iptables -A FORWARD -i ppp0 -d $MAIL_SERVER -p tcp --dport 993 -m state --state NEW -j ACCEPT

5. Sylpheed(Linux)の設定

sylpheed1.gif sylpheed2.gif

以下の2つの設定が必要となる。

  1. 「設定 - 現在のアカウントの設定 - SSL」で、「IMAP4の接続にSSLを使用」にチェックする。
  2. 「設定 - 現在のアカウントの設定 - 高度な設定」で、「IMAP4ポートを指定」をチェックし、「993」を入力する。

6. Outlook(Windows)の設定

outlook.gif

アカウントの詳細設定で、「このサーバはセキュリティで保護された接続(SSL)が必要」にチェックを入れる。ポート番号が自動的に「993」になる。

7. QMail3(PocketPC)の設定

qmail3.gif

「Account - Property - Detail」で、「SSL」を選択する。ポートが自動的に「993」になる。

Qmail3は、FrontPage - Q3から入手できる。

投稿者 かつ : 2005年03月13日 23:15

この記事のトラックバックURL

トラックバック一覧 (1件)

  1. imapd-ssl from uep on hayate

    apt-get install courier-ssl cd /etc/cour...

    トラックバック時刻 : 2005年07月22日 11:55

コメント一覧 (0件)

新規にコメントする




情報を登録する?



年間カレンダー
2007
12
 
11
1
10
1
09
1
08
 
07
 
06
 
05
 
04
3
03
7
02
3
01
4
2006
12
1
11
1
10
1
09
1
08
1
07
1
06
1
05
2
04
1
03
1
02
1
01
1
2005
12
1
11
1
10
4
09
2
08
1
07
2
06
3
05
7
04
4
03
8
02
6
01
10
2004
12
8
11
14
10
10
09
20
08
12
07
2
06
4
05
2
04
1
03
1
02
1
01
1
2003
12
1
11
1
10
1
09
1
08
1
07
1
06
2
05
2
04
3
03
3
02
7
01
3
2002
12
5
11
3
10
3
09
4
08
7
07
6
06
10
05
7
04
4
03
4
02
8
01
8
2001
12
6
11
12
10
18
09
6
08
 
07
 
06
 
05
 
04
 
03
 
02
 
01
 
2005年03月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

サイト内の検索

このBlogのライセンス