Advertisement

Nat come esporre servizi https senza esporre l'applicazione

Artigiano d'Infrastrutture IT, continuous learner ed esperto di cultura DevOps at Proximo
Sep. 25, 2021
Advertisement

More Related Content

Slideshows for you(20)

Similar to Nat come esporre servizi https senza esporre l'applicazione(20)

Advertisement
Advertisement

Nat come esporre servizi https senza esporre l'applicazione

  1. 1 TOPIC N.A.T. come esporre servizi HTTPS senza esporre l'applicazione
  2. 2 Thanks to our partners
  3. About Me giulianolatini giulianolatini giulianolatini Giuliano Latini
  4. @cloudgen_verona #CodeGen2021
  5. 5 Topics • Definiamo il contesto e i concetti base • Apache, chi e cosa • Nginx, chi e cosa • Traefik, chi e cosa • Let’s Encrypt, chi e cosa • Scenari Docker con Nginx • Scenari Docker con Traefik • Cosa portiamo a casa
  6. 6 Definiamo il contesto • Protocollo HTTP • Security • Layer 7 pila ISO/OSI • Infrastructural Agnostic • Resilienza e Scalabilità
  7. 7 Strumenti base 1/2 • DNS e Load Balancer • Certificati e loro rilascio • Servizio • Resilienza e Scalabilità
  8. 8 Strumenti base 2/2 • DNS e Load Balancer • Certificati e loro rilascio • Servizio • Resilienza e Scalabilità
  9. 9 Apache, chi e cosa 1/2 • Derivato da Httpd di Rob McCool presso i laboratori NCSA tramite patching e contributi a partire dal 1995. • Architettura con approccio multi- threaded basata sul ciclo di polling schematizzato nel diagramma qui a fianco che interpreta la richiesta ricevuta e innesca i moduli registrati nella configurazione del deamon/servizio; • La configurazione viene letta allo start del server dal file httpd.conf riorganizzato in un filesystem di configurazione a partire da Apache2.
  10. 10 Apache, chi e cosa 2/2 • Dalla versione 2.4 si passa dall’approccio mpm_prefork al mpm_event. La 2.4.49 è l’attuale release disponibile • Pro: stabile e semplice da configurare per tutte le piattaforma su VM o Container singoli. Usa HAProxy per scenari in cui va garantita la ridondanza. • Contro: mal si presta ad architetture dinamiche con funzioni di scalabilità e ridondanza che ne garantiscano la resilienza.
  11. 11 Nginx, chi e cosa 1/3 • Rilasciato nel 2004 da Igor Sysoev come web server leggero ad alte prestazioni. • Disponibile in OpenSource (Nginx v1.21.3) su licenza BSD o su licenza commerciale (Nginx+) dalla F5 Networks come suite di prodotti. • Le richieste vengono gestite in modo asincrono con un approccio «ad eventi».
  12. 12 Nginx, chi e cosa 2/3
  13. 13 Nginx, chi e cosa 3/3 • È usato anche come reverse proxy, load balancer, cache HTTP e proxy SMTP/IMAP/POP. • Supporta SSL e STARTTLS, la compressione gzip, flussi di streaming, Rewrite URL, Alta disponibilità, clustering, service mesh e molto altro. • Ingress controller per K8s Opensource disponibile su Github su licenza Apache2 o Commercial da F5 Network.
  14. 14 Traefik, chi e cosa 1/3 • Rilasciato nel 2016 da Emile Vauge. • Stack di prodotti rilasciati in OpenSource su lincenza MIT ed Enterprise su licenza Commercial da TraefikLabs. • Ha l’obiettivo di risolvere le esigenze di routing del traffico HTTP(S) e TCP(TLS) per le infrastrutture microservices.
  15. 15 Traefik, chi e cosa 2/3 • Ready per Websocket, HTTP/2 e GRPC. • HTTPS integrato con Let’s Encrypt • Gestione via WebGUI o Rest API • Logs e Metriche integrato con i backend • Service discovery, load balancing e routing integrati con Docker, Swarm, K8s, Ranchers, Marathon, File, Redis, Consul, Etcd, Zookeeper, HTTP. • Zero-install, eseguibile autocontenuto.
  16. 16 Traefik, chi e cosa 3/3
  17. 17 Let’s Encrypt, chi e cosa • Let’s Encrypt è una certification autority no-profit fondata da EFF, Mozilla Fondation, University of Michigan, Akamay, Cisco nel 2014 con lo scopo di accrescere la sicurezza del web incentivando l’uso di HTTPS, TLS e SSL. • Il rilascio e rinnovo dei certificati si basa sul protocollo ACME che interroga il DNS autoritativo del dominio o il WebServer per verificare l’autorità del richiedente sull’FQDN per cui si rilascia o rinnova il certificato .
  18. Docker Nginx
  19. 19 Docker Nginx
  20. 20 Docker Nginx
  21. 21 Docker Nginx
  22. Docker Traefik
  23. 23 Docker Traefik
  24. 24 Docker Traefik
  25. 25 Docker Traefik
  26. 26 Cosa portiamo a casa • Esporre pubblicamente risorse via HTTP significa ignorare le conseguenze a cui ci si espone: Data Breach, Vandalismo, Sabotaggio, Sanzioni. • Il tempo che il difensore non investe in conoscenza è un vantaggio competitivo per l’aggressore. • Un sistema automatico ha più resilienza rispetto quello gestito manualmente mentre feedback e osservabilità riducono l’ansia. • Un’ape ha meno inerzia e più velocità rispetto un elefante. • Le risorse fornite dall’infrastruttura da vantaggio odierno diventano un pesante debito tecnico quando si migra.
  27. Thank you Any questions? giulianolatini giulianolatini giulianolatini
  28. 28 Bibliografia 1/3 • HTTP SERVER Project • Nginx+ F5 Network • Nginx Opensorce • kubernetes / nginx-ingress @ Github • TraefikLabs • traefik / traefik @ Github • Traefik Labs: Incubating the Future of Cloud Native Networking • Awesome Traefik, a collection of contributions • Let's Encrypt
  29. 29 Bibliografia 2/3 • How To Solve The Problem Of Centralized Let’s Encrypt Certificate by using Ansible • Let’s Encrypt: An Automated Certificate Authority to Encrypt the Entire Web • Easy routing and service discovery with Docker, Consul and nginx • Service Discovery for NGINX Plus Using Consul APIs • Nginxinc / NGINX - Demos / consul-api-demo @ Github • [Demo Live] Service Discovery in Docker Using NGINX and NGINX Plus with Consul • Setting up a Reverse-Proxy with Nginx and docker-compose | Dominik Weber's Personal Website (domysee.com)
  30. 30 Bibliografia 3/3 • Docker - Traefik • DoTheEvo / Traefik-v2-examples @ Github • DoTheEvo / Traefik-simplest-step-by-step @ Github • Service AutoDiscovery Using Traefik For Docker Containers | by Deepesh Tripathi | Medium • Traefik 2.0 + Docker — a Simple Step by Step Guide | by containeroo | Medium
Advertisement