freebsd10+apache24+ssl

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Vlad5503
сержант
Сообщения: 204
Зарегистрирован: 2010-03-25 5:41:41

freebsd10+apache24+ssl

Непрочитанное сообщение Vlad5503 » 2018-04-12 13:42:06

Потребовалось обеспечить ssl соединение для будущего сайта. Сделал сертификат, подписал его в УЦ. Ну вроде б все ок.
Но следом пришла проблема... Надо ещё один домен и соответственно сайт прикрутить на этот же сервер. И вот тут я нашел грабли себе.)))
Выстроил конфиги по найденным примерам...
Вот они:
# cat httpd-ssl.conf

Код: Выделить всё

#
Listen 443
SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4
SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4
SSLHonorCipherOrder on
SSLProtocol all -SSLv3
SSLProxyProtocol all -SSLv3
SSLPassPhraseDialog  builtin
SSLSessionCacheTimeout  300
#SSLUseStapling On
#SSLStaplingCache "shmcb:/var/run/ssl_stapling(32768)"
#SSLStaplingStandardCacheTimeout 3600
#SSLStaplingErrorCacheTimeout 600
#<VirtualHost _default_:443>
<VirtualHost my-domain:443>
SSLEngine on
SSLCertificateFile "/usr/local/etc/apache24/ssl/my-domain.crt"
SSLCertificateKeyFile "/usr/local/etc/apache24/ssl/my-domain.key"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/usr/local/www/apache24/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog "/var/log/httpd-ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
# cat httpd-vhosts.conf

Код: Выделить всё

#NameVirtualHost *:*
SSLStrictSNIVHostCheck off
<VirtualHost *:880>
    ServerName domain.ru
    ServerAlias www.domain.ru
    ServerAdmin vlad@domain.ru
    DocumentRoot "/usr/local/www/domain"
    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCertificateFile "/usr/local/etc/apache24/ssl/domain.ru.crt"
    SSLCertificateKeyFile "/usr/local/etc/apache24/ssl/domain.ru.key"
    SSLOptions +StdEnvVars
    ErrorLog "/var/log/domain-error_log"
    CustomLog "/var/log/domain-access_log" common
    <Directory "/usr/local/www/domain">
    SSLOptions +StdEnvVars
    DirectoryIndex index.html index.php
    Require all granted
    </Directory>
    Alias /cgi-bin/ "/usr/local/www/domain/cgi-bin/"
    <Directory /usr/local/www/domain/cgi-bin/>
    SetHandler cgi-script
    Options +ExecCGI
    Order allow,deny
    Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName mydomai.рф
    ServerAlias www.mydomai.рф
    ServerAdmin vlad@mydomai.рф
    DocumentRoot "/usr/local/www/mydomai"
#    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCertificateFile "/usr/local/etc/apache24/ssl/mydomai.рф.crt"
    SSLCertificateKeyFile "/usr/local/etc/apache24/ssl/mydomai.рф.key"
    SSLOptions +StdEnvVars
    ErrorLog "/var/log/mydomai-error_log"
    CustomLog "/var/log/mydomai-access_log" common
    <Directory "/usr/local/www/mydomai">
    SSLOptions +StdEnvVars
    DirectoryIndex index.html index.php
    Require all granted
    </Directory>
</VirtualHost>
В конфиге httpd.conf:
1. включены порты 80,880,443
2. поддержка mod_ssl включена.

Что теперь имею в итоге
на первый сайт https://domain.ru:880 все ОК.
На второй https://mydomai.рф выдает:
Этот сайт не может обеспечить безопасное соединение
Сайт mydomai.рф отправил недействительный ответ.
ERR_SSL_PROTOCOL_ERROR
В лог выдает такое:

Код: Выделить всё

[Thu Apr 12 16:52:31.401242 2018] [ssl:emerg] [pid 29516] AH02565: Certificate and private key mydomai.рф:80:0 from /usr/local/etc/apache24/ssl/mydomai.рф.crt and /usr/local/etc/apache24/ssl/mydomai.рф.key do not match
Прошу помощи в решении этой проблемы. Не получается у меня пока..:unknown:

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Demis
сержант
Сообщения: 162
Зарегистрирован: 2015-05-25 14:36:32

freebsd10+apache24+ssl

Непрочитанное сообщение Demis » 2018-04-12 14:45:00

У ssl для веба точка входа, как правило, всегда одна:

Код: Выделить всё

cat /etc/services | grep https
https           443/sctp
https           443/tcp
https           443/udp
потом
Vlad5503 писал(а):
2018-04-12 13:42:06
do not match
т.е. не соответствует. Возможно пары crt:key разные, перепроверить 10 раз (не говоря о том, что я-бы поменял mydomai.рф.crt на mydomai.rf.crt).
При этом видим
Vlad5503 писал(а):
2018-04-12 13:42:06
# SSLEngine on
Обычно все сертификаты заталкиваются в одно место.
Не много не понятно -SSLv3 и -SSLv2 это правильно? И crt действительно так сгенерированы?
Если ip один (хотя не особо принципиально) посмотри на пример:https://www.digicert.com/ssl-support/ap ... ng-sni.htm

Vlad5503
сержант
Сообщения: 204
Зарегистрирован: 2010-03-25 5:41:41

freebsd10+apache24+ssl

Непрочитанное сообщение Vlad5503 » 2018-04-13 6:56:54

Прочитал приведенный Вами пример.
Имя сертификата для русскоязычного домена я изменил на xn22.crt и xn22.key.
Подправил версии на -SSLv3.
Добавил строку в каждой конфигурации сайта:

Код: Выделить всё

SSLCertificateChainFile "/usr/local/etc/apache24/ssl/domain.ru.crt"
Сверил хэш сертификата и ключа:

Код: Выделить всё

# openssl rsa -noout -modulus -in xn22.key | openssl md5
(stdin)= e341fb0e3f6b978d41ca81dea39b7318

# openssl x509 -noout -modulus -in xn22.crt | openssl md5
(stdin)= e341fb0e3f6b978d41ca81dea39b7318
Перезапустил апач. Пробуем открыть сайт как https://mydomai.рф и получаю:
Этот сайт не может обеспечить безопасное соединение
Сайт mydomai.рф отправил недействительный ответ.
ERR_SSL_PROTOCOL_ERROR
То же самое если в пуникоде делаю запрос к сайту.
В логе httpd-error.log ошибка с кодом 400...мол неверный запрос, синтаксическая ошибка...
В логе по виртуалхосту ничего нет.
Т.е. ситуация никак не изменилась.. :(

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35066
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

freebsd10+apache24+ssl

Непрочитанное сообщение Alex Keda » 2018-04-15 22:03:56

а сертфикат-то правильный?
ну, имя в нём какое прописано? в PunyCode?
Убей их всех! Бог потом рассортирует...

guest
проходил мимо

freebsd10+apache24+ssl

Непрочитанное сообщение guest » 2018-04-15 22:53:57

Элементарных вещей не знаете. Видимо даже как работает SSL.

В случае NameBased технологии Виртуальных Хостов, нужно использовать
SNI расширение:
http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
----------
Все одно столкнетесь с нижним, лучше уж заранее будете знать на что обратить
внимание:

- почитайте про SAN (Subject Alternative Name),
думаю и про это тоже не знаете.

- для правильной настройки разных http серверов:
https://mozilla.github.io/server-side-t ... generator/
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- получая настройки,
нужно знать и понимать поддержку каких ОС-версий и версий-браузеров, хотите
иметь. Ибо одни не умеют TLS1.1, другие TLS1.2 и тд и тп. Настройки можете
подкручивать с учетом того ЧТО хотите поддерживать соблюдая секурити.

- завершающий этап, проверяете свои настройки и секурити, обращая
внимание на то какие ОС-версии и браузер-версии у Вас будут поддерживаться
на основании верхнего генератора:
https://www.ssllabs.com/ssltest/

Vlad5503
сержант
Сообщения: 204
Зарегистрирован: 2010-03-25 5:41:41

freebsd10+apache24+ssl

Непрочитанное сообщение Vlad5503 » 2018-04-17 8:14:01

Alex Keda писал(а):
2018-04-15 22:03:56
ну, имя в нём какое прописано? в PunyCode?
да.

Vlad5503
сержант
Сообщения: 204
Зарегистрирован: 2010-03-25 5:41:41

freebsd10+apache24+ssl

Непрочитанное сообщение Vlad5503 » 2018-04-17 8:22:30

Заходя на https://mydomai.рф:80 открывался сайт с поддержкой шифрования и значок сертификата зеленый.
Далее вопрос решен так:
Вставлена переадресация в конфиге

Код: Выделить всё

<VirtualHost *:80>
    ServerName mydomai.рф
с http://mydomai.рф на https://mydomai.рф
Благодарю за подсказки и ссылку на хороший анализатор. Пригодились.