Voorkom het lekken van geheimen door waarden buiten deelbare Compose-definities te houden en elke back-up of diagnostische export als gevoelig te behandelen totdat deze een inhoudsscan heeft doorstaan.
Home Assistant heeft tijdens runtime inloggegevens nodig, dus geen enkele lokale indeling maakt ze onzichtbaar voor een beheerder met volledige toegang tot de host. Het praktische doel is beperkter: voorkom onbedoelde commits, uploads voor ondersteuning, brede back-upkopieën en onnodige toegang vanuit containers. Breng in kaart waar elke waarde de stack binnenkomt, vervang letterlijke waarden door een beheerde bron voor geheimen en test de geëxporteerde artefacten zonder de geheimen zelf af te drukken.
Breng elke plek in kaart waar een geheim kan uitlekken
Maak een lijst van API-tokens, databasewachtwoorden, MQTT-inloggegevens, webhook-URL's, versleutelingssleutels, privésleutels van certificaten en herstelsleutels. Noteer voor elk geheim de runtimegebruiker, het opslagpad, de bestandseigenaar, opname in back-ups, repositorystatus, blootstelling in logboeken en rotatiemethode. Kopieer de waarden niet naar de inventaris.
Bestanden met geheimen organiseren waarden, maar blijven leesbare tekst voor een account dat toegang heeft tot de host. Deze toegangsgrens voor leesbare tekst betekent dat scheiding vooral onbedoelde openbaarmaking beperkt, en geen volledig bevoegde aanvaller buiten de deur houdt.
Er is sprake van een fout als er een letterlijke waarde in YAML van Compose staat, als een omgevingsbestand wordt bijgehouden in versiebeheer, als een configuratiemap breed leesbaar is of als een export een onbekende inhoud heeft. Pauzeer het delen en het pushen naar repositories totdat elk blootstellingspad een eigenaar en een oplossing heeft.
Scheid runtimegeheimen van implementatiedefinities
Vervang letterlijke waarden in Compose door bestandsgebaseerde geheimen met strikt beperkte rechten of door een andere door de implementatie ondersteunde bron voor geheimen. Geef elke service alleen de waarden die deze gebruikt, koppel ze waar mogelijk alleen-lezen aan en beperk de hostrechten tot de runtime-identiteit en beheerders.
Omgevingswaarden kunnen zichtbaar worden via inspectie, procescontext of logboeken, terwijl het koppelen van bestandsgebaseerde geheimen kan beperken welke containers een inloggegeven ontvangen. Ook lokale bestanden met geheimen vereisen toegangsbeheer.
Valideer eerst met tijdelijke aanduidingen, inspecteer de gegenereerde Compose-configuratie op onbedoelde letterlijke waarden, start vervolgens één service en controleer of deze alleen het toegewezen geheim kan lezen. Zet de wijziging terug als de toepassing hierdoor waarden gaat herhalen of brede toegangsrechten voor mappen vereist.
Bepaal wat back-ups en ondersteuningsbundels bevatten
Classificeer back-ups als bestanden die inloggegevens bevatten, tenzij het tegendeel aantoonbaar is. Versleutel kopieën die de vertrouwde opslaggrens verlaten, bewaar herstelsleutels afzonderlijk, beperk bewaartermijn en toegang en voeg nooit een volledig configuratiearchief toe als een geredigeerd fragment uit het logboek de ondersteuningsvraag kan beantwoorden.
Gebruik de workflow voor configuratiebescherming om herstelbaarheid te behouden en tegelijk veilige opslag te scheiden van deelbaar implementatiemateriaal.
Scan vóór vrijgave bestandsnamen en uitgepakte tekst op bekende sleutelnaam, tokenvoorvoegsels, privé-URL's, e-mailadressen, certificaten en de exacte hashes van beheerde testmarkeringen. Een schone scan is een vrijgavevoorwaarde, geen bewijs dat er geen geheim in een onbekend formaat aanwezig kan zijn.
Roteer blootgestelde geheimen en bewijs het preventiepad
Als een bruikbare waarde in een repository, ticket, chat, openbare link of niet-vertrouwde back-up terechtkwam, trek deze dan eerst in of roteer deze; het verwijderen van de zichtbare kopie maakt kopieën of geschiedenis niet ongeldig. Leg de getroffen service en het rotatietijdstip vast zonder de oude waarde te bewaren.
Maak een onschadelijk kanariegeheim, implementeer dit via het nieuwe pad, genereer de gebruikelijke Compose-weergave, back-up en diagnostische bundel en doorzoek deze artefacten vervolgens. De runtime moet het kanariegeheim ontvangen, terwijl deelbare artefacten het niet buiten de bewust beschermde back-upgrens blootleggen.
Stop wanneer echte geheimen ontbreken in implementatiedefinities en repositories, beschermde back-ups een afzonderlijk herstelpad hebben, artefactscans slagen en blootgestelde inloggegevens zijn geroteerd. Schakel hulp in wanneer een integratie van derden geheimen in logboeken vastlegt of zonder bredere hosttoegang geen beperkte bron voor geheimen kan gebruiken.
Ondersteuning & Tips
Meer om te lezen

Hoe optimaliseer je Immich-databaseverbindingen voor gelijktijdige containers?
Verhoog max_connections niet als eerste. Meet de Immich-sessies, tel de vraag van elke container bij elkaar op, behoud ruimte voor beheerders en stem alleen...

Dubbele taken of imports in Immich voorkomen
Scheid herhaalde taken van dubbele assets. Gebruik één canoniek ingestiepad, beheer retries en padwijzigingen en test vervolgens opnieuw invoeren op een kleine groep.

Immich herstellen nadat het databasevolume vol raakt
Verwijder nooit PostgreSQL-WAL om ruimte vrij te maken. Stop schrijfbewerkingen van Immich, behoud de databasestatus, voeg veilig extra opslagcapaciteit toe, herstel PostgreSQL en voorkom...

