<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Mark Weber's blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/markweberblog/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/markweberblog/feed.xml</link>
    <description>Weber Station</description>
    <lastBuildDate>Fri, 15 Jun 2018 01:46:09 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Powershell Commands to Manage MSA/gMSA Accounts</title>
      <link>https://docs.microsoft.com/archive/blogs/markweberblog/powershell-commands-to-manage-msagmsa-accounts</link>
      <pubDate>Tue, 09 Jan 2018 02:16:14 GMT</pubDate>
      <dc:creator><![CDATA[Mark Weber - Premier Field Engineering SQL and SAP]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/markweberblog/?p=236</guid>
      <description><![CDATA[Hello Readers,  here is another post from Norm to help you achieve more with MSAs and gMSAs through...]]></description>
      <content:encoded><![CDATA[<em>Hello Readers,  here is another post from Norm to help you achieve more with MSAs and gMSAs through Powershell.    Enjoy.</em>

&nbsp;

{<em>provided by </em><strong>Norm Eberly</strong>}

Since the original post regarding <a href="https://blogs.msdn.microsoft.com/markweberblog/2016/05/25/group-managed-service-accounts-gmsa-and-sql-server-2016/">SQL Server 2016 and Group Managed Service Accounts</a>, I’ve had a few questions and suggestions come up that we thought would best be covered using a faq rather than separate in depth blog articles.

So here are some items that should help you with your implementation of Managed Service Accounts (MSAs) and/or Group Managed Service Accounts (gMSAs).
<ol>
 	<li>Some information on Powershell commands that can help</li>
 	<li>Most of the Powershell commands used in the gMSA post require the use of the Active Directory (AD) cmdlets. The AD Module for Windows Powershell is not installed by default on member servers.  Here is a quick method using Powershell to install this module on a server.  From a Powershell session, run the following command.  Note that you must be running the Powershell session as an administrator.  See this <a href="https://docs.microsoft.com/en-us/powershell/module/microsoft.windows.servermanager.migration/install-windowsfeature?view=win10-ps">link</a> for more details.</li>
</ol>
<strong>Install-WindowsFeature -Name RSAT-AD-Powershell</strong>
<ol>
 	<li>Use the following Powershell command to remove a Windows feature such as the AD Module if it is no longer desirable to have it on the server. See this <a href="https://docs.microsoft.com/en-us/powershell/module/microsoft.windows.servermanager.migration/uninstall-windowsfeature?view=win10-ps">link</a> for more details.</li>
</ol>
<strong>Uninstall-WindowsFeature -Name RSAT-AD-Powershell</strong>
<ol>
 	<li>The <strong>New-ADServiceAccount</strong> cmdlet is used to create new MSA’s and gMSA’s. Here are a few additional pointers to using this cmdlet as well as some of the parameters.  See this <a href="https://docs.microsoft.com/en-us/powershell/module/addsadministration/new-adserviceaccount?view=win10-ps">link</a> for more details.</li>
 	<li>When creating a new MSA, use the <strong>-RestrictToSingleComputer</strong> parameter.  Without this parameter, the new account defaults to a gMSA.</li>
</ol>
<strong>New-ADServiceAccount -Name W16-S16-MSA -RestrictToSingleComputer</strong>
<ol>
 	<li>One of the benefits of using MSA accounts is Service Principal Name (SPN) management.  MSA service accounts can automatically register a service’s SPN.  However, there may be issues that prevent the SPN from being registered.  If your environment is configured in such a way that SPN’s do not get registered, you can use the <strong>-ServicePrincipalNames</strong> parameter to register the SPN when the MSA is created.</li>
</ol>
<strong>New-ADServiceAccount -Name W16-S16-MSA -RestrictToSingleComputer -ServicePrincipalNames MSSQLSvc/W16-S16-SA.contoso.com, MSSQLSvc/W16-S16-SA.contoso.com:1433 </strong>
<ol>
 	<li>Use <strong>Remove-ADServiceAccount</strong> to remove an MSA or gMSA from Active Directory.</li>
 	<li> Note that this command only removes the managed service account from AD.  It does not remove the managed service account from any computers that use it.  See this <a href="https://docs.microsoft.com/en-us/powershell/module/addsadministration/remove-adserviceaccount?view=win10-ps">link</a> for more details.</li>
</ol>
<strong>Remove-ADServiceAccount -Identity W16-S16-MSA</strong>
<ol>
 	<li>The <strong>Install-ADServiceAccount</strong> cmdlet is used on the member server to install the MSA/gMSA on that server. See this <a href="https://docs.microsoft.com/en-us/powershell/module/addsadministration/install-adserviceaccount?view=win10-ps">link</a> for more details.</li>
</ol>
<strong>Install-ADServiceAccount W16-S16-MSA</strong>
<ol>
 	<li>To remove a managed service account from a server (not from AD, see Remove-ADServiceAccount above), use the <strong>Uninstall-ADServiceAccount</strong> cmdlet. See this <a href="https://docs.microsoft.com/en-us/powershell/module/addsadministration/uninstall-adserviceaccount?view=win10-ps">link</a> for more details.</li>
</ol>
<strong>Uninstall-ADServiceAccount W16-S16-MSA</strong>
<h1>Summary</h1>
This faq posting brings into one place the various Powershell commands that can be used to administer MSA/gMSA accounts.
<h1>Completely Off Topic</h1>
The Bayeux Tapestry is a tapestry telling the story of the beginnings of the Norman Conquest of England. It includes scenes of events that lead to the Norman invasion as well as at the Battle of Hastings.

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/BayFromNE.jpg"><img width="300" height="55" class="alignnone size-medium wp-image-245" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/01/BayFromNE-300x55.jpg" /></a>

The original Bayeux Tapestry is located at the <a href="https://www.bayeuxmuseum.com/en/un_document_historique_en.html">Bayeux Museum</a> in Bayeux, France.  The origin of the Bayeux Tapestry is not well documented, with the earliest known reference being from 1476 in an inventory of the Bayeux Cathedral.

There is an excellent replica located in Reading, UK, at the <a href="https://www.bayeuxtapestry.org.uk/">Reading Museum</a>.  This version of the tapestry was created in Victorian England.

Having seen both, I can highly recommend a visit to both locations.

&nbsp;

&nbsp;

<em>Thanks Norm,</em>

<em>Mark</em>]]></content:encoded>
    </item>
    <item>
      <title>Enabling Encrypted Connections with SQL Server Configuration</title>
      <link>https://docs.microsoft.com/archive/blogs/markweberblog/enabling-encrypted-connections-with-sql-server-configuration</link>
      <pubDate>Fri, 27 Oct 2017 00:16:10 GMT</pubDate>
      <dc:creator><![CDATA[Mark Weber - Premier Field Engineering SQL and SAP]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/markweberblog/?p=235</guid>
      <description><![CDATA[Hello Readers,

Here is another post arriving from Norm Eberly.

&nbsp;

My colleague Sean...]]></description>
      <content:encoded><![CDATA[<em>Hello Readers</em>,

<em>Here is another post arriving from</em> <strong>Norm Eberly</strong>.

&nbsp;

<span style="color: #000000;font-family: Calibri">My colleague Sean Gallardy and I were asked about the process for enabling encrypted connections for SQL Server as outlined </span><a href="https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/enable-encrypted-connections-to-the-database-engine">here</a><span style="color: #000000;font-family: Calibri"> when using a Group Managed Service Account (gMSA).</span>

<i><span style="font-family: Calibri"><span style="color: #000000">NOTE: an update to the next four italicized sentences regarding the content of the </span><span><a href="https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/enable-encrypted-connections-to-the-database-engine">reference</a></span></span><span style="color: #000000;font-family: Calibri">.  Based on the research and testing by the author, documentation changes were made to reflect the identified findings .  The following four sentences are left for the sake of completeness, in case you’re visiting this post after seeing the older content.</span></i>

<em><span style="color: #000000;font-family: Calibri">According to the reference, in order to install the certificate, you need to be running SQL Server Configuration Manager under the same user account as the SQL Server service.</span></em>

<em><span style="color: #000000;font-family: Calibri">The same reference goes on to say if you are running as one of the local virtual accounts (LocalSystem, NetworkService or LocalService), then use an administrative account to run SQL Server Configuration Manager.</span></em>

<em><span style="color: #000000;font-family: Calibri">But this is not possible if we are running the SQL Server service with a Managed Service Account (MSA) or gMSA, we can’t run SQL Server Configuration Manager (SSCM) as one of those accounts – we do not know the password of the MSA/gMSA account.</span></em>

<em><span style="color: #000000;font-family: Calibri">Does that mean if we are running SQL Server using an MSA or gMSA account, we should use an administrative account to run SQL Server Configuration Manager?</span></em>

<span style="color: #000000;font-family: Calibri">This post is centered on describing our investigation of these three questions regarding encrypted connection setup and usage by SQL Server Configuration Manager (SSCM).</span>
<ul>
 	<li><span style="color: #000000;font-family: Calibri">If we are running SQL Server using an MSA or gMSA account, should we use an administrative account to run SSCM?  </span></li>
 	<li><span style="color: #000000;font-family: Calibri">Will using an administrative account work well in all cases, even for a standard domain account? </span></li>
 	<li><span style="color: #000000;font-family: Calibri"> Are there any special tasks required to enable Encrypted Connections when using gMSA accounts?</span></li>
</ul>
<span style="color: #000000;font-family: Calibri">We tested SQL Server 2016 for both stand-alone instances and failover cluster instances (FCI), using local virtual accounts, standard domain accounts and MSA/gMSA accounts as appropriate for the architecture.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>

<span style="color: #000000;font-family: Calibri">We also tested the same steps for SQL Server 2012 and SQL Server 2014. </span>

&nbsp;
<h1><span><span style="font-family: Calibri Light;font-size: x-large">Prerequisite Assumptions</span></span></h1>
<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">         </span></span></span><span style="color: #000000;font-family: Calibri">We have MSA and gMSA accounts properly created and deployed to the servers we will be testing with.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">See </span><a href="https://blogs.msdn.microsoft.com/markweberblog/2016/05/25/group-managed-service-accounts-gmsa-and-sql-server-2016/">https://blogs.msdn.microsoft.com/markweberblog/2016/05/25/group-managed-service-accounts-gmsa-and-sql-server-2016/</a><span style="color: #000000;font-family: Calibri"> for details and help.</span>

<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">         </span></span></span><span style="color: #000000;font-family: Calibri">We have a certificate created and available that meets the requirements outlined in the initial reference on enabling encrypted connections.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>

<span style="color: #000000;font-family: Calibri">We will need the following certificates</span>

<span><span style="color: #000000;font-family: Calibri">1.</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">       </span></span></span><span style="color: #000000;font-family: Calibri">One for the stand-alone instance which has the fqdn of the server hosting the instance under test.</span>
<p style="padding-left: 60px"><span style="color: #000000;font-family: Calibri">I tested with W12R2-S16.contoso.com as the DNS fqdn.</span></p>
<span><span style="color: #000000;font-family: Calibri">2.</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">       </span></span></span><span style="color: #000000;font-family: Calibri">One for the FCI instance.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">This will have the fqdn of the FCI server name, not the individual node names, nor the fqdn of the WSFC cluster name.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">My SQL Server 2016 Virtual Server name is C1-S16-I01.</span>
<p style="padding-left: 60px"><span style="color: #000000;font-family: Calibri">I tested with C1-S16-I01.contoso.com as the DNS fqdn.</span></p>
<span style="color: #000000;font-family: Calibri">We used New-SelfSignedCertificate to generate the test certificates.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Be aware that in order for this to work, we found it necessary use PowerShell v5.0 in order to be able to set the -KeySpec parameter.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Prior versions of PowerShell do not have this parameter for the New-SelfSignedCertificate.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Here is an example command we used for this test:</span>

<span style="color: #000000;font-family: Calibri">New-SelfSignedCertificate -DnsName W12R2-S16.contoso.com -CertStoreLocation cert:\localmachine\My -friendlyname MSATestCert-S16 -KeySpec KeyExchange </span>

<span><span style="color: #000000;font-family: Calibri">a.</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">       </span></span></span><span style="color: #000000;font-family: Calibri">In the testing I performed, I created each test certificate needed on a Windows Server 2016 server, exported the certificate and imported it on Windows Server 2012 R2 servers that were running the SQL Server instances I was using for testing.</span>

<span><span style="color: #000000;font-family: Calibri">b.</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">       </span></span></span><span style="color: #000000;font-family: Calibri">Powershell v5.0 is installed by default with Windows Server 2016.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">It can also be downloaded and installed on earlier Windows versions, see </span><a href="https://msdn.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-windows-powershell-50">https://msdn.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-windows-powershell-50</a><span style="color: #000000;font-family: Calibri"> for more details</span>

<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">         </span></span></span><span style="color: #000000;font-family: Calibri">We used a domain account that is a member of the Local Administrators group on the nodes of the cluster and the stand-alone server.</span>

&nbsp;
<h1><span><span style="font-family: Calibri Light;font-size: x-large">Step-by-Step for a Stand-Alone Instance using an MSA account</span></span></h1>
<span style="color: #000000;font-family: Calibri">Provision or Install the certificate</span>

<span style="color: #000000;font-family: Calibri">I followed the steps outlined </span><a href="https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/enable-encrypted-connections-to-the-database-engine">here</a><span style="color: #000000;font-family: Calibri">, under “To provision (install) a certificate on the server” and provide further details or information to help clarify the process.</span>

<span style="color: #000000;font-family: Calibri">Follow steps 1 through 7 to get the Certificate management snap-in open.</span>

<span style="color: #000000;font-family: Calibri">At step 8, this is where you will import the certificate to be used, if not already installed.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Walk through the Import wizard to install the certificate, if necessary.</span>

<span style="color: #000000;font-family: Calibri">At step 9, we add permissions for the MSA account.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Note that the only permissions required here are Read permissions.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Add the account, then set Read permissions for the account.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">In the Select Users, Computers, Service Accounts, or Groups dialog box, you may have to click Object Types and add Service Accounts as one of the types.</span>

<span style="color: #000000;font-family: Calibri">To Configure SQL Server to Accept Encrypted Connections</span>

<span style="color: #000000;font-family: Calibri">Follow the steps outlined </span><a href="https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/enable-encrypted-connections-to-the-database-engine">here</a><span style="color: #000000;font-family: Calibri">, under “To configure the server to accept encrypted connections”.</span>

<span style="color: #000000;font-family: Calibri">To validate, once you restart the SQL Server service, look at the SQL Server errorlog and you should find an entry similar to the following:</span>

<span><span style="color: #000000;font-family: Calibri">                </span></span><span style="color: #000000;font-family: Calibri">spid11s</span><span><span style="color: #000000;font-family: Calibri">     </span></span><span style="color: #000000;font-family: Calibri">The certificate [Cert Hash(sha1) "FF005EB2E103B63498B6AD1ADDF6B89D226196BE"] was successfully loaded for encryption.</span>

&nbsp;
<h1><span><span style="font-family: Calibri Light;font-size: x-large">Step-by-Step for a Failover Clustered Instance using a gMSA account</span></span></h1>
<span style="color: #000000;font-family: Calibri">Provision or Install the certificate</span>

<span style="color: #000000;font-family: Calibri">As per the </span><a href="https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/enable-encrypted-connections-to-the-database-engine">reference</a><span style="color: #000000;font-family: Calibri">, the certificate needs to be installed on each node of the cluster that will be able to run that instance of SQL Server.</span>

<span style="color: #000000;font-family: Calibri">In all other respects, the process is the same as a standalone instance with respect to installing the certificate and setting the Private Key permissions.</span>

<span style="color: #000000;font-family: Calibri">To Configure SQL Server to Accept Encrypted Connections</span>

<span style="color: #000000;font-family: Calibri">When using SQL Server Configuration Manager to set the Certificate to use, you will notice that the certificate is not listed. </span>

<span style="color: #000000;font-family: Calibri">This is a known issue for failover clustered instances.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">This is due to SQL Server Configuration Manager searching the local computer nodes’ certificate store. </span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">The certificate we used has the FCI Virtual Server DNS fqdn, not a cluster node fqdn.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Since the installed certificate fqdn is not associated with the local node, it is not listed.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>

<span style="color: #000000;font-family: Calibri">For FCI instances, you will need to follow the steps in KB Article </span><a href="https://support.microsoft.com/en-us/help/316898/how-to-enable-ssl-encryption-for-an-instance-of-sql-server-by-using-microsoft-management-console">316898</a><span style="color: #000000;font-family: Calibri">, under “Enable a certificate for SSL on a SQL Server clustered installation”, and set the registry key to the certificate thumbprint value.</span>

<span style="color: #000000;font-family: Calibri">I have a three-node cluster that I am testing with.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">I started with the instance of SQL Server running on node 1.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">I installed the certificates, set the private key permissions for the service account, then set the registry key thumbprint value on nodes 2 and 3 first, then did a failover to node 2 and completed the steps on node 1.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>
<h1></h1>
<h1><span><span style="font-family: Calibri Light;font-size: x-large">Summary</span></span></h1>
<span style="color: #000000;font-family: Calibri">Our testing shows that if using MSA or gMSA accounts, running the SQL Server Configuration Manager with local administrator level privileges does allow the encryption certificate settings to be modified.</span>

<span style="color: #000000;font-family: Calibri">We can also run SQL Server Configuration Manager with local administrator level privileges when using local virtual accounts and standard domain accounts.</span>

&nbsp;
<h1><span><span style="font-family: Calibri Light;font-size: x-large">Completely Off Topic</span></span></h1>
<span style="color: #000000;font-family: Calibri">Pollarding is a pruning system for the upper branches of trees in order to manage tree height as well as provide for a sustainable harvest of wood for domestic purposes.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">It has been practiced since at least Roman times and is still widely practiced world wide.</span>

<a href="https://www.bing.com/images/search?q=pollarding+&amp;FORM=HDRSC2">View of trees that have been pollarded.</a>]]></content:encoded>
    </item>
    <item>
      <title>Transparent Data Encryption (TDE), Traceflag 5004, and interrupting encryption scanning</title>
      <link>https://docs.microsoft.com/archive/blogs/markweberblog/transparent-data-encryption-tde-traceflag-5004-and-interrupting-encryption-scanning</link>
      <pubDate>Tue, 04 Apr 2017 00:05:31 GMT</pubDate>
      <dc:creator><![CDATA[Mark Weber - Premier Field Engineering SQL and SAP]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/markweberblog/?p=225</guid>
      <description><![CDATA[Hello Blogreaders,

Here is another post from Grant Carter to help with your TDE efforts on large...]]></description>
      <content:encoded><![CDATA[Hello Blogreaders,

Here is another post from <span style="text-decoration: underline"><strong>Grant Carter</strong></span> to help with your TDE efforts on large databases.   Have a read and consider.

&nbsp;

Recently I was engaged with a customer who runs a system that is very visible and busy during the business day.  The customer wanted to enable TDE (Transparent Data Encryption), but the database was very large, and they realized they would not be able to complete the initial scan and encryption of the data before the business day started.   The concern was that the encryption scan would bleed into the business day, and would cause disruption for their customers.  Due to the nature of this customer’s business that was unacceptable.

The customer reached out and asked if there is a way they can either pause or lower the priority of the initial encryption scan to reduce the impact to the system during the business day.

SQL Server Transparent Data Encryption is either on or off.  There is no command like <em>alter database &lt;database name&gt; set encryption pause</em>.   Another idea was to use resource governor to lower the priority of the process while it does the encryption scan.  However, when the encryption scan process starts, it starts as a background process.  The problem with this is it uses the internal workload group and resource pool to get its resources from.   You can’t classify a background process, which means you can’t put it into a user defined workload group.  Using resource governor to lower the priority is out as a possible solution.

On the face of it, it appears that there is no way to control the encryption and you will just have to live with the impact until the encryption scan finishes.   However….

Traceflag 5004 stops the encryption scan and causes it to exit and in circumstances where there is a material impact to the database, this is a good option to manage the encryption scanner.

With traceflag 5004, here are the considerations for using it.
<ul>
 	<li>The traceflag can be turned on or off without a restart.</li>
 	<li>The database will continue to keep an encryption_state of 2 in the sys.dm_database_encryption_keys with a percent complete of 0 while the traceflag is enabled. Keep in mind the database is not fully encrypted until that scan completes and the encryption_state has changed to 3.</li>
 	<li>Data that hasn’t been encrypted yet, will not be encrypted until one of two things occur.</li>
</ul>
<p style="padding-left: 60px">o   The page gets updated by way of normal transaction processing.   During that point, it will get encrypted</p>
<p style="padding-left: 60px">o   The traceflag is disabled and the scan is resumed.</p>

<ul>
 	<li>To resume the encryption scan, the traceflag must be disabled and then <em>alter database &lt;database name&gt; set encryption on</em> ran. Just disabling the traceflag will not resume the encryption scan.</li>
</ul>
The encryption scanner process must complete, so disabling it and not finishing the scan is <strong>not</strong> an option.   Once you enable TDE, you need to try to complete the encryption scan process and get the encryption_state value to 3 as soon as you can, but if you have a limited window or need to truncate the transaction log, then this traceflag can assist.

When encrypting the database perform the following:
<ul>
 	<li>Monitor CPU utilization and ensure you workload can run. The encryption scan is running as a background process, but it will take some resources while it runs.</li>
 	<li>Monitor transaction log usage with dbcc loginfo. When the virtual log files fill up and are active, the status flag will be set to 2.   While the encryption scanner is running, the transaction log can’t be truncated and have the VLFs marked back to 0 for reuse.   Once a significant number of virtual logs are marked with a status of 2, you may want to stop the encryption scanner using traceflag 5004 and then truncate the transaction log.</li>
 	<li>Monitor for blocking as described by <a href="https://blogs.msdn.microsoft.com/psssql/2016/04/19/why-do-we-see-encryption_scan-locks-in-a-sql-server/">https://blogs.msdn.microsoft.com/psssql/2016/04/19/why-do-we-see-encryption_scan-locks-in-a-sql-server/</a>. If blocking becomes too problematic, you can resolve this by setting the traceflag and stopping the encryption scanner.   However, you will have to finish the scan at a period where the impact is reduced.</li>
</ul>
Should you decide to no longer encrypt the database, there is no “rollback”.   You must allow the encryption scan process to complete, before you can disable the encryption.   Once you disable the encryption, the entire scan process will run again to decrypt the data pages that were encrypted.

<em>Completely Off Topic:</em>

<strong>Obscure Item of History</strong>

The longest war in history is the “Three Hundred and Thirty Five Years’ War” between the Netherlands and the Isles of Scilly.  The war started on March 30, 1651, and peace was not declared until April 17, 1986.   Ironically, not a single shot was fired and there were no casualties.

<a href="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg"><img width="231" height="231" class="alignnone size-full wp-image-175" alt="6470.GCpic" src="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg" /></a>

Grant Carter is a Senior Premier Field Engineer for Microsoft based in Boise, Idaho.

Email: grant.carter@microsoft.com]]></content:encoded>
    </item>
    <item>
      <title>PCI DSS  3.2 and SQL Server - By Grant Carter   INTRODUCTION</title>
      <link>https://docs.microsoft.com/archive/blogs/markweberblog/pci-dss-3-2-and-sql-introduction</link>
      <pubDate>Fri, 16 Sep 2016 22:02:03 GMT</pubDate>
      <dc:creator><![CDATA[Mark Weber - Premier Field Engineering SQL and SAP]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/markweberblog/?p=185</guid>
      <description><![CDATA[Here is another suite of posts from Grant Carter.   Enjoy.

The Payment Card Industry Data...]]></description>
      <content:encoded><![CDATA[Here is another suite of posts from Grant Carter.   Enjoy.

The Payment Card Industry Data Security Standard (PCI DSS) was created to create and enforce data standards and processes for the secure processing of payment cards.  PCI DSS provides technical requirements for protecting data used in card payments.  PCI DSS 3.2 dated April 2016 is the most recent revision of this industry standard.  The standard for this revision can be located at <a href="https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-2.pdf">https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-2.pdf</a>

SQL Server has the fewest security vulnerabilities according to NIST for the last 6 years <a href="https://www.microsoft.com/en-us/cloud-platform/sql-server">https://www.microsoft.com/en-us/cloud-platform/sql-server</a>.  <strong>SQL Server 2016</strong> provides multiple options for the protection of PCI complaint data giving customers extreme flexibility in providing data protection.  The following features provide flexible, configurable, secure options for meeting PCI DSS 3.2 requirements for data protection while providing traceability and accountability.
<ul>
 	<li><strong>Always Encrypted</strong> provides a complete end to end encryption that protects data from client to server.   Administrators do not even have the ability to read encrypted data using this method.  See <a href="https://msdn.microsoft.com/en-us/library/mt163865.aspx">https://msdn.microsoft.com/en-us/library/mt163865.aspx</a></li>
 	<li><strong>Transparent Data Encryption (TDE)</strong> protects data at rest so that data can’t be removed from a system and restored somewhere else for review.   TDE is seamless to an application while protecting the underlying data.  TDE can also be used with external EKM solutions for key management.  See <a href="https://msdn.microsoft.com/en-us/library/bb934049.aspx">https://msdn.microsoft.com/en-us/library/bb934049.aspx</a></li>
 	<li><strong>Column Level Encryption</strong> has been around for quite some time and is a reliable method for encrypting specific columns of a database using strong encryption protocols.  Access to this data is controlled via encryption keys that a user must have access to.  See <a href="https://msdn.microsoft.com/en-us/library/ms179331.aspx">https://msdn.microsoft.com/en-us/library/ms179331.aspx</a></li>
 	<li><strong>Full over the wire encryption</strong> is fully supported on SQL Server.  SQL Server can use trusted certificates to encrypt data over the wire between client and server.   Even if full encryption isn’t used, login packets are encrypted.  <strong>SQL Server 2016 fully supports TLS 1.2 which makes it fully compliant with the PCI DSS</strong> specification.  <a href="https://technet.microsoft.com/en-us/library/ms189067(v=sql.105).aspx">https://technet.microsoft.com/en-us/library/ms189067(v=sql.105).aspx</a></li>
 	<li><strong>Dynamic Data Masking</strong> was introduced in SQL Server 2016 as a feature that limits the data exposed to end users by implementing masking processes that hide portions of sensitive data from the end user.  For example, the mask may only allow the last 4 digits of a social security number.   See <a href="https://msdn.microsoft.com/en-us/library/mt130841.aspx">https://msdn.microsoft.com/en-us/library/mt130841.aspx</a></li>
</ul>
Microsoft offers services specifically geared toward threat detection and analysis which can help at all levels of PCI compliant systems.   On average intruders reside within a network 140 days before they are detected.  <strong>Microsoft’s Advanced Threat Analytics</strong> program provides tools which are designed to prevent or detect threats sooner so an organization can respond quicker and reduce damage done.  More information on the Advanced Threat Analytics program can be found at <a href="https://www.microsoft.com/en-us/cloud-platform/advanced-threat-analytics">https://www.microsoft.com/en-us/cloud-platform/advanced-threat-analytics</a>.

&nbsp;

This blog will consist of a 4-part series covering each point of PCI DSS 3.2   Some points may not directly pertain to SQL Server technology, but are relevant for any information system that must meet PCI DSS 3.2 specifications.
<h1><a href="https://blogs.msdn.microsoft.com/markweberblog/2016/09/16/pci-dss-32-and-sql-part-1-networking-and-data/">Part 1</a></h1>
<ul>
 	<li>Build &amp; Maintain Secure Networks and Systems</li>
 	<li>Protect Cardholder Data</li>
</ul>
<h1><a href="https://blogs.msdn.microsoft.com/markweberblog/2016/09/16/pci-dss-32-and-sql-part-2-antivirus-and-coding/">Part 2</a></h1>
<ul>
 	<li>Maintain a Vulnerability Management Program</li>
 	<li>Implement Strong Access Control Measures</li>
</ul>
<h1><a href="https://blogs.msdn.microsoft.com/markweberblog/2016/09/16/pci-dss-32-and-sql-part-3-monitor-test-maintain/">Part 3</a></h1>
<ul>
 	<li>Monitor &amp; Test Networks Regularly</li>
 	<li>Maintain an Information Security Policy</li>
</ul>
<h1><a href="https://blogs.msdn.microsoft.com/markweberblog/2016/09/16/pci-dss-32-and-sql-part-4-additional-info/">Part 4</a></h1>
<ul>
 	<li>Additional PCI DSS Requirements for Shared Hosting Providers</li>
 	<li>Additional PCI Requirements for Entities using SSL/Early TLS</li>
</ul>
If you are interested in additional help with PCI DSS systems, Microsoft Services has a number of offerings which can assist with your needs. Contact Microsoft Support Services.  If you need help reaching the right people, I will be glad to assist.

<a href="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg"><img width="231" height="231" class="alignnone size-full wp-image-175" alt="6470.GCpic" src="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg" /></a>

Grant Carter is a Senior Premier Field Engineer for Microsoft based in Boise, Idaho.

Email: grant.carter@microsoft.com]]></content:encoded>
    </item>
    <item>
      <title>PCI DSS  32 and SQL Server - By Grant Carter                 Part 4: Additional Info</title>
      <link>https://docs.microsoft.com/archive/blogs/markweberblog/pci-dss-32-and-sql-part-4-additional-info</link>
      <pubDate>Fri, 16 Sep 2016 22:00:07 GMT</pubDate>
      <dc:creator><![CDATA[Mark Weber - Premier Field Engineering SQL and SAP]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/markweberblog/?p=216</guid>
      <description><![CDATA[Terms Used in This Post
·        I/O – Input/Output

·        SHP – Shared Hosting...]]></description>
      <content:encoded><![CDATA[<h1><span style="color: #2e74b5;font-family: Calibri Light;font-size: x-large">Terms Used in This Post</span></h1>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">I/O – Input/Output</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">SHP – Shared Hosting Providers</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">ACL – Access Control List</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">MSP – Managed Service Provider</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">POS – Point Of Sale</span>

<span style="color: #000000;font-family: Calibri">The first 3 parts of this series covered the base requirements associated with PCI DSS.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Part 4 covers the appendix requirements that aren’t covered in the base requirements.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">The first section is geared specifically to shared hosting providers.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">The second section outlines the requirements for eliminating early SSL and TLS encryption protocols from the PCI environment. </span>

<span style="margin: 0px;color: #2e74b5;line-height: 107%;font-family: 'Calibri Light',sans-serif;font-size: 16pt">Additional PCI DSS Requirements for Shared Hosting Providers</span>

<span style="color: #000000;font-family: Calibri">Shared hosting providers host PCI data for multiple customers.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">This addition to the PCI DSS standard is required for PCI systems hosted by all SHPs.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>

<span style="color: #000000;font-family: Calibri">All SHPs must meet the following requirements</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">For each individual entity hosted by the SHP, processes that access the entity’s PCI data must only be able to access the data for that entity.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">Processes that can access data across entities is strictly prohibited.</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">For example, each entity in a SQL Server system would have its own database with unique user IDs that access only that database for that entity.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">Other entities would also have their own unique database with different user IDs that access the database.</span><span><span style="color: #000000;font-family: Calibri">  </span></span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">For each resource or PCI data component in a PCI system, each entity’s access must be limited to its own PCI data only.</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Application processes cannot be privileged users.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Each entity must only be able access files and filesystems that it owns.</span><span><span style="color: #000000;font-family: Calibri">   </span></span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Entity’s user accounts cannot have access to shared system binaries.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Log data can only be viewed for an entity that owns and generated the log activity.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Restrictions must be in place to ensure that no single entity can consume all resources related to disk space, network bandwidth, memory, or CPU</span></p>
<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">For SQL Server restrictions can be made by using resource governor to limit a single entity’s ability to consume all host resources.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">See </span><a href="https://msdn.microsoft.com/en-us/library/bb933866.aspx"><span style="color: #0563c1;font-family: Calibri">https://msdn.microsoft.com/en-us/library/bb933866.aspx</span></a><span style="color: #000000;font-family: Calibri">.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Auditing and audits must be unique to each individual entity’s PCI environment.</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Audit logs must be enabled for third-party applications.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Audit logs must be active by default.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Audit logs are available for the owning entity to review.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Audit log locations must be communicated to the owning entity. </span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">In the event PCI data is compromised, processes must allow for immediate analysis and investigation of the event so that an individual entity’s audit investigation may occur.</span>

<span style="margin: 0px;color: #2e74b5;line-height: 107%;font-family: 'Calibri Light',sans-serif;font-size: 16pt">Additional PCI Requirements for Entities using SSL/Early TLS</span>
<h1><span style="margin: 0px;color: windowtext;line-height: 107%;font-family: 'Calibri',sans-serif;font-size: 11pt">Entities using SSL and TLS 1.0 must migrate their cryptographic protocols to stronger protocols.<span>  </span>This requirement does provide guidance around when these protocols must be removed from use.<span>  </span>SQL Server has upgraded its cryptographic protocols to use TLS 1.2.<span>  </span>See https://blogs.msdn.microsoft.com/markweberblog/2015/12/01/sql-server-support-for-pci-dss-3-1/</span></h1>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">No new implementations can use SSL or TLS 1.0 protocols.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">All MSPs must provide secure offerings effective June 30, 2016</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Effective June 30, 2018, all entities must stop the use of SSL or TLS 1.0.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Prior to June 30, 2018 existing implementations that use SSL or TLS 1.0 protocols just have risk mitigation and risk management plans created and in place.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Effective June 30, 2018, all POS terminals must be validated that they are subject to any known exploits from SSL or TLS 1.0. or have a formal risk management plan in place.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">If exploits are found in the early versions of SSL or TLS 1.0, then the POS device will have to be reevaluated and possibly replaced/updated to avoid the risk.</span></p>

<h1><em><span style="margin: 0px;color: #333333;font-family: 'Calibri Light',sans-serif"><span style="font-size: x-large">Completely Off Topic:</span></span></em></h1>
<strong><span style="margin: 0px;color: #333333;font-family: 'Segoe UI',sans-serif;font-size: 10.5pt">Obscure Item of History</span></strong>

<span lang="EN-GB" style="margin: 0px;color: #585858;line-height: 107%;font-family: 'Arial',sans-serif;font-size: 10.5pt">The first pillar type fire hydrant patent holder is widely accepted to be Frederick Graff, Sr., Chief Engineer of the Philadelphia Water Works around the year 1801.<span>  </span>It is believed that Mr. Graff held the first patent for the hydrant, but verification of this fact is not possible because the U.S. Patent Office burned to the ground in 1836, therefore destroying the patent.</span>

<span style="color: #000000;font-family: Calibri"> </span>

<a href="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg"><img width="231" height="231" class="alignnone size-full wp-image-175" alt="6470.GCpic" src="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg" /></a><span style="margin: 0px;color: #333333;line-height: 107%;font-family: 'Segoe UI',sans-serif;font-size: 10.5pt">
Grant Carter is a Senior Premier Field Engineer for Microsoft based in Boise, Idaho. </span>

<span style="margin: 0px;color: #333333;line-height: 107%;font-family: 'Segoe UI',sans-serif;font-size: 10.5pt">Email: grant.carter@microsoft.com</span>]]></content:encoded>
    </item>
    <item>
      <title>PCI DSS  32 and SQL Server - By Grant Carter                 Part 3: Monitor, Test, and Maintain</title>
      <link>https://docs.microsoft.com/archive/blogs/markweberblog/pci-dss-32-and-sql-part-3-monitor-test-maintain</link>
      <pubDate>Fri, 16 Sep 2016 21:58:20 GMT</pubDate>
      <dc:creator><![CDATA[Mark Weber - Premier Field Engineering SQL and SAP]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/markweberblog/?p=206</guid>
      <description><![CDATA[Terms Used in This Post
·        I/O – Input/Output

·        MSP – Managed Service...]]></description>
      <content:encoded><![CDATA[<h1><span style="color: #2e74b5;font-family: Calibri Light;font-size: x-large">Terms Used in This Post</span></h1>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">I/O – Input/Output</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">MSP – Managed Service Provider</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">RCA – Root Cause Analysis</span>

<span style="margin: 0px;color: #2e74b5;line-height: 107%;font-family: 'Calibri Light',sans-serif;font-size: 16pt">Identify and authenticate access to system components</span>

<span style="color: #000000;font-family: Calibri">User activity must be tracked and logged in an effort to prevent or reduce the risk of having PCI data compromised.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">This section provides guidance about auditing, logging, alerting, and analysis of user activity in a PCI system and identifying unauthorized access to PCI related data and infrastructure.</span>
<h2><span style="color: #2e74b5;font-family: Calibri Light;font-size: large">Requirement 10: Track and monitor all access to network resources and cardholder data </span></h2>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">All access to PCI system components must be audited for each individual user</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Automated audit trails must include the following audit events: https://technet.microsoft.com/en-us/library/cc280386%28v=sql.110%29.aspx?f=255&amp;MSPPError=-2147217396</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Individual user access to PCI data</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">All actions taken by any administrative user</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Any time audit data is accessed</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Failed access attempts</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Any identification or authorization changes</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Any time the audit logs are started, stopped, or paused</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Creation, modification and deletions of system level objects</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Audit trails must include the following data:</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">User identification</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Type of event</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Date and time event occurred</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Success or failure of event</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Origination event</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">The name of the impacted, system, resource, data, or component</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Time synchronization must synchronize all system clocks to ensure timestamp data is accurate</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Time data must be protected</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Time settings must originate from industry trusted sources</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Audit trails must be secured - https://msdn.microsoft.com/en-us/library/cc280386.aspx</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Audits should only be viewable by those who need to view them as a job function</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Do not allow audit trails to have unauthorized modifications</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Backup audit trails to a central log server or media that is difficult to alter</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Write external facing technologies onto a secure log server or media device</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Use file integrity or change detection software on logs to ensure that log data cannot be changed</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Review logs and security events for all PCI components for suspicious activity.</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Review the following at a minimum daily</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">All security events</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Logs of all PCI system components</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Logs of all PCI components that perform security functions</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Audit logs periodically based on the security policies and risk management policies</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Follow up on anomalies identified during the review process</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Retain audit trail history for at least one year with a minimum of three months of that being available for immediate analysis.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">For service providers: failure of any of the following components must have a process for the detection and reporting of those failures.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">This is required starting January 31, 2018.</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Firewalls </span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">IDS/IPS</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">FIM</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Anti-virus</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Physical access controls</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Logical access controls</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Audit logging mechanisms</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Segmentation controls (if used) </span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Starting January 31, 2018, service providers must respond to any failure of security controls in a timely manner.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">These processes must include: </span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Restoring security functions</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Identifying and documenting the duration (date and time start to end) of the security failure</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Identifying and documenting cause(s) of failure, including root cause, and documenting remediation required to address root cause</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Identifying and addressing any security issues that arose during the failure</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Performing a risk assessment to determine whether further actions are required as a result of the security failure</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Implementing controls to prevent cause of failure from reoccurring</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Resuming monitoring of security controls</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Ensure all security policies and operational procedures for monitoring access to PCI data are documented, well known by all individuals working with PCI data, and maintained with changes made to PCI systems.</span>

<span style="margin: 0px;color: #2e74b5;line-height: 107%;font-family: 'Calibri Light',sans-serif;font-size: 13pt">Requirement 11: Maintain a Vulnerability Management Program</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Implement processes to test for the existence of wireless access points both authorized and unauthorized at a minimum quarterly</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Maintain a fully documented inventory of authorized wireless access points.</span><span><span style="color: #000000;font-family: Calibri">  </span></span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Create operational incident management response procedures for when unauthorized access points are detected.</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Perform network vulnerability scans at a minimum quarterly or after any significant network change is implemented.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">For Microsoft products, </span><a href="https://technet.microsoft.com/en-us/security/cc184924.aspx"><span style="color: #0563c1;font-family: Calibri">https://technet.microsoft.com/en-us/security/cc184924.aspx</span></a><span style="color: #000000;font-family: Calibri">.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">This includes </span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Addition of new system components (Additional components such as SSRS or SSAS are enabled on a PCI system or the usages of SQL Server Engine features such as addition of service broker, linked servers, AlwaysOn Availability Groups)</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Changes in the network structure</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Changes to firewalls or firewall rules - https://technet.microsoft.com/en-us/library/cc754274(v=ws.11).aspx</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Software upgrades to existing infrastructure – This includes SQL Server Service Packs and Cumulative Updates</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Quarterly have an approved external vendor perform vulnerability scans.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">If items are detected, resolve them and rescan until all outstanding issues are fixed.</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Implement penetration testing procedures which:</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Is based on industry-accepted penetration testing approaches (for example, NIST SP800-115) </span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Includes coverage for the entire PCI infrastructure perimeter and critical systems</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Includes testing from both inside and outside the network.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Must be performed at a minimum annually or if a significant change is made to the infrastructure or application.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Includes testing to validate any segmentation and scope-reduction controls</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Defines application-layer penetration tests. </span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Defines network-layer penetration tests to include components that support network functions as well as operating systems</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Includes review and consideration of threats and vulnerabilities experienced in the last 12 months</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Specifies retention of penetration testing results and remediation activities results. </span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Any vulnerabilities found must be corrected and penetration testing repeated until all identified vulnerabilities are remediated</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Intrusion-detection and prevention processes must be used to prevent unauthorized network access.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">Monitor for any compromise of the PCI environment and respond in accordance with documented security processes.</span>
<p style="padding-left: 30px"><span style="color: #333333"><span style="margin: 0px;line-height: 105%;font-family: 'Courier New';font-size: 11pt"><span>o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span>   </span></span></span><span style="font-family: Times New Roman">While not called out specifically in the PCI specification, it is best practice to periodically test the procedures for managing encryption.  This includes</span></span></p>
<p style="padding-left: 30px"><span style="margin: 0px;color: #333333;font-family: 'Times New Roman',serif;font-size: 12pt"><span>Performing regular disaster recovery drills to test that the encryption management processes work.  Document the name of the individuals performing the test along with any test output as validation that the testing was successful.</span></span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Components that change should be monitored and audit for change.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Weekly processes should identify changes made and validate the changes were valid.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">If not valid, then personnel should be alerted and respond in accordance to documented security processes.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Ensure all security policies and operational procedures for monitoring access to PCI data are documented, well known by all individuals working with PCI data, and maintained with changes made to PCI systems.</span>

<span style="margin: 0px;color: #2e74b5;line-height: 107%;font-family: 'Calibri Light',sans-serif;font-size: 16pt">Maintain an Information Security Policy</span>

<span style="color: #000000;font-family: Calibri">PCI systems should have strong security policies and procedures in an effort to reduce the risk of the disclosure of data.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">This section calls out the requirements needed in creating, maintaining, and following these security policies.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">All personnel who develop for, manage, test, or audit PCI systems should be fully aware of these policies.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">As security policies and procedures change, any updates should be documented and clearly communicated to all relevant personnel.</span>

<span style="margin: 0px;color: #2e74b5;line-height: 107%;font-family: 'Calibri Light',sans-serif;font-size: 13pt">Requirement 12: Maintain a policy that addresses information security for all personnel.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Ensure all security policies and operational procedures for monitoring access to PCI data are documented, well known by all individuals working with PCI data, and maintained with changes made to PCI systems.</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">The security policy must be reviewed and updated at a minimum annually. </span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Risk assessment processes must be implemented that do the following:</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Performed annually or to significant PCI environment changes</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Identifies critical components, threats, and risks</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">For each threat or risk, there must be a formal documented analysis</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Define usage policies that document the proper usages of PCI related resources, data, and infrastructure</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Usage must be formally approved though a documented approval process.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Authentication for use of the related PCI infrastructure and data.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">A list of all PCI devices and infrastructure with personnel who has access.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">A process for determining the owner, contact information, and purpose for a PCI related device.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Acceptable usage of PCI infrastructure and data</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">A list of approved network locations for PCI infrastructure, PCI data, and access to that data.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">A list of approved products, software, and devices</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Automatic disconnect of remote access sessions after a period of activity.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Remote access should only be provided to partners or vendors for the period of time in which access is required.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">The access should be deactivated after the need for access is completed.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">For individuals accessing PCI systems or components, copying, modifying, or storing PCI data on devices or removable media that are not approved must be prohibited.</span></p>
<span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span>For service providers effective January 31, 2018, executive management must create responsibility for the protection of PCI data and compliance that includes:</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Accountability for maintaining PCI compliance</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Create and define a charter for a PCI compliance program with communication to executive management.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Assign at least one individual or PCI security team responsibilities that include:</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Create, document, distribute, and enforce security policies and processes.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Monitor and analyze security alerts</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Manage the security incident response process and escalations for all security related situations.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Administrate user accounts.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Monitor and control all access to PCI related data.</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Implement security process and procedures training programs to ensure all personnel are aware of the security policies and procedures.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Personnel must acknowledge the completion of all training and modifications to security policy and procedure as they occur</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Develop and implement policies that govern managed service providers who have access to or share PCI data</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">A list of MSPs that must include a description of the service they provide</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Maintain all written agreements with MSPs.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Written agreements must include wording that is clear that the MSP is responsible for the security of PCI data in their possession, under their control, or part of their access.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">All engagements with MSPs must have adequate due diligence prior to entering into the engagement.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">All MSPs compliance must be formally reviewed at a minimum annually.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Document which PCI requirements are managed by the company and which ones are managed by the MSP.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">If there are additional requirements for an MSP, those requirements must be acknowledged in writing by the MSP.</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Must implement and maintain an incident response plan in the event of a PCI system compromise.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">This plan must include immediate response processes to prevent further PCI data disclosure once the compromise is identified.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">The following must be identified</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Roles, responsibilities, contact, and communication strategies in the event of a compromise.</span><span><span style="color: #000000;font-family: Calibri">  </span></span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Specific procedures</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Business recovery and continuity processes</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Data backup and recovery procedures</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Identification of legal requirements for disclosing a PCI data compromise.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Individuals responsible for coverage for all system components during the implementation of an incident</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Reference or inclusion of incident response procedures from the payment brands. </span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Review and test the plan at a minimum annually.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Identify personnel who are available 24/7/365 to respond to alerts.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Provide training to staff in the event of an incident</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Include all alerts from PCI monitoring systems</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Create a process to modify and update the incident response plan as business needs evolve and the PCI system changes</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Develop an RCA process that identifies gaps that least to the incident and identifies lessons learned that can be implemented to prevent future incidents.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Starting January 31, 2018, all service providers must</span></p>
<span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span>Perform daily log reviews.</span>

<span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span>Perform regular firewall reviews</span>

<span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span>Respond to security alerts in a timely fashion</span>

<span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span>Update all management and security processes as needed.</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Starting January 31, 2018, all service providers must</span></p>
<span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span>Maintain documentation of quarterly review process to include:</span>

<span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span>Documenting results of the reviews </span>

<span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span>Review and sign-off of results by personnel assigned responsibility for the PCI compliance program</span>
<h1><em><span style="margin: 0px;color: #333333;font-family: 'Calibri Light',sans-serif"><span style="font-size: x-large">Completely Off Topic:</span></span></em></h1>
<strong><span style="margin: 0px;color: #333333;font-family: 'Segoe UI',sans-serif;font-size: 10.5pt">Obscure Item of History</span></strong>

<span lang="EN-GB" style="margin: 0px;color: #585858;line-height: 107%;font-family: 'Arial',sans-serif;font-size: 10.5pt">Zanzibar Sultanate were territories ruled by the Sultan of Zanzibar.<span>  </span>It existed in now what is modern day Kenya.<span>  </span>It was a sovereign nation that existed between 1856 and 1964.<span>  </span>The Anglo-Zanzibar War fought between the United Kingdom and Zanzibar Sultanate on August 27, 1896 lasted between 38 and 45 minutes, making it the shortest war to be fought in history.<span>   </span></span>

<a href="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg"><img width="231" height="231" class="alignnone size-full wp-image-175" alt="6470.GCpic" src="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg" /></a><span style="margin: 0px;color: #333333;line-height: 107%;font-family: 'Segoe UI',sans-serif;font-size: 10.5pt">
Grant Carter is a Senior Premier Field Engineer for Microsoft based in Boise, Idaho. </span>

<span style="margin: 0px;color: #333333;line-height: 107%;font-family: 'Segoe UI',sans-serif;font-size: 10.5pt">Email: grant.carter@microsoft.com</span>]]></content:encoded>
    </item>
    <item>
      <title>PCI DSS  32 and SQL Server - By Grant Carter                 Part 2: Antivirus and Coding</title>
      <link>https://docs.microsoft.com/archive/blogs/markweberblog/pci-dss-32-and-sql-part-2-antivirus-and-coding</link>
      <pubDate>Fri, 16 Sep 2016 21:55:05 GMT</pubDate>
      <dc:creator><![CDATA[Mark Weber - Premier Field Engineering SQL and SAP]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/markweberblog/?p=205</guid>
      <description><![CDATA[PCI DSS 3.2 and SQL Server  - Part 2
Terms Used in This Post

 	I/O – Input/output
 	SSAS – SQL...]]></description>
      <content:encoded><![CDATA[<span><span style="color: #000000;font-family: Calibri Light;font-size: 300%">PCI DSS 3.2 and SQL Server</span><span style="color: #000000;font-family: Calibri Light;font-size: 300%">  </span><span style="color: #000000;font-family: Calibri Light;font-size: 300%">- Part 2</span></span>
<h1><span style="color: #2e74b5;font-family: Calibri Light;font-size: x-large">Terms Used in This Post</span></h1>
<ul>
 	<li><span style="color: #000000;font-family: Calibri">I/O – Input/output</span></li>
 	<li><span style="color: #000000;font-family: Calibri">SSAS – SQL Server Analysis Services</span></li>
 	<li><span style="color: #000000;font-family: Calibri">SSRS – SQL Server Reporting Services</span></li>
</ul>
<span style="margin: 0px;color: #2e74b5;line-height: 107%;font-family: 'Calibri Light',sans-serif;font-size: 16pt">Maintain a Vulnerability Management Program</span>
<h2><span style="color: #2e74b5;font-family: Calibri Light;font-size: large">Requirement 5: Deploy antivirus software on all system commonly affected by malicious software </span></h2>
<span style="color: #000000;font-family: Calibri">Monitoring SQL Server for viruses is an action that can have a significant negative impact if it isn’t done properly.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Antivirus programs typically install filter drivers in the Windows I/O path.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">If these drives aren’t instructed to not inspect SQL Server related activities, significant performance or reliability issues can arise.</span>

<span style="color: #000000;font-family: Calibri">Microsoft documents how to run antivirus programs on machines hosting SQL Server.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">The documentation can be found at </span><a href="https://support.microsoft.com/en-us/kb/309422"><span style="color: #0563c1;font-family: Calibri">https://support.microsoft.com/en-us/kb/309422</span></a><span style="color: #000000;font-family: Calibri">.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Testing antivirus and antivirus exclusions before deploying to a PCI DSS environment is crucial to ensure the performance and reliability of the system.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>

<span style="color: #000000;font-family: Calibri">Some virus scanning processes also monitor executables.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Not only are excluding the file locations mentioned in the above article important, but also excluding the appropriate executables is important to ensure SQL Server can perform and be reliable when the antivirus program runs.</span>

<span style="color: #000000;font-family: Calibri">Operationally, it is important to ensure antivirus definitions and executables are updated frequently with the most recent signatures.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">It is important to monitor and identify any malicious activity that the antivirus encounters.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">And that immediate response processes are in place to deal with any detected virus infection.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Review software logs to ensure antivirus is functioning as planned and that updates are being applied.</span>

<span style="color: #000000;font-family: Calibri"> </span>
<h2><span style="color: #2e74b5;font-family: Calibri Light;font-size: large">Requirement 6: Develop and maintain secure systems and applications</span></h2>
<span style="color: #000000;font-family: Calibri">While SQL Server is one of the most secure platforms in the world, it is important to protect PCI SQL Servers and other PCI software and hardware systems from unauthorized access by ensuring systems are patched with the latest software.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">The PCI standard provides guidance as to what the requirements are for developing and maintaining secure systems.</span>

<span style="color: #000000;font-family: Calibri">Create a process to discover security vulnerabilities using external sources of information.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">For each discovered vulnerability, assign a ranking in terms of criticality of the weakness.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">The process should also dictate what the response to that particular item is.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">For example, all critical vulnerabilities must be patched as soon as possible.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>
<span style="color: #000000;font-family: Calibri">
Microsoft has created a security bulletin system for patching software https://technet.microsoft.com/en-us/security/bulletins.aspx.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">The rating of this system is documented at </span><a href="https://technet.microsoft.com/en-us/security/gg309177.aspx"><span style="color: #0563c1;font-family: Calibri">https://technet.microsoft.com/en-us/security/gg309177.aspx</span></a><span style="color: #000000;font-family: Calibri">.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">Using this rating system, Microsoft provides guidance as to how to respond based on the criticality rating of the individual patch.</span>

<span style="color: #000000;font-family: Calibri">Install any identified patches in accordance to the documented timeframe depending on the rating severity.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">For highly critical patches, PCI DSS states that they must be implemented within one moth of release.</span>

<span style="color: #000000;font-family: Calibri">Include security considerations in the design of software systems that process PCI data.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">Security must be considering in the entire design lifecycle of the software.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Examine all design, development, testing and operations documents to ensure sensitive data is handled appropriately. </span>

<span style="color: #000000;font-family: Calibri">Review code prior to release to production to ensure any potential coding vulnerabilities are identified and removed.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">For SQL Server this includes reviewing database scripts, security grants, revokes, and denies.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Protecting code against possible SQL ejection attacks and ensuring that database queries execute with the least required privilege.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Follow change control process for all system components.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">This includes:</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Rolling changes through separate development and testing environments</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Development and test environments must be separated from production environments with different access.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Ensure separation of duties between code testers and people to deploy to production.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Real production data cannot be used for testing</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Test data does not get deployed to production</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">All procedures related to change control and release management are documented and followed.</span></p>
<span style="color: #000000;font-family: Calibri">Impact of change must be documented</span>

<span style="color: #000000;font-family: Calibri">Changes must be approved</span>

<span style="color: #000000;font-family: Calibri">Testing must prove that changes to not impact system security</span>

<span style="color: #000000;font-family: Calibri">Back out procedures must be developed to roll back any change that fails</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Procedures must address common coding flaws</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Developers must be trained annually in secure coding techniques</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Address SQL and OS command injection</span></p>
<span><span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">·        </span></span></span></span><span style="color: #000000;font-family: Calibri">Common ways to prevent SQL injection attacks</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Constrain and sanitize input data.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Use type-safe parameters for SQL data access.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">Stored procedures are parameterized and are a common way to prevent SQL injection attacks.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Use accounts with restricted permissions.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">For example, use an account that can only run stored procedures and can’t select directly from SQL tables.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Do not disclose database error information to the end user.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">By doing this, database information isn’t passed back so the end user can see the names of servers, databases, tables.</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Avoid buffer overflows in software systems</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Prevent insecure cryptographic storage</span></p>
<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">Use strong algorithms and protocols.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">For SQL Server ensure all database systems have the TLS 1.2 hotfixes applied.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">Ensure all database clients are TLS 1.2 compatible.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Do not allow error messages to disclose information</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Avoid cross site scripting </span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Prevent improper access control</span></p>
<span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri"></span>Ensure users are authenticated</span>

<span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri"></span>Sanitize the input of any SQL database query to prevent injection attack</span>

<span><span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000"></span></span></span></span><span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri"></span>Do not expose internal object names such as database, schema, or object names to end users.</span>

<span style="color: #000000;font-family: Calibri"><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri"></span>Prevent directory traversal in web sites</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Avoid cross site request forgery in web services</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">For public facing web apps, address new threads in an ongoing basis.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">This can be accomplished by installing automated intrusion detection systems or firewalls that continually check traffic.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">All security policies and procedures must be known to staff developing, operating, and maintaining PCI information systems.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">Any change to these processes must also be documented and made known to all staff.</span>

<span style="margin: 0px;color: #2e74b5;line-height: 107%;font-family: 'Calibri Light',sans-serif;font-size: 16pt">Implement Strong Access Control Measures</span>
<h2><span style="color: #2e74b5;font-family: Calibri Light;font-size: large">Requirement 7: Restrict access to cardholder data by business need to know</span></h2>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Limit access to systems and PCI data to individuals who must have access to perform their job</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Define the access needed for each role that manages, handles, or processes PCI data.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">In SQL Server define data access roles and grant the minimum permissions necessary to those roles.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Do not grant permissions to individuals as individuals could change roles and as a result, access requirements would change.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">Granting access to individuals increases the risk that unnecessary access would be retained if an individual changes their role.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Limit system role privileges such as sysadmin permissions to individuals who need them.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Individuals needing data access do not require these elevated permissions and those permissions should not be granted to them.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Limit access to the least amount of privilege to perform the job.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Require documented approvals before an individual is granted privilege to PCI data.</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Establish access control systems that by default deny access to PCI data unless permission is explicitly granted.</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Deny permissions to PCI user data and systems by default.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><a href="https://msdn.microsoft.com/en-us/library/ms188338.aspx"><span style="color: #0563c1;font-family: Calibri">https://msdn.microsoft.com/en-us/library/ms188338.aspx</span></a></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">This applies to all system components.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Protecting the database is important, but access to the systems, backup systems, filesystems, or other components must also be implemented.</span><span><span style="color: #000000;font-family: Calibri">  </span></span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Assign privilege to PCI data and PCI systems based on job function.</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Security policies must be well documented, published and well known by all parties that process, manage, or develop for PCI systems.</span><span><span style="color: #000000;font-family: Calibri">  </span></span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">These policies and procedures must be continually updated to reflect changes and those changes must be updated to all individuals who have a need to know them.</span></p>

<h2><span style="color: #2e74b5;font-family: Calibri Light;font-size: large">Requirement 8: Identify and authenticate access to system components</span></h2>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Implement policies and procedures that enforce correct user identification management for non-consumer users and administrators on all PCI system components.</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">All users must have a unique ID that can identify their access to PCI systems and data</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Processes must be developed to control the addition, deletion, or modification of user IDs and credentials.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Immediately remove access from users who have left the company in conjunction with documented security policy.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Disable or remove user accounts which have been inactive for 90 days</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Manage ID’s used by third parties to process, support, or maintain systems that are PCI systems</span></p>
<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">User IDs must be disabled at all times except for the periods where access is needed.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><a href="https://msdn.microsoft.com/en-us/library/ms189828.aspx"><span style="color: #0563c1;font-family: Calibri">https://msdn.microsoft.com/en-us/library/ms189828.aspx</span></a><span style="color: #000000;font-family: Calibri"></span>

<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">User IDs must be audited when in use</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">User access attempts must be limited to six attempts and User ID must be blocked afterwards.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Lockout duration must be no shorter than 30 minutes before the User ID is re-enabled.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Sessions idle for 15 minutes must require the user to re-authenticate to obtain access to the PCI system or components.</span><span><span style="color: #000000;font-family: Calibri">   </span></span><span style="color: #000000;font-family: Calibri">Example code for terminating idle SQL Server sessions can be found at </span><a href="https://gallery.technet.microsoft.com/scriptcenter/How-to-kill-SQL-Server-a33476b7"><span style="color: #0563c1;font-family: Calibri">https://gallery.technet.microsoft.com/scriptcenter/How-to-kill-SQL-Server-a33476b7</span></a></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Non-consumer users must authenticate using at least one of the following:</span></p>
<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">Something you know, such as a password or passphrase</span>

<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">Something you have, such as a token device or smart card</span>

<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">Something you are, such as a biometric. </span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">All login information must use strong cryptography to make credential information unreadable during transmissions and storage.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">See </span><a href="https://msdn.microsoft.com/en-us/library/ms189067%28SQL.90%29.aspx?f=255&amp;MSPPError=-2147217396"><span style="color: #0563c1;font-family: Calibri">https://msdn.microsoft.com/en-us/library/ms189067%28SQL.90%29.aspx?f=255&amp;MSPPError=-2147217396</span></a><span style="color: #000000;font-family: Calibri"> and </span><a href="https://msdn.microsoft.com/en-us/library/ms189751.aspx"><span style="color: #0563c1;font-family: Calibri">https://msdn.microsoft.com/en-us/library/ms189751.aspx</span></a><span style="color: #000000;font-family: Calibri"> for how the login credentials are encrypted and passed encrypted over the network for SQL Server</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Verify user identity before modifying authentication credentials. </span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Passwords must have the following requirements.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">See </span><a href="https://msdn.microsoft.com/en-us/library/ms161959.aspx"><span style="color: #0563c1;font-family: Calibri">https://msdn.microsoft.com/en-us/library/ms161959.aspx</span></a><span style="color: #000000;font-family: Calibri"> for more details on how to enforce complexity requirements for SQL Server authenticated logins.</span></p>
<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">Have a minimum length of seven characters</span>

<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">Contain both numeric and alphabetic characters</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Change passwords at least once every ninety days. See </span><a href="https://msdn.microsoft.com/en-us/library/ms161959.aspx"><span style="color: #0563c1;font-family: Calibri">https://msdn.microsoft.com/en-us/library/ms161959.aspx</span></a><span style="color: #000000;font-family: Calibri"> for details for setting password expiration for SQL Server authenticated logins.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Do not allow users to reuse passwords within 4 password changes.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">See </span><a href="https://msdn.microsoft.com/en-us/library/ms161959.aspx"><span style="color: #0563c1;font-family: Calibri">https://msdn.microsoft.com/en-us/library/ms161959.aspx</span></a><span style="color: #000000;font-family: Calibri"> for policy enforcement of password history for SQL Server authenticated logins</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">All individual non-console access and remote access must use multi-factor authentication.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Requirement will be enforced starting January 31, 2018.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">For all remote work, multi-factor authentication for both user and administrator work must be implemented if the sessions originate outside of the network the PCI system resides on.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Document, communicate, and maintain documentation of policies and procedures as related to </span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Criteria for selecting strong authentication credentials</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Guidance on how users should protect their credentials</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Policies on how not to reuse passwords</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Policies on changing passwords should one become compromised. </span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Do not use generic or shared accounts to access or maintain data systems that hold PCI data.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">If other authentication mechanisms are used, </span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Authentication mechanisms must be assigned to an individual account and not shared among multiple accounts. </span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Physical and/or logical controls must be in place to ensure only the intended account can use that mechanism to gain access. </span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">All databases access to PCI related systems is restricted to</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">All user access to, user queries of, and user actions on databases are through programmatic methods.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Only database administrators have the ability to directly access or query databases.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Application IDs for database applications can only be used by the applications (and not by individual users or other </span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">All security policies and procedures are documented, in use and well known by all parties impacted by the policies and procedures.</span>
<h2><span style="color: #2e74b5;font-family: Calibri Light;font-size: large">Requirement 9: Restrict physical access to cardholder data</span></h2>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Use facility controls to limit and monitor physical access to PCI related information systems</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Use cameras, access control measures, or both to monitor access.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">Store the data for at least 23 months or for periods dictated by law</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Limit access to networks accessible by publicly available network jacks.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Restrict access to wireless access points, gateways, hand held devices or other networking hardware and communications lines.</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Procedures and processes must be developed to determine if individuals are personnel or visitors.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">This must include:</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Identifying onsite personnel and visitors visually</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Changes to access requirements</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Remove access to terminated personnel or individuals with expired identification credentials.</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Control physical access for onsite personnel to sensitive areas</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Sensitive areas should only allow access to individuals with a job functions that requires access.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Access to sensitive areas is removed if individual has a role change or job termination that would impact the level of access needed.</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Implement processes to identify and authorize visitors</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Visitors must be authorized before entering</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Visitors must be escorted at all times in areas where PCI data is processed or maintained</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Visitors must surrender identification credentials before leaving the facility or at the date of expiration of the credentials</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Visitor logs should be used to maintain a physical audit trail of visitor activity.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">These logs must be maintained for three months unless local law states otherwise</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">All PCI media must be physically secured.</span><span><span style="color: #000000;font-family: Calibri">  </span></span><span style="color: #000000;font-family: Calibri">This includes any offsite backup locations.</span>

<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Maintain strict control over the internal or external distribution of any kind of media</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Classify media so its sensitivity can be easily determined</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">If media must be transported, use secure courier or deliver methods that can be tracked</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Management must approve any media that is moved from a secure area</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Maintain strict control over the storage and accessibility of media</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Maintain inventory logs of all media and conduct inventories at least once per year.</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Destroy media when it is no longer in use</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Shred, incinerate, or pulp hard copy material so that PCI data cannot be reconstructed in secure containers.</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Render all electronic media unusable and unrecoverable to prevent PCI data from being reconstructed</span></p>
<span><span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span></span><span style="color: #000000;font-family: Calibri">Protect all devices that collect payment card data via physical interaction with the card from tampering or substitution</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Maintain lists of devices that are current</span></p>
<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">Make, model of device</span>

<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">Location of device (for example, the address of the site or facility where the device is located)</span>

<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">Device serial number or other method of unique identification. </span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Devices must be checked for tampering regularly</span></p>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Individuals inspecting devices for tampering should include</span></p>
<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">Verify any third party maintenance personnel before grant them access to troubleshoot or repair devices</span>

<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">       </span></span></span><span style="color: #000000;font-family: Calibri">Do not install or replace devices without verifications</span>

<span><span style="color: #000000">·</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">        </span></span></span><span style="color: #000000;font-family: Calibri">If individuals are acting suspicious, report that behavior using the appropriate protocol outlined in the operations security policies and procedures.</span>
<p style="padding-left: 30px"><span style="margin: 0px;font-family: 'Courier New'"><span><span style="color: #000000">o</span><span style="font: 7pt 'Times New Roman';margin: 0px"><span style="color: #000000">   </span></span></span></span><span style="color: #000000;font-family: Calibri">Ensure security policies and operations procedures are documented, well known, and maintained by all individuals working with PCI data.</span></p>

<h1><em><span style="margin: 0px;color: #333333;font-family: 'Calibri Light',sans-serif"><span style="font-size: x-large">Completely Off Topic:</span></span></em></h1>
<strong><span style="margin: 0px;color: #333333;font-family: 'Segoe UI',sans-serif;font-size: 10.5pt">Obscure Item of History</span></strong>

<span lang="EN-GB" style="margin: 0px;color: #585858;line-height: 107%;font-family: 'Arial',sans-serif;font-size: 10.5pt">Kutol Wallpaper Cleaner was created in Cincinnati, Ohio by Noah McVicker. <span> </span>The putty removed coal soot from wallpaper. Americans switch from burning coal to using natural gas and electricity so the demand for the product dropped. Another use for the product was discovered and it became a toy under the name of “Play-Doh”<span>  </span>in 1956.</span>

<span style="margin: 0px;color: #333333;line-height: 107%;font-family: 'Segoe UI',sans-serif;font-size: 10.5pt"><a href="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg"><img width="231" height="231" class="alignnone size-full wp-image-175" alt="6470.GCpic" src="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg" /></a>
Grant Carter is a Senior Premier Field Engineer for Microsoft based in Boise, Idaho. </span>

<span style="margin: 0px;color: #333333;line-height: 107%;font-family: 'Segoe UI',sans-serif;font-size: 10.5pt">Email: grant.carter@microsoft.com</span>]]></content:encoded>
    </item>
    <item>
      <title>PCI DSS  32 and SQL Server - By Grant Carter                 Part 1: Networking and Data</title>
      <link>https://docs.microsoft.com/archive/blogs/markweberblog/pci-dss-32-and-sql-part-1-networking-and-data</link>
      <pubDate>Fri, 16 Sep 2016 21:52:56 GMT</pubDate>
      <dc:creator><![CDATA[Mark Weber - Premier Field Engineering SQL and SAP]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/markweberblog/?p=195</guid>
      <description><![CDATA[PCI DSS 3.2 and SQL Server  - Part 1
Terms Used in This Post

 	DMZ – Demilitarized zone often...]]></description>
      <content:encoded><![CDATA[PCI DSS 3.2 and SQL Server  - Part 1
<h1>Terms Used in This Post</h1>
<ul>
 	<li>DMZ – Demilitarized zone often referred to as a perimeter network</li>
 	<li>TLS – Transport Layer Security</li>
 	<li>SSL – Secure Sockets Layer</li>
 	<li>PAN – Primary Account Number</li>
 	<li>PIN – Personal Identification Number</li>
 	<li>EKM – Extensible Key Managment</li>
</ul>
<h1>Build &amp; Maintain Secure Networks &amp; Systems</h1>
<h2>Requirement 1: Install &amp; maintain firewall configuration to protect cardholder data.</h2>
SQL Servers do listen to networks for communication initiated by clients or other SQL Server systems.  It is important that SQL Servers receive traffic from systems that should communicate with them and that other traffic is blocked by firewall devices and software.

SQL Server’s lists of ports are fully documented at <a href="https://msdn.microsoft.com/en-us/library/cc646023.aspx">https://msdn.microsoft.com/en-us/library/cc646023.aspx</a>.  Please consult this document when formulating a plan to build secure networks so that only the appropriate ports have to be opened in the creation of the network architecture.

In general, follow the recommendations outlined in the Securing SQL Server article found at https://msdn.microsoft.com/en-us/library/bb283235.aspx

The list of items to meet this requirement include:
<ul>
 	<li>Only servers and clients that should communicate are allowed to communicate. Other systems should be blocked.</li>
</ul>
<p style="padding-left: 60px">o   Only the ports necessary to operate the SQL Server should be opened.</p>
<p style="padding-left: 60px">o   Firewall rules need to be approved and tested before being implemented.</p>
<p style="padding-left: 60px">o   Network diagrams should identify all connections between the PCI environment and other networks.</p>
<p style="padding-left: 60px">o   Identify and document all data flow from the PCI SQL Server to other systems and networks.</p>
<p style="padding-left: 60px">o   Firewalls should exist at each internet connection and between any DMZ an the internal network</p>
<p style="padding-left: 60px">o   All personnel who maintain network security for the SQL Server needs to be identified and their role for maintaining network security documented and tested.</p>
<p style="padding-left: 60px">o   Business justification for the use of services, protocols, &amp; ports should be documented.  If any of these items be deemed insecure but necessary to run the business, the risks associated with using them needs to be clearly documented.</p>
<p style="padding-left: 60px">o   Review firewall rules every 6 months.  Should rules need to be adjusted or updated, any documentation should be modified to reflect the adjustment.</p>
<p style="padding-left: 60px">o   Review and monitor operational logs for unauthorized access and respond immediately should unauthorized access take place.</p>

<ul>
 	<li>Restrict connections between the PCI data environment and untrusted networks.</li>
</ul>
<p style="padding-left: 60px">o   Deny all traffic that isn’t related to the processing of PCI data and only allow traffic that is necessary for data processing.</p>
<p style="padding-left: 60px">o   Secure any firewall configuration file so that unauthorized sources can’t examine the network configuration.</p>
<p style="padding-left: 60px">o   Synchronize configurations with what is running or active on router and firewall devices.  Sometimes configuration changes are made but are not actually implemented to run on the device.</p>
<p style="padding-left: 60px">o   Install perimeter firewalls between all wireless networks and the PCI data environment.</p>

<ul>
 	<li>Do not allow public access to the public internet for any system in the cardholder environment.</li>
</ul>
<p style="padding-left: 60px">o   Implement a DMZ to limit inbound traffic to only allow authorized services, protocols, and ports</p>
<p style="padding-left: 60px">o   Limit internet traffic to IP address inside the DMZ.</p>
<p style="padding-left: 60px">o   Implement anti-spoofing technology.</p>
<p style="padding-left: 60px">o   Outbound traffic from the PCI environment to the internet should be blocked</p>
<p style="padding-left: 60px">o   All components that store PCI data should be located internally and not in a DMZ or untrusted network.</p>
<p style="padding-left: 60px">o   Do not disclose private IP addresses or SQL Server port numbers.</p>
<p style="padding-left: 60px">o   Consider hiding the SQL Server instance from discovery via the SQL Browser service.  See https://msdn.microsoft.com/en-us/library/ms179327.aspx.</p>

<ul>
 	<li>Install firewall software on any portable computing device including employee, vendor, or company owned devices.</li>
 	<li>All security policies and standard operating procedures should be well documented and are available to all people who are responsible for designing and operating PCI systems.</li>
</ul>
&nbsp;
<h2>Requirement 2: Do not use vendor supplied defaults for system passwords and other security parameters</h2>
SQL Server is a very secure platform for storing and retrieving information.  However, SQL Server is only as secure as the accounts that have access the data are.  If a malicious actor is able to gain access via a jeopardized account, then that actor will be able to extract and misuse the data if that account has the correct privilege.  Password management and policies are important to providing a data storage environment.
<ul>
 	<li>Always change vendor supplied passwords and defaults.</li>
</ul>
<p style="padding-left: 60px">o   Consider renaming the sa account to something other than sa.  See <em>Disabling or Renaming the Built-in sa Account </em>in https://technet.microsoft.com/en-us/library/cc966485.aspx</p>
<p style="padding-left: 60px">o   Change the sa password often to something extremely complex.</p>
<p style="padding-left: 60px">o   If possible, disable the sa account and use Windows authentication if at all possible.</p>
<p style="padding-left: 60px">o   Review all vendor provided accounts to ensure they follow a password policy and that the password has been changed to something that is not the default service account.</p>
<p style="padding-left: 60px">o   For wireless environments connected to or transmitting PCI data, any vendor default must be changed</p>

<ul>
 	<li>Develop configuration standards for all components that make up the PCI system.</li>
</ul>
<p style="padding-left: 60px">o   Consider implementing well known secure industry configuration standards as part of your corporate standard.</p>
<p style="padding-left: 60px">o   Segregate functions between different services so that multiple services with mixed levels of security will not have to exist on the same infrastructure.</p>
<p style="padding-left: 60px">o   Enable only necessary services, protocols, and ports that are required to process PCI data.</p>
<p style="padding-left: 60px">o   Turn off any unnecessary services, scripts, or features to reduce the surface area.</p>
<p style="padding-left: 60px">o   Implement additional security features for any service, protocol, or port that is deemed insecure.</p>
<p style="padding-left: 60px">o   Configure security parameters to prevent misuse, either accidental or intentional.</p>

<ul>
 	<li>Encrypt all non-console communication using strong cryptography protocols</li>
</ul>
<p style="padding-left: 60px">o   SQL Server communication should not include TLS 1.0 or below.  TLS 1.2 is fully supported in SQL Server 2008 SP4 and greater.  Any SQL Server service older than SQL Server 2008 is now unsupported and TLS 1.2 support does not exist.  Please see <a href="https://blogs.msdn.microsoft.com/markweberblog/2015/12/01/sql-server-support-for-pci-dss-3-1/">https://blogs.msdn.microsoft.com/markweberblog/2015/12/01/sql-server-support-for-pci-dss-3-1/</a> for full details on the TLS 1.2 implementation for SQL Server.</p>
<p style="padding-left: 60px">o   Maintain an inventory of system components that are in scope for PCI compliance.</p>
<p style="padding-left: 60px">o   Security policies and procedures for managing all security parameters should be documented, used, and known by all parties who design and manage the PCI systems</p>
<p style="padding-left: 60px">o   Hosting providers that provide shared environments on the same infrastructure must protect each client’s PCI data and not allow for unsecure configurations which could allow one client’s data be exposed to another client.  An example of the might be something like using the same encryption key for multiple clients or allowing the same user to access both client’s data.</p>

<h1>Protect Cardholder Data</h1>
<h2>Requirement 3: Protect stored cardholder data</h2>
One of the most critical jobs of a database engine is to protect the data stored in the database.  Not only is access control important, but protecting the data in such a way that sensitive data is protected to prevent unauthorized access to the data while it is on disk is extremely important.   The PCI DSS standard provides a lot of guidance in this area.
<ul>
 	<li>Keep card holder data storage to a minimum by implementing data retention and disposal policies and procedures.</li>
</ul>
<p style="padding-left: 60px">o   Keep the data only as long as you need for business or legal requirements.   Many data breaches steal data from records that provide no business value.  By limiting the amount of data stored, should a data breach occur, the scope of the breach will be limited and exposure reduced.</p>
<p style="padding-left: 60px">o   Develop processes for data purges.  Test those processes and ensure they purge all non-essential data in a timely fashion.</p>
<p style="padding-left: 60px">o   PCI DSS requires a quarterly process to identify and purge data that exceeds the retention period defined by business or legal requirements.   All locations that can hold cardholder data must be considered n these processes.   This includes databases, database backups, log files, application files, and application logs.</p>

<ul>
 	<li>Do not store sensitive authentication data after authorization (even if encrypted). All data that performs payment card authentication can be full contents of any track (from the magnetic strip), cardholders name, expiration date, card validation codes, pins or other data that can be used to aid in the misuse of card data is prohibited in a PCI DSS compliant system.   All authentication procedures must be reviewed periodically and validated that no authentication data is being stored.  The only exception to the rule about storing authentication data is for card issuers.  Issuing services can store this data as long as they have a business justification and have validated systems that store that data securely.</li>
</ul>
<p style="padding-left: 60px">o   Ensure databases that must be PCI compliant do not store this data</p>
<p style="padding-left: 60px">o   Validate processes that handle this data do not store this data in log files, application files, or databases</p>

<ul>
 	<li>Mask the personal account number (PAN) with the following requirements</li>
</ul>
<p style="padding-left: 60px">o   The first 6 digits</p>
<p style="padding-left: 60px">o   The last 4 digits</p>
<p style="padding-left: 60px">o   Anyone with access to the unmasked data must have a business requirement to do so.</p>
<p style="padding-left: 60px">o   PANs must be masked for screen display, printed paper, and electronic transmission such as email or text messaging.</p>
<p style="padding-left: 60px">o   SQL Server’s dynamic masking feature aids in meeting this masking requirement.  Also application design using views can be utilized to mask data from people who should not have access to this data.</p>
<p style="padding-left: 60px">o   The PAN must be rendered unreadable anywhere it is stored.</p>

<ul>
 	<li>When storing the PAN in SQL Server, using column level encryption will meet this requirement. See <a href="https://msdn.microsoft.com/en-us/library/ms179331.aspx">https://msdn.microsoft.com/en-us/library/ms179331.aspx</a> for how to implement column level encryption.</li>
</ul>
<p style="padding-left: 60px">o   Document and implement procedures to protect keys used to secure stored cardholder data against disclosure and misuse</p>

<ul>
 	<li>Encryption keys and certificates used to encrypt data must be backed up and protected independently of the data. See <a href="https://msdn.microsoft.com/en-us/library/bb964742.aspx">https://msdn.microsoft.com/en-us/library/bb964742.aspx</a> for more details on how to protect encrypted columns and database in the event of recovery.</li>
 	<li>All keys should be stored independently of databases files and database backup files.</li>
 	<li>Access to keys and key backups should only be allowed to individuals who have a need for them.</li>
 	<li>Periodic key rotation policies should be followed.</li>
 	<li>If a key should become jeopardized, regenerate the encryption key immediately</li>
 	<li>Consider the use of an extensible key management solution (EKM) for key management. <a href="https://msdn.microsoft.com/en-us/library/bb895340.aspx">https://msdn.microsoft.com/en-us/library/bb895340.aspx</a></li>
</ul>
<p style="padding-left: 60px">o   Document the details of all cryptographic implementations: Include protocols, algorithms, and EKM solutions.  This detail is a best practice until January 31, 2018, but to be PCI compliant after that, this step is required.</p>
<p style="padding-left: 60px">o   One or more of the following must be used to store private keys used in PCI systems</p>

<ul>
 	<li>Protect private keys used with PCI data with key encrypting keys that are as strong or stronger than the key protecting the card hold data</li>
 	<li>Store in a secure cryptographic module such as a hardware security module</li>
 	<li>At least 2 full length key components or key shares.</li>
</ul>
<p style="padding-left: 60px">o   Keep keys in the fewest number of possible locations to reduce the risk of exposing keys.</p>
<p style="padding-left: 60px">o   All key management processes must be documented and validated</p>

<ul>
 	<li>Validate encryption algorithms and protocols used to encrypt data must meet strength requirements</li>
 	<li>Validate key distribution processes meet requirements</li>
 	<li>Validate encryption solutions store the keys securely with protections against unauthorized access.</li>
 	<li>Document and validate key expirations periods and key rotation practices are in use.</li>
 	<li>Document processes for the replacement of keys that are weak or compromised. Validate the processes are followed.  SQL Server keys can be regenerated as part of a rotation strategy.</li>
 	<li>Key management processes should not accept and use keys from unauthorized sources. Only authorized processes to generate and use keys should be accepted.</li>
</ul>
<p style="padding-left: 60px">o   Processes and policies that are in place to protected PCI data must be documented and used by all parties.  Any updates to these policies or processes must be known by all parties immediately when those changes are implemented.</p>
<span style="color: #333333;font-family: Times New Roman">While not called out specifically in the PCI specification, it is best practice to periodically test the procedures for managing encryption.  This includes</span>
<ul>
 	<li><span style="color: #333333;font-family: Times New Roman">Performing regular disaster recovery drills to test that the encryption management processes work.  </span></li>
 	<li><span style="color: #333333;font-family: Times New Roman">Document the name of the individuals performing the test along with any test output as validation that the testing was successful.</span></li>
</ul>
<h2>Requirement 4: Encrypt the transmission of cardholder data across open, public networks</h2>
<ul>
 	<li>Use strong cryptographic and security protocols for the transmission of PCI data across public networks.</li>
</ul>
<p style="padding-left: 60px">o   By June 30, 2018 all applications using SSL or early TLS versions must cease.</p>
<p style="padding-left: 60px">o   Before June 30, 2018 all applications using SSL or early TLS versions must have risk mitigation plans in place.</p>
<p style="padding-left: 60px">o   SQL Server now supports TLS 1.2 -  <a href="https://blogs.msdn.microsoft.com/markweberblog/2015/12/01/sql-server-support-for-pci-dss-3-1/">https://blogs.msdn.microsoft.com/markweberblog/2015/12/01/sql-server-support-for-pci-dss-3-1/</a></p>
<p style="padding-left: 60px">o   Use trusted keys from trusted sources</p>
<p style="padding-left: 60px">o   Use strong protocols and algorithms for keys.</p>

<ul>
 	<li>Do not send unencrypted PANs across using messaging technologies such as email.</li>
 	<li>Ensure all security policies and operational procedures related to the transmission of PCI data are documented and in use by all individuals who handle PCI data. Ensure updates policies or procedures become known by all individuals who handle PIC data</li>
</ul>
&nbsp;

&nbsp;
<h1><em>Completely Off Topic:</em></h1>
<strong>Obscure Item of History</strong>

John Tyler (B. March 29, 1790 D. January 18, 1862), the 10<sup>th</sup> president of the United States (April 4, 1841- March 4, 1845) has two grandsons that are still alive today.  John Tyler had a son when he was 63 years old.   Tyler’s son Lyon Gardiner Tyler (1853-1935) fathered children born in the 1920’s when he was over 70 years old.  Two of his sons, Harrison Ruffin Tyler and his brother Lyon Tyler are still living today making them living grandsons of a man who was president in the early 1840’s.

<a href="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg"><img width="231" height="231" class="alignnone size-full wp-image-175" alt="6470.GCpic" src="https://msdnshared.blob.core.windows.net/media/2016/09/6470.GCpic_.jpg" /></a>

Grant Carter is a Senior Premier Field Engineer for Microsoft based in Boise, Idaho.

Email: grant.carter@microsoft.com]]></content:encoded>
    </item>
    <item>
      <title>Group Managed Service Accounts (gMSA) and SQL Server 2016</title>
      <link>https://docs.microsoft.com/archive/blogs/markweberblog/group-managed-service-accounts-gmsa-and-sql-server-2016</link>
      <pubDate>Wed, 25 May 2016 01:28:56 GMT</pubDate>
      <dc:creator><![CDATA[Mark Weber - Premier Field Engineering SQL and SAP]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/markweberblog/?p=85</guid>
      <description><![CDATA[This updated post comes from another colleague of mine, Norm Eberly.  Norm is a dedicated Premier...]]></description>
      <content:encoded><![CDATA[<p style="padding-left: 60px"><span style="color: #333333;font-family: 'Segoe UI',sans-serif;font-size: 10.5pt">This updated post comes from another colleague of mine, <strong>Norm Eberly</strong>.  Norm is a dedicated Premier Field Engineer for Microsoft.  An overt anglophile and avid Alaskan angler, he lives near Seattle and has been working with SQL Server since 1994.  His experiences include database administration, external storage subsystems, consulting, and support engineering.  Norm’s expertise is in performance tuning, operational excellence, high availability, and functional business expertise.</span></p>
&nbsp;

By Norm Eberly

A major reason behind the development of Group Managed Service Accounts (gMSAs) for services such as SQL Server is that they remove the need to manage the service accounts with respect to the overhead of service account password management.

Managed Service Accounts (MSAs) are also designed to address these two issues. However, MSAs are limited to a single computer account – they cannot be used as the service account for a SQL Server failover clustered instance which can run across multiple Windows servers.

Group Managed Service Accounts extend MSA functionality to cover multiple servers.

See the following reference for a more detailed discussion about gMSAs: <a href="https://technet.microsoft.com/en-us/library/hh831782.aspx">https://technet.microsoft.com/en-us/library/hh831782.aspx</a>

A major pain point in environments with a large number of SQL Server instances deployed is managing the service accounts according to published best practice guidelines, especially when the service accounts are domain accounts:
<ul>
 	<li>Each service should be using a different service account (to prevent the compromise of all services using the same service account if one service account is compromised).</li>
 	<li>Each service account should have its passwords managed in accordance with domain account policies (changing every 90 days for example)</li>
</ul>
Imagine the administrative overhead of having to manage 1000 separate domain accounts and their passwords. While some of the tasks can be automated, there is still overhead and coordination to ensure passwords meet complexity requirements as well as usage history. A single PowerShell script would have to be able to connect remotely to all of the relevant servers in order to access the WMI service on each server to change the password’s for the services programmatically.

Under normal circumstances, it is not unusual for domain account service accounts and their passwords to be known by the service administrators, after all they are usually the people responsible for setting and maintaining them. And at some level having even administrators know these accounts and passwords may be considered a security vulnerability.

In response to the challenges with password management, many environments compromise by using a single domain account as the service account for all of their SQL Server instances. Many also take a different approach to password policy for service accounts (perhaps they allow the same password for 12 months rather than 90 days, etc.).

Group MSA’s address both of these:
<ol>
 	<li>By automating the process within Active Directory for the password management. Passwords are very complex and changed automatically as often as desired (by default every 30 days). The passwords are cryptographically random and 240 bytes long. In addition, they cannot be used to interactively logon. Nor can they be locked out.</li>
 	<li>There is also no longer a need to restart the SQL Server service after a service account password reset, which prevents downtime, etc.</li>
</ol>
&nbsp;

This is a step-by-step implementation of Group Managed Service Accounts (gMSAs) for use as the service account for SQL Server 2016.

This implementation is done using Windows Server 2012 Active Directory domain controllers (DCs), all servers running Windows Server 2012 or Windows Server 2012 R2, and SQL Server 2016 CTP 3.2.

Note that SQL Server 2014 and SQL Server 2016 both support the use of gMSAs on Windows Server 2012 R2 and later for standalone instances, failover clustered instances and availability groups.

See the following two Books Online references for more information:

SQL Server 2014; go <a href="https://msdn.microsoft.com/en-us/library/ms143504(v=sql.120).aspx">HERE </a>and see the section under Group Managed Service Accounts.

SQL Server 2016; go <a href="https://msdn.microsoft.com/en-us/library/ms143504(v=sql.130).aspx">HERE </a>and see the section under Managed Service Accounts, Group Managed Service Accounts, and Virtual Accounts.

The procedure provided in this post was also successfully accomplished with SQL Server 2014.

&nbsp;
<h1>Prerequisites</h1>
In order to utilize gMSA accounts, there must be at least one Windows Server 2012 (or R2) DC in the domain. There is no forest or domain functional level requirement.
<ul>
 	<li>If deploying a Windows Server 2012 R2 DC, be aware of the following hotfix that resolves a problem with connecting after a password change: <a href="https://support.microsoft.com/en-us/kb/2998082">https://support.microsoft.com/en-us/kb/2998082</a></li>
 	<li>There are more details on prerequisites located here: <a href="https://technet.microsoft.com/en-us/library/jj128431.aspx#BKMK_gMSA_Req">https://technet.microsoft.com/en-us/library/jj128431.aspx#BKMK_gMSA_Req</a></li>
</ul>
The Key Distribution Services (KDS) Root Key needs to be created before a gMSA can be created. This is done via a PowerShell command and requires Domain Administrator or Enterprise Administrator level privileges.
<ul>
 	<li>See <a href="https://technet.microsoft.com/en-us/library/jj128430.aspx">https://technet.microsoft.com/en-us/library/jj128430.aspx</a> for details and steps</li>
 	<li>Note that there is a 10 hour lag between the time the KDS root key is created and the time a gMSA can be created. This is to allow full replication between the Windows Server 2012 DC’s in order to allow password retrieval to work as necessary.</li>
 	<li>There are steps at the above reference to allow the use of the root key immediately for testing purposes.</li>
 	<li>This requires a 64-bit environment, but only has to be done on one Windows Server 2012 R2 DC.</li>
</ul>
<h1></h1>
&nbsp;
<h1>gMSA Implementation for SQL Server 2016</h1>
This section was developed using the steps outlined in the following blog post: <a href="https://blogs.technet.com/b/askpfeplat/archive/2012/12/17/windows-server-2012-group-managed-service-accounts.aspx">https://blogs.technet.com/b/askpfeplat/archive/2012/12/17/windows-server-2012-group-managed-service-accounts.aspx</a>

It was not necessary to accomplish every step in the blog post and this section discusses these areas where necessary.

&nbsp;
<h2>1. Create a Global Security Group in Active Directory Users and Computers.</h2>
<ul>
 	<li>This step is actually optional, but it allows for easier management of the necessary rights required to use the gMSA for the member servers.</li>
 	<li>Note also that there will be a reboot requirement for the member servers added to this Security Group.</li>
</ul>
In Active Directory Users and Computers, under the domain where the gMSA is to be created, right click on Computers, New and Group. This will open the New Object – Group dialog:

<a href="https://msdnshared.blob.core.windows.net/media/2016/05/NewObjectGroup-2.jpg"><img width="300" height="228" class=" size-medium wp-image-145 alignleft" alt="NewObjectGroup 2" src="https://msdnshared.blob.core.windows.net/media/2016/05/NewObjectGroup-2-300x228.jpg" /></a>

&nbsp;

&nbsp;
<ul>
 	<li>Enter a Group Name, Group scope should be Global and Group type is Security. In this demo, we will use SQLServers</li>
 	<li>Open the newly created Security Group by double clicking on it and go to the Members tab. Or right click on the Security Group and go to Properties then the Members tab.</li>
</ul>
<strong><em>{Note - Click on Images to Expand}</em></strong>

&nbsp;

&nbsp;

&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2016/05/UsersAndComputers-2.jpg"><img width="300" height="248" class=" size-medium wp-image-135 alignleft" alt="UsersAndComputers 2" src="https://msdnshared.blob.core.windows.net/media/2016/05/UsersAndComputers-2-300x248.jpg" />
</a>

&nbsp;
<ul>
 	<li>Click Add and add the domain member servers that will be hosting the SQL Server instances that will be using the gMSA. In this demo, I added all of the member servers that will be running SQL Server:</li>
</ul>
Note that these servers will require a reboot in order for their tokens to pick up membership in the group.

This group will be given specific rights to its members that will allow the member servers to retrieve the gMSA password.

&nbsp;

&nbsp;
<h2></h2>
<h2>2. Create the gMSA account</h2>
<ul>
 	<li>This must be done with a PowerShell script in a PowerShell session that also has the Windows Server 2012 AD cmdlets available (it does not need to be done on a DC). See <a href="https://technet.microsoft.com/en-us/library/dd378937(v=ws.10).aspx">https://technet.microsoft.com/en-us/library/dd378937(v=ws.10).aspx</a> for guidance on installing the AD Powershell module.</li>
 	<li>The command that creates the gMSA will also grant the right to retrieve the accounts password to the members of the Security Group created earlier</li>
 	<li>This is the PowerShell command used:</li>
</ul>
<p style="padding-left: 60px"><strong>New-ADServiceAccount -name gMSAsqlservice -DNSHostName gMSAsqlservice.contoso.com -PrincipalsAllowedToRetrieveManagedPassword SQLServers</strong></p>
&nbsp;
<h2>3. Configure and validate the gMSA service account on the member servers.</h2>
<ul>
 	<li>This is a step that might not need to be done: the accounts may already be configured on the member servers when they were rebooted. However, the steps are quite quick and the validation of the account should be considered necessary. These commands also require the AD module for Powershell.</li>
 	<li>To configure the gMSA account, run the following PowerShell command on the member server: <strong>Install-ADServiceAccount gMSAsqlservice</strong></li>
 	<li>To validate the gMSA account, run the following PowerShell command on the member server: <strong>Test-ADServiceAccount gMSAsqlservice</strong>
<ul>
 	<li>This should return True.</li>
</ul>
</li>
</ul>
<h2></h2>
<h2>4. Configure SQL Server to use the gMSA service account</h2>
<ul>
 	<li>Start SQL Server Configuration Manager</li>
 	<li>Under SQL Server Services, right click the instance of SQL Server you want to assign the service account to and go to Properties</li>
 	<li>In Log On tab, choose “This account”.</li>
 	<li>In Account Name enter the domain account and include a “$” after the gMSA name:
<ul>
 	<li>contoso\gMSAsqlservice$</li>
 	<li>The “$” may automatically be added for you.</li>
 	<li>Do not enter a Password, it will be retrieved automatically from AD.</li>
</ul>
</li>
 	<li>Start or Restart the SQL Server service</li>
</ul>
&nbsp;

&nbsp;
<h1>Using gMSA accounts during SQL Server 2016 installation</h1>
We can also designate the gMSA account during the SQL Server 2016 setup process. Just enter the domain account, in our example contoso\gMSAsqlservice$, as the Account Name on the Service Accounts page of the setup process. The setup process does not prompt for a password as it checks with Active Directory for the correct authentication, etc. and setup completes as expected.
<h1></h1>
<h1>Returning to Non-gMSA Service Accounts</h1>
To return to using non-gMSA service accounts, just use the SQL Server Configuration Manager to set the new service account and password. A SQL Server service restart will be required.

&nbsp;
<h1>Summary</h1>
With the release of SQL Server 2016, SQL Server service account management becomes much easier with Group Managed Service Accounts. Gone are the tedious planning and implementation phases of changing accounts and/or passwords, requiring SQL Server service restarts and then troubleshooting when things go wrong.

If your goal is to reduce management and administrative overhead while at the same time reducing security vulnerability, MSA and gMSA service accounts might well be worth the modest effort of implementation.

&nbsp;
<h2></h2>
<h2><em>Completely Off Topic</em></h2>
<a href="https://msdnshared.blob.core.windows.net/media/2016/05/HazelCoppice.jpg"><img width="225" height="300" class=" size-medium wp-image-95 alignleft" alt="HazelCoppice" src="https://msdnshared.blob.core.windows.net/media/2016/05/HazelCoppice-225x300.jpg" /></a>"Coppice" is a word that describes a growth of trees or shrubs that have been cut back periodically to stimulate growth and to harvest wood. Coppice is also used to describe the act of this periodic cutting. Coppicing continues to be practiced in many parts of the world for both gardening and commercial purposes.

<a href="https://www.bing.com/images/search?q=coppiced+woodlands&amp;FORM=HDRSC2">View some coppiced woodlands</a>

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>SQL Server Support for PCI DSS 3.1</title>
      <link>https://docs.microsoft.com/archive/blogs/markweberblog/sql-server-support-for-pci-dss-3-1</link>
      <pubDate>Tue, 01 Dec 2015 16:13:00 GMT</pubDate>
      <dc:creator><![CDATA[Mark Weber - Premier Field Engineering SQL and SAP]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/markweberblog/2015/12/01/sql-server-support-for-pci-dss-3-1/</guid>
      <description><![CDATA[Here is another post from Grant Carter.
&nbsp;
The Payment Card Industry Data Security Standard...]]></description>
      <content:encoded><![CDATA[<p>Here is another post from Grant Carter.</p>
<p>&nbsp;</p>
<p>The Payment Card Industry Data Security Standard (PCI DSS) was created to describe and enforce data standards and processes for the secure processing of payment cards.&nbsp; PCI DSS provides technical requirements for protecting data used in card payments.&nbsp; PCI DSS 3.1 is the most recent revision of this industry standard.&nbsp; The standard for this revision can be located at https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-1.pdf</p>
<p>&nbsp;</p>
<p>TLS or Transport Layer Security (<a href="https://en.wikipedia.org/wiki/Transport_Layer_Security">https://en.wikipedia.org/wiki/Transport_Layer_Security</a>) are cryptographic protocols that allow computer communications over a network to remain secure.&nbsp; As of February 2016, TLS 1.2 is the most recent production use of this protocol and is considered currently the most secure.</p>
<p>&nbsp;</p>
<p>The PCI DSS 3.1 standard requires that the use of strong cryptography protocols must be used.&nbsp; SSL and TLS versions 1.0 and 1.1 are not considered strong cryptography and can no longer be used after June 30, 2016 in systems that must meet PCI DSS 3.1 standards.&nbsp; TLS 1.2 becomes the de facto standard to achieve PCI DSS 3.1 compliance.</p>
<p>&nbsp;</p>
<p>Microsoft SQL Server supported the TLS 1.0 protocol until the SQL Server 2012 Service Pack 2 Cumulative Update 6 or SQL Server 2014 Service Pack 1 Cumulative Update 1 updates.&nbsp; Please note there is a known issue in CU1 release of SQL 2014 that is scheduled to be fixed in February 2016.&nbsp; In January 2016, support for TLS 1.2 was added to SQL Server 2008R2 and SQL Server 2008 via a hotfix documented at <a href="https://support.microsoft.com/en-us/kb/3135244">https://support.microsoft.com/en-us/kb/3135244</a>. &nbsp;&nbsp; Support for TLS 1.2 will not be backported to SQL Server 2005, 2008, or 2008R2.</p>
<p>&nbsp;</p>
<p>The key to making TLS 1.2 work, is that both the server and the client have to be patched to a level that will allow both to communicate using the TLS 1.2 protocol.&nbsp;&nbsp; If either side of the conversation isn't properly patched, then the communication will fail and connecting and communicating with SQL Server from a client machine will not work. &nbsp;This article describes how to get TLS 1.2 working with SQL Server, SQL Native Client, and SQL Server Management Studio.</p>
<p>&nbsp;</p>
<p>TLS 1.2 is supported in the following Operating Systems (<a href="https://blogs.msdn.com/b/kaushal/archive/2011/10/02/support-for-ssl-tls-protocols-on-windows.aspx">https://blogs.msdn.com/b/kaushal/archive/2011/10/02/support-for-ssl-tls-protocols-on-windows.aspx</a>)</p>
<ul>
<li>Windows 7</li>
<li>Windows 8</li>
<li>Windows 8.1</li>
<li>Windows 10</li>
<li>Windows Server 2008R2</li>
<li>Windows Server 2012</li>
<li>Windows Server 2012R2</li>
</ul>
<p>&nbsp;</p>
<p>SQL Server Supports TLS 1.2 in the following versions (https://support.microsoft.com/en-us/kb/3052404)</p>
<ul>
<li>SQL Server 2012 Service Pack 2 Cumulative Update 6 or greater -&nbsp; <a href="https://support.microsoft.com/en-us/kb/3052468">https://support.microsoft.com/en-us/kb/3052468</a></li>
<li>SQL Server 2014 Service Pack 1 Cumulative Update 1 or greater - <a href="https://support.microsoft.com/en-us/kb/3067839">https://support.microsoft.com/en-us/kb/3067839</a></li>
<ul>
<li><span style="color: black; line-height: 107%; font-family: 'Calibri',sans-serif; font-size: 11pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">(If using AlwaysOn or DB Mirroring, check out </span><span style="line-height: 107%; font-family: 'Calibri',sans-serif; font-size: 11pt; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi;"><a href="https://support.microsoft.com/en-us/kb/3135852"><span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;">https://support.microsoft.com/en-us/kb/3135852</span></a></span><span style="color: black; line-height: 107%; font-family: 'Calibri',sans-serif; font-size: 11pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">) </span></li>
</ul>
<li>SQL Server 2014 RTM Cumulative Update 8 or greater - <a href="https://support.microsoft.com/en-us/kb/3067836">https://support.microsoft.com/en-us/kb/3067836</a></li>
</ul>
<p>&nbsp;</p>
<p>SQL Server Native Access Client (SNAC) and SQL Server Management Studio .Net updates are located at:</p>
<ul>
<li>.Net 4.6 for SSMS to work with TLS 1.2 - <a href="https://www.microsoft.com/en-us/download/details.aspx?id=48130">https://www.microsoft.com/en-us/download/details.aspx?id=48130</a></li>
<li>.Net Framework 4.5.2 rollup</li>
<ul>
<li>Hotfix rollup 3099845 for the .NET Framework 4.5.2, 4.5.1, and 4.5</li>
<li><a href="https://support.microsoft.com/en-us/kb/3099844" target="_self">Hotfix rollup 3099844 for the .NET Framework 4.5.2, 4.5.1, and 4.5 on Windows</a></li>
<li><a href="https://support.microsoft.com/en-us/kb/3099842" target="_self">Hotfix rollup 3099842 for the .NET Framework 4.5.2 and the .NET Framework 4.5.1 on Windows</a></li>
</ul>
<li>ADO.net &ndash; SQL Client (.Net framework 4.0) - <a href="https://support.microsoft.com/en-us/kb/3106994" target="_self">Hotfix rollup 3106994 for the .NET Framework 4.0 in Windows</a></li>
<li>ADO.net &ndash; SQLClient (.Net framework 3.5/.Net Framework 2.0SP2)</li>
<ul>
<li><a href="https://support.microsoft.com/en-us/kb/3106990" target="_self">Hotfix rollup 3106990 for the .NET Framework 2.0 SP2 in Windows Server 2008 SP2 and Windows Vista SP2</a></li>
<li>Hotfix rollup 3106991 for the .NET Framework 2.0 SP2 in Windows Server 2008 R2 SP1 and Windows 7 SP1</li>
<li>Hotfix rollup 3106992 for the .NET Framework 2.0 SP2 on Windows Server 2012 and Windows 8</li>
<li><a href="https://support.microsoft.com/en-us/kb/3106993" target="_self">Hotfix rollup 3106993 for the .NET Framework 2.0 SP2 in Windows Server 2012 R2 and Windows 8.1</a></li>
</ul>
<li>SQL Server 2012 SP2 CU6 SNAC update - <a href="https://support.microsoft.com/en-us/kb/3052468">https://support.microsoft.com/en-us/kb/3052468</a></li>
<li>SQL Server 2014 SP1 CU1 SNAC update - <a href="https://support.microsoft.com/en-us/kb/3067839">https://support.microsoft.com/en-us/kb/3067839</a></li>
<li>SQL Server 2014 RTM Cumulative Update 8 SNAC update - <a href="https://support.microsoft.com/en-us/kb/3067836">https://support.microsoft.com/en-us/kb/3067836</a></li>
<li>Microsoft ODBC Driver for SQL Server - <a href="https://www.microsoft.com/en-us/download/details.aspx?id=36434">https://www.microsoft.com/en-us/download/details.aspx?id=36434</a></li>
<li>JDBC 6.0, 4.1, and 4.2 - <a href="https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;id=11774">https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;id=11774</a></li>
</ul>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;">Steps To Get SQL Server Encryption Working:</span></strong></p>
<p style="padding-left: 30px;">Follow the steps outlined at <a href="https://msdn.microsoft.com/en-us/library/ms191192(v=sql.110).aspx">https://msdn.microsoft.com/en-us/library/ms191192(v=sql.110).aspx</a> to enable encryption on the SQL Server.</p>
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong>Steps to Get TLS 1.2 working with SQL Server</strong></span></p>
<p><strong><span style="font-size: small;">On The Server Side:</span></strong></p>
<p>Apply one of the following cumulative updates.</p>
<ol>
<li>SQL Server 2012 Service Pack 2 Cumulative Update 6 or greater -&nbsp; <a href="https://support.microsoft.com/en-us/kb/3052468">https://support.microsoft.com/en-us/kb/3052468</a></li>
<li>SQL Server 2014 Service Pack 1 Cumulative Update 1 or greater - <a href="https://support.microsoft.com/en-us/kb/3067839">https://support.microsoft.com/en-us/kb/3067839</a></li>
<li>SQL Server 2014 RTM Cumulative Update 8 or greater - <a href="https://support.microsoft.com/en-us/kb/3067836">https://support.microsoft.com/en-us/kb/3067836</a></li>
</ol>
<p>&nbsp;</p>
<p><strong><span style="font-size: small;">Steps to Disable TLS 1.0, TLS 1.1, SSL 2.0, and SSL 3.0&nbsp;</span></strong> <strong>(Optional Step.&nbsp; Complete to comply with PCI DSS 3.1 most strictly)</strong></p>
<p>The PCI DSS 3.1 standard states that use of all SSL and early TLS protocols must be discontinued by June 30, 2016.&nbsp;&nbsp; This step will disable those protocols on the Server and ensure that communication to the server must be done using TLS 1.2.&nbsp;</p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;">NOTE WELL</span><span style="text-decoration: underline;">: Doing this will break communication with all clients that haven&rsquo;t been patched to support TLS 1.2.&nbsp;&nbsp; Implementing this could cause issues with connectivity with those clients.&nbsp; Please be aware of this before disabling these protocols.</span></strong></p>
<p>&nbsp;</p>
<p><strong>Test very thoroughly in a non-production environment before production deployment.&nbsp;</strong></p>
<p>Please check with any third party driver provider to ensure that their drivers will support the TLS 1.2 standard before implementing.</p>
<p>&nbsp;</p>
<ol>
<li>Because making registry changes involves risk, it is important that before making any changes to your registry as outlined in the KBs in the following step, please make sure you back up your registry by following the procedure outlined at <a href="https://support.microsoft.com/en-us/kb/322756">https://support.microsoft.com/en-us/kb/322756</a>.&nbsp;</li>
<li>Follow the following KB articles for instructions on how to disable certain cryptographic algorithms.&nbsp; <a href="https://support.microsoft.com/en-us/kb/245030">https://support.microsoft.com/en-us/kb/245030</a> or <a href="https://support.microsoft.com/en-us/kb/187498">https://support.microsoft.com/en-us/kb/187498</a></li>
<li>Reboot the server once the registry changes have been made.&nbsp; All SQL clients that do not have the TLS 1.2 updates will not be able to connect to the server.</li>
<li>If encrypted communications have been enforced on the server, then SQL Server management studio will not work until a .net 4.6 upgrade is deployed to the server.&nbsp; You will have to stop SQL Server and SQL Agent while you install the framework.&nbsp; To Make SSMS use TLS 1.2, you need to install .net framework 4.6 on the client<br />machine which can be obtained from the following link.&nbsp; <a href="https://www.microsoft.com/en-us/download/details.aspx?id=48130">https://www.microsoft.com/en-us/download/details.aspx?id=48130</a></li>
</ol>
<p>&nbsp;</p>
<p><strong><span style="font-size: small;">On The Client Side</span></strong></p>
<ol>Patch SQL Native client to one of the following versions:
<li>SQL Server 2012 Service Pack 2 Cumulative Update 6 or greater -&nbsp; <a href="https://support.microsoft.com/en-us/kb/3052468">https://support.microsoft.com/en-us/kb/3052468</a></li>
<li>SQL Server 2014 Service Pack 1 Cumulative Update 1 or greater - <a href="https://support.microsoft.com/en-us/kb/3067839">https://support.microsoft.com/en-us/kb/3067839</a></li>
<li>SQL Server 2008R2 SP3 Hotfix (10.50.6537) - <a href="https://support.microsoft.com/en-us/hotfix/kbhotfix?kbnum=3098860&amp;kbln=en-us">https://support.microsoft.com/en-us/hotfix/kbhotfix?kbnum=3098860&amp;kbln=en-us</a></li>
<li>SQL Server 2008 SP4 (10.00.6543) - <a href="https://support.microsoft.com/en-us/hotfix/kbhotfix?kbnum=3098860&amp;kbln=en-us">https://support.microsoft.com/en-us/hotfix/kbhotfix?kbnum=3098860&amp;kbln=en-us</a></li>
</ol>
<p style="padding-left: 30px;">&nbsp;</p>
<p>&nbsp;NOTE: The tools that use the native client or ODBC should use TLS 1.2 once the previous step is completed, however, SQL Server Management Studio (SSMS) will not use TLS 1.2 even if the SQL Native Client is patched.&nbsp; Network traces will show it still using TLS 1.0.&nbsp; To Make SSMS use TLS 1.2, you need to install .net framework 4.6 on the client machine which can be obtained from the following link: <a href="https://www.microsoft.com/en-us/download/details.aspx?id=48130">https://www.microsoft.com/en-us/download/details.aspx?id=48130</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1><em>Completely Off Topic:</em></h1>
<p><strong>Obscure Item of History</strong></p>
<p>On December 8, 1941, President Franklin Roosevelt delivered his famous &ldquo;Infamy&rdquo; speech in the Capitol Building in Washington.&nbsp; The Secret Service was concerned about an assassination attempt on his life.&nbsp; They chose to drive him to the capitol in a 1928 Cadillac 341A Town Sedan originally owned by Al Capone because it had been heavily armored by the gangster.&nbsp;&nbsp; Source: <a href="https://en.wikipedia.org/wiki/Presidential_state_car_%28United_States%29">https://en.wikipedia.org/wiki/Presidential_state_car_%28United_States%29</a></p>
<p>&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/50/41/6470.GCpic.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-41/6470.GCpic.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/50/41/6470.GCpic.jpg" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x550/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-41/6470.GCpic.jpg" alt="" border="0" /></a><br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />Grant Carter is a Senior Premier Field Engineer for Microsoft based in Boise, Idaho.&nbsp; Grant has been working with SQL Server since SQL Server 2000.&nbsp;</p>
<p>EMail: <a href="mailto:Grant.Carter@microsoft.com">Grant.Carter@microsoft.com</a></p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>