Настройка серверов · 3 min read · Dec 30, 2025

Настройка Dovecot

Настройка Dovecot

Введение

Это настроит dovecot как наш IMAP/POP3 сервер.

Основная конфигурация

Мы настроим dovecot для IMAP и POP3 и отключим SSL.

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

Maildir

Мы будем использовать формат maildir вместо формата mbox по умолчанию.

mail_location = maildir:~/Maildir

Аутентификация и SASL

Настройте dovecot для использования LOGIN и PLAIN в качестве механизмов аутентификации, так как многие клиенты MS не могут использовать зашифрованные механизмы аутентификации. Мы также настраиваем сокет SASL, чтобы разрешить postfix аутентифицировать SMTP соединения с использованием dovecot.

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

Проблемы с клиентами

Некоторые клиенты MS imap из семейства outlook имеют проблемы как с их 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. Опция listen в протоколе настраивает это.

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

Пример файлов

  • dovecot.conf

Настройка Imap Proxy

Введение

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

Все пользователи будут chrooted в свои домашние директории (за исключением имен пользователей в файле /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

Get new posts in your inbox

No spam. Unsubscribe anytime.