Secure PostgreSQL Deployments



Similar documents
Encrypted PostgreSQL

A PostgreSQL Security Primer

Deploying PostgreSQL in a Windows Enterprise

Chapter 4. Authentication Applications. COSC 490 Network Security Annie Lu 1

Securing PostgreSQL From External Attack

Security+ Guide to Network Security Fundamentals, Third Edition Chapter 8 Authentication

LDAP over SSL Page 1 of 6.

Digital Certificates (Public Key Infrastructure) Reshma Afshar Indiana State University

Authentication Applications

Chapter 9 Key Management 9.1 Distribution of Public Keys Public Announcement of Public Keys Publicly Available Directory

Network Security Protocols

INTEGRATION GUIDE. DIGIPASS Authentication for Google Apps using IDENTIKEY Federation Server

Integration with Active Directory. Jeremy Allison Samba Team

CS 356 Lecture 28 Internet Authentication. Spring 2013

User Identification (User-ID) Tips and Best Practices

Deploying the BIG-IP LTM and APM with Citrix XenApp or XenDesktop

DIGIPASS Authentication for Microsoft ISA 2006 Single Sign-On for Outlook Web Access

Juniper Networks Secure Access Kerberos Constrained Delegation

Using etoken for SSL Web Authentication. SSL V3.0 Overview

ACE Management Server Deployment Guide VMware ACE 2.0

Certificate technology on Pulse Secure Access

Open Directory. Apple s standards-based directory and network authentication services architecture. Features

Implementing and Administering Security in a Microsoft Windows Server 2003 Network

Certificate technology on Junos Pulse Secure Access

Best Practice Guide (SSL Implementation) for Mobile App Development 最 佳 行 事 指 引. Jointly published by. Publication version 1.

TIBCO Spotfire Platform IT Brief

Unifying Information Security. Implementing TLS on the CLEARSWIFT SECURE Gateway

Secure Web Appliance. SSL Intercept

ERserver. iseries. Securing applications with SSL

CA Performance Center

Security Protocols HTTPS/ DNSSEC TLS. Internet (IPSEC) Network (802.1x) Application (HTTP,DNS) Transport (TCP/UDP) Transport (TCP/UDP) Internet (IP)

Smart Card Authentication. Administrator's Guide

Using Entrust certificates with VPN

Security Provider Integration Kerberos Server

How to integrate RSA ACE Server SecurID Authentication with Juniper Networks Secure Access SSL VPN (SA) with Single Node or Cluster (A/A or A/P)

Authentication in XenMobile 8.6 with a Focus on Client Certificate Authentication

MIGRATION GUIDE. Authentication Server

How to Logon with Domain Credentials to a Server in a Workgroup

OVERVIEW. DIGIPASS Authentication for Office 365

Executive Summary. What is Authentication, Authorization, and Accounting? Why should I perform Authentication, Authorization, and Accounting?

VMware Identity Manager Administration

Asymmetric cryptosystems fundamental problem: authentication of public keys

DIGIPASS Authentication for Check Point Connectra

Integrating OID with Active Directory and WNA

CAC/PIV PKI Solution Installation Survey & Checklist

User-ID Best Practices

Implementing PCoIP Proxy as a Security Server/Access Point Alternative

Key Management and Distribution

BEA Weblogic Guide to Installing Root Certificates, Generating CSR and Installing SSL Certificate

Entrust Managed Services PKI

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

Chapter 7 Managing Users, Authentication, and Certificates

Fireware XTM v is a maintenance release for XTM 21, XTM 22, and XTM 23 wired and wireless devices.

INTEGRATION GUIDE. DIGIPASS Authentication for Salesforce using IDENTIKEY Federation Server

Securing ArcGIS Server Services: First Steps

SECURITY IMPLEMENTATION IN HADOOP. By Narsimha Chary( ) Siddalinga K M( ) Rahman( )

Lecture 10 - Authentication

SSL Protect your users, start with yourself

Agenda. How to configure

DIGIPASS KEY series and smart card series for Juniper SSL VPN Authentication

RemotelyAnywhere. Security Considerations

SECURE FTP CONFIGURATION SETUP GUIDE

MySQL Security: Best Practices

CHAPTER 7 SSL CONFIGURATION AND TESTING

CERTIFICATES AND CRYPTOGRAPHY

Centralized Oracle Database Authentication and Authorization in a Directory

Pulse Policy Secure. RADIUS Server Management Guide. Product Release 5.1. Document Revision 1.0. Published:

Single Sign-On for Kerberized Linux and UNIX Applications

Bluesocket virtual Wireless Local Area Network (vwlan) FAQ

INTEGRATION GUIDE. IDENTIKEY Federation Server for Juniper SSL-VPN

Security + Certification (ITSY 1076) Syllabus

Web Security Considerations

Authentication Application

Oracle Mobile Security Suite Workshop. Installation

How To Use The Gss-Api And Sspi For A Security Reason On A Microsoft Microsoft Server (Or A Microsplatte)

User Authentication. FortiOS Handbook v3 for FortiOS 4.0 MR3

Leverage Active Directory with Kerberos to Eliminate HTTP Password

/ Preparing to Manage a VMware Environment Page 1

Entrust Managed Services PKI. Configuring secure LDAP with Domain Controller digital certificates

Digital certificates and SSL

Mobile OTPK Technology for Online Digital Signatures. Dec 15, 2015

Smart Card Authentication Client. Administrator's Guide

Configuring Sponsor Authentication

Borderware MXtreme. Secure Gateway QuickStart Guide. Copyright 2005 CRYPTOCard Corporation All Rights Reserved

How To Authenticate An Ssl Vpn With Libap On A Safeprocess On A Libp Server On A Fortigate On A Pc Or Ipad On A Ipad Or Ipa On A Macbook Or Ipod On A Network

iscsi Security (Insecure SCSI) Presenter: Himanshu Dwivedi

User Management: Configuring Authentication Servers

Angel Dichev RIG, SAP Labs

A brief on Two-Factor Authentication

DIGIPASS Authentication for Cisco ASA 5500 Series

DIGIPASS Authentication for GajShield GS Series

Secure Socket Layer. Introduction Overview of SSL What SSL is Useful For

INTEGRATION GUIDE. DIGIPASS Authentication for Cisco ASA 5505

Transcription:

Secure PostgreSQL Deployments pgcon.br 2009 Campinas, Brazil Magnus Hagander Redpill Linpro AB

There's much to security Identify the threats Apply the correct measures Don't do things just because you can

Not in this talk Application security Data Access Control Data Encryption etc etc

Definitely not in this talk Unix vs Windows Linux vs BSD SELinux/SEPostgreSQL Any other religion

In this talk! Authentication methods Connection security

Authentication methods How do we determine who the user is When do we determine who the user is

pg_hba.conf Lets you use different auth methods from different clients Not just limited to username/password For convenience or security Internal or external

Trust Authentication Any user can be anyone he/she claims to be!

Trust Authentication Any user can be anyone he/she claims to be! Anyone think this is a bad idea?

Username/password Normally, use md5 method crypt has been removed, avoid plaintext What everybody does What everybody expects

ident Local unix credentials Very good! Default for most packaged versions Never use over the network

LDAP authentication To the client, username/password Backend verification is off-loaded to directory server Common in enterprise deployments Password policies, expiry, etc

LDAP authentication Single password not single signon 1. Connect 2. Request password 3. Send password PostgreSQL Server Client LDAP Server

Kerberos/GSSAPI/SSPI Single signon Same benefits as LDAP (mostly) Most common: Active Directory («krb5» is deprecated)

Kerberos/GSSAPI/SSPI Single password not single signon 3. Present ticket PostgreSQL Server Client 1. Request ticket 2. Return ticket KDC

Provided by OS PAM Can do password, LDAP, etc Can also do Kerberos & friends One-time passwords RSA SecurID, Vasco, etc RADIUS

SSL

SSL secured connections Encryption Man-in-the-middle protection Authentication

SSL secured connections Enabled on the server (ssl=yes) Platform quirks! Optionally required through pg_hba Optionally required in libpq

SSL secured connections Need to protect data in both directions For example username/password Must know before connection is started Unknown equals unprotected

SSL encryption SSL always requires a server certificate Can be self-signed Does not need to be known by client

Certificate chains Issuer Root certificate Issuer Intermediate certificate Issuer Server certificate

Issuer Certificate chains Root certificate Self-signed certificate Issuer Intermediate certificate Issuer Server certificate

SSL secured connections Client Server

Threats handled by SSL: Eavesdropping SELECT * FROM secret_stuff Client Server

Eavesdropping Prevented by encrypting all data Key negotiation is automatic On initial connection After 512Mb traffic Server certificate used but not verified

Threats handled by SSL: Man in the middle Valid SSL session Valid SSL session Fake server Client Server

SSL server verification On top of encryption Validate that the server is who it claims to be CA issues certificate, can be selfsigned CA certificate known by client

Threats handled by SSL: Man in the middle Valid SSL session Fake server Client Server

SSL client authentication On top of encryption Normally on top of server verificateion, but not necessary CA issued certificate on client Match CN on certificate to user id Protect client certificate!

SSL client authentication 1. Present certificate PostgreSQL Server Client

SSL in libpq Controlled by sslmode parameter Or environment PGSSLMODE For security, must be set on client Remember, unknown = unsecure

Summary of libpq SSL modes Client Mode Protect against Compatible with server set to... Performance Eavesdrop MITM SSL required SSL disabled overhead disable no no FAIL works no allow no no works works If necessary prefer no no works works If possible require yes no works FAIL yes verify-ca yes yes works FAIL yes verify-full yes yes works FAIL yes

Summary of libpq SSL modes Client Mode Protect against Compatible with server set to... Performance Eavesdrop MITM SSL required SSL disabled overhead disable no no FAIL works no allow no no works works If necessary prefer no no works works If possible require yes no works FAIL yes verify-ca yes yes works FAIL yes verify-full yes yes works FAIL yes

Summary of libpq SSL modes Client Mode Protect against Compatible with server set to... Performance Eavesdrop MITM SSL required SSL disabled overhead disable no no FAIL works no allow no no works works If necessary prefer no no works works If possible require yes no works FAIL yes verify-ca yes yes works FAIL yes verify-full yes yes works FAIL yes

Summary of libpq SSL modes Client Mode Protect against Compatible with server set to... Performance Eavesdrop MITM SSL required SSL disabled overhead disable no no FAIL works no allow no no works works If necessary prefer no no works works If possible require yes no works FAIL yes verify-ca yes yes works FAIL yes verify-full yes yes works FAIL yes

Not a bad idea: ipsec If already deployed Application transparent Global policies Integrated management Somebody Elses Problem?

Secure PostgreSQL Deployments Questions? magnus@hagander.net Twitter: @magnushagander http://blog.hagander.net