<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Paul Arquette</title>
	<atom:link href="https://paularquette.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://paularquette.com</link>
	<description>Write-Verbose -Message &#34;Verbose Output Enabled&#34;</description>
	<lastBuildDate>Sat, 31 May 2025 03:52:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>
	<item>
		<title>Stepping up your homelab setup with an e-mail relay using Mailgun</title>
		<link>https://paularquette.com/stepping-up-your-homelab-setup-with-an-e-mail-relay-using-mailgun/</link>
		
		<dc:creator><![CDATA[paularquette]]></dc:creator>
		<pubDate>Sat, 31 May 2025 02:57:35 +0000</pubDate>
				<category><![CDATA[HomeLab]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[homelab]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://paularquette.com/?p=1012</guid>

					<description><![CDATA[The homelab starts to get real when you can setup an e-mail relay so you can get the same kind of notifications that you get in your work QA or Prod environments. There are many ways to go about setting up an e-mail relay but this is the process I used and it is working [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>The homelab starts to get real when you can setup an e-mail relay so you can get the same kind of notifications that you get in your work QA or Prod environments.</p>



<p>There are many ways to go about setting up an e-mail relay but this is the process I used and it is working well for me.  The only cost that I&#8217;m out was the cost of a domain that I already had and was paying for.</p>



<p>The first step is to setup an account with <a href="https://www.mailgun.com/" data-type="link" data-id="https://www.mailgun.com/">mailgun</a>, I chose the free plan which allows you to send up to 100 e-mails a day (more than enough for my homelab) and I believe it only lets you send to five verified e-mail addresses (Again, more than enough for my homelab).  The setup of the account and the configuration of pulling your own domain in is very straight forward I&#8217;m not going to go into that here.</p>



<p>However, the next step is to bring up an actual relay server, which I was not familiar with and wanted to blog about.  I&#8217;m using Ubuntu 24.04 LTS and utilizing postfix to do this.</p>



<h2 class="wp-block-heading">Install Ubuntu 24.04 LTS</h2>



<p>I did a default install of Ubuntu 24.04 LTS, choosing all the default options and not choosing any additional add ons.</p>



<p>You can then install postfix</p>



<pre class="wp-block-code"><code>sudo apt install postfix</code></pre>



<p>When prompted choose &#8220;Internet Site&#8221; which is the default</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="731" height="534" src="https://paularquette.com/wp-content/uploads/2025/05/image-5.png" alt="" class="wp-image-1013" srcset="https://paularquette.com/wp-content/uploads/2025/05/image-5.png 731w, https://paularquette.com/wp-content/uploads/2025/05/image-5-300x219.png 300w, https://paularquette.com/wp-content/uploads/2025/05/image-5-624x456.png 624w" sizes="(max-width: 731px) 100vw, 731px" /></figure>



<p></p>



<p>You can then input the fully qualified domain name of the name you plan to send e-mail as</p>



<figure class="wp-block-image size-full"><img decoding="async" width="565" height="275" src="https://paularquette.com/wp-content/uploads/2025/05/image-6.png" alt="" class="wp-image-1014" srcset="https://paularquette.com/wp-content/uploads/2025/05/image-6.png 565w, https://paularquette.com/wp-content/uploads/2025/05/image-6-300x146.png 300w" sizes="(max-width: 565px) 100vw, 565px" /></figure>



<p></p>



<p>I then added the following to the /etc/postfix/main.cf configuration file</p>



<p>Underneath <strong>smtp_tls_session_cache_database</strong> add the following line</p>



<pre class="wp-block-code"><code>smtp_tls_note_starttls_offer = yes</code></pre>



<p>Change the <strong>myhostname =</strong> to be your hostname that is fully qualified and able to be looked up by your local DNS server</p>



<p>Change <strong>mydestination</strong> to equal &#8220;localhost.localdomain, localhost&#8221;</p>



<p>Change <strong>relayhost </strong>to be what was provided by mailgun it will probably be similiar to: <strong>smtp.mailgun.org:587</strong></p>



<p>Underneath <strong>relayhost </strong>add the following lines (change the e-mail to be what you will be sending e-mail from in Mailgun, could be postmaster@mg.yourdomain.com for example, after the : is your password for that account that was setup in mailgun).</p>



<pre class="wp-block-code"><code>smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:no-reply@mg.XXXXXlab.com:PASSWORD
smtp_sasl_security_options = noanonymous</code></pre>



<p>Change <strong>mynetworks</strong> to equal the home network that you will be sending e-mail to the relay from (ex. 192.168.0.0/24)</p>



<p>You can now restart postfix with: <strong>sudo systemctl restart postfix</strong></p>



<p>If you would like to view a sample main.cf file on my github located here: <a href="https://github.com/paularquette/HomeLabProjects/blob/main/ubuntu-postfix/main.cf">https://github.com/paularquette/HomeLabProjects/blob/main/ubuntu-postfix/main.cf</a></p>



<p>You can then send all e-mails to your relay server that your local DNS knows it by (relay.domainname.com) on port 25, and your relay will server will send them out to mailgun to have them delivered.  </p>



<p><strong>Note: You will have to setup the e-mail addresses you want to be able to send to in Mailgun, and accept the invite so mailgun will actually deliver the e-mail.  Your first e-mail may show up as spam but I&#8217;ve had no issues after making the e-mail sender as not spam.</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bringing up a new Active Directory Domain Series (Server 2022) [Part 1]</title>
		<link>https://paularquette.com/bringing-up-a-new-active-directory-domain-series-server-2022-part-1/</link>
		
		<dc:creator><![CDATA[paularquette]]></dc:creator>
		<pubDate>Sun, 25 May 2025 23:02:08 +0000</pubDate>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[IT Security]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Windows Firewall]]></category>
		<category><![CDATA[Windows Server]]></category>
		<guid isPermaLink="false">https://paularquette.com/?p=974</guid>

					<description><![CDATA[Change ms-DS-MachineAccountQuota to Zero This attribute allows all users in the Domain to bind 10 computer objects to the Domain that they control. This could actually lead to more than 10 computer objects since every computer object is also technically a user. Best practices is to disable this setting and set it to Zero. You [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Change ms-DS-MachineAccountQuota to Zero</h2>



<p>This attribute allows all users in the Domain to bind 10 computer objects to the Domain that they control.  This could actually lead to more than 10 computer objects since every computer object is also technically a user.  Best practices is to disable this setting and set it to Zero.</p>



<p>You can run the following command to see if your domain is currently configured as default of 10 objects:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Get-ADObject -Identity ((Get-ADDomain).distinguishedName) -Properties ms-DS-MachineAccountQuota<br></p>
</blockquote>



<figure class="wp-block-image size-full"><img decoding="async" width="552" height="193" src="https://paularquette.com/wp-content/uploads/2025/05/image.png" alt="" class="wp-image-982" srcset="https://paularquette.com/wp-content/uploads/2025/05/image.png 552w, https://paularquette.com/wp-content/uploads/2025/05/image-300x105.png 300w" sizes="(max-width: 552px) 100vw, 552px" /></figure>



<p>If you are currently set to 10 and want to fall in line with best practices you can run the following command to change this attribute to Zero:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Set-ADDomain -Identity ((Get-ADDomain).distinguishedName) -Replace @{&#8220;ms-DS-MachineAccountQuota&#8221;=&#8221;0&#8221;}</p>
</blockquote>



<p>You will not be provided any feedback, you can then run the first command again to verify things are set to Zero.</p>



<h2 class="wp-block-heading">Enable Recycle Bin</h2>



<p>To enable the Recycle Bin you can run the following command (Replace DOMAIN.COM and make sure quotes copy):</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Enable-ADOptionalFeature -Identity &#8220;CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=<strong>DOMAIN</strong>,DC=<strong>COM</strong>&#8221; -Scope ForestOrConfigurationSet -Target <strong>&#8220;DOMAIN.COM</strong>&#8220;</p>
</blockquote>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="878" height="196" src="https://paularquette.com/wp-content/uploads/2025/05/image-2.png" alt="" class="wp-image-994" srcset="https://paularquette.com/wp-content/uploads/2025/05/image-2.png 878w, https://paularquette.com/wp-content/uploads/2025/05/image-2-300x67.png 300w, https://paularquette.com/wp-content/uploads/2025/05/image-2-768x171.png 768w, https://paularquette.com/wp-content/uploads/2025/05/image-2-624x139.png 624w" sizes="auto, (max-width: 878px) 100vw, 878px" /></figure>



<h2 class="wp-block-heading">Create Key for gMSA Accounts</h2>



<p>When you bring up a new domain you will need to create the KDSRootKey for group managed service accounts.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Add-KdsRootKey -EffectiveImmediately</p>
</blockquote>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="545" height="113" src="https://paularquette.com/wp-content/uploads/2025/05/image-3.png" alt="" class="wp-image-997" srcset="https://paularquette.com/wp-content/uploads/2025/05/image-3.png 545w, https://paularquette.com/wp-content/uploads/2025/05/image-3-300x62.png 300w" sizes="auto, (max-width: 545px) 100vw, 545px" /></figure>



<p></p>



<figure class="wp-block-pullquote"><blockquote><p>KDS root keys are stored in: CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=&lt;forest name&gt;;</p></blockquote></figure>



<h2 class="wp-block-heading">Enable Central Store in Group Policy</h2>



<p>Create the &#8220;PolicyDefinitions&#8221; folder in SYSVOL</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="711" height="477" src="https://paularquette.com/wp-content/uploads/2025/05/image-4.png" alt="" class="wp-image-1000" srcset="https://paularquette.com/wp-content/uploads/2025/05/image-4.png 711w, https://paularquette.com/wp-content/uploads/2025/05/image-4-300x201.png 300w, https://paularquette.com/wp-content/uploads/2025/05/image-4-624x419.png 624w" sizes="auto, (max-width: 711px) 100vw, 711px" /></figure>



<p><strong><em>Once enabled, copy the files from C:\Windows\PolicyDefinitions into this folder</em></strong></p>



<h2 class="wp-block-heading">Install &amp; Configure LAPS</h2>



<p>You can verify you have the AD Schema updated for LAPS by running:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Update-LapsADSchema</p>
</blockquote>



<p>You can verify that the LAPS GPOs are in <strong>Computer Configuration &gt; Administrative Templates &gt; System &gt; LAPS</strong></p>



<h2 class="wp-block-heading">Create Group Policy Security Baseline for Domain Controllers</h2>



<p>Download the Windows Server 2022 Security Baseline from Microsoft: <a href="https://www.microsoft.com/en-us/download/details.aspx?id=55319">https://www.microsoft.com/en-us/download/details.aspx?id=55319</a></p>



<p>Copy these files to a Domain Controller for example in C:\Temp</p>



<p>Copy the files from \Templates directory into the PolicyDefinitions folder in SYSVOL</p>



<p>In the \Scripts directory run the .\Baseline-ADImport.ps1 file to import the GPOs</p>



<p>Modify the firewall rules to enforce only the rules you specify:</p>



<ol class="wp-block-list">
<li>Turn off Rule Merging for all profiles</li>



<li>Turn on firewall log with max size 32,767 for all profiles</li>



<li>Log dropped and successful packets for all profiles</li>



<li>Input Firewall Rules
<ul class="wp-block-list">
<li>ICMP (Ping Allow)</li>



<li>TCP/UDP 53 (DNS)</li>



<li>TCP/UDP 88 (Kerberos)</li>



<li>UDP 123 (Time Service)</li>



<li>TCP/UDP 135 (RPC Mapper)</li>



<li>TCP/UDP 389 (LDAP)</li>



<li>TCP 445 (SMB)</li>



<li>TCP/UDP 464 (Kerberos Password Change)</li>



<li>TCP 636 (LDAPS)</li>



<li>TCP 3268/3269 (Global Catalog)</li>



<li>TCP 49152-65535 (RPC Dynamic Range) [Will modify this later]</li>



<li>TCP/UDP 3389 (RDP) [Locked to Trusted IPs]</li>



<li>TCP 5985/5986 (WinRM) [Locked to Trusted IPs] </li>



<li>TCP 9389 (AD Web Services) [Locked to Trusted IPs]</li>
</ul>
</li>
</ol>



<p>Manually create the firewall logs on the DCs by launching Windows Defender Firewall, Go to the Log Settings and click &#8220;OK&#8221;</p>



<h2 class="wp-block-heading">Create Another GPO or Add These Settings to the Current GPO</h2>



<p>Navigate to <strong>Computer Configuration > Policies > Windows Settings > Security Settings > System Services > Print Spooler</strong></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Define this policy and set the service startup mode to Disabled</p>
</blockquote>



<p>Navigate to <strong>Computer Configuration > Preferences > Windows Settings > Registry</strong> (Use Update HKLM)</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168\Enabled <strong>0</strong></p>



<p>SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\SSL 3.0\Server\Enabled <strong>0</strong></p>



<p>SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\TLS 1.0\Server\Enabled <strong>0</strong></p>



<p>SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\TLS 1.1\Server\Enabled <strong>0</strong></p>



<p>SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\TLS 1.2\Server\DisabledByDefault <strong>0</strong></p>



<p>SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\TLS 1.2\Server\Enabled <strong> 1</strong></p>
</blockquote>



<p></p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Server 2025 Evaluation Rearm Count Deploy from Template (VMware)</title>
		<link>https://paularquette.com/server-2025-evaluation-rearm-count-deploy-from-template-vmware/</link>
		
		<dc:creator><![CDATA[paularquette]]></dc:creator>
		<pubDate>Wed, 27 Nov 2024 01:29:48 +0000</pubDate>
				<category><![CDATA[VMware]]></category>
		<category><![CDATA[Windows Server]]></category>
		<guid isPermaLink="false">https://paularquette.com/?p=971</guid>

					<description><![CDATA[I have recently started playing with Server 2025 Evaluation and trying to configure it in my homelab so it is easy to deploy as I test things out. However, there was a recent Reddit thread that pointed my attention to supposedly not having any rearms like you did in the previous server versions. With a [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>I have recently started playing with Server 2025 Evaluation and trying to configure it in my homelab so it is easy to deploy as I test things out.</p>



<p>However, there was a recent Reddit thread that pointed my attention to supposedly not having any rearms like you did in the previous server versions.</p>



<p>With a fresh install of Server 2025, you are put into the initial grace period with 10 days.  After this grace period the product will activate and you will have 180 days (I forced it with slmgr /ato), with 1 rearm left.  From my testing I believe you will get 1 full year with the product.  (10 days + 180 days + rearm (180 days)).</p>



<p>However, if you deploy Server 2025 and then try to create a VMware Template and deploy from template the customization, you will kill the 1 rearm you have.  I think this might be where the disconnect is.</p>



<p>If we go back to 2006 though, and after installing Server 2025 on the VM you want to be your template, you can perform the following tasks so all new deployments will retain the 1 re-arm.</p>



<ol class="wp-block-list">
<li>Set the Rearm Registry Setting to 1
<ul class="wp-block-list">
<li>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SoftwareProtectionPlatform\SkipRearm</li>
</ul>
</li>



<li>Run Sysprep, and make sure to check the generalize checkbox, and have the system shutdown</li>



<li>Convert said VM into a template, and then deploy from that template
<ul class="wp-block-list">
<li><strong>Make sure you do not then try to customize in vmware!  Just Deploy From Template and Power On!</strong></li>
</ul>
</li>
</ol>



<p>From my initial experience this should provide any new VMs you deploy from template to also land in that 10 day grace period with 1 rearm left.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>OpenSSH Vulnerability RCE</title>
		<link>https://paularquette.com/openssh-vulnerability-rce/</link>
		
		<dc:creator><![CDATA[paularquette]]></dc:creator>
		<pubDate>Mon, 01 Jul 2024 14:14:32 +0000</pubDate>
				<category><![CDATA[IT Security]]></category>
		<category><![CDATA[Website Updates]]></category>
		<guid isPermaLink="false">https://paularquette.com/?p=894</guid>

					<description><![CDATA[Make sure you upgrade any Linux/Unix hosts that are internet facing. https://ubuntu.com/security/notices/USN-6859-1]]></description>
										<content:encoded><![CDATA[
<p>Make sure you upgrade any Linux/Unix hosts that are internet facing.</p>



<p><a href="https://ubuntu.com/security/notices/USN-6859-1">https://ubuntu.com/security/notices/USN-6859-1</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Updated: Active Directory Security Review Checklist</title>
		<link>https://paularquette.com/updated-active-directory-security-review-checklist/</link>
		
		<dc:creator><![CDATA[paularquette]]></dc:creator>
		<pubDate>Fri, 07 Jun 2024 18:20:10 +0000</pubDate>
				<category><![CDATA[Active Directory]]></category>
		<guid isPermaLink="false">https://paularquette.com/?p=856</guid>

					<description><![CDATA[For many things Active Directory runs only as strong as it&#8217;s weakest link. If you need to enforce stronger security think about moving legacy items to a legacy domain where older protocols can remain running. Remove NTLMv1 From Environment: Work to remove NTLM from the environment, although it may be impossible currently to remove NTLMv2 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>For many things Active Directory runs only as strong as it&#8217;s weakest link.  If you need to enforce stronger security think about moving legacy items to a legacy domain where older protocols can remain running.</p>



<p><strong>Remove NTLMv1 From Environment:</strong></p>



<p>Work to remove NTLM from the environment, although it may be impossible currently to remove NTLMv2 from the environment, disabling NTLMv1 is a great start.</p>



<p><a href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/active-directory-hardening-series-part-1-disabling-ntlmv1/ba-p/3934787" target="_blank" rel="noreferrer noopener">Disable NTLMv1</a></p>



<p><strong>Disable IPv6 if not using it</strong></p>



<p>Disable IPv6 on client systems if it is not actively being used as this is a major problem with mitm6 attacks!</p>



<p><strong>Check Group Policy Permissions</strong></p>



<p>Look at all group policies and their permissions. Implement a naming convention if one is not already used and verify who has permissions to which group policies. Make sure no group policies are linked to high-target assets that have low level permissions.  Check Group Policies for clear-text passwords.</p>



<p><strong>Check SID-History</strong></p>



<p>Check SID-History in the domain.  If it is no longer needed remove it.</p>



<p><strong>Remove Normal User Accounts From Any Administrative Groups</strong></p>



<p>Make sure there are different user accounts for different administration tiers.</p>



<p>AD Administration (OU Admins) &#8211; Different Account / Password</p>



<p>VMware Administration &#8211; Preferably different domain, bare minimum different account / password</p>



<p>Local Workstation Admin Account &#8211; Different Account / Password</p>



<p><strong>Use something like LAPS so no local user accounts and passwords are the same</strong></p>



<p>This is a very easy pivot point for an attacker if they gain control of one system and can use the local administrator or another account to pivot to a bunch of other workstations.</p>



<p><strong>Disable Simple/Unauthenticated Binds</strong></p>



<p>Microsoft recommended turning off simple/unauthenticated binds in 2020 but it is still on in many places.</p>



<p><a href="https://support.microsoft.com/en-us/topic/2020-2023-and-2024-ldap-channel-binding-and-ldap-signing-requirements-for-windows-kb4520412-ef185fb8-00f7-167d-744c-f299a66fc00a#:~:text=LDAPS%20uses%20its%20own%20distinct,in%2Dthe%2Dmiddle%20attacks.">Reject Simple Authentication and Security Layer (SASL) Binds</a></p>



<p><strong>Disable NetBIOS &amp; LLMNR Domain Wide</strong></p>



<p>An easy way for hackers to grab hashes and move around in the environment is with responder and NetBIOS and/or LLMNR enabled.</p>



<p><a href="https://blog.alexmags.com/posts/disable-netbios" target="_blank" rel="noreferrer noopener">Disable NetBIOS &amp; LLMNR</a></p>



<p><strong>Investigate using Kerberos FAST Armoring</strong></p>



<p>Investigate using Kerberos FAST Channel for Armoring Pre-Authentication.</p>



<p><a href="https://syfuhs.net/kerberos-fast-armoring">Kerberos Fast Armoring</a></p>



<p><strong>Password Cycle DSRM Password on Domain Controllers</strong></p>



<p>Password cycle the DSRM password on all domain controllers, can be different or can be the same.  You can sync this password from a Domain User account</p>



<p><strong>Remove all unnecessary software from Domain Controllers</strong></p>



<p>Anything with an agent is a potential path to compromise, think MECM.  MECM can push software and make configuration changes, if MECM becomes compromised so do your DCs.  VMware Tools may be a necessary evil but make sure that software is patched every month with Windows Patches.</p>



<p><strong>Service Account Password Changes:</strong></p>



<p>Take inventory of all service accounts in the domain. Document which service accounts are used by whom and for what purpose. Verify least privilege, and change the password yearly. This will keep documentation up to date and in the event of an attack you aren&#8217;t fumbling to figure out how to update the password and who is in charge of it.</p>



<p><strong>Check for Group Managed or Managed Service Accounts:</strong></p>



<p>Check the domain for use of Group Managed or Managed Service Accounts.  Make sure this is documented somewhere.</p>



<p><strong>Check for Constrained/Unconstrained Delegation</strong></p>



<p>Check for Unconstrained or Constrained Delegation.  If using unconstrained delegation and needed move to constrained delegation.  Make sure the service account being used for constrained delegation is SUPER long to prevent kerbroasting.</p>



<p><strong>ms-DS-MachineAccountQuota</strong></p>



<p>By default in Active Directory this value is set to “10” which allows ANY user in Active Directory to bind ten machines to the domain. In the beginning stages of Active Directory maybe there was a need for this but now its just a big security risk.</p>



<p>Recommendation:&nbsp;Set this to zero</p>



<p><strong>Add New Domain Controller Policy</strong></p>



<p>By default, the &#8220;Default Domain Controllers Policy&#8221; allows anyone in &#8220;NT AUTHORITY\Authenticated Users&#8221; to bind machines to the Domain.  Create a new GPO with locked down policy rights and link it to the Domain Controllers or Tier0 OU, make sure it is linked as a higher policy &#8220;link order&#8221;.  The highest link order will win.</p>



<p><strong>Protected Users Group</strong></p>



<p>Look at highly privileged accounts and add them to the Protected Users Group if they are compatible with the protections that this group provides.</p>



<p>Recommendation:&nbsp;Add any real user accounts that are at Domain Admin or higher. (Enterprise Admins, Schema Admins, etc.)</p>



<p><strong>krbtgt Account Password</strong></p>



<p>Check the last time this password was changed and if it wasn’t changed in the last 180 days, change it.  If someone has access to an Active Directory backup they can potentially own this account and if the password is never changed, own the domain.</p>



<p>Recommendation:&nbsp;Make sure you setup a schedule to recycle this password twice a year. This account holds two passwords so when you change the password you should change it twice, ideally 24 hours apart. That is a total of four password changes a year.</p>



<p><strong>Verify SSL Certificates Exist on the Domain Controllers</strong></p>



<p>Verify that valid certificates are in place for LDAPS calls over port 636. As part of this process investigate and try to remove any traffic that is talking on LDAP port 389.</p>



<p>Recommendation:&nbsp;Use either an internal PKI or public facing certificates to make sure all ldaps traffic is talking Active Directory over a secure connection.</p>



<p><strong>Check if Exchange ExtensionAttributes were installed</strong></p>



<p>If “ExtensionAttribute1” -&gt; “ExtensionAttribute15” are in the schema of User/Computer/Group objects, check to see if any of them are in use.</p>



<p>Recommendation:&nbsp;If they are try to document what they are being used for and which ones are free and able to be used.</p>



<p><strong>Check the Default Computer/User Bind OU</strong></p>



<p>The default container for computer objects is (CN=Computers,DC=DOMAIN,DC=COM). This container cannot have group policy applied to it and objects should be set to write to another OU that can be better managed.</p>



<p>Excerpt from Microsoft here:&nbsp;<a href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/redirect-users-computers-containers" rel="noreferrer noopener" target="_blank">Redirect users and computers containers – Windows Server | Microsoft Learn</a></p>



<p><em>“In a default installation of an Active Directory domain, user, computer, and group accounts are put in CN=objectclass containers instead of a more desirable OU class container. Similarly, the accounts that were created by using earlier-version APIs are put in the CN=Users and CN=computers containers.”</em></p>



<p><em>“Some applications require specific security principals to be located in default containers like CN=Users or CN=Computers. Verify that your applications have such dependencies before you move them out of the CN=users and CN=computes containers.”</em></p>



<p>Recommendation:&nbsp;If these items can be re-directed, redirect them to a different OU and make sure proper OU security is set.</p>



<p><strong>Check Tombstone Lifetime / AD Recycle Bin</strong></p>



<p>If the Active Directory Recycle Bin is not enabled, enable it!</p>



<p>The following PowerShell code can be used to see what the current Tombstone Lifetime is:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><code>Write-Output “Get Tombstone Setting `r”<br>Import-Module ActiveDirectory<br><br>$ADForestconfigurationNamingContext = (Get-ADRootDSE).configurationNamingContext<br>$DirectoryServicesConfigPartition = Get-ADObject -Identity “CN=Directory Service,CN=Windows NT,CN=Services,$ADForestconfigurationNamingContext” -Partition $ADForestconfigurationNamingContext -Properties *<br>$TombstoneLifetime = $DirectoryServicesConfigPartition.tombstoneLifetime<br><br>Write-Output “Active Directory’s Tombstone Lifetime is set to $TombstoneLifetime days `r “</code></p>



<p><strong>Note that no value returned means the tombstone lifetime setting is set to 60 days (default for AD forests installed with Windows 2003 or older).</strong></p>
</blockquote>



<p>Recommendation:&nbsp;If it is not set to 180 days, set it to 180 days. If the AD recycle bin is not enabled, enable it!</p>



<p><strong>Check to see if Sysmon is installed on the Domain Controllers</strong></p>



<p>Recommendation:&nbsp;If Sysmon is not installed, work on getting it installed and configured on the Domain Controllers at a bare minimum to provide more insight.</p>



<p><strong>Check Domain Controller Firewall Settings</strong></p>



<p>This may require a conversation with your Information Security team to understand how the Firewalls are configured that sit in front of the Domain Controllers. You want to make sure the bare minimum number of ports are enabled for client traffic and that admin ports are only able to be accessed by admins.</p>



<p>Recommendation:&nbsp;Review security with Information Security Team, and enable the Windows Firewall on all Domain Controllers and manage it with Group Policy. This also acts as an East/West traffic block so if someone gets into one server on the prod network they don’t automatically have RDP access per say to another DC on the same network segment. Setup monitoring for any RDP sessions, successful ones, and failures (including firewall logs). This will verify anyone RDP’ing to the DCs is legit, and will also help track down threat actors on the network. One of the first things threat actors will try to do is see if they have RDP access to the Domain Controllers, this is good information to send to the SOC or InfoSec.</p>



<p><strong>Check to see if RPC Ports are restricted</strong></p>



<p>Recommendation:&nbsp;If RPC Ports have not been limited on the Domain Controllers, limit them to a few ports, say 100, or 1,000, and then make the associated changes to firewall rules.</p>



<p><strong>Check Time Settings on the Domain Controller running PDC Emulator</strong></p>



<p>Many people know that the clients that talk to the Domain Controllers have to have the correct time, but it is super important that you are pulling a correct time source for your Domain Controllers.</p>



<p>Recommendation:&nbsp;Make sure the Domain Controllers, more specifically the Domain Controller with the PDC FSMO role is pulling its time from a trusted source. It might also be worth writing a script to monitor this as well.</p>



<p><strong>Verify FSMO Role Holder(s), Global Catalog Servers, &amp; Backups</strong></p>



<p>Verify who is running the FSMO roles for your Domain(s). Make all DCs a Global Catalog if you have a single-domain forest. Verify how AD is being backed up.</p>



<p>Recommendation:&nbsp;Depending on your specific situation you may not be able to run all FSMO roles on one DC. In my jobs I have been able to. This allows you to target this DC as the DC to be backed up, snapshotted, etc. If you are running a single-domain forest, make sure all DCs are a global catalog.</p>



<p><strong>Check Trusts</strong></p>



<p>Check to see if there are any trusts configured for the domain.</p>



<p>Recommendation:&nbsp;If there are any trusts, figure out if they are still needed, and make sure there is documentation on why these trusts are setup and when they can be unconfigured.</p>



<p><strong>Check Sites &amp; Services for IP Configuration</strong></p>



<p>Check AD Sites &amp; Services for configuration of IP ranges. Make yourself familiar with how this setup and why it is setup the way it is.</p>



<p>Recommendation:&nbsp;Take notes on if Sites &amp; Services is being used. If it is being used understand the network ranges and why it is configured the way it is. If priority is being given, understand why.</p>



<p><strong>Turn off Print Spooler on Domain Controllers / High Level Servers</strong></p>



<p>Turn off the Print Spooler on Domain Controllers and any other Tier0 servers like Azure Entra Sync.</p>



<p><strong>Turn On Alerting for High Level Groups / Logins</strong></p>



<p>Alert on logins to Domain Controllers, alert on logins using Domain Admin credentials.  Alert if anyone gets added to Enterprise Admins, Schema Admins, Domain Admins, Administrators, or any other high level groups.</p>



<p><strong>Lock down highly priviliged accounts to only the systems they need to be able to login to</strong></p>



<p>Make sure high level accounts can only login to the systems they need to.  For example Domain Admin accounts can only login to the Domain Controllers and privileged workstations/servers to administer AD.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>NTLM Officially deprecated!</title>
		<link>https://paularquette.com/ntlm-officially-deprecated/</link>
		
		<dc:creator><![CDATA[paularquette]]></dc:creator>
		<pubDate>Tue, 04 Jun 2024 18:53:06 +0000</pubDate>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Windows Server]]></category>
		<guid isPermaLink="false">https://paularquette.com/?p=877</guid>

					<description><![CDATA[https://www.bleepingcomputer.com/news/microsoft/microsoft-deprecates-windows-ntlm-authentication-protocol This has been a long time coming. As of this June NTLM is no longer under active development and will start to be phased out. NTLM will still be usable with the next release of Windows Server. I&#8217;m excited to read this news and looking forward to Microsoft pushing forward to more secure authentication [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="https://www.bleepingcomputer.com/news/microsoft/microsoft-deprecates-windows-ntlm-authentication-protocol">https://www.bleepingcomputer.com/news/microsoft/microsoft-deprecates-windows-ntlm-authentication-protocol</a></p>



<p>This has been a long time coming.  As of this June NTLM is no longer under active development and will start to be phased out.  NTLM will still be usable with the next release of Windows Server.</p>



<p>I&#8217;m excited to read this news and looking forward to Microsoft pushing forward to more secure authentication systems.</p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Microsoft March 2024 patches domain controller lsass memory leak</title>
		<link>https://paularquette.com/microsoft-march-2024-patches-domain-controller-lsass-memory-leak/</link>
		
		<dc:creator><![CDATA[paularquette]]></dc:creator>
		<pubDate>Tue, 26 Mar 2024 14:20:02 +0000</pubDate>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[IT Security]]></category>
		<category><![CDATA[Windows Server]]></category>
		<guid isPermaLink="false">https://paularquette.com/?p=847</guid>

					<description><![CDATA[Microsoft has released an out of band update to fix the memory leak issues with the lsass process on Domain Controllers after applying the March 2024 cumulative update. Microsoft strongly recommends that the latest servicing stack updates are installed before applying the out of band patch. This out of band patch is a cumulative update [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Microsoft has released an out of band update to fix the memory leak issues with the lsass process on Domain Controllers after applying the March 2024 cumulative update.  Microsoft strongly recommends that the latest servicing stack updates are installed before applying the out of band patch.</p>



<p>This out of band patch is a cumulative update and can be installed in place of the normal March cumulative update that is published on Windows Update / local WSUS server.  If you want this patch in WSUS you will have to side load it yourself.</p>



<p>We have confirmed in our testing environment that the lsass memory process was starting to creep up.  We removed the March cumulative update and applied the out of band patch in our test environment and so far all seems good.</p>



<p>The below is copied from the Windows Message Center as of today.  (Link below)<br><a href="https://learn.microsoft.com/en-us/windows/release-health/windows-message-center#3143" target="_blank" rel="noreferrer noopener">https://learn.microsoft.com/en-us/windows/release-health/windows-message-center#3143</a><br></p>



<p><a href="https://learn.microsoft.com/en-us/windows/release-health/status-windows-server-2022#3271msgdesc" target="_blank" rel="noreferrer noopener"><strong>Out-of-band updates to address a Windows Server domain controller issue</strong></a><a href="https://learn.microsoft.com/en-us/windows/release-health/windows-message-center#3143"></a></p>



<p><em>Updated March 25, 2024</em></p>



<p>Microsoft has identified an&nbsp;<a href="https://learn.microsoft.com/en-us/windows/release-health/status-windows-server-2022#3271msgdesc" rel="noreferrer noopener" target="_blank">issue that affects Windows Server domain controllers (DCs)</a>, and has expedited a resolution that can be applied to affected devices. Out-of-band (OOB) updates have been released for some versions of Windows today, March 22, 2024, to addresses this issue related to a memory leak in the Local Security Authority Subsystem Service (LSASS). This occurs when on-premises and cloud-based Active Directory domain controllers service Kerberos authentication requests.</p>



<p>This issue is not expected to impact Home users, as it is only observed in some versions of Windows Server. Domain controllers are not commonly used in personal and home devices.</p>



<p>Updates are available on the&nbsp;<a href="https://www.catalog.update.microsoft.com/home.aspx" rel="noreferrer noopener" target="_blank">Microsoft Update Catalog</a>&nbsp;only. These are cumulative updates, so you do not need to apply any previous update before installing them, and they supersede all previous updates for affected versions. If your organization uses the affected server platforms as DCs and you haven’t deployed the March 2024 security updated yet, we recommend you apply this OOB update instead.&nbsp;For more information and instructions on how to install this update on your device, consult the below resources for your version of Windows:</p>



<ul class="wp-block-list">
<li><strong>Windows Server 2022</strong>:&nbsp;<a href="https://support.microsoft.com/help/5037422" rel="noreferrer noopener" target="_blank">KB5037422</a></li>



<li><strong>Windows Server 2019</strong>:&nbsp;<a href="https://support.microsoft.com/help/5037425" rel="noreferrer noopener" target="_blank">KB5037425</a></li>



<li><strong>Windows Server 2016</strong>:&nbsp;<a href="https://support.microsoft.com/help/5037423" rel="noreferrer noopener" target="_blank">KB5037423</a></li>



<li><strong>Windows Server 2012 R2</strong>:&nbsp;<a href="https://support.microsoft.com/help/5037426" rel="noreferrer noopener" target="_blank">KB5037426</a></li>
</ul>



<p>As of March 25, 2024, all affected versions have been addressed via the updates above.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Turning Off Passwordless Authentication &#8211; Microsoft Authenticator App</title>
		<link>https://paularquette.com/turning-off-passwordless-authentication-microsoft-authenticator-app/</link>
		
		<dc:creator><![CDATA[paularquette]]></dc:creator>
		<pubDate>Mon, 12 Feb 2024 03:25:45 +0000</pubDate>
				<category><![CDATA[IT Security]]></category>
		<guid isPermaLink="false">https://paularquette.com/?p=842</guid>

					<description><![CDATA[This might be an unpopular take but I very much dislike the way Microsoft uses its Authenticator app for personal accounts. Seriously, it sucks. If you have a personal account with Microsoft and turn off passwordless authentication in your account but enable two factor with the Microsoft Authenticator, it turns on passwordless authentication in the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>This might be an unpopular take but I very much dislike the way Microsoft uses its Authenticator app for personal accounts.  Seriously, it sucks.</p>



<p>If you have a personal account with Microsoft and turn off passwordless authentication in your account but enable two factor with the Microsoft Authenticator, it turns on passwordless authentication in the app for you and you can&#8217;t disable it.  (Queue up the MFA fatigue).</p>



<p>The way to fix this is to setup another authenticator that&#8217;s not the Microsoft one.  Save your sanity and stop being MFA bombed by threat actors trying to break into your accounts.</p>



<p>Do better Microsoft, do better.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Setting up Cluster Aware Updates on Server 2016 with Pre-staged Object</title>
		<link>https://paularquette.com/setting-up-cluster-aware-updates-on-server-2016-with-pre-staged-object/</link>
		
		<dc:creator><![CDATA[paularquette]]></dc:creator>
		<pubDate>Wed, 07 Feb 2024 15:40:39 +0000</pubDate>
				<category><![CDATA[Windows Server]]></category>
		<guid isPermaLink="false">https://paularquette.com/?p=576</guid>

					<description><![CDATA[Right-Click your cluster in Server Manager and select &#8220;Cluster-Aware Updating&#8221; On the Cluster-Aware Updating Dialog Box, click &#8220;Configure Cluster Self-Updating Options&#8221; on the right-hand side. Click &#8220;Next&#8221; when the wizard opens On the next screen, make sure you go pre-stage a computer object and put that info here.Note: After creating the new computer object, do [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Right-Click your cluster in Server Manager and select &#8220;Cluster-Aware Updating&#8221;</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="578" height="348" src="https://paularquette.com/wp-content/uploads/2023/12/image.png" alt="" class="wp-image-577" srcset="https://paularquette.com/wp-content/uploads/2023/12/image.png 578w, https://paularquette.com/wp-content/uploads/2023/12/image-300x181.png 300w" sizes="auto, (max-width: 578px) 100vw, 578px" /></figure>



<p></p>



<p>On the Cluster-Aware Updating Dialog Box, click &#8220;Configure Cluster Self-Updating Options&#8221; on the right-hand side.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="304" height="231" src="https://paularquette.com/wp-content/uploads/2023/12/image-1.png" alt="" class="wp-image-578" srcset="https://paularquette.com/wp-content/uploads/2023/12/image-1.png 304w, https://paularquette.com/wp-content/uploads/2023/12/image-1-300x228.png 300w" sizes="auto, (max-width: 304px) 100vw, 304px" /></figure>



<p></p>



<p>Click &#8220;Next&#8221; when the wizard opens</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="764" height="561" src="https://paularquette.com/wp-content/uploads/2023/12/image-2.png" alt="" class="wp-image-580" srcset="https://paularquette.com/wp-content/uploads/2023/12/image-2.png 764w, https://paularquette.com/wp-content/uploads/2023/12/image-2-300x220.png 300w, https://paularquette.com/wp-content/uploads/2023/12/image-2-624x458.png 624w" sizes="auto, (max-width: 764px) 100vw, 764px" /></figure>



<p></p>



<p>On the next screen, make sure you go pre-stage a computer object and put that info here.<br><strong><em>Note: After creating the new computer object, do the following:</em></strong><br><strong><em>1. Edit the Security Properties of that computer object and give the cluster computer object FULL CONTROL</em></strong> <strong><em>of the new computer object you just created.</em></strong><br><strong><em>2. Protect the new computer object from accidental deletion</em></strong><br><strong><em>3. Disable the newly created computer object</em></strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="764" height="553" src="https://paularquette.com/wp-content/uploads/2023/12/image-3.png" alt="" class="wp-image-581" srcset="https://paularquette.com/wp-content/uploads/2023/12/image-3.png 764w, https://paularquette.com/wp-content/uploads/2023/12/image-3-300x217.png 300w, https://paularquette.com/wp-content/uploads/2023/12/image-3-624x452.png 624w" sizes="auto, (max-width: 764px) 100vw, 764px" /></figure>



<p></p>



<p>Choose the schedule</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="760" height="559" src="https://paularquette.com/wp-content/uploads/2023/12/image-4.png" alt="" class="wp-image-582" srcset="https://paularquette.com/wp-content/uploads/2023/12/image-4.png 760w, https://paularquette.com/wp-content/uploads/2023/12/image-4-300x221.png 300w, https://paularquette.com/wp-content/uploads/2023/12/image-4-624x459.png 624w" sizes="auto, (max-width: 760px) 100vw, 760px" /></figure>



<p></p>



<p>Review Advanced Options</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="774" height="728" src="https://paularquette.com/wp-content/uploads/2023/12/image-5.png" alt="" class="wp-image-583" srcset="https://paularquette.com/wp-content/uploads/2023/12/image-5.png 774w, https://paularquette.com/wp-content/uploads/2023/12/image-5-300x282.png 300w, https://paularquette.com/wp-content/uploads/2023/12/image-5-768x722.png 768w, https://paularquette.com/wp-content/uploads/2023/12/image-5-624x587.png 624w" sizes="auto, (max-width: 774px) 100vw, 774px" /></figure>



<p></p>



<p>Leave defaults on the next screen</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="775" height="724" src="https://paularquette.com/wp-content/uploads/2023/12/image-6.png" alt="" class="wp-image-584" srcset="https://paularquette.com/wp-content/uploads/2023/12/image-6.png 775w, https://paularquette.com/wp-content/uploads/2023/12/image-6-300x280.png 300w, https://paularquette.com/wp-content/uploads/2023/12/image-6-768x717.png 768w, https://paularquette.com/wp-content/uploads/2023/12/image-6-624x583.png 624w" sizes="auto, (max-width: 775px) 100vw, 775px" /></figure>



<p></p>



<p>Review before clicking Apply:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="774" height="725" src="https://paularquette.com/wp-content/uploads/2023/12/image-7.png" alt="" class="wp-image-585" srcset="https://paularquette.com/wp-content/uploads/2023/12/image-7.png 774w, https://paularquette.com/wp-content/uploads/2023/12/image-7-300x281.png 300w, https://paularquette.com/wp-content/uploads/2023/12/image-7-768x719.png 768w, https://paularquette.com/wp-content/uploads/2023/12/image-7-624x584.png 624w" sizes="auto, (max-width: 774px) 100vw, 774px" /></figure>



<p></p>



<p>Wait for the Cluster Role to complete</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="776" height="558" src="https://paularquette.com/wp-content/uploads/2023/12/image-8.png" alt="" class="wp-image-587" srcset="https://paularquette.com/wp-content/uploads/2023/12/image-8.png 776w, https://paularquette.com/wp-content/uploads/2023/12/image-8-300x216.png 300w, https://paularquette.com/wp-content/uploads/2023/12/image-8-768x552.png 768w, https://paularquette.com/wp-content/uploads/2023/12/image-8-624x449.png 624w" sizes="auto, (max-width: 776px) 100vw, 776px" /></figure>



<p></p>



<p>Successfully configured!</p>



<p></p>



<p></p>



<p></p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Diving back into the world of CTFs</title>
		<link>https://paularquette.com/diving-back-into-the-world-of-ctfs/</link>
		
		<dc:creator><![CDATA[paularquette]]></dc:creator>
		<pubDate>Fri, 02 Feb 2024 04:18:14 +0000</pubDate>
				<category><![CDATA[IT Security]]></category>
		<guid isPermaLink="false">https://paularquette.com/?p=838</guid>

					<description><![CDATA[It has been awhile since I&#8217;ve done any Capture The Flag events, although it is something I would like to get better at. I&#8217;m currently registered for INE&#8217;s CTF: https://showcase.ine.com/ctf/challenge/OSxnj173uiDJ1FgMiGkU I&#8217;m also registered for picoCTF which just opened today: https://picoctf.org/]]></description>
										<content:encoded><![CDATA[
<p>It has been awhile since I&#8217;ve done any Capture The Flag events, although it is something I would like to get better at.</p>



<p>I&#8217;m currently registered for INE&#8217;s CTF: <a href="https://showcase.ine.com/ctf/challenge/OSxnj173uiDJ1FgMiGkU" target="_blank" rel="noreferrer noopener">https://showcase.ine.com/ctf/challenge/OSxnj173uiDJ1FgMiGkU</a></p>



<p>I&#8217;m also registered for picoCTF which just opened today: <a href="https://picoctf.org/" target="_blank" rel="noreferrer noopener">https://picoctf.org/</a></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
