Настройка серверов · 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
Get new posts in your inbox
No spam. Unsubscribe anytime.