Dine cluster members er nu låst ned som standard
Hver VM i et managed cluster kører nu med sin offentlige grænseflade firewalled til kun ping — ingen offentlig SSH, ingen eksponerede container-porte. Trafik når dine tjenester gennem load balanceren over det private netværk, så intet behøver at lytte på den offentlige IP. Det gælder nye og eksisterende clusters, og du kan genaktivere SSH på et enkelt medlem hvis du har brug for det.
The Suble team
Engineering ·
Et managed cluster er et sæt medlems-VM'er på et privat netværk, placeret bag en managed load balancer. Load balanceren er hoveddøren: den når dine containere over deres private IP'er, dine database-medlemmer replikerer over det private netværk, og du administrerer VM'erne fra dashboard-konsollen. Sæt de fakta sammen, og et medlems offentlige netværksgrænseflade har intet legitimt at lave — enhver rigtig vej ind eller ud undgår den allerede.
Så vi holdt op med at lade den stå åben. Hvert cluster member starter nu med Smart Firewall i streng tilstand, reduceret til en enkelt regel: tillad ping, drop alt andet. Ingen offentlig SSH. Ingen container-port der svarer på den offentlige IP. Hvis det ikke er load balanceren der taler til en privat adresse, kommer det ikke ind.
Hvorfor det er sikkert — og hvorfor det var det værd
Intet ved hvordan dit cluster fungerer afhænger af et medlems offentlige grænseflade:
- Load balanceren forbinder til private IP'er. Den deler det private VLAN med cluster members og når hver container over det interne netværk, hvilket helt omgår den offentlige firewall.
- Medlemmer taler sammen privat. Postgres-replikering, Patronis raft-konsensus, Redis Sentinel og replikering — alt sammen flyder over private adresser, aldrig den offentlige IP.
- Udgående trafik er urørt. Medlemmer laver stadig frit udgående forbindelser — henter images fra dit registry, installerer pakker, når dine egne upstreams. At låse *indgående* ned rører ikke *udgående*.
- Administration er out-of-band. Du åbner et medlems konsol direkte fra dashboardet, så du har aldrig haft brug for en offentlig SSH-port for at komme ind.
Gevinsten er reel. På et app-cluster var en container der bandt 0.0.0.0 før nåbar på medlemmets offentlige IP, selv når du kun mente at publicere den gennem load balanceren. Det er den ikke længere. Den offentlige angrebsflade for et helt cluster skrumper til ICMP.
Intet at slå til
Dette er standarden for hvert nyt cluster, og vi har også anvendt det på eksisterende clusters. Der er ingen migration og ingen indstilling at vende — dine medlemmer er allerede låst ned.
Når du alligevel vil have SSH
Nogle gange vil du have en shell på et bestemt medlem — for at fejlfinde en container, hente en log, eller køre en engangsopgave. Hvert medlem er en rigtig, synlig instans i dit projekt, så åbn den, gå til dens Firewall-indstillinger, og genaktiver SSH for netop det medlem. Ændringen træder i kraft på få sekunder; de andre cluster members forbliver låst ned. Slå den fra igen når du er færdig, eller lad konsollen være din vej ind og åbn aldrig porten overhovedet.
Det er en lille ændring med en enkel regel bag: hvis trafik ikke behøver at ankomme på et medlems offentlige IP, bør den ikke kunne. Dine clusters dirigerer allerede alt gennem load balanceren — nu matcher firewallen.
Skrevet af
The Suble team
Engineering