Безопасность · 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
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.