Пароль SSL при перезапуску apache2


33

Я встановлюю SSD-сертифікат wildcard від Godaddy на Apache2. Щоразу, коли сервер перезапускається, він запитує пароль для приватного ключа сертифіката SSL.

Який найкращий спосіб усунути цю перешкоду для перезавантаження, тому що, коли перезапуск повороту журналу файлів відбувається посеред ночі, сервер не повертається, і я отримую дзвінок нещасного клієнта вранці, оскільки це спільний сервер .


5
Незважаючи на відповідь на власне питання, дозвольте додати: Поворот журналу не потребує перезавантаження. Перезавантаження буде нормальним і не вимагає від вас пред'явлення будь-яких облікових даних.
Jan Jungnickel

Дякую, січень - хороший момент - я фактично не впевнений, чому скибочка перезапускається - здається, трапляється приблизно 1x тиждень. Мені потрібно копати більше, щоб зрозуміти, чому
ryw

Відповіді:


28

Щоб апаш отримував парольну фразу щоразу, коли вона перезапускається, додайте її до httpd.conf:

SSLPassPhraseDialog exec:/path/to/passphrase-file

у вашому файлі паролів:

#!/bin/sh
echo "passphrase"

і зробити файл парольної фрази виконуваним:

chmod +x passphrase-file

1
працював і на мене! : D
помітний

5
Не забудьте встановити належні дозволи на скрипт, що містить парольну фразу , інакше ви фактично видалили будь-яку безпеку, яка надала вам пароль. (Ви також повинні встановити належні дозволи на ключ, як описано у відповіді Макса).
voretaq7

6
Як зберігати ключ (із парольною фразою) з 600 дозволами, а цей скрипт із 700 дозволами більш безпечний, ніж просто зберігати ключ без парольної фрази з 600 дозволами, враховуючи, що власнику обох файлів потрібно буде користувач root, правда?
zelanix

5
Я згоден; це безглузда безпека. Неодмінно видаляйте пароль із ключа для автоматичного перезавантаження; але не думайте, що ви зможете будь-яким чином відмовити втрати безпеки, які ви щойно зробили. Це часто хороший компроміс, але це компроміс.
MadHatter підтримує Моніку

Для повноти посилання на відповідну документацію Apache: httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslpassphrasedialog
алк

29

Вам потрібно видалити шифрування з файлу вашого приватного ключа таким чином:

openssl rsa -in server.key -out server.key.new

mv server.key.new server.key

Переконайтеся, що новий ключ ключа читабельний лише корінь - інакше кожен, хто має доступ до оболонки до цього сервера, зможе захопити приватний ключ та видавати себе за ваш сервер.

Щоб зробити ключ читабельним лише за допомогою root, виконайте "chmod 600 server.key.new" перед тим, як поміняти ключі.


Я спробував вашу ідею, все ще виклик на sudo ./apache2 перезапустити :(
ryw

4
+1, оскільки це не "ідея", це фактична процедура
кодовий загін

Я використовував термін "ідея", тому що він не працював для мене.
ryw

2
як парольна фраза робить сертифікат ssl більш захищеним, якщо ви можете його легко видалити, не вимагаючи парольної фрази? (чи просить вас
пройти

3
@ user2693017 - Описана тут команда openssl попросить пройти парольну фразу зашифрованого приватного ключа. Не знаючи пароля, видалити його не вийде.
Майкл Пейсолд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.