<?xml version="1.0" encoding="UTF-8" ?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" version="2.0"><channel><title>Douglas Hunley | CrunchyData Blog</title>
<atom:link href="https://www.crunchydata.com/blog/author/douglas-hunley/rss.xml" rel="self" type="application/rss+xml" />
<link>https://www.crunchydata.com/blog/author/douglas-hunley</link>
<image><url>https://www.crunchydata.com/build/_assets/douglas-hunley.png-7DZL6U7M.webp</url>
<title>Douglas Hunley | CrunchyData Blog</title>
<link>https://www.crunchydata.com/blog/author/douglas-hunley</link>
<width>398</width>
<height>398</height></image>
<description>PostgreSQL experts from Crunchy Data share advice, performance tips, and guides on successfully running PostgreSQL and Kubernetes solutions</description>
<language>en-us</language>
<pubDate>Thu, 28 Oct 2021 05:00:00 EDT</pubDate>
<dc:date>2021-10-28T09:00:00.000Z</dc:date>
<dc:language>en-us</dc:language>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<item><title><![CDATA[ Secure PostgreSQL 14 with CIS Benchmark ]]></title>
<link>https://www.crunchydata.com/blog/secure-postgresql-14-with-the-cis-benchmark</link>
<description><![CDATA[ Committed to securing Postgres deployments, Crunchy Data is proud to announce this newly published CIS PostgreSQL 14 Benchmark. ]]></description>
<content:encoded><![CDATA[ <p>Crunchy Data is proud to announce an update to the CIS PostgreSQL Benchmark by the <a href=https://www.cisecurity.org/><dfn>Center for Internet Security</dfn></a> (<abbr>CIS</abbr>). CIS is a nonprofit organization that publishes best practices and standards for securing modern technology and systems. This newly published CIS PostgreSQL 14 Benchmark ads to the existing CIS Benchmarks for PostgreSQL 9.5 - 13 and builds upon Crunchy Data's ongoing efforts with the <a href=https://www.crunchydata.com/blog/postgres-stig-disa-security-guide>PostgreSQL <dfn>Security Technical Implementation Guide</dfn></a> (PostgreSQL <abbr>STIG</abbr>).<h2 id=about-cis-benchmarks><a href=#about-cis-benchmarks>About CIS Benchmarks</a></h2><p>A CIS Benchmark is a published list of guidelines and best practices for securely configuring a target system. Authoring a CIS Benchmark is a collaborative process and involves considerable peer reviews and discussion before a major version is published, ensuring there is a general consensus on the best practices for deploying a secure system.<p>The CIS Benchmark contains a series of compliance recommendations that are designed to test the security of the system. Some of these recommendations can be “scored”. If the system meets the requirements of a check, it receives points towards a final benchmark score. Scores range from 1-100, with 100 being the best possible score. There are additional non-scored compliance recommendations for informational purposes that also guide towards best practices.<p>CIS benchmark recommendations are often divided into two different configuration profiles. A Level 1 profile is considered to be a “base security configuration” which has recommendations that generally easier to set up and lower the overall potential attack surface of a system. Level 2 profiles are designed for environments where security is paramount.<h2 id=about-the-cis-postgresql-14-benchmark><a href=#about-the-cis-postgresql-14-benchmark>About the CIS PostgreSQL 14 Benchmark</a></h2><p>The CIS PostgreSQL 14 Benchmark recommendations were developed by testing PostgreSQL 14 running on RHEL 8, though these recommendations will also apply to newer versions of PostgreSQL. Similar to the PostgreSQL STIG, the CIS PostgreSQL Benchmark provides recommendations in the following areas:<ol><li>Installation and Patches<li>Directory and File Permissions<li>Logging Monitoring And Auditing<li>User Access and Authorization<li>Connection and Login<li>PostgreSQL Settings<li>Replication<li>Special Configuration Considerations</ol><p>At present, the CIS PostgreSQL Benchmark contains a Level 1 configuration profile, which as described in the <a href=https://www.cisecurity.org/benchmark/postgresql/>Benchmark documentation</a>, is intended to:<ul><li>Be practical and prudent;<li>Provide a clear security benefit; and<li>Not inhibit the utility of the technology beyond acceptable means.</ul><h2 id=about-benchmark-recommendations><a href=#about-benchmark-recommendations>About Benchmark Recommendations</a></h2><p>Recommendations are first grouped together by general categories (e.g. “User Access &#38 Authorization”) and then subdivided into their specific parts. Each recommendation is broken up into the following:<ul><li>Profile Applicability - The configuration profiles that this recommendation is used for, i.e. Level 1, Level 2, or some combination thereof.<li>Description - A detailed explanation of the recommendation<li>Rationale - Why the recommendation is in place and what consequences could occur if the recommendation is not followed<li>Audit - Steps to take to check if the recommendation has been applied to a target system<li>Remediation - If the audit fails, the steps to take to apply the recommendation<li>Default Value - The default setup with PostgreSQL if no action is taken on the recommendation<li>References - If present, additional references to help with understanding and applying the recommendation<li>CIS Controls - A list of enumerated <a href=https://www.cisecurity.org/controls/>CIS Controls</a> that represents actions to perform to secure a target system</ul><h2 id=an-example-control-enabling-fips-mode-on-rhelcentos-8><a href=#an-example-control-enabling-fips-mode-on-rhelcentos-8>An example control: Enabling FIPS mode on RHEL/CentOS 8</a></h2><p>PostgreSQL makes use of the OpenSSL encryption library to provide end-to-end secure communications between the database and its users. This encryption is further strengthened by running the system in FIPS mode. Accordingly, the CIS PostgreSQL Benchmark details using the <code>fips-mode-setup</code> tool in RHEL/CentOS 8:<pre><code class=language-shell>$ fips-mode-setup --check #is fips enabled?
FIPS mode is enabled
$ openssl version #is it fips capable?
OpenSSL 1.1.1-fips  1 Sep 2019
$ fips-mode-setup --enable #enable fips
Setting system policy to FIPS
FIPS mode will be enabled.
</code></pre><p>Please reboot the system for the setting to take effect.<h2 id=getting-started><a href=#getting-started>Getting Started</a></h2><p>The <a href=https://www.cisecurity.org/benchmark/postgresql/>CIS PostgreSQL Benchmark</a> is freely available as a guide to help you secure your Postgres deployments. If you’re interested in security validation, take a look at our open source <a href=https://github.com/CrunchyData/pgstigcheck-inspec>PostgreSQL STIG Compliance Validator</a>, which uses the <a href=https://www.inspec.io/>InSpec</a> tool to automate many of the same checks that the CIS PostgreSQL Benchmark handles.<p>Check back for updates as the Crunchy Data team is continuing to work with CIS to refine and improve upon the Benchmark. ]]></content:encoded>
<category><![CDATA[ Security ]]></category>
<author><![CDATA[ Douglas.Hunley@crunchydata.com (Douglas Hunley) ]]></author>
<dc:creator><![CDATA[ Douglas Hunley ]]></dc:creator>
<guid isPermalink="false">https://blog.crunchydata.com/blog/secure-postgresql-14-with-the-cis-benchmark</guid>
<pubDate>Thu, 28 Oct 2021 05:00:00 EDT</pubDate>
<dc:date>2021-10-28T09:00:00.000Z</dc:date>
<atom:updated>2021-10-28T09:00:00.000Z</atom:updated></item>
<item><title><![CDATA[ Enhancing PostgreSQL 13 Security with the CIS Benchmark ]]></title>
<link>https://www.crunchydata.com/blog/enhancing-postgresql-13-security-with-the-cis-benchmark-1</link>
<description><![CDATA[ Crunchy Data has recently announced an update to the CIS PostgreSQL Benchmark by the Center for Internet Security, a nonprofit organization that provides publications around standards and best practices for securing technologies systems. ]]></description>
<content:encoded><![CDATA[ <p>Crunchy Data has recently announced an update to the <abbr>CIS</abbr> PostgreSQL Benchmark by the <a href=https://www.cisecurity.org/><dfn>Center for Internet Security</dfn></a>, a nonprofit organization that provides publications around standards and best practices for securing technologies systems. This newly published CIS PostgreSQL 13 Benchmark joins the existing CIS Benchmarks for PostgreSQL 9.5, 9.6, 10, 11, and 12 while continuing to build upon the <a href=/blog/postgres-stig-disa-security-guide>PostgreSQL <dfn>Security Technical Implementation Guide</dfn></a> (PostgreSQL <abbr>STIG</abbr>).<h2 id=what-is-a-cis-benchmark><a href=#what-is-a-cis-benchmark>What is a CIS Benchmark?</a></h2><p>A CIS Benchmark is a set of guidelines and best practices for securely configuring a target system. Authoring a CIS Benchmark is a collaborative process as CIS involves considerable peer reviews and discussion before a major version is published, to ensure there is a general consensus on the best practices for deploying a secure system.<p>The CIS Benchmark contains a series of compliance recommendations that are designed to test the security of the system. Some of these recommendations are “scored” - if the system meets the requirements of a check, it receives points towards a final benchmark score (scores are from 1-100, with 100 being the best possible score). There are other compliance recommendations available that are not scored but are there for informational purposes and can help guide you towards best practices.<p>These recommendations can further be divided into pertaining to different configuration profiles. CIS Benchmarks define two different configuration profiles. The first, a Level 1 profile, is considered to be a “base security configuration” which has recommendations that are considered easier to set up and overall lower the potential attack surface of a system. In contrast, Level 2 profiles are designed for environments where security is of the utmost concern.<h2 id=whats-in-the-cis-postgresql-13-benchmark><a href=#whats-in-the-cis-postgresql-13-benchmark>What’s in the CIS PostgreSQL 13 Benchmark?</a></h2><p>The CIS PostgreSQL 13 Benchmark recommendations were developed by testing PostgreSQL 13 running on CentOS 8, though these recommendations will also apply to newer versions of PostgreSQL. Similar to the PostgreSQL STIG, the CIS PostgreSQL Benchmark provides recommendations in the following areas:<ol><li>Installation and Patches<li>Directory and File Permissions<li>Logging Monitoring And Auditing<li>User Access and Authorization<li>Connection and Login<li>PostgreSQL Settings<li>Replication<li>Special Configuration Considerations</ol><p>At present, the CIS PostgreSQL Benchmark contains a Level 1 configuration profile, which as described in the <a href=https://www.cisecurity.org/benchmark/postgresql/>Benchmark documentation</a>, is intended to:<ul><li>Be practical and prudent;<li>Provide a clear security benefit; and<li>Not inhibit the utility of the technology beyond acceptable means.</ul><h2 id=whats-in-a-recommendation><a href=#whats-in-a-recommendation>What's in a Recommendation?</a></h2><p>Recommendations are first grouped together by general categories (e.g. “User Access &#38 Authorization”) and then subdivided into their specific parts. Each recommendation is broken up into the following:<ul><li>Profile Applicability - The configuration profiles that this recommendation is used for, i.e. Level 1, Level 2, or some combination thereof.<li>Description - A detailed explanation of the recommendation<li>Rationale - Why the recommendation is in place and what consequences could occur if the recommendation is not followed<li>Audit - Steps to take to check if the recommendation has been applied to a target system<li>Remediation - If the audit fails, the steps to take to apply the recommendation<li>Default Value - The default setup with PostgreSQL if no action is taken on the recommendation<li>References - If present, additional references to help with understanding and applying the recommendation<li>CIS Controls - A list of enumerated <a href=https://www.cisecurity.org/controls/>CIS Controls</a> that represents actions to perform to secure a target system</ul><h2 id=an-example-control><a href=#an-example-control>An example control</a></h2><h3 id=enabling-fips-mode-on-rhelcentos-8><a href=#enabling-fips-mode-on-rhelcentos-8>Enabling FIPS mode on RHEL/CentOS 8</a></h3><p>PostgreSQL makes use of the OpenSSL encryption library to provide end-to-end secure communications between the database and its users. This encryption is further strengthened by running the system in FIPS mode. Accordingly, the CIS PostgreSQL Benchmark details using the <code>fips-mode-setup</code> tool in RHEL/CentOS 8:<pre><code class=language-shell>$ fips-mode-setup --check #is fips enabled?
FIPS mode is enabled
$ openssl version #is it fips capable?
OpenSSL 1.1.1-fips  1 Sep 2019
$ fips-mode-setup --enable #enable fips
Setting system policy to FIPS
FIPS mode will be enabled.
Please reboot the system for the setting to take effect.
</code></pre><h2 id=whats-next><a href=#whats-next>What's Next?</a></h2><p><a href=https://www.cisecurity.org/benchmark/postgresql/>Try it out</a>! The <a href=https://www.cisecurity.org/benchmark/postgresql/>CIS PostgreSQL Benchmark</a> is freely available to help you secure your PostgreSQL deployments. This is only the beginning of our work on the CIS PostgreSQL benchmark: the Crunchy Data team is continuing to collaborate with CIS to further refine and improve upon the Benchmark over time.<p>If you’re interested how we have worked on applying security validations at scale, take a look at our open source <a href=https://github.com/CrunchyData/pgstigcheck-inspec>PostgreSQL STIG Compliance Validator</a>, which uses the <a href=https://www.inspec.io/>InSpec</a> tool to automated many of the same checks that the CIS PostgreSQL Benchmark handles, or if you have any questions please feel free to <a href=https://www.crunchydata.com/contact>reach out to us</a>. ]]></content:encoded>
<category><![CDATA[ Security ]]></category>
<author><![CDATA[ Douglas.Hunley@crunchydata.com (Douglas Hunley) ]]></author>
<dc:creator><![CDATA[ Douglas Hunley ]]></dc:creator>
<guid isPermalink="false">https://blog.crunchydata.com/blog/enhancing-postgresql-13-security-with-the-cis-benchmark-1</guid>
<pubDate>Mon, 15 Mar 2021 05:00:00 EDT</pubDate>
<dc:date>2021-03-15T09:00:00.000Z</dc:date>
<atom:updated>2021-03-15T09:00:00.000Z</atom:updated></item>
<item><title><![CDATA[ Announcing the Crunchy Data PostgreSQL Security Technical Implementation Guide ]]></title>
<link>https://www.crunchydata.com/blog/announcing-the-crunchy-data-postgresql-stig</link>
<description><![CDATA[ Crunchy Data is pleased to announce the publication of the Crunchy Data PostgreSQL Security Technical Implementation Guide (STIG) by the United States Defense Information Systems Agency (DISA). PostgreSQL was the first open source database to provide a published STIG, and Crunchy Data is proud to update and improve the STIG as PostgreSQL continues to advance and evolve. ]]></description>
<content:encoded><![CDATA[ <p>Crunchy Data is pleased to announce the publication of the <a href=https://www.crunchydata.com/files/stig/PGSQL-STIG-v1r1.pdf>Crunchy Data PostgreSQL <dfn>Security Technical Implementation Guide</dfn> (<abbr>STIG</abbr>)</a> by the United States <dfn>Defense Information Systems Agency</dfn> (<abbr>DISA</abbr>). <a href=https://www.crunchydata.com/>Crunchy Data</a> collaborated with DISA to make PostgreSQL the first open source database to provide a published STIG in 2017, and this new STIG reflects Crunchy Data's ongoing collaboration with DISA to provide enhanced security guidance as PostgreSQL continues to advance and evolve.<p>While the STIG was authored to enable the U.S. Government to comply with U.S. Government security requirements, the Crunchy Data PostgreSQL STIG offers security-conscious enterprises a comprehensive guide for the configuration and operation of open source PostgreSQL. Organizations of all sizes can refer to the STIG for information on security best practices as they consider PostgreSQL as an alternative to proprietary, closed source, database software.<p>The security functionality reflected within the <a href=https://www.crunchydata.com/files/stig/PGSQL-STIG-v1r1.pdf>Crunchy Data PostgreSQL STIG</a> is provided by 100% open source Postgres, <a href=/blog/postgres-the-batteries-included-database>Postgres extensions</a> and <a href=https://access.crunchydata.com/documentation/>documentation</a>. The Crunchy Data PostgreSQL STIG provides security guidance regarding the use of PostgreSQL (versions 10 - 12) used in conjunction with certain open source PostgreSQL <a href=https://www.craigkerstiens.com/2019/11/13/postgres-interview-from-art-of-postgresql/>extensions</a> – most notably, <a href=https://github.com/pgaudit/pgaudit>pgaudit</a>.<p>In order to help PostgreSQL users benefit from the guidance provided in the Crunchy Data PostgreSQL STIG, let's provide some background information for getting started.<h3 id=what-is-a-disa-stig><a href=#what-is-a-disa-stig>What is a DISA STIG?</a></h3><p>The <dfn>Security Technical Implementation Guide</dfn> (<abbr>STIG</abbr>) is the configuration standards for United States <dfn>Department of Defense</dfn> (<abbr>DoD</abbr>) <dfn>Information Assurance</dfn> (<abbr>IA</abbr>) and IA-enabled devices/systems published by the United States <dfn>Defense Information Systems Agency</dfn> (<abbr>DISA</abbr>). Since 1998, DISA has played a critical role enhancing the security posture of DoD's security systems by providing the STIGs. The STIGs contain technical guidance to “lock down” information systems/software that might otherwise be vulnerable to a malicious computer attack.<h3 id=is-the-crunchy-data-postgresql-stig-us-government-specific><a href=#is-the-crunchy-data-postgresql-stig-us-government-specific>Is the Crunchy Data PostgreSQL STIG US Government Specific?</a></h3><p>The PostgreSQL STIG is from the <dfn>National Institute of Standards and Technology</dfn> (<abbr>NIST</abbr>) <dfn>Special Publication</dfn> (<abbr>SP</abbr>) <a href=https://csrc.nist.gov/publications/detail/sp/800-53/rev-4/final>800-53</a>, Revision 4 and related documents. While the DISA STIG is intended to provide technical guidance to “lock down” information systems and software used within the DoD, the guidance provided in it is not specific to the DoD and is generally helpful to those interested in securing their PostgreSQL deployments.<h3 id=what-does-the-crunchy-data-postgresql-stig-cover><a href=#what-does-the-crunchy-data-postgresql-stig-cover>What does the Crunchy Data PostgreSQL STIG Cover?</a></h3><p>PostgreSQL STIG provides guidance on the configuration of PostgreSQL to address requirements associated with:<ul><li>Auditing<li>Logging<li>Data Encryption at Rest<li>Data Encryption Over the Wire<li>Access Controls<li>Administration<li>Authentication<li>Protecting against SQL Injection</ul><h3 id=how-does-the-crunchy-data-postgresql-stig-work><a href=#how-does-the-crunchy-data-postgresql-stig-work>How does the Crunchy Data PostgreSQL STIG work?</a></h3><p>The PostgreSQL STIG provides a series of <strong>Requirements</strong>, <strong>Checks</strong> and <strong>Fixes</strong> where:<ul><li><strong>Requirements</strong> are provided as a series of security requirements for an operating environment.<li><strong>Checks</strong> are provided as a series of instructions or commands for verifying compliance with the stated requirement.<li><strong>Fixes</strong> are provided as remediation steps to the extent the Check determines that the system is not in fact in compliance with the stated Requirement.</ul><h2 id=looking-ahead><a href=#looking-ahead>Looking Ahead</a></h2><p>Crunchy Data views the Crunchy Data PostgreSQL STIG as yet another validation of the comprehensive security functionality of PostgreSQL and the accomplishments of the <a href=https://www.postgresql.org/developer/>PostgreSQL Global Development Community</a>. The Crunchy Data PostgreSQL STIG demonstrates that open source PostgreSQL is capable of meeting the exacting security requirements of the DoD.<p>We are proud to be part of the team that developed this STIG for PostgreSQL and look forward to working with all of the organizations who have been anxiously waiting for the Crunchy Data PostgreSQL STIG to be approved for modern versions of this quality open source relational database.<h3 id=additional-resources><a href=#additional-resources>Additional Resources</a></h3><p><a href=https://www.crunchydata.com/files/stig/PGSQL-STIG-v1r1.pdf>Download the Crunchy Data PostgreSQL Security Technical Implementation Guide</a> ]]></content:encoded>
<category><![CDATA[ Security ]]></category>
<author><![CDATA[ Douglas.Hunley@crunchydata.com (Douglas Hunley) ]]></author>
<dc:creator><![CDATA[ Douglas Hunley ]]></dc:creator>
<guid isPermalink="false">https://blog.crunchydata.com/blog/announcing-the-crunchy-data-postgresql-stig</guid>
<pubDate>Thu, 07 Jan 2021 04:00:00 EST</pubDate>
<dc:date>2021-01-07T09:00:00.000Z</dc:date>
<atom:updated>2021-01-07T09:00:00.000Z</atom:updated></item>
<item><title><![CDATA[ Enhancing PostgreSQL 12 Security with the CIS Benchmark ]]></title>
<link>https://www.crunchydata.com/blog/enhancing-your-postgresql-12-security-with-the-cis-benchmark</link>
<description><![CDATA[ The CIS PostgreSQL 12 Benchmark continues to build upon previous versions and Crunchy Data’s efforts with the PostgreSQL Security Technical Implementation Guide. ]]></description>
<content:encoded><![CDATA[ <p>Crunchy Data has recently announced an update to the <a href=/news/crunchy-data-and-center-for-internet-security-announce-benchmark-update-for-postgresql-12><abbr>CIS</abbr> PostgreSQL Benchmark</a> by the <a href=https://www.cisecurity.org/><dfn>Center for Internet Security</dfn></a>, a nonprofit organization that provides publications around standards and best practices for securing technologies systems. This newly published CIS PostgreSQL 12 Benchmark joins the existing CIS Benchmarks for PostgreSQL 9.5, 9.6, 10, and 11 while continuing to build upon Crunchy Data's efforts with the <a href=https://www.crunchydata.com/blog/postgres-stig-disa-security-guide>PostgreSQL <dfn>Security Technical Implementation Guide</dfn></a> (PostgreSQL <abbr>STIG</abbr>).<h2 id=what-is-a-cis-benchmark><a href=#what-is-a-cis-benchmark>What is a CIS Benchmark?</a></h2><p>A CIS Benchmark is a set of guidelines and best practices for securely configuring a target system. Authoring a CIS Benchmark is a collaborative process as CIS involves considerable peer reviews and discussion before a major version is published, to ensure there is a general consensus on the best practices for deploying a secure system.<p>The CIS Benchmark contains a series of compliance recommendations that are designed to test the security of the system. Some of these recommendations are “scored” - if the system meets the requirements of a check, it receives points towards a final benchmark score (scores are from 1-100, with 100 being the best possible score). There are other compliance recommendations available that are not scored but are there for informational purposes and can help guide you towards best practices.<p>These recommendations can further be divided into pertaining to different configuration profiles. CIS Benchmarks define two different configuration profiles. The first, a Level 1 profile, is considered to be a “base security configuration” which has recommendations that are considered easier to set up and overall lower the potential attack surface of a system. In contrast, Level 2 profiles are designed for environments where security is of the utmost concern.<h2 id=whats-in-the-cis-postgresql-12-benchmark><a href=#whats-in-the-cis-postgresql-12-benchmark>What’s in the CIS PostgreSQL 12 Benchmark?</a></h2><p>The CIS PostgreSQL 12 Benchmark recommendations were developed by testing PostgreSQL 12 running on CentOS 8, though these recommendations will also apply to newer versions of PostgreSQL. Similar to the PostgreSQL STIG, the CIS PostgreSQL Benchmark provides recommendations in the following areas:<ol><li>Installation and Patches<li>Directory and File Permissions<li>Logging Monitoring And Auditing<li>User Access and Authorization<li>Connection and Login<li>PostgreSQL Settings<li>Replication<li>Special Configuration Considerations</ol><p>At present, the CIS PostgreSQL Benchmark only contains a Level 1 configuration profile, which as described in the <a href=https://www.cisecurity.org/benchmark/postgresql/>Benchmark documentation</a>, is intended to:<ul><li>Be practical and prudent;<li>Provide a clear security benefit; and<li>Not inhibit the utility of the technology beyond acceptable means.</ul><h2 id=whats-in-a-recommendation><a href=#whats-in-a-recommendation>What's in a Recommendation?</a></h2><p>Recommendations are first grouped together by general categories (e.g. “User Access &#38 Authorization”) and then subdivided into their specific parts. Each recommendation is broken up into the following:<ul><li>Profile Applicability - The configuration profiles that this recommendation is used for, i.e. Level 1, Level 2, or some combination thereof.<li>Description - A detailed explanation of the recommendation<li>Rationale - Why the recommendation is in place and what consequences could occur if the recommendation is not followed<li>Audit - Steps to take to check if the recommendation has been applied to a target system<li>Remediation - If the audit fails, the steps to take to apply the recommendation<li>Default Value - The default setup with PostgreSQL if no action is taken on the recommendation<li>References - If present, additional references to help with understanding and applying the recommendation<li>CIS Controls - A list of enumerated <a href=https://www.cisecurity.org/controls/>CIS Controls</a> that represents actions to perform to secure a target system</ul><h2 id=an-example-control><a href=#an-example-control>An example control</a></h2><h3 id=enabling-fips-mode-on-rhelcentos-8><a href=#enabling-fips-mode-on-rhelcentos-8>Enabling FIPS mode on RHEL/CentOS 8</a></h3><p>PostgreSQL makes use of the OpenSSL encryption library to provide end-to-end secure communications between the database and its users. This encryption is further strengthened by running the system in <a href=https://en.wikipedia.org/wiki/Federal_Information_Processing_Standards>FIPS</a> mode. Accordingly, the CIS PostgreSQL Benchmark details using the newly introduced <code>fips-mode-setup</code> tool in RHEL/CentOS 8:<pre><code class=language-shell>$ fips-mode-setup --check #is fips enabled?
FIPS mode is enabled
$ openssl version #is it fips capable?
OpenSSL 1.1.1-fips  1 Sep 2019
$ fips-mode-setup --enable #enable fips
Setting system policy to FIPS
FIPS mode will be enabled.
Please reboot the system for the setting to take effect.
</code></pre><h2 id=whats-next><a href=#whats-next>What's Next?</a></h2><p><a href=https://www.cisecurity.org/benchmark/postgresql/>Try it out</a>! The <a href=https://www.cisecurity.org/benchmark/postgresql/>CIS PostgreSQL Benchmark</a> is freely available to help you secure your PostgreSQL deployments. This is only the beginning of our work on the CIS PostgreSQL benchmark: the Crunchy Data team is continuing to collaborate with CIS to further refine and improve upon the Benchmark over time.<p>If you’re interested how we have worked on applying security validations at scale, take a look at our open source <a href=https://github.com/CrunchyData/pgstigcheck-inspec>PostgreSQL STIG Compliance Validator</a>, which uses the <a href=https://www.inspec.io/>InSpec</a> tool to automated many of the same checks that the CIS PostgreSQL Benchmark handles. ]]></content:encoded>
<category><![CDATA[ Security ]]></category>
<author><![CDATA[ Douglas.Hunley@crunchydata.com (Douglas Hunley) ]]></author>
<dc:creator><![CDATA[ Douglas Hunley ]]></dc:creator>
<guid isPermalink="false">https://blog.crunchydata.com/blog/enhancing-your-postgresql-12-security-with-the-cis-benchmark</guid>
<pubDate>Wed, 20 Nov 2019 04:00:00 EST</pubDate>
<dc:date>2019-11-20T09:00:00.000Z</dc:date>
<atom:updated>2019-11-20T09:00:00.000Z</atom:updated></item>
<item><title><![CDATA[ How the CIS Benchmark for PostgreSQL 11 Works ]]></title>
<link>https://www.crunchydata.com/blog/cis-11-benchmark</link>
<description><![CDATA[ Learn how to use the CIS Benchmark for PostgreSQL 11 to secure your PostgreSQL and automate the security verification process. ]]></description>
<content:encoded><![CDATA[ <p>Crunchy Data has <a href=/news/cis-benchmark-for-postgresql-11-enhances-postgresql-security-for-enterprises>recently announced an update</a> to the CIS PostgreSQL Benchmark by the <a href=https://cisecurity.org>Center for Internet Security</a>, a nonprofit organization that provides publications around standards and best practices for securing technologies systems. This newly published CIS PostgreSQL 11 Benchmark joins the existing CIS Benchmarks for <a href=/blog/using-the-cis-postgresql-benchmark-to-enhance-your-security>PostgreSQL 9.5</a>, <a href=/blog/using-the-cis-postgresql-benchmark-to-enhance-your-security>9.6</a>, and <a href=/blog/enhancing-your-postgresql-10-security-with-the-cis-benchmark>10</a> while continuing to build upon Crunchy Data's efforts with the <a href=/blog/postgres-stig-disa-security-guide>PostgreSQL <dfn>Security Technical Implementation Guide</dfn></a> (PostgreSQL <abbr>STIG</abbr>).<h2 id=what-is-a-cis-benchmark><a href=#what-is-a-cis-benchmark>What is a CIS Benchmark?</a></h2><p>As mentioned in earlier blog posts (<a href=/blog/using-the-cis-postgresql-benchmark-to-enhance-your-security>here</a>, <a href=/blog/enhancing-your-postgresql-10-security-with-the-cis-benchmark>here</a>), a CIS Benchmark is a set of guidelines and best practices for securely configuring a target system. The benchmark contains a series of recommendations that help test the security of the system: some of the recommendations are "scored" (where a top score of 100 is the best), while others are are provided to establish best practices for security.<h2 id=whats-in-the-cis-postgresql-11-benchmark><a href=#whats-in-the-cis-postgresql-11-benchmark>What’s in the CIS PostgreSQL 11 Benchmark?</a></h2><p>The CIS PostgreSQL 11 Benchmark recommendations were developed by testing PostgreSQL 11 running on CentOS 7. While compiling a CIS Benchmark, the team looked at new features and security measures that were added in PostgreSQL 11 while taking account features that have been deprecated or removed that could affect security.<p>Data security involves many areas of the operating environment that PostgreSQL runs in; it's not just the database software itself. As such, the CIS PostgreSQL Benchmark provides recommendations in the following areas:<ul><li>Installation and Patches<li>Directory and File Permissions<li>Logging Monitoring and Auditing<li>User Authentication , Access Controls, and Authorization<li>Connection and Replication<li>PostgreSQL Settings and special configuration considerations</ul><p>These are also recommendations that you can find in the DISA <a href=/blog/postgres-stig-disa-security-guide>PostgreSQL STIG</a><p>The CIS PostgreSQL Benchmark is a Level 1 configuration profile, which as described in the <a href=https://www.cisecurity.org/benchmark/postgresql/>Benchmark documentation</a>, is intended to provide a practical, secure operating environment.<h2 id=example-update-for-postgresql-11-securing-ssl-keys><a href=#example-update-for-postgresql-11-securing-ssl-keys>Example Update for PostgreSQL 11: Securing SSL keys</a></h2><p>PostgreSQL 11 introduces the ability to specify a method of obtaining the password needed to unlock an SSL key at server startup. Prior versions of PostgreSQL required a key that was not password protected.<p>Two new options are introduced in <code>postgresql.conf</code>: ssl_passphrase_command and ssl_passphrase_command_supports_reload. The former defines how the PostgreSQL server will obtain the SSL key at startup while the latter defines whether the SSL configuration should be reloaded and ssl_passphrase_command called during a server configuration reload.<pre><code class=language-ini>ssl_passphrase_command = 'vault kv get -field=pem pg/ssl'
ssl_passphrase_command_supports_reload = on
</code></pre><p>Here, we are making use of the open source <a href=https://github.com/hashicorp/vault>vault</a> utility to store the passphrase for the SSL PEM used by PostgreSQL.<h2 id=next-steps--automation><a href=#next-steps--automation>Next Steps &#38 Automation</a></h2><p>The CIS PostgreSQL 11 Benchmark is available for free download at the <a href=https://www.cisecurity.org/cis-benchmarks/>CIS website</a>, along with the Benchmarks for PostgreSQL 10, 9.6, and 9.5. The Crunchy Data team is continuing our work with CIS to continue to improve the Benchmark and take into account features that will become available after PostgreSQL 12 is released later this year.<p>If you’re interested in how to automate the process of performing security checks, we've open sourced the <a href=https://github.com/CrunchyData/pgstigcheck-inspec>PostgreSQL STIG Compliance Validator</a>, which uses InSpec and performs many of the same checks in the CIS PostgreSQL Benchmark. ]]></content:encoded>
<category><![CDATA[ Security ]]></category>
<author><![CDATA[ Douglas.Hunley@crunchydata.com (Douglas Hunley) ]]></author>
<dc:creator><![CDATA[ Douglas Hunley ]]></dc:creator>
<guid isPermalink="false">https://blog.crunchydata.com/blog/cis-11-benchmark</guid>
<pubDate>Tue, 02 Jul 2019 05:00:00 EDT</pubDate>
<dc:date>2019-07-02T09:00:00.000Z</dc:date>
<atom:updated>2019-07-02T09:00:00.000Z</atom:updated></item></channel></rss>