Securing Your Data on PostgreSQL
This talk will cover the various features that Postgres provides for data security, from the very basic to the most advanced.
While most applications are aware of the minimum basic security features and use them, there is often a lack of understanding about how best to manage them, especially with major security features being released with every major version of Postgres. As for advanced features, sadly most of them go unnoticed and unused in most cases. The topics that will be covered are:
- Host Based Authentication in Postgres, types of authentications available, and how this differs from the way other RDBMS manage users and authentications, especially MySQL.
- Peculiarities of Postgres in permissions and ACL.
- Setting up and using SSL/TLS for connections and certificate management
- Row-level security
- Event triggers
- Implementing PCI security standards for storing credit card data.
- Using appropriate filesystem permissions
- Encrypting your data stored in Postgres
- Implementing table level auditing with minimal storage requirements within the database, and other alternatives for auditing.
- Reviewing and rejecting SQL injections
- Other PostgreSQL security features
- Tips to leverage additional tools in the cloud if you are using postgres as a service (E.g. PostgreSQL RDS by AWS)
- Upcoming security features in Postgres 11
- Features that Postgres currently lacks, and gotchas in existing features.
The speaker will also discuss recommended monitoring to ensure security implementations set up are working as intended, especially with PCI.
The primary intent of this talk is to spread information about security features in Postgres, and the right way to implement them. There seems to be a lot of comparisons between security features of various RDBMS, but few would disagree with the view that the best way to decide the right one to use is by thorough knowledge of what each provides. And this talk aims to do just that for Postgres and data security.