Как заставить Apache 2 перестать спрашивать пароль для SSL-сертификата?

Я только что добавил SSL-сертификат в Apache. Проблема в том, что Apache запускается при запуске системы, и после включения моего сервера Apache запускается, но не запускается. Я ввел IP-адрес моего компьютера, и мой браузер просто пытается подключиться. Я вижу вращающийся круг.

Затем я захожу на свой сервер, убиваю все процессы, связанные с Apache, и запускаю sudo service apache2 restart. Из-за sudo мне предлагается ввести пароль суперпользователя, но после его установки Apache запрашивает пароль для файла .key. Я вставил его, а затем Apache работает нормально. SSL даже работает.

Так почему же Apache не работает, пока я не перезапущу его? Это потому, что он хочет, чтобы я вводил пароль при каждом запуске? Если да, то как мне это сделать на моем сервере Xubuntu? Могу ли я сделать это так, чтобы мне не приходилось вставлять его каждый раз?

3
задан 21 July 2014 в 00:13

2 ответа

Кажется, что закрытый ключ для Вашего сертификата SSL защищен паролем. Чтобы протестировать, имеет ли это действительно место, исследуйте начало своего файла ключей с помощью команды head -3 your.key. Этот закрытый ключ шифруется:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,C251E8A1254B933D763703EE1C364AB7

Этот файл не шифруется:

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAvbeWtO9nQP4cFFuhGrOM/WQ73oTQHU7mzZB9CaA3R2iwjDNz
wwlDtT9tfo0tCC2ib9STfeM6AYrdI3wauzCu7AV4CFGSMP3HLX8DJuk8zzbdQHHv

Для удаления пароля из закрытого ключа RSA используйте следующую команду:

umask 077
mv your.key old-with-pass.key
openssl rsa -in old-with-pass.key -out your.key

Эти umask 077 команда необходима, чтобы гарантировать, что новый ключ не создается с чрезмерно расслабленными полномочиями. С другой стороны, можно вручную изменить режим файла с chmod 400 new.key. В зависимости от местоположения ключа Вам, возможно, придется снабдить префиксом openssl, mv и chmod команды с sudo.

6
ответ дан 21 July 2014 в 00:13

Ответ на http://serverfault.com @JamesSneeringer.

я был виновен в удалении пароля от моих собственных файлов ключей в прошлом, потому что это - простое решение, но мудрый безопасностью, это не лучшая идея. Альтернатива должна подать пароль к Apache. Можно сделать это с SSLPassPhraseDialog опция в Вашем httpd.conf (или другой файл, который она включает).

, Если бы у Вас только есть один сайт SSL на Вашем сервере, самая простая форма этого была бы:

# either of these will work
SSLPassPhraseDialog |/path/to/passphrase-script
SSLPassPhraseDialog exec:/path/to/passphrase-script

Вы тогда создали бы очень простой сценарий, названный /path/to/passphrase-script, который содержит что-то как следующее:

#!/bin/sh
echo "put the passphrase here"

При запуске, Apache будет брать вывод этого сценария и использовать его в качестве пароля для ключа SSL. Если у Вас есть несколько сайтов SSL, SSLPassPhraseDialog имеет дополнительные пути, которыми это может использоваться, таким образом, у Вас может или быть единственный сценарий для всех Ваших ключей или отдельный сценарий для каждого, или однако Вы хотите сделать это.

5
ответ дан 21 July 2014 в 00:13

Другие вопросы по тегам:

Похожие вопросы: