Webbplatsen visar fel certifikat? Hitta lyssnaren
En webbplats presenterar ett oväntat certifikat och den uppenbara filen skrivs över. Identifiera lyssnaren och den virtuella värden som svarade först.
Att installera VPN-programvara på en webbvärd kan ordna om tjänster, men ett oväntat certifikat bevisar inte att Apache-filerna har skrivits över. Något presenterade det certifikatet för din webbläsare, och den första uppgiften är att namnge det. Tills lyssnaren och den virtuella värden har identifierats är varje reparation en gissning som tillämpas på fel lager. Hela kontrollen nedan är skrivskyddad.
Ingenting startas om, avinstalleras eller skrivs över medan du samlar in fakta som avgör fallet.
Läs certifikatet som webbläsaren faktiskt fick
Anteckna värdnamnet, den upplösta adressen för varje familj, porten och certifikatuppgifterna som webbläsaren klagade på. Ett namn som löser upp både till en A- och en AAAA-post kan nå två olika fronter, och bara en av dem är kanske värden du har skalåtkomst till. En webbläsare bakom en proxy kan ta en tredje väg igen. Att gissa vilken som producerade varningen slösar bort den enda observation du har.
Reproducera sedan handskakningen från en maskin på samma väg, namnge adressen uttryckligen och skicka det avsedda servernamnet så att svaret speglar webbplatsen och inte standardvärden.
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
Jämför de alternativa subjektnamnen och fingeravtrycket med certifikatet du förväntar dig, inte med en välkänd utfärdare. Att ansluta till en bar adress utan servernamnet kan välja ett standardcertifikat, som då ser ut som fel fil när det egentligen är fel fråga.
Identifiera processen som är bunden till den porten
På värden som ska ta emot anslutningen, lista lyssnarna och anteckna bindadressen, adressfamiljen och processägaren. En tjänst bunden till loopback-adressen är inte samma sak som en bunden till alla gränssnitt, och en containerpublicering kan placera den offentliga lyssnaren helt någon annanstans.
sudo ss -ltnp 'sport = :443'
sudo ss -ltnp | grep -E ':(443|943)\b'
Om TLS avslutas av en lastbalanserare eller en proxy framför, stanna här och inspektera den fronten i stället. Apache-instansen bakom den presenterar kanske aldrig ett certifikat för en offentlig webbläsare, så att redigera dess konfiguration ändrar ingenting av det webbläsaren ser. Socketvyn och den externa handskakningen måste beskriva samma väg, och det är vad den här jämförelsen fastställer.
Matcha den virtuella värden före filen
När Apache är terminatorn, fråga den vilken virtuell värd som vinner för den adressen och det namnet. Kontrollkommandot skriver ut den effektiva layouten, inklusive gruppen som matchar varje socket, de deklarerade servernamnen och värden som behandlas som standard. Att redigera en certifikatfil utan det svaret är hur fel webbplats till slut serveras från en korrekt fil.
sudo apachectl -S
Apaches SSL-FAQ förklarar hur servernamnsindikering väljer ett certifikat. HTTP Host-huvudet anländer efter handskakningen och kan inte i efterhand ändra det som redan presenterats, så ett namn som inte matchar eller saknas faller tillbaka på standardvärden.
En namngiven virtuell värd med ett stavfel i ServerAlias ger exakt detta symptom, och det gör också en andra konfigurationsfil som läser in en fångar-allt-värd först. Båda syns i den layoutlistan.
Verifiera rättningen på varje väg du påstår
Efter en godkänd ändring, upprepa den värdnamnsspecifika kontrollen för varje adressfamilj och avsluta med webbläsarens vanliga validering i stället för en kringgåendeflagga. Bevara en separat administrationsväg innan du rör delade lyssnarinställningar, eftersom ett misstag där tar bort den åtkomst du skulle använda för att ångra det. Skriv sedan ned vilken lyssnare som svarade, vilken virtuell värd som matchade och vilket certifikat som serverades före och efter.
Borttagning av ett paket kan ändra layouten och lämna den ursprungliga diskrepansen oförklarad, och därför överlever den anteckningen reparationen.
Det du vill ha är den avsedda webbplatsen vid den avsedda ingångspunkten. Ett annat certifikat efter att en orelaterad tjänst försvunnit är inte det resultatet, även när webbläsaren slutar klaga.