--- description: |- Consul is a highly available and distributed service discovery and KV store designed with support for the modern data center to make distributed systems and configuration easy. ---
Secure service-to-service communication with automatic TLS encryption and identity-based authorization
East-west firewalls use IP-based rules to secure ingress and egress traffic. But in a dynamic world where services move across machines and machines are frequently created and destroyed, this perimeter-based approach is difficult to scale as it results in complex network topologies and a sprawl of short-lived firewall rules.
Service segmentation is a new approach to secure the service itself rather than relying on the network. Consul uses service policies to codify which services are allowed to communicate. These policies scale across datacenters and large fleets without IP-based rules or networking middleware.
Define and enforce service to service communication with a simple Intentions configuration. Service based rules, instead of IP-based rules, make it easy to manage dynamic infrastructure with frequently changing machines and service locations.
Secure communication between legacy and modern workloads. Sidecar proxies allow applications to be integrated without code changes and Layer 4 support provides nearly universal protocol compatibility.
$ consul connect proxy
\
-service web \
-service-addr 127.0.0.1:80 \
-listen 10.0.1.109:7200
==> Consul Connect proxy starting...
Configuration mode: Flags
Service: web
Public listener: 10.0.1.109:7200 => 127.0.0.1:80
==> Log data will now stream in as it occurs:
2018/06/23 09:33:51 [INFO] public listener starting on 10.0.1.109:7200
2018/06/23 09:33:51 [INFO] proxy loaded config and ready to serve
TLS certificates are used to identify services and secure communications. Certificates use the SPIFFE format for interoperability with other platforms. Consul can be a certificate authority to simplify deployment, or integrate with external signing authorities like Vault.
All traffic between services is encrypted and authenticated with mutual TLS. Using TLS provides a strong guarantee of the identity of services communicating, and ensure all data in transit is encrypted.
TODO