Ktorý proces VPN sa týka tohto nálezu zraniteľnosti?
Banner, názov súboru knižnice a bežiaci proces môžu opisovať rôzne veci. Dohľadajte nález k jednej komponente a potom ho porovnajte s rozsahom odporúčania.
Výsledok skenera uvádza adresu, port a niečo, čo sa tam dohodlo. Neuvádza proces za týmto socketom a na hostiteľovi VPN môže niekoľko procesov zdieľať stroj, pričom iba jeden z nich je tunel. Čítanie verzie z pomocného nástroja alebo nájdenie súboru knižnice na disku pridáva dôkaz o hostiteľovi, nie o prijímajúcom procese. Nález je použiteľný až vtedy, keď sa pripojí k jednej bežiacej komponente a potom sa porovná s rozsahom, ktorý odporúčanie skutočne uvádza.
Na poradí záleží: najprv komponent, potom odporúčanie, nakoniec náprava.
Správa uvádza port, nie program
Začnite pri koncovom bode, ktorý sa skutočne posudzoval. Sonda proti administratívnemu portu HTTPS zmerala webovú službu, jej TLS zásobník a akýkoľvek proxy pred ním; o prijímajúcom procese OpenVPN alebo WireGuard na inom porte sa nič nedozvedela. Reverzné proxy a správcovia agenti to zhoršujú, pretože certifikát a banner môžu patriť frontendu, kým zraniteľná knižnica sedí za ním v procese na pozadí.
Zaznamenajte cieľ, transport, port a názov služby spolu s výsledkom, aby rozsah putoval s nálezom.
Čo je skutočne bežiaca zostava
Na hostiteľovi pre všeobecné použitie sú nainštalovaný balík a načítaná knižnica oddelené otázky. Databáza balíkov môže uvádzať opravenú verziu, kým dlho bežiaci démon stále drží starý zdieľaný objekt v pamäti, a vstavaný obraz zariadenia môže niesť vlastné knižnice, ktoré žiadny správca balíkov nehlási. Opýtajte sa správcu služieb, čo beží, a potom preskúmajte proces a jeho väzby.
systemctl status openvpn-server@server --no-pager ps -o pid,lstart,args -C openvpn ss -lntup | grep -E '1194|443' dpkg -l | grep -i -E 'openvpn|libssl' ldd "$(command -v openvpn)" | grep -i ssl
Čas spustenia v zozname procesov je detail, ktorý ľudia preskakujú. Démon spustený pred poslednou aktualizáciou balíkov stále beží so zostavou, ktorú načítal pri štarte, a to je presne prípad, keď inventár hovorí opravené a socket hovorí niečo iné.
Zosúladenie zostavy s rozsahom odporúčania
Odporúčania opisujú produkty, verzie a niekedy požadované podmienky, a tieto tri polia sa nie vždy zhodujú s verziou balíka. Odporúčanie OpenVPN k Heartbleed z apríla 2014 je užitočný historický príklad, pretože oddeľuje postihnuté vydania Access Serveru od webových služieb a démonov VPN, ktoré mali inú expozíciu. Ponaučenie je čítať, ktorú komponentu text pokrýva, namiesto porovnávania slova OpenSSL podľa vzoru.
Toto odporúčanie je tiež zastarané. Jeho opravené čísla vydaní už nie sú inštalačnou radou a chyba opravená v roku 2014 nič nehovorí o neskorších problémoch vo vetve, ktorú dnes prevádzkujete.
Vyriešenie rozporu a uzavretie expozície
Keď sa inventár a posúdenie rozchádzajú, skontrolujte, či oba opisujú ten istý koncový bod a to isté runtime prostredie: inú adresu, frontový proxy, druhú službu, starý proces stále viazaný na port alebo vstavanú knižnicu, ktorú správca balíkov nikdy nevidel. Vyriešte to na hranici, skôr než prepíšete správu.
Použite podporovanú opravu, reštartujte postihnutú službu a potvrďte, že teraz beží nová zostava. Opravený súbor na disku, kým starý proces stále obsluhuje prevádzku, nie je náprava.
Potom sa zaoberajte tým, čo komponent mohol obsahovať počas okna expozície. Záplatovanie a výmena prihlasovacích údajov odpovedajú na rôzne otázky a certifikát uložený blízko postihnutého hostiteľa sám o sebe nie je zoznamom toho, čo uniklo. Postupujte podľa postupu vlastníka incidentu pre odvolanie, odstránenie relácií a aktualizácie klientov a zaznamenajte, ktorá komponenta bola postihnutá, prečo sa dôkazy vzťahovali a čo to uzavrelo. Ten záznam bude čítať neskoršia revízia.