Site-ul afișează certificatul greșit? Găsiți procesul care ascultă
Un site prezintă un certificat neașteptat, iar fișierul evident este rescris. Identificați procesul care ascultă și gazda virtuală care a răspuns prima.
Instalarea software-ului VPN pe o gazdă web poate rearanja serviciile, dar un certificat neașteptat nu dovedește că fișierele Apache au fost rescrise. Ceva a prezentat acel certificat browserului dumneavoastră, iar prima sarcină este să-l numiți. Până când procesul care ascultă și gazda virtuală nu sunt identificate, fiecare reparație este o presupunere aplicată stratului greșit. Întreaga verificare de mai jos este doar pentru citire.
Nimic nu este repornit, dezinstalat sau suprascris în timp ce adunați faptele care decid cazul.
Citiți certificatul pe care browserul l-a primit de fapt
Notați numele de gazdă, adresa rezolvată pentru fiecare familie, portul și detaliile certificatului de care browserul s-a plâns. Un nume care se rezolvă atât într-o înregistrare A, cât și într-una AAAA poate ajunge la două fronturi diferite, și doar unul dintre ele poate fi gazda la care aveți acces shell. Un browser din spatele unui proxy poate lua din nou o a treia cale. Să ghiciți care dintre ele a produs avertismentul risipește singura observație pe care o aveți.
Apoi reproduceți strângerea de mână de pe o mașină aflată pe aceeași cale, numind explicit adresa și trimițând numele de server dorit, astfel încât răspunsul să reflecte site-ul, nu gazda implicită.
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
Comparați numele alternative ale subiectului și amprenta cu certificatul pe care îl așteptați, nu cu un emitent cunoscut. Conectarea la o adresă nudă fără numele de server poate selecta un certificat implicit, care apoi arată ca fișierul greșit când de fapt întrebarea este greșită.
Identificați procesul legat de acel port
Pe gazda care ar trebui să primească conexiunea, listați procesele care ascultă și notați adresa de legare, familia de adrese și proprietarul procesului. Un serviciu legat de adresa de buclă locală nu este același lucru cu unul legat de toate interfețele, iar o publicare de container poate plasa procesul public care ascultă cu totul în altă parte.
sudo ss -ltnp 'sport = :443'
sudo ss -ltnp | grep -E ':(443|943)\b'
Dacă TLS este terminat de un echilibrator de încărcare sau de un proxy aflat în față, opriți-vă aici și inspectați acel front în schimb. Instanța Apache din spatele lui poate să nu prezinte niciodată un certificat unui browser public, așa că editarea configurației ei nu schimbă nimic din ce vede browserul. Vederea socketurilor și strângerea de mână externă trebuie să descrie aceeași cale, iar asta este ceea ce stabilește această comparație.
Potriviți gazda virtuală înaintea fișierului
Când Apache este terminatorul, întrebați-l care gazdă virtuală câștigă pentru acea adresă și acel nume. Comanda de control tipărește aspectul efectiv, inclusiv grupul potrivit pentru fiecare socket, numele de server declarate și gazda tratată ca implicită. Editarea unui fișier de certificat fără acel răspuns este modul în care site-ul greșit ajunge să fie servit dintr-un fișier corect.
sudo apachectl -S
Întrebările frecvente despre SSL ale Apache explică modul în care indicarea numelui de server selectează un certificat. Antetul Host al HTTP sosește după strângerea de mână și nu poate schimba retroactiv ceea ce a fost deja prezentat, așa că un nume nepotrivit sau lipsă revine la gazda implicită.
O gazdă virtuală numită cu o greșeală de tastare în ServerAlias produce exact acest simptom, iar un al doilea fișier de configurare care încarcă mai întâi o gazdă care prinde tot face la fel. Ambele sunt vizibile în acea listare a aspectului.
Verificați corectarea pe fiecare cale pe care o afirmați
După o modificare aprobată, repetați verificarea specifică numelui de gazdă pentru fiecare familie de adrese și încheiați cu validarea obișnuită a browserului în loc de un indicator de ocolire. Păstrați o cale de administrare separată înainte de a atinge setările partajate ale procesului care ascultă, deoarece o greșeală acolo elimină accesul pe care l-ați folosi pentru a o anula. Apoi notați ce proces a răspuns, ce gazdă virtuală s-a potrivit și ce certificat a fost servit înainte și după.
Eliminarea unui pachet poate schimba aspectul și poate lăsa neexplicată nepotrivirea originală, motiv pentru care acea înregistrare supraviețuiește reparației.
Ce doriți este site-ul dorit la punctul de intrare dorit. Un certificat diferit după ce un serviciu nelegat a dispărut nu este acel rezultat, chiar și atunci când browserul nu mai reclamă.