サーバー設定 · 1 min read · Dec 30, 2025

CentOS 5.1 における Virtualmin を使用した仮想ホスティングの手引き - ページ 4

Dovecot の設定

はじめに

これにより、dovecot を IMAP/POP3 サーバーとして設定します。

基本設定

IMAP と POP3 用に dovecot を設定し、SSL を無効にします。

protocols = imap pop3
listen = *
ssl_listen = *
ssl_disable = yes

Maildir

デフォルトの mbox 形式ではなく、maildir 形式を使用します。

mail_location = maildir:~/Maildir

認証と SASL

多くの MS クライアントが暗号化された認証メカニズムを使用できないため、LOGIN と PLAIN を認証メカニズムとして使用するように dovecot を設定します。また、dovecot を使用して SMTP 接続を認証するために postfix が SASL ソケットを設定します。

auth default {
  mechanisms = plain login
  passdb pam {
  }
  userdb passwd {
  }
  socket listen {
    client {
        path = /var/spool/postfix/private/auth
        mode = 0660
        user = postfix
        group = postfix
    }
  }
}

クライアントの問題

Outlook ファミリーの一部の MS IMAP クライアントは、IMAP と POP3 の実装に問題があるため、これらの回避策を設定する必要があります。

protocol imap {
 imap_client_workarounds = outlook-idle delay-newmail
}
protocol pop3 {
 pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}

プロキシの背後で IMAP を実行

IMAP サーバーはポート 10143 で実行されるように設定されており、ポート 143 は IMAP プロキシサーバーによって処理され、IMAP サーバーへの接続をキャッシュすることでウェブメールのパフォーマンスが向上します。プロトコルの下のリッスンオプションでこれを設定します。

protocol imap {
 imap_client_workarounds = outlook-idle delay-newmail
 listen = 127.0.0.1:10143
}

サンプルファイル

  • dovecot.conf

IMAP プロキシの設定

はじめに

imapproxy は、IMAP サーバーへの永続的な接続を維持できないウェブメールクライアントを補うために書かれました。ほとんどのウェブメールクライアントは、ほぼすべてのトランザクションのために IMAP サーバーにログインする必要があります。この動作は、IMAP サーバーに悲惨なパフォーマンスの問題を引き起こす可能性があります。imapproxy は、ウェブメールクライアントがログアウトした後、サーバー接続を短時間オープンに保つことでこの問題に対処しようとします。ウェブメールクライアントが再接続すると、imapproxy はキャッシュされた接続が利用可能かどうかを判断し、可能であれば再利用します。 - imapproxy ウェブサイトによる。

設定

/etc/imapproxy.conf ファイルに次の変更を加えます:

server_hostname 127.0.0.1
cache_size 3072
listen_port 143
server_port 10143
cache_expiration_time 900
proc_username nobody
proc_groupname nobody
stat_filename /var/run/pimpstats
protocol_log_filename /var/log/imapproxy_protocol.log
syslog_facility LOG_MAIL
send_tcp_keepalives no
enable_select_cache yes
foreground_mode no
force_tls no
enable_admin_commands no

サンプルファイル

  • imapproxy.conf

Bind の設定

はじめに

Bind はセキュリティを向上させるために chroot されて設定され、DNS サーバーの悪用を防ぐためにビューも使用します。

基本設定

基本設定では、デフォルトで再帰的クエリとゾーントランスファーが無効になります。また、実行中の BIND のバージョンを隠すことで、スクリプトキディからのゼロデイ脆弱性の影響を受けないようにします。

options {
        directory "/var/named";
        pid-file "/var/run/named/named.pid";
        listen-on {
                127.0.0.1;
                192.168.1.5;
                };
        version "just guess";
        allow-recursion { "localhost"; };
        allow-transfer { "none"; };
};

ロギング

ロギングは、ログに表示される迷惑な “lame-server” と更新エラーを削除するようにカスタマイズされています:

logging {
        category update { null; };
        category update-security { null;        };
        category lame-servers{ null; };
};

Chroot

これは /etc/sysconfig/named ファイルに設定されていることを確認してください(通常は bind-chroot パッケージによって設定されます):

ROOTDIR=/var/named/chroot

ポイントサーバー

このサーバーを DNS 解決に使用するようにマシンを設定し、/etc/resolv.conf を編集して先頭に追加します:

nameserver 127.0.0.1

サンプルファイル

  • named.conf
  • /etc/sysconfig/named

Vsftpd の設定

はじめに

vsftpd を FTP サーバーとして使用します。これは proftpd および wuftpd サーバーに比べて優れた実績があります。

基本設定

基本設定では、匿名ユーザーを無効にし、ローカルシステムユーザーが FTP サーバーに接続できるようにします。

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ftpd_banner=Welcome to example.com server
pam_service_name=vsftpd
tcp_wrappers=YES

Chroot

すべてのユーザーは自分のホームディレクトリに chroot されます(/etc/vsftpd/chroot_list ファイル内のユーザー名を除く)。つまり、他のユーザーのファイルを見たりすることはできません。

chroot_list_enable=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list

禁止ユーザー

/etc/vsftpd/user_list ファイルに追加されたユーザーはログインを許可されません:

userlist_enable=YES

サンプルファイル

  • vsftpd.conf
  • user_list
  • chroot_list
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。