Безопасность · 3 min read · Nov 29, 2025
Как защитить ваш сервер ISPConfig 3 от атаки SSL poodle
Версия 1.2
Автор: Тилл Брем
Следите за howtoforge в Twitter
Опубликовано 2014-10-16
В следующем руководстве я опишу шаги по защите вашего сервера от недавней атаки SSL poodle. Я буду использовать идеальный сервер ISPConfig 3 на Debian 7 в своих примерах, но те же шаги будут работать и на любой другой дистрибутиве Linux. По умолчанию сервер хостинга ISPConfig запускает следующие службы: Веб-сервер (Nginx или apache), Почтовый сервер (Postfix и Dovecot / Courier), FTP-сервер (pure-ftpd), которые предлагают SSL / TLS соединения и являются потенциальными целями для атаки poodle.
Я предполагаю, что вы вошли на свой сервер как пользователь root. Если вы работаете на Ubuntu и не вошли как root, добавьте “sudo” ко всем командам или выполните “sudo -“ чтобы стать пользователем root.
Веб-сервер Apache
Чтобы защитить веб-сервер apache, необходимо добавить строку
SSLProtocol all -SSLv2 -SSLv3
в каждый SSL vhost на сервере. Если настройка SSLProtocol не задана явно в vhost, то применяется глобальная настройка. В случае сервера ISPConfig 3 настройка SSLProtocol может быть установлена глобально, так как vhosts не переопределяют эту настройку. На сервере Debian или Ubuntu откройте файл /etc/apache2/mods-available/ssl.conf в редакторе
nano /etc/apache2/mods-available/ssl.conf
прокрутите вниз, пока не увидите строки:
SSLProtocol all -SSLv2
и измените их на:
SSLProtocol all -SSLv2 -SSLv3
Затем перезапустите apache
service apache2 restart
Веб-сервер Nginx
Для веб-сервера nginx необходимо добавить строку
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
в каждый SSL сервер { } секцию. Если настройка SSLProtocol не задана явно в секции server { }, то применяется глобальная настройка секции http { }. В случае сервера ISPConfig 3 настройка SSLProtocol может быть установлена глобально в секции http { }, так как секции server { } не переопределяют эту настройку. На сервере Debian или Ubuntu откройте файл /etc/nginx/nginx.conf в редакторе
nano /etc/nginx/nginx.conf
и добавьте строку:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
после строки:
http {
затем перезапустите nginx:
service nginx restart
Почтовый сервер Postfix
Чтобы заставить postfix не предоставлять протоколы SSLv2 и SSLv3, выполните эти команды:
postconf -e ‘smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3’
postconf -e ‘smtpd_tls_protocols=!SSLv2,!SSLv3’
postconf -e ‘smtp_tls_protocols=!SSLv2,!SSLv3’
Это добавит строки:
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3
smtpd_tls_protocols = !SSLv2,!SSLv3
smtp_tls_protocols = !SSLv2,!SSLv3
в файл /etc/postfix/main.cf. Затем выполните эту команду, чтобы применить новую конфигурацию:
service postfix restart
Сервер Dovecot IMAP / POP3
Dovecot поддерживает настройки протокола SSL в версии 2.1 и новее. Поэтому первым шагом является выяснение, какую версию dovecot вы используете. Команда:
dovecot –version
на моем сервере я получил следующий результат:
root@server1:~# dovecot –version
2.1.7
root@server1:~#
что указывает на то, что мой сервер поддерживает настройки ssl_protocol.
Отредактируйте файл конфигурации dovecot
nano /etc/dovecot/dovecot.conf
и добавьте строку
ssl_protocols = !SSLv2 !SSLv3
сразу после строки ssl_key, так что ваш файл должен выглядеть так:
ssl_key = ssl_protocols = !SSLv2 !SSLv3
и, наконец, перезапустите dovecot, чтобы применить изменения:
service dovecot restart
Сервер Courier POP3 / IMAP
Сервер courier imap и pop3 по умолчанию предлагает соединения через протокол SSLv3, поэтому нам также нужно его перенастроить. Файлы конфигурации courier находятся в папке /etc/courier/. Сначала начнем с файла конфигурации демона IMAP:
nano /etc/courier/imapd-ssl
Добавьте или замените следующие строки:
IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
Затем отредактируйте файл конфигурации демона POP3:
nano /etc/courier/pop3d-ssl
Добавьте или замените следующие строки:
POP3STARTTLS=YES
POP3_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
Наконец, перезапустите демоны courier:
service courier-imap-ssl restart
service courier-pop-ssl restart
FTP с pure-ftpd
Защита pure-ftpd на Debian и Ubuntu немного сложнее, так как скрипт /usr/sbin/pure-ftpd-wrapper от Debian не поддерживает переключатель -J, который используется pure-ftpd для установки ssl протоколов. Поэтому первым шагом будет добавление поддержки для опции -J в скрипт-обертку. Это не будет работать в Debian 6, так как версия pure-ftpd в Debian 6 слишком старая и не имеет настройки для SSL протоколов. Таким образом, единственным вариантом для пользователей Debian 6 будет обновление до Debian 7. Откройте файл
nano /usr/sbin/pure-ftpd-wrapper
и прокрутите вниз до строки
‘TLS’ => [‘-Y %d’, \&parse_number_1],
и добавьте эту новую строку сразу после:
‘TLSCipherSuite’ => [‘-J %s’, \&parse_string],
Наконец, создайте файл конфигурации, который содержит SSL протоколы, которые мы хотим разрешить:
echo ‘HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3’ > /etc/pure-ftpd/conf/TLSCipherSuite
чтобы применить изменения, перезапустите pure-ftpd. На моем сервере я использую pure-ftpd с mysql, поэтому имя демона - pure-ftpd-mysql вместо просто pure-ftpd.
service pure-ftpd-mysql restart
результат должен быть похож на этот:
root@server1:~# service pure-ftpd-mysql restart
Перезапуск ftp сервера: Запуск: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -Y 1 -8 UTF-8 -H -J HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3 -D -b -O clf:/var/log/pure-ftpd/transfer.log -E -u 1000 -A -B
root@server1:~#
так что опция -J была успешно добавлена в последовательность запуска демона.
Ссылки
- Атака SSL poodle
- ISPConfig
Get new posts in your inbox
No spam. Unsubscribe anytime.