Securing PostgreSQL From External Attack
summary
Explains why md5 4‑byte salt is insecure (birthday-style collisions ~16k–32k tries), why Postgres moves to SCRAM+channel binding (Postgres 10 and channel binding in 13) to stop replay and MITM attacks, and why plain SSL without CA verification fails. Covers operational fixes: enforce HBA SSL/verify flags, run a self-signed CA and CRL or intermediates for server/client identity, rotate certs, and encrypt data at rest or per-column with PGCrypto + hardware keys (YubiKey/PIV) and key‑backup practices.
AI-written summary · about
chapters (11)
- 0:00Introduction to PostgreSQL security
- 4:21Authentication security basics
- 12:51SCRAM authentication explained
- 16:43SSL and data encryption limits
- 20:56Spoofing and man-in-the-middle attacks
- 23:21Certificate Authority setup for SSL
- 30:30Certificate rotation and management
- 37:59Channel binding and password alternatives
- 43:38Data encryption and key management
- 47:30Hardware security devices for keys
- 50:01Summary and Q&A
related talks
35mSecuring PostgreSQL From External Attack
54mConfiguration and Authentication
45mSecurity Attacks on PostgreSQL
46mGet Your Insecure PostgreSQL Passwords to SCRAM!
07mAll about Postgres security
50mSecuring PostgreSQL
05mRoad to Percona Live 2022 - Jonathan Katz
28mFrom Dev to Prod: Securing Postgres the Right Way
