Серверы · 3 min read · Dec 30, 2025

Идеальный сервер - Ubuntu 14.04 (Apache2, PHP, MySQL, PureFTPD, BIND, 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 defaults 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.17.tar.gz   
tar xvfz jailkit-2.17.tar.gz   
cd jailkit-2.17   
./debian/rules binary

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

cd ..   
dpkg -i jailkit_2.17-1_*.deb   
rm -rf jailkit-2.17*

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.