Μέσα σε ένα δίκτυο μικροϋπηρεσιών δεν μπορείτε να εμπιστευθείτε το δίκτυο απλώς και μόνο επειδή είναι "εσωτερικό". Zero-trust υποθέτει ότι το δίκτυο είναι εχθρικό, επομένως κάθε κλήση ταυτοποιείται και εξουσιοδοτείται, και η κίνηση κρυπτογραφείται με mTLS.
Αμοιβαίο TLS (mTLS)
Σε αντίθεση με το κανονικό TLS, και οι δύο πλευρές παρουσιάζουν πιστοποιητικά. Κάθε υπηρεσία αποδεικνύει την ταυτότητά της, και η κίνηση κρυπτογραφείται κατά τη μεταφορά.
Service A ──cert──▶ Service B
Service A ◀─cert── Service B (both verify each other's identity)
→ caller is authenticated AND data is encrypted
Ένα service mesh μπορεί να παρέχει mTLS αυτόματα χωρίς αλλαγές στον κώδικα της εφαρμογής.
Εξουσιοδότηση από υπηρεσία σε υπηρεσία
Ταυτότητα (ποιος καλεί) συν πολιτική (τι μπορούν να κάνουν). Tokens (JWT) ή ταυτότητες SPIFFE φέρουν την ταυτότητα του καλούντος.
# allow only the orders service to call payments
policy:
from: { service: orders }
to: { service: payments, path: /charge }
action: ALLOW # everything else denied by default
Άμυνα σε βάθος
✓ Authenticate every request (no implicit network trust)
✓ Least privilege — a service can call only what it needs
✓ Short-lived, rotated credentials/certs
✓ Validate tokens at the edge AND between services
✓ Encrypt in transit (mTLS) and at rest
Παγίδα
Η εμπιστοσύνη στο εσωτερικό δίκτυο ("βρίσκεται πίσω από το firewall") είναι το πώς ένα μόνο παραβιασμένο service γίνεται μια πλήρης παραβίαση.
Γιατί σημαίνει
Σε ένα επίπεδο εσωτερικό δίκτυο, ένα παραβιασμένο service μπορεί διαφορετικά να φτάσει παντού· το zero-trust περιορίζει αυτή την ακτίνα έκρηξης.
το mTLS συν την εξουσιοδότηση ανά κλήση σημαίνει ότι ένας εισβολέας που προσγειώνεται στο εσωτερικό δεν μπορεί να προσποιηθεί υπηρεσίες ή να κινηθεί πλαγίως, που είναι η βασική υπόσχεση ασφάλειας μιας σύγχρονης πλατφόρμας μικροϋπηρεσιών.
