image

SSH agent forwarding en Jenkins-lek nekten Matrix.org

maandag 13 mei 2019, 12:39 door Redactie, 3 reacties

Ongepatchte software, het niet gebruik van een vpn en een standaard Debian-installatie speelden allemaal een rol bij de aanval waarbij de productieomgeving van het opensourcechatplatform Matrix.org volledig werd overgenomen en gegevens van miljoenen gebruikers gestolen.

Dat hebben de ontwikkelaars in een analyse laten weten. Matrix.org biedt een chatplatform dat via verschillende clients te gebruiken is. Vorige maand werden miljoenen gebruikers van de dienst gewaarschuwd dat een aanvaller toegang tot hun privégegevens had verkregen, waaronder onversleutelde privéberichten, wachtwoordhashes en toegangstokens. De aanvaller plaatste vervolgens op het GitHub-platform van Matrix.org een uitleg hoe hij de productieomgeving kon compromitteren.

Nu hebben ook de ontwikkelaars een 'Post-mortem' online geplaatst. De aanval was mogelijk door een combinatie van factoren. De gecompromitteerde productieomgeving werd in augustus 2017 opgezet, waarbij er snel een nieuwe locatie moest worden gezocht. Vanwege de haast bij het opzetten van de nieuwe omgeving werden allerlei beveiligingsmaatregelen overgeslagen.

Zo werd er gekozen om geen vpn-toegang te verplichten om toegang tot de servers te krijgen. In plaats daarvan waren die gewoon via SSH toegankelijk. Ook werden de standaard Debian-installaties niet extra beveiligd. De standaard installatie biedt roottoegang via SSH en maakt SSH-agent forwarding mogelijk. Tevens was de configuratie niet aangepast. Allemaal zaken waar de aanvaller gebruik van maakte. Daarnaast hadden de ontwikkelaars besloten om hun Jenkins-server toegankelijk voor internet te maken. Jenkins is een opensource-automatiseringsserver die binnen softwareontwikkeling wordt gebruikt.

De maanden na het opzetten van de productieomgeving groeide Matrix.org, kreeg het meer geld en werd er een fulltime operations specialist aangenomen. De aandacht verschoof naar de ontwikkeling van een nieuwe dienst, waarbij de oude legacy-infrastructuur werd vergeten. Het resultaat was dat er uiteindelijk twee productieomgevingen in gebruik waren.

Jenkins

Op 9 april werd Matrix.org gewaarschuwd dat de gebruikte Jenkins-server niet up-to-date was. De ontwikkelaars hadden een belangrijke beveiligingsupdate gemist. Een dag later werd er een onderzoek ingesteld om te kijken of het niet gepatchte beveiligingslek was misbruikt. Tijdens dit onderzoek werd er een onbekende SSH-sleutel ontdekt. Dit leidde tot de ontdekking dat de aanvaller de Jenkins-server al sinds 13 maart had overgenomen via een lek waarvoor sinds 8 januari 2019 een patch beschikbaar was.

Verschillende ontwikkelaars hadden SSH agent forwarding ingeschakeld toen ze op de gecompromitteerde Jenkins-omgeving inlogden. Via agent forwarding kan een gebruiker toegang tot zijn privé SSH-sleutels naar een remote server 'forwarden' terwijl hij is ingelogd, zodat het mogelijk is om vanaf die server andere servers via SSH te benaderen. De aanvaller maakte hier misbruik van en kon zo de rest van het netwerk compromitteren en allerlei gegevens stelen. Dit vond plaats tussen 4 en 6 april. Tevens wist de aanvaller de website van Matrix.org te defacen.

Maatregelen

Naar aanleiding van het incident heeft Matrix.org allerlei maatregelen genomen. Zo is SSH agent forwarding op de servers uitgeschakeld, is de infrastructuur opgedeeld, wordt er van tweefactorauthenticatie gebruik gemaakt en is er een patchbeleid geïmplementeerd. Tevens wordt er gewerkt aan real-time log-analyse van verdacht gedrag en is Jenkins ingeruild voor Buildkite. De ontwikkelaars geven verder allerlei andere procesveranderingen aan wat betreft softwareontwikkeling en beheer. Afsluitend maakt het ontwikkelteam excuses aan alle gebruikers.

Reacties (3)
13-05-2019, 17:18 door ph-cofi
"We hebben Buildkite haastig ingericht, maken we later netjes, hoor..."
14-05-2019, 07:44 door Anoniem
Foutje en bedankt. Zulke blunder-beslissingen zouden serieuze consequenties moeten hebben of krijgen. Een flinke boete is minimaal op zijn plaats.... maar ja...
16-05-2019, 01:51 door Anoniem
"We kwamen erachter dat we een standaard install deden en daarbij nog wat dingetjes extra open zetten"

Ik wil weer in de automatisering als ik dit lees. Schrijnend.

Altijd 2FA en IP reeksen firewallen, op zijn minst SSH op een hoge poort draaien en de config op een paar punten aanpassen.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.