Серверы · 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.pemCountry 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 -avug17. Установка DNS сервера BIND
BIND можно установить следующим образом:
apt-get install bind9 dnsutils18. Установка 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-goldcd /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: \(.*@ |
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 |
Добавьте отсутствующую строку ignoreregex в файл postfix-sasl:
echo "ignoreregex =" >> /etc/fail2ban/filter.d/postfix-sasl.confПерезапустите fail2ban после этого:
service fail2ban restartGet new posts in your inbox
No spam. Unsubscribe anytime.