Установка Let’s Encrypt на сервер, сложности с Drupal

Пнд, 23/01/2017 - 08:16

В последнее время, Хром начал вселять в пользователей всё больше недоверия к не сертифицированным сайтам. Само-подписанные сертификаты уже не являются в полной мере решением проблемы. Появились значки и прямые указания на ненадёжность ресурса, причём уже на понятном пользователем языке, и - если это кого-то настораживает, прямой отток можно сказать начат. С этим можно и надо бороться.
В сети можно легко найти пособия и рекомендации, по установке сертификата на любые оси и конфигурации, в статье делаю акцент на наличие установленного сайта с Drupal и проверке подлинности владения доменным именем.

http://www.img.studioviza.ru/Shotjmz2m.png

Let’s Encrypt – некоммерческий удостоверяющий центр, который предоставляет бесплатные X.509 сертификаты для TLS шифрования с помощью автоматизированного процесса, направленного на замену текущего сложного процесса ручного создания, проверки, подписи, установки и обновления сертификатов для защищённых веб-сайтов.

Официальный сайт сервиса: Let’s Encrypt.

Let’s Encrypt имеет ограничения:

  • Можно заказать только 5 сертификатов в неделю (TLD, включая его поддомены) То есть - заказываем один сертификат на site.ru, устанавливаем, и 4 на поддомены вида new.site.ru и ждём неделю для дальнейшего сертифицирования нашего зоопарка. Инфа по ограничению выдана управлением ISP панели и мною не проверена.
  • Не поддерживаются wildcard сертификаты
  • Срок действия Let’s Encrypt сертификата 3 месяца (каждые 3 месяца ISPmanager выполняет перевыпуск Let’s Encrypt сертификатов)
    Обновление происходит в автоматическом режиме, админу стоит лишь проконтролировать сервер в "критические" дни.

Собственно речь идёт о ISP - панели, знаю что на форуме, она пользуется популярностью. Начиная с версии ISPmanager 5.65 в панели появилась возможность полуавтоматической установки сертификата Let’s Encrypt. То есть - никаких пугающих чёрных консолей, многочасового поиска инструкций по установке.

По умолчанию модуль выключен. Включаем его у рута, в разделе Интеграция пункт Модули

После включения модуля, это будет выглядеть так -

http://www.img.studioviza.ru/Shoti8bal.png

Далее, идём в аккаунт пользователя и там входим в раздел WWW-домены

Жмём на нужный нам домен/поддомен и там ставим галочку на Защищенное соединение (SSL)

Не знаю особенности управления вашего сервера, у меня приходится на время сертифицирования, так-же в
Режим работы PHP выбирать модуль Apache

Отвлекаясь скажу - гораздо проще всё делать "с чистого листа", на вновь созданном домене-сайте, ну это, как сами понимаете - редкость. Обычно мы уже имеем что-либо и приходится вникать.

Сорри что отвлёкся, когда мы выставили галочку на Повышенная безопасность SSL, внизу раскрываются настройки, и там нужно сделать такой выбор (указано красной стрелкой)

http://www.img.studioviza.ru/Shotfzn47.png

Сохраняем, и получаем окно

https://shared.doc.ispsystem.ru/images/6/65/Letsencrypt.png

Вводим свои данные и жмём ОК

Далее, в разделе WWW заходим в SSL-сертификаты и там видим по тырку на сертификат

http://www.img.studioviza.ru/Shothp15o.png

Если доменное имя свежее и папка сайта пуста, сервис Let’s Encrypt в течении 5-7 минут проверит подлинность владения, и процесс выдачи сертификата практически завершен, журнал событий Let’s Encrypt покажет:

http://www.img.studioviza.ru/Shotcd6nk.png

по адресу http://site.ru откроется https://site.ru и будет иметь плашку:

http://www.img.studioviza.ru/rr77.png

Если доменное имя новое и папка сайта пуста Let’s Encrypt проверяя подлинность владения именем, прописывает директорию .well-known/acme-challenge

Теперь рассмотрим самое важное для Друпаллеров. Для Шестёрки-Семёрки, сайт не пропустит проверку, Let’s Encrypt будет семафорить в журнале ошибкой, которая легко гуглится и наводит на размышления, поэтому кратко. Нужно удалить htaccess из корня сайта (предварительно скачав его на ваш компьютер, заархивировав, или просто удалить, если вы знаете где взять свежий). Удалить сертификат и по-новой начать проверку. После признания сервисом Let’s Encrypt вернуть на место htaccess.

Теперь идём в ~/www/site.ru/sites/default/settings.php Cтавим временно права на sites, default, settings.php 777

Заходим в редакцию settings.php немного ниже под вводами логинов-паролей для базы ищем строку # $base_url = 'http://www.example.com'; // NO trailing slash!
И прописываем под ней следующее:
$base_url = 'https://site.ru'; Никаких слэшей к конце! Это важно.

В Семёрке это приблизительно, 280-281 строка.
В Восьмёрке это приблизительно, 509-510 строка.
После сохранения, не забываем вернуть права трём папкам.

По настройке сертификата на существующей Восьмёрке, информация данная в этой статье неполная, пока в стадии тестирования.

4 Спасибо

Комментарии

Аватар пользователя bumble
2 months 5 часов назад bumble #

На главной.

1 Спасибо
Аватар пользователя voviko
2 months 4 часа назад voviko #

Спасибо.

1 Спасибо
Аватар пользователя Totaku
2 months 1 час назад Totaku #

Ну это все частный случай который относится только к панельке =) Мне все лень, но как нибудь я напишу как сделать тоже самое, но ручками и без апача =)

1 Спасибо
Аватар пользователя Studio VIZA
1 month 3 недели назад Studio VIZA #

Mozilla Firefox в своём последнем обновлении (v.51) уже начала предупреждать о том, что использование некоторых HTTP-соединений небезопасно. Google Chrome выпустит новую версию до конца недели, в ней также появятся предупреждения о незащищённом соединении. Об этом сообщает издание ArsTechnica.

http://www.img.studioviza.ru/Shot0b45v.png

Маркировка о незащищённом соединении будет появляться на страницах, которые используют протокол HTTP и имеют формы ввода данных. Например, поля для ввода пароля или номера банковской карты. В подобных случаях Chrome будет отдельно предупреждать в адресной строке, что страница небезопасна.

Как сообщает ArsTechnica, протокол HTTP не является безопасным, так как не зашифровывает соединение, это делает доступным «прослушку» действий на таких страницах. Например, когда пользователь сидит через общественную Wi-Fi-сеть.

Многие современные сайты работают через протокол HTTPS, который является дополненной версией обычного HTTP, но в отличие от него передаёт данные в зашифрованном виде. Перехват такой информации бесполезен для злоумышленника, так как ключ к расшифровке находится на удалённом сервере.

Ранее, если подключение к странице производилось через HTTP, браузеры явным образом не предупреждали о том, что такой сайт небезопасен. И в Chrome и в Firefox нужно было нажать на иконку с информацией о подключении в поисковой строке, чтобы узнать об этом. Теперь предупреждения будут более очевидными для пользователей: в Chrome будет написано «небезопасно», а в Firefox появится иконка красного перечёркнутого замка.

http://www.img.studioviza.ru/Shotqs9f1.png

via

1 Спасибо
Аватар пользователя Tahtabaev
1 month 3 недели назад Tahtabaev #

Настройка в панели VestaCP, тыкаем галочку в настройках домена, в разделе WEB и готово))

4 Спасибо
Аватар пользователя Mihail.space
1 month 3 недели назад Mihail.space #

Везёт тебе)) А тут как лошку приходится в консоли изгаляться)
Зато правда знаешь что и где находится)

1 Спасибо
Аватар пользователя Totaku
1 month 3 недели назад Totaku #

это лучший способ =) он A+ не получит из панели =)

1 Спасибо
Аватар пользователя sas@drupal.org
1 month 3 недели назад sas@drupal.org #

VESTA +100500

1 Спасибо
Аватар пользователя ХулиGUN
1 month 3 недели назад ХулиGUN #
sas@drupal.org написал:
VESTA +100500

{PANEL_NAME} -10000000

2 Спасибо