Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Orchestrating Least Privilege by Diogo Monica

1,115 views

Published on

Docker Distributed System Presentation by Diogo Monica

Published in: Technology
  • Be the first to comment

Orchestrating Least Privilege by Diogo Monica

  1. 1. Orchestrating Least Privilege
  2. 2. What is an Orchestrator?
  3. 3. What is an Orchestra?
  4. 4. SWAR M
  5. 5. Job of a Conductor - Casting - Assign sheet music - Unify performers - Set the tempo
  6. 6. Job of an Orchestrator - Node management - Task assignment - Cluster state reconciliation - Resource Management
  7. 7. What is a Least Privilege Orchestrator?
  8. 8. What is Least Privilege?
  9. 9. A process must be able to access only the information and resources that are necessary for its legitimate purpose.Principle of Least Privilege
  10. 10. Why Least Privilege?
  11. 11. What do we need to achieve Least Privilege Orchestration?
  12. 12. Mitigating External Attacker - Externally accessible service ports are explicitly defined - Administration endpoints are authenticated and authorized
  13. 13. Mitigating Internal Network Attacker - Authentication of both network and cluster control-plane communication - Service to service communication is authorized, with orchestrator managed ACLs
  14. 14. Mitigating MiTM Attacker - All control and data-plane traffic is encrypted.
  15. 15. Mitigating Malicious Worker ‣Should only have access to resources currently in use ‣Push VS Pull ‣No ability to modify or access any cluster state except their own. ‣Identity is assigned, never requested
  16. 16. Mitigating Malicious Manager ‣Can’t run arbitrary code on workers ‣No access to secret material ‣No ability to spin up unauthorized nodes/impersonate existing nodes. ‣No ability to read service-to-service communication
  17. 17. Byzantine Consensus.
  18. 18. SWAR M
  19. 19. Mutual TLS by default • First node generates a new self-signed CA.
  20. 20. Mutual TLS by default • First node generates a new self-signed CA. • New nodes can get a certificate issued w/ a token.
  21. 21. Mutual TLS by default • First node generates a new self-signed CA. • New nodes can get a certificate issued w/ a token. • Workers and managers identified by their certificate.
  22. 22. Mutual TLS by default • First node generates a new self-signed CA. • New nodes can get a certificate issued w/ a token. • Workers and managers identified by their certificate. • Communications secured with Mutual TLS.
  23. 23. The Token SWMTKN-1-mx8susrv1etsmc8omaom825bet6-cm6zts22rl4hly2 Prefix to allow VCS searches for leaked Tokens Token Version Cryptographic Hash of the CA Root Certificate for bootstrap Randomly generated Secret
  24. 24. Bootstrap 1. Retrieve and validate Root CA Public key material. 2. Submit new CSR along with secret token. 3. Retrieve the signed certificate.
  25. 25. Automatic Certificate Rotation 1. Submit new CSR using old key-pair. 2. Retrieve the new signed certificate.
  26. 26. Support for External CAs • Managers support BYO CA. • Forwards CSRs to external CA.
  27. 27. Dem o
  28. 28. Thank you

×