Серверные настройки · 3 min read · Feb 10, 2026

Идеальный сервер - Ubuntu 14.04 (nginx, BIND, MySQL, PHP, Postfix, Dovecot и ISPConfig 3) - Страница 5

16 Установка PureFTPd и квоты

PureFTPd и квоту можно установить с помощью следующей команды:

apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool

Отредактируйте файл /etc/default/pure-ftpd-common…

vi /etc/default/pure-ftpd-common

… и убедитесь, что режим запуска установлен на standalone и VIRTUALCHROOT=true:

| [...] STANDALONE_OR_INETD=standalone [...] VIRTUALCHROOT=true [...] |

Теперь мы настраиваем PureFTPd для разрешения FTP и TLS-сессий. FTP - это очень небезопасный протокол, так как все пароли и данные передаются в открытом виде. Используя TLS, всю коммуникацию можно зашифровать, что делает FTP гораздо более безопасным.

Если вы хотите разрешить FTP и TLS-сессии, выполните

echo 1 > /etc/pure-ftpd/conf/TLS

Для использования TLS мы должны создать SSL-сертификат. Я создаю его в /etc/ssl/private/, поэтому сначала создаю этот каталог:

mkdir -p /etc/ssl/private/

После этого мы можем сгенерировать SSL-сертификат следующим образом:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Country Name (2 letter code) [AU]: <– Введите название вашей страны (например, “DE”).
State or Province Name (full name) [Some-State]: <– Введите название вашего штата или провинции.
Locality Name (eg, city) []: <– Введите ваш город.
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <– Введите название вашей организации (например, название вашей компании).
Organizational Unit Name (eg, section) []: <– Введите название вашего подразделения (например, “IT Department”).
Common Name (eg, YOUR name) []: <– Введите полное доменное имя системы (например, “server1.example.com”).
Email Address []: <– Введите ваш адрес электронной почты.

Измените права доступа к SSL-сертификату:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Затем перезапустите PureFTPd:

service pure-ftpd-mysql restart

Отредактируйте /etc/fstab. Мой выглядит так (я добавил, usrjquota=quota.user, grpjquota=quota.group, jqfmt=vfsv0 к разделу с точкой монтирования /):

vi /etc/fstab

| # /etc/fstab: статическая информация о файловой системе. # # Используйте 'blkid', чтобы напечатать универсальный уникальный идентификатор для устройства; это может быть использовано с UUID= как более надежный способ наименования устройств, который работает даже если диски добавляются и удаляются. См. fstab(5). # # <файловая система> <точка монтирования> <тип> <опции> <дамп> <передача> /dev/mapper/server1--vg-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1 # /boot был на /dev/sda1 во время установки UUID=9b8299f1-b2a2-4231-9ba1-4540fad76b0f /boot ext2 по умолчанию 0 2 /dev/mapper/server1--vg-swap_1 none swap sw 0 0 |

Чтобы включить квоту, выполните эти команды:

mount -o remount /
quotacheck -avugm  
quotaon -avug

17 Установка DNS-сервера BIND

BIND можно установить следующим образом:

apt-get install bind9 dnsutils

18 Установка Vlogger, Webalizer и AWstats

Vlogger, webalizer и AWstats можно установить следующим образом:

apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl

Откройте /etc/cron.d/awstats после этого…

vi /etc/cron.d/awstats

… и закомментируйте все в этом файле:

| #MAILTO=root #*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Генерировать статические отчеты: #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh |

19 Установка Jailkit

Jailkit нужен только если вы хотите chroot SSH пользователей. Его можно установить следующим образом (важно: Jailkit должен быть установлен перед ISPConfig - его нельзя установить после!):

apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold
cd /tmp  
wget http://olivier.sessink.nl/jailkit/jailkit-2.15.tar.gz  
tar xvfz jailkit-2.15.tar.gz  
cd jailkit-2.15  
./debian/rules binary

Теперь вы можете установить пакет Jailkit.deb следующим образом:

cd ..  
dpkg -i jailkit_2.15-1_*.deb  
rm -rf jailkit-2.15*

20 Установка fail2ban

Это необязательно, но рекомендуется, так как монитор ISPConfig пытается показать журнал:

apt-get install fail2ban

Чтобы сделать fail2ban мониторинг PureFTPd и Dovecot, создайте файл /etc/fail2ban/jail.local:

vi /etc/fail2ban/jail.local

| [pureftpd] enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3 [dovecot-pop3imap] enabled = true filter = dovecot-pop3imap action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp] logpath = /var/log/mail.log maxretry = 5 [postfix-sasl] enabled = true port = smtp filter = postfix-sasl logpath = /var/log/mail.log maxretry = 3 |

Затем создайте следующие два файла фильтров:

vi /etc/fail2ban/filter.d/pureftpd.conf

| [Definition] failregex = .*pure-ftpd: \(.*@\) \[WARNING\] Authentication failed for user.* ignoreregex = |

vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf

| [Definition] failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P\S*),.* ignoreregex = |

Добавьте отсутствующую строку ignoreregex в файл postfix-sasl:

echo "ignoreregex =" >> /etc/fail2ban/filter.d/postfix-sasl.conf

После этого перезапустите fail2ban:

service fail2ban restart
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.