Blootstelling van het containernetwerk
Eén gepubliceerde poort en de database staat op internet.
Wat is Blootstelling van het containernetwerk?
Door een containerpoort te publiceren, wordt deze standaard aan elke interface op de host gekoppeld, zodat een voor lokaal gemak toegevoegde mapping een database op het openbare internet kan plaatsen zonder enige wijziging aan de cloudfirewall. U kiest eerst de kant van de aanvaller: scan de host, maak rechtstreeks verbinding met de database met een oud gestolen wachtwoord en lees klantgegevens zonder toepassing in het pad. Vervolgens koppelt u de toewijzing aan 127.0.0.1, verifieert u van buitenaf en roteert u de weergegeven referentie.
Wat je leert in Blootstelling van het containernetwerk
- Houd er rekening mee dat het publiceren van een containerpoort met -p deze aan elke interface op de host bindt, inclusief openbare
- Traceer een blootgestelde database terug naar de Compose-poorttoewijzing door de kolom PORTS van de actieve container te lezen
- Leg uit waarom een beoordeling van een cloudfirewall of beveiligingsgroep nooit een poort weergeeft die de containerruntime op de host heeft gepubliceerd
- Pas een 127.0.0.1-binding toe op de poorttoewijzing en controleer van buitenaf of de database niet langer bereikbaar is
- Roteer alle referenties die bereikbaar waren terwijl de poort open was, omdat het sluiten ervan niet ongeldig maakt wat is gestolen
Blootstelling van het containernetwerk — Trainingsstappen
-
Een database op het open internet
Bob bevindt zich nergens binnenin. Weken geleden kocht hij een dump met daarin een read-only databasecredential voor Halvexis, maar een credential is nutteloos als je de database niet kunt bereiken. Dus scant hij de data-store-hosts van het bedrijf om te zien of een ervan van buitenaf reageert.
-
Rechtstreeks naar binnen, geen applicatie
Er is geen inlogpagina, geen API, geen rate limit. Een gepubliceerde databasepoort spreekt het onbewerkte Postgres-protocol tegen iedereen die haar kan bereiken. Bob richt een databaseclient rechtstreeks erop en authenticeert met de credential die hij al had.
-
Lees de residents-tabel
De credential is read-only, en dat is alles wat Bob nodig heeft. Hij bevraagt de tabel met de huurders van het platform en hun gegevens, rechtstreeks uit productie.
-
Wat er is veranderd
Bob heeft deze exacte credential al maanden en heeft hem nooit gebruikt.
-
Monitoring signaleert het verkeer
Halvexis draait cloudmonitoring op zijn productiehosts. Het weet niet waar de database voor dient; het rapporteert wat het heeft gezien.
-
Zoek de open poort
Als de security groups niet zijn veranderd, is de blootstelling ontstaan op de host zelf, door de manier waarop een container zijn poort publiceerde. Alice toont de databasecontainer en leest de ene kolom die aangeeft aan welke interfaces de poort gebonden is.
-
Waar de poort wordt gepubliceerd
De poortmapping komt uit het Compose-bestand dat de stack definieert. Alice opent het om de regel te zien die 5432 publiceerde.
-
De regel die het deed
Eén mapping, geschreven zoals een developer die op zijn laptop schrijft, is wat de database op het internet zette toen deze stack werd uitgeleverd naar productie.
-
Bind het aan localhost
De API bereikt de database via het Compose-netwerk met de servicenaam, niet via een gepubliceerde hostpoort. De hostmapping hoeft dus helemaal niet publiek te zijn. Alice bindt hem aan de loopback-interface, zodat alleen de host zelf en de containers op zijn netwerk hem kunnen bereiken.
-
Lees de herstelde binding
De wijziging is één interface-prefix, maar het is de hele fix. Alice loopt de gebonden mapping door voordat ze opnieuw deployt, om precies te zien wat nu bereikbaar is en van waaruit.
Dekking van beveiligingsframeworks
CWE
- CWE-668 Exposure of Resource to Wrong Sphere
- CWE-306 Missing Authentication for Critical Function
MITRE ATT&CK
- T1046 Network Service Discovery
- T1210 Exploitation of Remote Services
CIS Controls
- CIS 12 Network Infrastructure Management
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.IR Technology Infrastructure Resilience