Enforcing encryption at scale
Jul 12, 2021Neel Goyal, Ajanthan Asogamoorthy, Mingtao Yang

Summary
This post details the development and deployment of SSLWall, a system designed to enforce transit encryption policies across Meta's internal network. SSLWall utilizes eBPF (tc-bpf, kprobes) and a management daemon to inspect and block non-SSL connections at the host level, ensuring application-level TLS. It addresses challenges like HTTP CONNECT and STARTTLS, and includes a passive monitoring mode. For services that cannot be easily modified, Transparent TLS (TTLS) is introduced, which uses eBPF to transparently redirect connections to a local proxy for encryption without application changes. Key technical challenges included TCP Fast Open (TFO) interaction and BPF program size limits.
More from the Application Security and Permissions trail
- How We’re Building Scam Alert on WhatsApp With End-to-End Encryption and Verifiability Guarantees
- Privacy-Aware Infrastructure in the AI-Native Era: An Asset Classification Case Study
- Labyrinth 1.1: Making End-to-End Encrypted Backups Even More Reliable
- How Meta Is Strengthening End-to-End Encrypted Backups
- Post-Quantum Cryptography Migration at Meta: Framework, Lessons, and Takeaways