Overview

SQL Server patches contain program updates that fix security and product functionality issues found in the software. These patches can be installed with a security update, which is a single patch, or a cumulative update which is a group of patches. The SQL Server version and patch levels should be the most recent compatible with the organizations’ operational needs.

Using the most recent SQL Server software, along with all applicable patches can help limit the possibilities for vulnerabilities in the software. The installation version and/or patches applied during setup should be established according to the needs of the organization.

Excelent Compliance Solution.

Puppet is an excellent solution to ensure your databases are CIS or STIG compliant. Now you’re looking at information about only one compliance control, but managing total compliance isn’t hard either!

If you you like he prospect of easy way into continuous compliancy with minimal fuss and bother, we suggest taking a look at our solution as your go-to option. Plus, our team can help you get up and running so that you can focus on other areas of your business. What are you waiting for? Get started today!

Benchmarks

This control is used in the following benchmarks:

Skipping

To deliberately skip this control (e.g. meaning don’t use Puppet to enforce this setting), we provide you with three ways:

1) Add mssql_secured::controls::latest_sql_server_service_packs_and_hotfixes_are_installed: skip to your hiera data. This will skip this control for ALL databases.
2) Add mssql_secured::controls::latest_sql_server_service_packs_and_hotfixes_are_installed::dbname: skip to your hiera data. This will skip this control for specified database only.
3) Add an entry with the content latest_sql_server_service_packs_and_hotfixes_are_installed to the array value mssql_secured::skip_list in your hiera data.

Attributes

Attribute Name Short Description
product_versions This is Hash containing Windows Server versions and required updates.
title The database to apply the control to.
update_paths This is Hash containing update, and update path.

title

The database to apply the control to.

All controls need an database to apply the control to. Here is a simple example:

mssql_secured::controls::control_name {'MSSQLSERVER':}

In this example, the string DB is the database to apply the control to.

Back to overview of controls::latest_sql_server_service_packs_and_hotfixes_are_installed

product_versions

This is Hash containing Windows Server versions and required updates. Here is a simple example:

mssql_secured::controls::latest_sql_server_service_packs_and_hotfixes_are_installed::product_versions:
  15: 
    latest_version: 15.0.4198.2
    kb_update: KB5003279
    sp_update: null
  14: 
    latest_version: 14.0.3430.2
    kb_update: KB5003279
    sp_update: null
  13: 
    latest_version: 13.0.6300.2
    kb_update: KB5003279
    sp_update: sqlserver2016sp3
  13: 
    latest_version: 13.0.6300.2
    kb_update: KB5003279
    sp_update: sqlserver2016sp3
  12: 
    latest_version: 12.0.6329.1
    kb_update: KB5008084
    sp_update: sqlserver2014sp3
    version_numbers_without_servicepack: 12.0.6

Type: Hash

Default:mssql_secured::lookup_setting('product_versions', [])

Back to overview of controls::latest_sql_server_service_packs_and_hotfixes_are_installed

update_paths

This is Hash containing update, and update path. Here is a simple example:

mssql_secured::controls::latest_sql_server_service_packs_and_hotfixes_are_installed::update_paths:
  KB5003279: "C:\\vagrant\\modules\\software\\files\\SQLServer2019-KB5008996-x64.exe"

Type: Hash

Default:mssql_secured::lookup_setting('update_paths', [])

Back to overview of controls::latest_sql_server_service_packs_and_hotfixes_are_installed