Сайт показує не той сертифікат? Знайдіть слухача
Сайт пред'являє неочікуваний сертифікат, і очевидний файл перезаписується. Визначте слухача й віртуальний хост, який відповів першим.
Установлення VPN-програм на вебхостингу може перебудувати служби, але неочікуваний сертифікат не доводить, що файли Apache було перезаписано. Щось пред'явило цей сертифікат вашому браузеру, і перше завдання — назвати це. Доки слухача й віртуальний хост не визначено, кожне виправлення — здогад, застосований не до того рівня. Уся перевірка нижче — лише читання.
Нічого не перезапускається, не видаляється й не перезаписується, поки ви збираєте факти, що вирішують справу.
Прочитайте сертифікат, який браузер справді отримав
Запишіть ім'я хоста, розв'язану адресу для кожного сімейства, порт і подробиці сертифіката, на які скаржився браузер. Ім'я, що розв'язується і в запис A, і в AAAA, може досягти двох різних фронтів, і лише один із них може бути хостом, до якого у вас є доступ через оболонку. Браузер за проксі може знову піти третім шляхом. Здогад про те, хто з них створив попередження, марнує єдине спостереження, яке у вас є.
Потім відтворіть рукостискання з машини на тому ж шляху, явно назвавши адресу й надіславши передбачуване ім'я сервера, щоб відповідь відображала сайт, а не хост за замовчуванням.
openssl s_client -connect 198.51.100.37:443 -servername www.example.net </dev/null 2>/dev/null |
openssl x509 -noout -subject -issuer -fingerprint -sha256 -ext subjectAltName
Порівняйте альтернативні імена суб'єкта й відбиток із сертифікатом, якого очікуєте, а не зі знайомим видавцем. Підключення до голої адреси без імені сервера може вибрати типовий сертифікат, який потім виглядає як неправильний файл, коли насправді питання неправильне.
Визначте процес, прив'язаний до цього порту
На хості, який має прийняти з'єднання, перелічіть слухачів і зафіксуйте адресу прив'язки, сімейство адрес і власника процесу. Служба, прив'язана до адреси петлі, — не те саме, що прив'язана до всіх інтерфейсів, а публікація контейнера може розмістити публічного слухача зовсім в іншому місці.
sudo ss -ltnp 'sport = :443'
sudo ss -ltnp | grep -E ':(443|943)\b'
Якщо TLS завершує балансувальник навантаження або проксі попереду, зупиніться тут і натомість огляньте той фронт. Примірник Apache за ним може ніколи не пред'явити сертифікат публічному браузеру, тож редагування його конфігурації не змінює нічого з того, що бачить браузер. Вигляд сокетів і зовнішнє рукостискання мають описувати той самий шлях, і саме це встановлює це порівняння.
Зіставте віртуальний хост раніше за файл
Коли Apache є завершувачем, запитайте в нього, який віртуальний хост перемагає для цієї адреси й імені. Керівна команда друкує чинне розташування, включно з групою, зіставленою кожному сокету, оголошеними іменами серверів і хостом, що вважається типовим. Редагування файлу сертифіката без цієї відповіді — це те, як неправильний сайт починає обслуговуватися з правильного файлу.
sudo apachectl -S
Часті запитання щодо SSL у Apache пояснюють, як зазначення імені сервера вибирає сертифікат. Заголовок Host протоколу HTTP надходить після рукостискання й не може заднім числом змінити вже пред'явлене, тому невідповідне або відсутнє ім'я повертається до типового хоста.
Іменований віртуальний хост з друкарською помилкою в ServerAlias дає саме цей симптом, як і другий файл конфігурації, що першим завантажує хост, який перехоплює все. Обидва видно в тому розташуванні.
Перевірте виправлення на кожному заявленому шляху
Після схваленої зміни повторіть перевірку, специфічну для імені хоста, для кожного сімейства адрес і завершіть звичайною перевіркою браузера замість прапорця обходу. Збережіть окремий адміністративний шлях, перш ніж торкатися спільних налаштувань слухача, бо помилка там усуває доступ, який ви використали б, щоб це скасувати. Потім запишіть, який слухач відповів, який віртуальний хост збігся і який сертифікат було видано до і після.
Видалення пакета може змінити розташування й залишити початкову невідповідність без пояснення, тому той запис переживає виправлення.
Ви хочете бачити потрібний сайт у потрібній точці входу. Інший сертифікат після зникнення не пов'язаної служби — не цей результат, навіть коли браузер перестає скаржитися.