Driftsatte företagets egen git‑forge på Soft Serve, privat som standard, utan webbpanel och med SSH‑porten bunden till loopback bakom en hoppserver, och gjorde landningssidan framför den till en byggartefakt från huvudwebbplatsen i stället för en manuellt underhållen kopia.
Arbetet utfört: juli 2026
en privat git‑forge, med porten bunden till loopback
Situation. Företagets källkod låg hos en tredjepartstjänst för hosting, vilket är en rimlig plats för den och passar dåligt för en verksamhet vars argument gentemot kunderna är att den inte lämnar ut deras data till mellanhänder. Att i stället köra en git‑forge innebär att köra en git‑forge: autentisering, åtkomstkontroll, lagring, säkerhetskopior och en publik framsida för den.
Uppgift. En kanonisk git‑server måste sättas upp på den befintliga värden, med minsta möjliga attackyta och utan webbpanel för administration, och med en landningssida framför den som inte förfaller.
Handling. Git‑forgen är en enda binärfil som hålls igång av operativsystemet, installerad från leverantörens eget paketrepo och medvetet vald för att den är byggd i första hand för SSH och saknar administrativt webbgränssnitt — ju mindre gränssnitt, desto mindre att försvara. Den är privat som standard: anonym åtkomst nekas, åtkomst utan nyckel nekas och varje deklarerat repo markeras som privat i stället för att förlita sig på att ingen känner till det. Dess SSH‑lyssnare binder bara till loopback‑gränssnittet på port 23231 och nås utifrån via en hoppserver, så att brandväggens deklarerade yta inte växer. En protokollmultiplexer som skulle lägga HTTPS och git över SSH på en och samma publika port genom att inspektera de första byten i en anslutning är skriven och klar bakom en huvudbrytare, och den brytaren är avslagen: git för flera användare över den publika porten behövs inte än, och en lyssnare som ingen använder är attackyta. Landningssidan framför den var det intressantare problemet. Den hade varit en handunderhållen kopia av huvudwebbplatsens design i ett eget repo, och varenda skillnad som någonsin hittats mellan de två visade sig vara ett misstag snarare än ett beslut: en typskala som återgav ordmärket ungefär nio procent för stort, en typsnittsdeklaration som slog ihop två vikter till en på varje dator där typsnittsfamiljen var installerad, ornament som doldes under en viss bredd så att de saknades på varje telefon, en vikt som användes utan att någon typsnittsfil levererades för den, och inget main‑landmärke eller någon huvudrubrik på någon av sidorna. Fem av fem, och inte en enda syntes i en skärmbild. Kopian togs bort; landningssidan byggs nu av huvudwebbplatsens egna mallar och levereras som en artefakt.
Resultat. Företaget hostar sin egen kod på sin egen hårdvara, och sidan framför den ärver varje kontroll som huvudwebbplatsen klarar i stället för att glida isär från den på sätt som bara en mätning kan se. Avvikelser är fortfarande möjliga och måste nu skrivas ned.
Ta en titt på hela portföljen.
För kunder kallar vi den här Din kod på din egen hårdvara — se den tillsammans med de andra fallen.
En del av en längre historik — och den finns i sin helhet här.
Varje post är skriven på samma sätt: situationen, uppgiften, vad vi gjorde och vad som förändrades.