Як виправити Firefox 59, більше не приймаючи свій власний підписаний сертифікат SSL на .dev virtualhost


20

У моєму локальному середовищі Apache у мене є сайт, для розробки якого потрібен SSL, тому я використовував сертифікат, який підписав самостійно. Місцевий сайт до цього часу добре працював у Firefox та Chrome, але після оновлення Firefox до версії 59 сьогодні я не можу змусити його прийняти виняток із безпеки (на Chrome сертифікат самопідписання продовжує працювати).

Firefox надає мені цю додаткову інформацію на заблокованій сторінці:

... використовує недійсний сертифікат безпеки. Сертифікату не довіряють, оскільки він підписується самостійно. Код помилки: SEC_ERROR_UNKNOWN_ISSUER

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

Хто-небудь зіткнувся з подібними проблемами з FF 59 або, можливо, має поняття, що спробувати змусити сертифікат самопідписаного працювати знову на локальному рівні?


Редагувати: я не бачу жодної згадки про це в примітках до випуску FF 59, але щось у новій версії змушує всі мої локальні віртуальні хости в * .dev доменах автоматично намагатися встановити з'єднання https (тобто, всі http запити * .dev автоматично надсилаються до https URL-адреси). Можливо, щось у цій поведінці також є причиною цих проблем для моїх фактичних віртуальних хостів https.


1
Я думаю, що зараз вам потрібен сертифікат для самопідписаного сертифіката, оскільки Firefox протягом останніх кількох випусків поступово посилює вимоги. Однак із Let’s Encrypt більше немає причин використовувати самопідписані сертифікати.
Саймон Грінвуд

Я не хочу гадати, але думаю, що @SimonGreenwood є правильним. Але зазвичай Firefox просто встановлює нові параметри як стандартні та дозволяє редагувати налаштування. Перевірте налаштування конфіденційності.

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

@kontur для мене посилання про: вподобання # конфіденційність для встановлення параметрів конфіденційності та безпеки, тому я сказав, що конфіденційність. Розгляньте його як помилку.

2
@SimonGreenwood Існує безліч причин не використовувати шифрування на локальному з'єднанні. Не можна було б налаштувати давайте encrpyt.
Джон

Відповіді:


15

Я все ще не зовсім зрозумілий, як це все точно поєднується, але, як зазначено в цій відповіді, .dev домени тепер є офіційними TLD. Таким чином, схоже, що браузери примушують якусь поведінку HSTS та змушують https-з'єднання. Для тих TLD, схоже, мій самопідписаний сертифікат більше не приймався у Firefox. Зміна моїх віртуальних хостів на використання .testвирішила проблему, не вимагаючи взагалі нічого змінювати в моїх самопідписаних сертифікатах.

Варто зауважити, що у Firefox також діяли мої не-SSL-віртуальні хости, починаючи з версії 59 сьогодні, оскільки поведінка HSTS, здавалося, змушувала SSL на віртуальних хостах, я не налаштовував службу через SSL. У Chrome це все ще працювало, але так чи інакше можна сказати, що віддалення від офіційно використовуваного .devTLD вирішить багато головних болів.


1
Так, .devце дійсний TLD з деякого часу, тому НЕ використовуйте його для називання своїх внутрішніх ресурсів. Те саме стосується будь-якого іншого імені: не використовуйте жодного імені, яке, на вашу думку, ніхто більше не використовуватиме. Або використовуйте тестові імена, на які посилається RFC2606, або просто зареєструйте справжнє доменне ім’я де завгодно і використовуйте піддомен, як-от int.example.comабо dev.example.comсуфікс усіх внутрішніх імен. Тоді у вас ніколи не буде зіткнень чи проблем (доки ви пам’ятаєте поновлювати доменне ім’я щороку!)
Патрік Мевзек


1
Дякуємо за посилання Згадані там терміни не зовсім вирівнюються, але, можливо, автор розповів про попередні перегляди розробки тощо. З огляду на те, що я зараз знаю, насправді важко зрозуміти, чому виробники браузерів не додають додаткову інформацію про налагодження, зокрема стосовно помилок SSL у .devдоменах. Якщо ви не знаєте, що це TLD, немає шансів, що ви зможете зробити висновок, що це проблема.
kontur

12

Існує простий спосіб цього.

  1. Йти до about:config
  2. Шукайте "network.stricttransportsecurity.preloadlist".
  3. Встановіть його на false.

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

введіть тут опис зображення


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

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

1
Таке рішення: security.stackexchange.com/a/154176 принаймні впливає лише на один сайт, а не на всі.
Патрік Мевзек

1
Наскільки поблажливий, як я знаю, це буде звучати, коли дорослішаєш, ти зрозумієш, що такі речі, як "найкраща практика" та "неправильно", є гнучкими та змінюються з часом. Те, що люди вважають зараз "неправильним", не вважалося неправильним протягом багатьох років, і може не повторитися в майбутньому. Щодо цієї конкретної дискусії, ми просто мусимо погодитися не погодитися.
Енді Мерсер

1
Дякуємо за це виправлення, відмінно підходить для мене у Firefox 59.0.1 (та Firefox Dev Edition 60). Наші поточні .devпроекти врешті-решт будуть перенесені на інший суфікс TLD, але поки це не допомагає зупинити місцевий розвиток.
Джейк Батман

5

Установка security.enterprise_roots.enabledдля trueна about:configсторінці вирішити це для мене і дозволило моєї самостійно підписаний сертифікат на роботу в процесі розробки.

Тут є кілька дискусій щодо достоїнств цього ввімкнення за замовчуванням:
Встановіть security.enterprise_roots.enabled за значенням за замовчуванням .

Хоча цей прапор має на меті дозволити Firefox використовувати загальномашинний кореневий магазин CA як дійсне джерело для сертифікаційних органів, це виправило ситуацію для мого власного випадку, коли я маю самопідписаний багатодоменний сертифікат, який я використовую локально для тестування (тематикаAutName) . Навіть після того, як я додав сертифікат до списку сертифікатів Firefox, я не ввімкнув це, але це дозволило завантажувати локальний сайт.


Спасибі, спрацювало!
informatik01

0

З тією ж проблемою виник і веб-браузер basilisk . Я намагався змінити налаштування мережевого проксі, або змінити прапори "network.stricttransportsecurity.preloadlist" або "security.enterprise_roots.enabled" ... але це не вирішило відсутню кнопку, щоб додати сертифікат для заблокованого веб-сайту. Лише це пройшло через:

  1. Перейти до about:support.
  2. Клацніть Open Directoryсвій профіль браузера.
  3. Закрийте браузер повністю.
  4. Відредагуйте файл " SiteSecurityServiceState.txt " у вищевказаному каталозі.
  5. Знайдіть і видаліть весь рядок, який містить заблокований сайт HSTS.
  6. Збережіть файл та відкрийте веб-переглядач на цьому веб-сайті.

-3

Я пішов на "Давайте шифруємо"

https://letsencrypt.org/

Діє лише 3 місяці одночасно, але оновлення може бути автоматизованим.

Як видно із зауважень, є улов. Наші розробки та тестові домени називаються dev-www.example.com та test-www.example.com. Ми використовуємо сертифікат підстановки від виробництва.


5
Чи не давайте шифрування покладатися на загальнодоступний сервер і домен? Я шукаю варіанти використання SSL на локальних віртуальних хостах.
kontur

Так, це не працює для людей, які займаються місцевим розвитком.
Енді Мерсер

питання стосується LOCAL DEV

@Pieter це те саме, що і "місцевий розвиток"? Тому що це ми робимо.
Джерард Х. Піл

1
@ GerardH.Pille Можна шифрувати сертифікати, якщо сервер доступний з Інтернету. Для мого місцевого розвитку це не так, тому це не є життєздатним. Будь ласка, порадьте, чи є щось, чого я пропускаю.
kontur
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.