Het is een redelijk instinct: als alleen de VPN de SSH-listener bereikt, is de blootstelling klein en is het probleem opgelost. Blootstelling is echter niet hetzelfde als integriteit. De eerste helft klopt en de tweede volgt er niet uit. Bereikbaarheid bepaalt wie een verbinding mag proberen; software-integriteit bepaalt wat de listener doet als er een binnenkomt. Een poort verkleint het publiek en zegt niets over de code erachter.

Een privépoort is een kleinere deur, geen ander slot, en dat onderscheid bepaalt wat je hierna controleert.

Twee controles, twee vragen

Een netwerkbeperking vermindert de blootstelling. Ze laat toegestane gebruikers, en elke gecompromitteerde goedgekeurde client, in staat de getroffen dienst te bereiken. Het corrigeren van het pakket herstelt de software, en het vernauwt ook geen te brede netwerktoestemming. Elke controle doet zijn eigen werk, en elk kan juist zijn terwijl de andere ontbreekt. Ze samen bekijken is de manier waarop een team zichzelf ervan overtuigt dat één beide dekt, en dat is precies de fout waarover dit stuk gaat.

Het VPN-eindpunt is ook software, en het draagt dezelfde verplichting. Het toevoegen aan het pad brengt een eigen onderhoudsverplichting mee, en het haalt de verantwoordelijkheid voor de toeleveringsketen niet weg voor alles erachter.

Wat de XZ-onthulling werkelijk aantoonde

De XZ/liblzma-onthulling van maart 2024 beschreef een achterdeur die onder getroffen omstandigheden tot compromittering van een SSH-server kon leiden. Het was net zo goed een probleem van software-integriteit als van blootstelling, en het was geen bewijs dat elke Linux-installatie de kwetsbare build had. De reikwijdte komt van de getroffen versies en de distributies die ze hebben geleverd, niet van de naam van de besturingssysteemfamilie.

Dat onderscheid is het verschil tussen een incidentrespons en een gerucht, en het is de moeite waard daar pedant over te zijn.

De poort sluiten is geen herstel

Als compromittering al kan hebben plaatsgevonden, is het wijzigen van de bereikbaarheid geen herstel. Een achterdeur die is uitgevoerd heeft zijn kans al gehad; een firewallregel reist niet terug in de tijd. Volg het goedgekeurde incidentproces voor de host en voor alle blootgestelde inloggegevens, en bewaar het bewijs dat nodig is om vast te stellen wat er werkelijk is uitgevoerd. Heropbouwen vanaf bekende goede media is meestal deel van dat gesprek.

Gebruik ook het huidige geverifieerde advies en het herstelproces van de distributie, en lees de lijst met getroffen versies in plaats van de kop. Een historisch downgrade-commando naar een niet-verwante omgeving kopiëren is hoe een correctie een nieuwe blootstelling wordt.

Beoordeel beide, afzonderlijk

Stel de twee vragen in hun eigen termen. Wie kan de listener bereiken, en is dat publiek precies het publiek waarvoor de dienst bedoeld is? Welke versie van de software is geïnstalleerd, wie heeft het artefact ondertekend, en hoe komt de organisatie achter een slechte release voordat ze erover in het nieuws leest? De antwoorden horen in verschillende documenten met verschillende eigenaren, en geen enkele eigenaar kan voor de ander antwoorden.

Voor een beheerde vloot is een software-inventaris de controle die de tweede vraag überhaupt beantwoordbaar maakt. Zonder dat wordt elke onthulling een archeologieproject met een deadline.

Een poort verkleint het publiek. Integriteit bepaalt of het publiek ertoe doet.

Gerelateerde artikelen