LINUX.ORG.RU
решено ФорумAdmin

Gentoo, настройка SSL, ни в какую Apache2 не запускается с сертификатом, выданным регистратором

 , ,


0

1

Кучу инструкций перерыл, начиная с инструкции от того, кто выдал сам сертификат. В основном на «плохие линии» жалуется, ну и такое выдаёт:

[Fri Jun 05 22:32:26.257624 2020] [ssl:emerg] [pid 24508] AH01903: Failed to configure CA certificate chain!
[Fri Jun 05 22:32:26.257762 2020] [ssl:emerg] [pid 24508] AH02312: Fatal error initialising mod_ssl, exiting.
AH00016: Configuration Failed

Знатоки админы, расскажите тонкости этого дела, пожалуйста

★★★

Ответ на: комментарий от Pinkbyte

покажи что тебе openssl verify на твой сертификат говорит?

Не понимаю, как это реализовать, можно подробнее?

Конф:

ServerRoot "/usr/lib64/apache2"

ServerName localhost


LoadModule request_module modules/mod_request.so

User apache
Group apache

Include /etc/apache2/modules.d/*.conf

Include /etc/apache2/vhosts.d/*.conf

# vim: ts=4 filetype=apache
<IfDefine LANGUAGE>

        AddLanguage ca .ca
        AddLanguage zh-TW .zh-tw

        LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

        ForceLanguagePriority Prefer Fallback

        AddCharset us-ascii.ascii       .us-ascii
        AddCharset ISO-8859-1           .iso8859-1 .latin1
        AddCharset shift_jis            .shift_jis .sjis
</IfDefine>

SSLEngine on
SSLCertificateFile /etc/ssl/domain_name.crt
SSLCertificateKeyFile /etc/ssl/private.key 
SSLCertificateChainFile /etc/ssl/chain.crt

burato ★★★ ()
Ответ на: комментарий от burato

покажи /etc/ssl/chain.crt

там ничего секретного по идее у тебя быть не должно

Но на всякий случай грепни предварительно по слову PRIVATE, мало ли.

Не понимаю, как это реализовать, можно подробнее?

openssl verify -CAfile /etc/ssl/chain.crt /etc/ssl/domain_name.crt
Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

я его сам создавал, по инструкции с регистратора:

Создайте на вашем сервере в каталоге /etc/ssl/ файлы >domain_name.crt, private.key и chain.crt со следующим содержимым:

domain_name.crt — сам сертификат;
private.key — приватный ключ;
chain.crt — цепочка сертификатов, которая содержит сначала >промежуточный сертификат и следом за ним корневой (с новой >строки без пробелов и пустых строк).

# cat /etc/ssl/chain.crt 
-----BEGIN CERTIFICATE-----
ПРОБЕЛ
здесь текст промежуточного серта
ххх
ххх
ххх
ПРОБЕЛ
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
ПРОБЕЛ
здесь текст корневого серта
xxx
xxx
ПРОБЕЛ
-----END CERTIFICATE-----
burato ★★★ ()
Ответ на: комментарий от burato

ПРОБЕЛ

https://pics.me.me/youre-doing-it-wrong-image-122-youre-doing-53496237.png

Убирай пробелы. Они там могут быть только при наличии специальных тегов, чего у тебя не наблюдается

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от burato

Всегда пожалуйста. Вот еще годный SSL-тест для внешнего сайта - покажет что можно подкрутить в алгоритмах шифрования и прочем для пущей безопасности. Выполнять рекомендации там надо аккуратно(не все движки сайтов будут некоторым из них рады), но в целом лучше скорее прислушиваться к ним, чем наоборот.

TL;DR - роняя кал бежать за рейтингом A+ - не надо, но если у тебя там D или ниже(при условии что ты не используешь самоподписанные сертификаты, конечно) - то это повод задуматься

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Ага, теперь апач запустился, но при обращении на https получается такое:

Attackers might be trying to steal your information from stepsmig.ru (for example, passwords, messages, or credit cards). Learn more
NET::ERR_CERT_AUTHORITY_INVALID

burato ★★★ ()
Ответ на: комментарий от Pinkbyte
# openssl s_client -connect stepsmig.ru -port 443
CONNECTED(00000003)
depth=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign RSA DV SSL CA 2018
verify return:1
depth=0 OU = Domain Control Validated, CN = www.stepsmig.ru
verify return:1
---
Certificate chain
 0 s:OU = Domain Control Validated, CN = www.stepsmig.ru
   i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign RSA DV SSL CA 2018
 1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign RSA DV SSL CA 2018
   i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
 2 s:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
   i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
---
Server certificate
-----BEGIN CERTIFICATE-----
xxxxxxxxxxxxxxxxxxxxxxxxx
-----END CERTIFICATE-----
subject=OU = Domain Control Validated, CN = www.stepsmig.ru

issuer=C = BE, O = GlobalSign nv-sa, CN = GlobalSign RSA DV SSL CA 2018

---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 4618 bytes and written 393 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 4096 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: E0E3A13AD2909B627E7193EADE2904F09C050CA24B58F02AA1EE7A524744FF05
    Session-ID-ctx: 
    Resumption PSK: 60A878D98A86EE65FE266CC860E3B74C0AC9C85317ACE84E70350EB927F72746F531B152DDDDA4BA01D3C61761E6BDC0
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
    0000 - 1a 26 09 e3 94 54 f3 cf-0d b4 22 40 ba 9a d6 c9   .&...T...."@....
    0010 - d1 f8 ff 1b fb 03 4d 8d-43 fa 85 b2 a9 04 f1 f9   ......M.C.......
    0020 - b4 09 5d 40 b5 4d 6d 74-c3 8f 82 4e 74 9a 46 6f   ..]@.Mmt...Nt.Fo
    0030 - 55 c7 3d 63 be 6f 70 4c-10 5e 08 a0 d5 27 00 af   U.=c.opL.^...'..
    0040 - 8e 6d 21 16 a5 f6 57 ee-f7 26 a3 64 3c 42 7b 40   .m!...W..&.d<B{@
    0050 - 56 b7 d6 59 62 f9 15 1d-fc 6e ba 52 00 b4 e0 04   V..Yb....n.R....
    0060 - 05 7d 17 fc 68 71 94 01-cc 4b 82 94 fd fc 50 ba   .}..hq...K....P.
    0070 - fc 36 92 68 4c f7 0b 92-0d de 44 db c4 f4 f8 4b   .6.hL.....D....K
    0080 - de 9b d7 7c 1c dc 84 1f-45 09 db cb 45 06 f9 5c   ...|....E...E..\
    0090 - 9a 0d fe a1 56 7d 3b 9d-f7 30 5f bc 26 90 b5 62   ....V};..0_.&..b
    00a0 - b0 0d 71 a0 d3 83 b6 90-d0 3c 06 f6 2d c4 9a 8a   ..q......<..-...
    00b0 - db 96 dc 65 d6 f2 44 d9-cd d4 b2 ff 76 30 ee 05   ...e..D.....v0..
    00c0 - 70 e4 c5 21 ff 1e bc 55-57 9f 31 f0 2b b9 5c 71   p..!...UW.1.+.\q
    00d0 - d2 f0 cf 83 87 f1 d1 e1-eb 4e aa 84 e6 f9 98 b4   .........N......
    00e0 - 4c 60 b7 f7 ae c6 ce 8d-1e f0 5f 21 10 fa 4a d3   L`........_!..J.

    Start Time: 1591445287
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: AFD0CB092A16F3EF3E41BC35C707700F42C6D20934FF570B41B54F9E46BF4090
    Session-ID-ctx: 
    Resumption PSK: EF37342F6E1E20257F4B3B0305FF370BC45C394EB0D0A20B7144F06920B0E42C8892F01BB45204FB420966CB73624D7E
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
    0000 - 1a 26 09 e3 94 54 f3 cf-0d b4 22 40 ba 9a d6 c9   .&...T...."@....
    0010 - 10 76 84 25 7c d1 48 fa-58 25 3a a6 da 39 2b 34   .v.%|.H.X%:..9+4
    0020 - b8 12 34 bb 3b 35 1b 3c-18 f4 49 04 28 7c 52 39   ..4.;5.<..I.(|R9
    0030 - 25 fc 75 3b e7 71 1e 27-9d 8e bd 75 b3 61 93 db   %.u;.q.'...u.a..
    0040 - ed 80 06 ee 7a 5b 32 a1-ca 1b 52 e9 a8 44 a4 13   ....z[2...R..D..
    0050 - 0a e4 d9 e3 f2 b8 19 b1-2e d1 5c 23 6e f0 1d 90   ..........\#n...
    0060 - 79 a4 46 e2 8e 1c a5 dc-23 74 6a bc 74 27 ff ca   y.F.....#tj.t'..
    0070 - fb 0c ff 21 9d 42 5d be-a3 13 d7 fa 3d 6f ca 8f   ...!.B].....=o..
    0080 - b4 6a 32 54 ad 3f 33 c1-ac 04 85 89 28 d7 0a e3   .j2T.?3.....(...
    0090 - 24 fe 83 b8 04 eb 18 cb-a3 29 0f d5 49 fb e0 e6   $........)..I...
    00a0 - 79 26 f5 15 93 05 58 8f-06 46 c2 68 b2 2d a1 4b   y&....X..F.h.-.K
    00b0 - 46 aa 3d 71 5d 5f 4c f8-be f8 43 a1 94 a3 e3 aa   F.=q]_L...C.....
    00c0 - f1 c3 ec f5 18 a7 96 d3-05 d8 a2 de ee 39 96 d3   .............9..
    00d0 - 76 15 c4 63 a1 08 64 24-9a b2 87 46 e8 66 cb 38   v..c..d$...F.f.8
    00e0 - 4e f0 cc 96 69 97 5a 3f-e1 60 b5 18 0e c7 4c 78   N...i.Z?.`....Lx

    Start Time: 1591445287
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK

HTTP/1.1 400 Bad Request
Date: Sat, 06 Jun 2020 12:08:14 GMT
Server: Apache
Content-Length: 288
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache Server at stepsmig.ru Port 443</address>
</body></html>
closed
burato ★★★ ()
Ответ на: комментарий от Pinkbyte
cat .htaccess 
Options -Indexes
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www. [NC]
RewriteRule ^ https://stepsmig.ru%{REQUEST_URI} [L,NE,R=301]

в конфиге апача /etc/apache2/httpd.conf

NameVirtualHost *:80

<VirtualHost *:80>
   ServerName stepsmig.ru
   DocumentRoot /var/www/localhost/htdocs 
   Redirect permanent / https://stepsmig.ru/
</VirtualHost>

<VirtualHost _default_:443>
   ServerName stepsmig.ru
  DocumentRoot /var/www/localhost/htdocs
  SSLEngine On
 # etc...
</VirtualHost>

burato ★★★ ()
Ответ на: комментарий от burato

Каша. Зачем тебе комбинация конфигов редиректа через Redirect и mod_rewrite? Зачем выносить часть редиректов в .htaccess, обвешивая дополнительными условиями?

Распиши лучше по порядку что ты хочешь получить. Я конечно попробую угадать, но ты поправь, если что:

редирект с http://stepsmig.ru и http://www.stepsmig.ru на https://stepsmig.ru

Pinkbyte ★★★★★ ()
Ответ на: комментарий от burato

Так дело не в этом. Ты сертификатом WWW.blah.com пытаешься верифицировать blah.com. В обратную сторону саксесс стори еще похож на правду, тут не вариант. Либо сертификат на *.blah.com, либо про https://blah.com надо забыть.

Anoxemian ★★★★★ ()
Ответ на: комментарий от Anoxemian
<VirtualHost *:80>
   ServerName www.stepsmig.ru
   ServerAlias stepsmig.ru
   DocumentRoot /var/www/localhost/htdocs 
   Redirect permanent / https://www.stepsmig.ru/
</VirtualHost>

<VirtualHost *:443>
  ServerName www.stepsmig.ru
  #ServerAlias stepsmig.ru <- fail
  DocumentRoot /var/www/localhost/htdocs
  SSLEngine On
 # etc...
</VirtualHost>

upd. а, ну и htaccess удали

Anoxemian ★★★★★ ()
Последнее исправление: Anoxemian (всего исправлений: 1)