Установка PureFTPd и квот
PureFTPd и квота может быть установлена с помощью следующей команды:
|
Отредактируйте файл /etc/default/pure-ftpd-common ...
|
... и убедитесь, что режим запуска установлен в standalone и установить VIRTUALCHROOT=true:
[...] STANDALONE_OR_INETD=standalone [...] VIRTUALCHROOT=true [...]
Теперь мы настроим PureFTPd чтобы позволить FTP-TLS и сессий. FTP является очень небезопасным протоколом, потому что все пароли и все данные передаются в открытом виде. С помощью TLS, все коммуникации могут быть зашифрованы, что делает FTP гораздо более безопасным.
Если вы хотите разрешить FTP и TLS сессии, запустите
|
Для того чтобы использовать TLS, мы должны создать SSL-сертификат. Я создаю его в /etc/ssl/private/, поэтому я создал этот каталог первым:
|
После этого мы можем сгенерировать SSL сертификат следующим образом:
|
Название страны (2 буквенный код) [AU]: - Введите название страны (например - RU) Государство или название провинции (полное название) [Некоторые государства-]: - Введите государства или название провинции Местность имя (например, города) []: - введите Ваш города Название организации (например, компании) [Интернет Widgits Pty Ltd]: - Введите название организации (например, название Вашей компании) Подразделение Название (например, раздел) []: - Введите организационное название группы (например - ИТ-отдел) Общее имя (например, ваше имя) []: - Введите полное доменное имя системы (например - server1.example.com) Электронный адрес: []: - Введите адрес электронной почты
Изменение разрешения сертификата SSL:
|
Затем перезагрузите PureFTPd:
|
Изменить /etc/fstab. Отредактировав файл fstab для этого необходимо в строке после слова errors=remount-ro добавить ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 в разделе с точкой монтирования / ):
|
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
/dev/mapper/server1-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
# /boot was on /dev/sda1 during installation
UUID=deae7cd1-b106-47aa-9a7c-512f046d2ebf /boot ext2 defaults 0 2
/dev/mapper/server1-swap_1 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
Чтобы включить квоты, запустите следующие команды:
|
Установка BIND DNS-сервера
BIND может быть установлен следующим образом:
|
Установите Vlogger, Webalizer, И AWstats
Vlogger, Webalizer, и AWstats могут быть установлены следующим образом:
|
Потом откроем /etc/cron.d/awstats ...
|
... и закомментируем в этом файле правило по которому работает cron:
#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Generate static reports: #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh
Установка Jailkit
Jailkit необходимо только тогда, когда Вы хотите изолированной SSH пользователей. Она может быть установлена следующим образом.
{xtypo_warning}Jailkit должна быть установлена до ISPConfig - она не может быть установлена потом!{/xtypo_warning}
|
Вы сможете установить Jailkit.deb пакет следующим образом:
|
Установка fail2ban
Это необязательно, но рекомендуется, так как монитор ISPConfig отображает статистику fail2ban журнала:
|
Чтобы fail2ban следил за PPureFTPd, SASL и Courier, создайте файл /etc/fail2ban/jail.local:
|
[pureftpd] enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3 [sasl] enabled = true port = smtp filter = sasl logpath = /var/log/mail.log maxretry = 5 [courierpop3] enabled = true port = pop3 filter = courierpop3 logpath = /var/log/mail.log maxretry = 5 [courierpop3s] enabled = true port = pop3s filter = courierpop3s logpath = /var/log/mail.log maxretry = 5 [courierimap] enabled = true port = imap2 filter = courierimap logpath = /var/log/mail.log maxretry = 5 [courierimaps] enabled = true port = imaps filter = courierimaps logpath = /var/log/mail.log maxretry = 5
Затем создайте следующие пять файлов:
|
[Definition] failregex = .*pure-ftpd: \(.*@<HOST>\) \[WARNING\] Authentication failed for user.* ignoreregex =
|
# Fail2Ban configuration file # # $Revision: 100 $ # [Definition] # Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched by a group named "host". The tag "<HOST>" can # be used for standard IP/hostname matching and is only an alias for # (?:::f{4,6}:)?(?P<host>\S+) # Values: TEXT # failregex = pop3d: LOGIN FAILED.*ip=\[.*:<HOST>\] # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex =
|
# Fail2Ban configuration file # # $Revision: 100 $ # [Definition] # Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched by a group named "host". The tag "<HOST>" can # be used for standard IP/hostname matching and is only an alias for # (?:::f{4,6}:)?(?P<host>\S+) # Values: TEXT # failregex = pop3d-ssl: LOGIN FAILED.*ip=\[.*:<HOST>\] # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex =
|
# Fail2Ban configuration file # # $Revision: 100 $ # [Definition] # Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched by a group named "host". The tag "<HOST>" can # be used for standard IP/hostname matching and is only an alias for # (?:::f{4,6}:)?(?P<host>\S+) # Values: TEXT # failregex = imapd: LOGIN FAILED.*ip=\[.*:<HOST>\] # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex =
|
# Fail2Ban configuration file # # $Revision: 100 $ # [Definition] # Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched by a group named "host". The tag "<HOST>" can # be used for standard IP/hostname matching and is only an alias for # (?:::f{4,6}:)?(?P<host>\S+) # Values: TEXT # failregex = imapd-ssl: LOGIN FAILED.*ip=\[.*:<HOST>\] # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex =
Теперь перезагрузим fail2ban:
|