LINUX.ORG.RU
ФорумAdmin

apache2 + SSL Let's Encrypt == нехотитъ

 


0

1

Добрый день, ЛОР!

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

sbauer@blackbox ~$ sudo certbot --apache
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: blackbox.su
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for blackbox.su
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/000-default-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/000-default-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting vhost in /etc/apache2/sites-enabled/000-default.conf to ssl vhost in /etc/apache2/sites-available/000-default-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://blackbox.su

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=blackbox.su
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/blackbox.su-0002/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/blackbox.su-0002/privkey.pem
   Your cert will expire on 2021-08-21. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le


вот содержимое получившихся файликов:
000-default-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost blackbox.su:443>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so
    SCGIMount /RPC2 127.0.0.1:5000

    SuexecUserGroup dspam dspam
    Addhandler cgi-script .cgi
    Options +ExecCGI -Indexes

    Alias /dspam /var/www/dspam/
    <Directory /var/www/dspam/>
        Addhandler cgi-script .cgi
        Options +ExecCGI -Indexes
        DirectoryIndex dspam.cgi

        AuthType Basic
        AuthName "DSPAM Control Center"
        AuthUserFile /etc/dspam/webfrontend.htpasswd
        Require valid-user

        AllowOverride None
    </Directory>


ServerName blackbox.su
SSLCertificateFile /etc/letsencrypt/live/blackbox.su-0002/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/blackbox.su-0002/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>


и 000-default.conf
<VirtualHost blackbox.su:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so
    SCGIMount /RPC2 127.0.0.1:5000

    SuexecUserGroup dspam dspam
    Addhandler cgi-script .cgi
    Options +ExecCGI -Indexes

    Alias /dspam /var/www/dspam/
    <Directory /var/www/dspam/>
        Addhandler cgi-script .cgi
        Options +ExecCGI -Indexes
        DirectoryIndex dspam.cgi

        AuthType Basic
        AuthName "DSPAM Control Center"
        AuthUserFile /etc/dspam/webfrontend.htpasswd
        Require valid-user

        AllowOverride None
    </Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =blackbox.su
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<Directory "/var/www/dspam">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    AddHandler cgi-script .pl
    Order allow,deny
    allow from all
</Directory>
<Files ~ "\.(pl|cgi)$">
    SetHandler perl-script
    PerlResponseHandler ModPerl::PerlRun
    Options +ExecCGI
    PerlSendHeader On
</Files>

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory "/var/www/dspam" >
####(The Perl/CGI scripts can be stored out of the cgi-bin directory, but that's a story for another day. Let's concentrate on washing out the issue at hand)
####
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

#ScriptAlias /cgi-bin/ "/var/www/dspam"

<Directory "/var/www/dspam">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    AddHandler cgi-script .pl
    Order allow,deny
    allow from all
</Directory>

<Files ~ "\.(pl|cgi)$">
    SetHandler perl-script
    PerlResponseHandler ModPerl::PerlRun
    Options +ExecCGI
    PerlSendHeader On
</Files>



но ssllabs говорит, что все мои скромные потуги тщетны,


No secure protocols supported - if you get this message, but you know that the site supports SSL, wait until the cache expires on its own, then try again, making sure the hostname you enter uses the «www» prefix (e.g., "http://www.ssllabs.com", not just «ssllabs.com»).


но такая же фигня и с одним http://www.blackbox.su, и с парой «sudo certbot --apache -d blackbox.su,http://www.blackbox.ru»

порты 80 и 443 открыты, апачевские моды ssl и gnutls включены, но
что еще мог упустить из виду такой хреновый админ локалхоста??

★★★★★

Последнее исправление: metawishmaster (всего исправлений: 2)

Не вижу где у тебя проставлено SSLEngine On в нужном VirtualHost, без этого SSL работать не будет
Показывай содержимое /etc/letsencrypt/options-ssl-apache.conf

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

как-раз тут и прописано :)

SSLEngine on

# Intermediate configuration, tweak to your needs
SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite          ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLHonorCipherOrder     on
SSLCompression          off

SSLOptions +StrictRequire

# Add vhost name to log entries:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" vhost_combined
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common

CustomLog /var/log/apache2/access.log vhost_combined
#LogLevel warn
ErrorLog /var/log/apache2/error.log

# Always ensure Cookies have "Secure" set (JAH 2012/1)
#Header edit Set-Cookie (?i)^(.*)(;\s*secure)??((\s*;)?(.*)) "$1; Secure$3$4"

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

А если убрать SSLCipherSuite, SSLOptions и SSLHonorCipherOrder ?

В данный момент твой сервер реально не отдаёт SSL, проверить это можно через openssl s_connect, это быстрее чем насиловать сервер ssllabs.

Варианта проблем тут две - либо кривые опции, либо кривой сертификат.

Первое решается комментированием опций, второе проверяется выписыванием самоподписанного сертификата - если с ним будет корректное соединение, но с ошибкой валидации сертификата, тогда проблема в certbot.

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

варианта три, на самом деле... я виню кривые руки %)

у меня тут еще есть скрипт для iptables, только что перепапливал 443-й порт, и lynks с другого города стал более «болтливым», но все-равно...

sbauer@hs:~$ lynx https://www.blackbox.su

Looking up www.blackbox.su
Making HTTPS connection to www.blackbox.su
Alert!: Unable to make secure connection to remote host.

lynx: Can't access startfile https://www.blackbox.su/

# и после ремапа
sbauer@hs:~$ lynx https://www.blackbox.su

Looking up www.blackbox.su
Making HTTPS connection to www.blackbox.su
UNVERIFIED connection to www.blackbox.su (cert=CN<Sergej Bauer>)
Certificate issued by: /C=RU/ST=Moscow/L=Moscow/O=Internet Widgits Pty Ltd/CN=Sergej Bauer/Email=sbauer@blackbox.su
Secure 256-bit TLS1.3 (ECDHE_RSA_AES_256_GCM_SHA384) HTTP connection
Sending HTTP request.
HTTP request sent; waiting for response.
Alert!: Unexpected network read error; connection aborted.
Can't Access `https://www.blackbox.su/'
Alert!: Unable to access document.

lynx: Can't access startfile 

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

и, всё-таки, с iptables фигня :-\

перемапливаю 443-й порт на сервере, и перестает работать 443 с инетовкими сайтами

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

А, ну дык рассказывай что ты куда перекидываешь в iptables и зачем. Может там ответный трафик идет по другому маршруту(если ты перекидываешь на другую машину), вот всё и накрывается медным тазом

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

да починил... там каша, среди которой было «map_port blackbox.metanet 443 443»

metawishmaster ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.