Module 7 Domain Name System
Module 7 Domain Name System
Module 7 Domain Name System
and Maintenance
Module 7
Domain Name System
• To understand the DNS server role in Windows Server
• To know the new DNS features and functionality in Windows Server
• To know more about DNS Security Extensions support in Windows
Server 2012 and Windows Server 2012 R2, including concepts and
detailed deployment procedures
DNS Part 1
7.1
DNS query coalescing New Multiple DNS queries for the same name are combined,
resulting in only one DNS query. This optimizes client,
network, and server resources.
DNS SQM New Improvements are made to Software Quality Metrics (SQM)
reporting for the DNS client. This information can be used to
improve performance and reliability.
Events for name resolution New Event tracing for Windows (ETW) events are added to DNS
logging. This feature will assist with troubleshooting DNS
issues.
Functionality New or Description
improved
Parallelize A and AAAA New A and AAAA DNS queries are issued in parallel, saving time for
queries interfaces that have both IPv6 and IPv4 addresses.
Per interface Winsock New This feature enables the GetAddrInfoEx() application
name resolution programming interface (API) to issue a name query on a
specific network interface.
Asynchronous Winsock New This feature enables the GetAddrInfoEx() API to issue
name resolution asynchronous name resolution queries.
Persistent cache New The DNS cache is now persistent across changes that occur on
the same network, including address change notifications and
sleep-resume-standby state transitions.
Functionality New or Description
improved
Link-local multicast name Improved Outbound LLMNR queries are not sent to mobile broadband
resolution (LLMNR) and VPN interfaces.
Network basic Improved Outbound NETBIOS queries are not sent to mobile broadband
input/output system interfaces.
(NETBIOS)
LLMNR timeout Improved The LLMNR query timeout has been increased to 410 msec for
the 1st retry and 410 msec for the 2nd retry. The total timeout
value is now 820 msec instead of 300 msec. This change is to
solve a problem with computers in power saving mode.
LLMNR and NETBIOS queries are also issued in parallel,
improving response times for all queries.
Functionality New or Description
improved
Parallel queries Improved LLMNR and NETBIOS are issued in parallel and optimized for
IPv4 and IPv6 queries.
Binding order optimization Improved Interfaces are divided into networks to send parallel DNS
queries and prefer binding order responses.
Protocol reordering Improved If a specific interface is hijacking DNS names, then for flat
names on those networks LLMNR and NETBIOS queries are
sent in parallel with DNS queries and the LLMNR or NETBIOS
response is preferred.
Asynchronous DNS cache Improved All the queries in DNS cache service are asynchronous and
response timing is optimized.
Functionality New or Description
improved
DNS Logging and New Enhanced DNS logging and diagnostics in Windows Server
Diagnostics 2012 R2 and later includes DNS Audit events and DNS Analytic
events. Enhanced logging enables monitoring of all DNS query,
response, and operational transactions.
Zone-level statistics Improved Zone level statistics are available for different resource record
types, zone transfers, and dynamic updates.
DNSSEC support Improved DNSSSEC key management and support for signed file-backed
zones is improved.
Windows PowerShell Improved New Windows PowerShell parameters are available for DNS
support Server.
Dynamic DNS Forwarders New DNS now maintains a list of DNS Forwarders ordered by
response time, to ensure queries are sent to forwarders with
quicker response time.
• DNS server statistics available in Windows Server® 2012 using the Get-
DnsServerStatistics Windows PowerShell
• In Windows Server 2012 R2, the following additional statistics are
available:
7.2
4.Type a location where you want to save the extracted files, for example C:\hotfix. If the directory does not yet exist,
you will be asked if you wish to create it. Click Yes and confirm that All files were successfully unzipped is
displayed, then click Ok.
5.In the location where files were unzipped, double-click the Windows Update file, for example Windows8.1-
KB2956577-v2-x64.msu.
6.The Windows Update Standalone Installer will verify that the computer meets requirements to install the update.
These requirements include some prerequisite updates. When verification is complete, click Yes when asked if you
wish to install the Hotfix for Windows (KB2956577).
7. If recently downloaded updates have not yet been installed, you might need to restart the computer before the
current hotfix can be installed. If this is required, you must restart the computer first and then run the Windows8.1-
KB2956577-v2-x64.msu a second time after the computer has completed installing necessary updates. The
Windows Update Standalone Installer will notify you that installation of the hotfix is not yet complete. If this
happens, and you are prompted to restart the computer, click Restart Now.
8. If the computer is ready to install the update when you run the hotfix, installation will complete and you must
restart the computer for the update to take effect. If Installation complete is displayed, click Restart Now for the
update to take effect.
You can confirm that the hotfix was successfully installed by viewing installed updates in the Programs and
Features control panel. If the update is successfully installed, Hotfix for Microsoft Windows (KB2956577) will be
displayed. You can also verify installation of the hotfix by typing wmic qfe | find "KB2956577" at an elevated
command prompt. The URL and date of installation for the hotfix will be displayed if it was successfully installed.
1.Type eventvwr.msc at an elevated command prompt and press ENTER to open Event Viewer.
2.In Event Viewer, navigate to Applications and Services Logs\Microsoft\Windows\DNS-Server.
3.Right-click DNS-Server, point to View, and then click Show Analytic and Debug Logs.
The Analytical log will be displayed.
4.Right-click Analytical and then click Properties.
5.Under When maximum event log size is reached, choose Do not overwrite events (Clear logs
manually), select the Enable logging checkbox, and click OK when you are asked if you want to
enable this log
6.Click OK again to enable the DNS Server Analytic event log.
You can get tracelog.exe by downloading and installing the Windows Driver Kit (WDK). Tracelog.exe is included when you install the
WDK, Visual Studio, and the Windows SDK for desktop apps.
example, when you download and install Windows Driver Kit (WDK) 8 and accept the default installation path, tracelog.exe is
available at C:\Program Files (x86)\Windows Kits\8.0\Tools\x64\tracelog.exe.
The following examples demonstrate how to use tracelog.exe with DNS audit and analytic event logs:
The following command will enable both analytical and audit logging:
tracelog.exe -start Dns -guid #{EB79061A-A566-4698-9119-3ED2807060E7} -level 5 -matchanykw 0xFFFFFFFF -f C:\analytic_audit.etl
While the trace is active, all analytical and audit events will be recorded in the C:\analytic_audit.etl file that was specified on the
command line. You can stop tracing by issuing a stop command:
Examples:
Event ID Type Category Level Event text
513 Zone delete Zone operations Informational The zone %1 was deleted.
514 Zone updated Zone operations Informational The zone %1 was updated. The %2 setting has been set to %3.
515 Record create Zone operations Informational A resource record of type %1, name %2, TTL %3 and RDATA %5 was created in
scope %7 of zone %6.
516 Record delete Zone operations Informational A resource record of type %1, name %2 and RDATA %5 was deleted from scope
%7 of zone %6.
DNS server analytic events enable activity tracking on the DNS server. An analytic event is
logged each time the server sends or receives DNS information. The following table
summarizes DNS server analytic events.
Examples:
Event ID
257
Type
Response success
Category
Lookup
Level
Informational
Event text
RESPONSE_SUCCESS: TCP=%1; InterfaceIP=%2; Destination=%3; AA=%4; AD=%5; QNAME=%6; QTYPE=%7; XID=%8;
DNSSEC=%9; RCODE=%10; Port=%11; Flags=%12; Scope=%13; Zone=%14; PolicyName=%15; PacketData=%17
258 Response failure Lookup Error RESPONSE_FAILURE: TCP=%1; InterfaceIP=%2; Reason=%3; Destination=%4; QNAME=%5; QTYPE=%6; XID=%7;
RCODE=%8; Port=%9; Flags=%10; Zone=%11; PolicyName=%12; PacketData=%14
259 Ignored query Lookup Error IGNORED_QUERY: TCP=%1; InterfaceIP=%2; Reason=%3; QNAME=%4; QTYPE=%5; XID=%6; Zone=%7; PolicyName=%8
260 Query out Recursive query Informational RECURSE_QUERY_OUT: TCP=%1; Destination=%2; InterfaceIP=%3; RD=%4; QNAME=%5; QTYPE=%6; XID=%7;
Port=%8; Flags=%9; ServerScope=%10; CacheScope=%11; PolicyName=%12; PacketData=%14
261 Response in Recursive query Informational RECURSE_RESPONSE_IN: TCP=%1; Source=%2; InterfaceIP=%3; AA=%4; AD=%5; QNAME=%6; QTYPE=%7; XID=%8;
Port=%9; Flags=%10; ServerScope=%11; CacheScope=%12; PacketData=%14
• Domain Name System Security Extensions (DNSSEC) is a suite of extensions that add
security to the DNS protocol
• With DNSSEC, non-authoritative DNS servers are able to validate the responses they
receive when they query other DNS servers.
• In addition, DNS client computers running Windows® 7 or later can be configured to
require this validation be performed.
• The DNS protocol is vulnerable to attack due to an inherent lack of authentication and
integrity checking of data that is exchanged between DNS servers or provided to DNS
clients.
• DNSSEC adds security to DNS responses by providing the ability for DNS servers to
validate DNS responses.
• With DNSSEC, resource records are accompanied by digital signatures. These digital
signatures are generated when DNSSEC is applied to a DNS zone using a process called
zone signing.
• When a resolver issues a DNS query for resource record in a signed zone, a digital
signature is returned with the response so that validation can be performed.
• If validation is successful, this proves that the data has not been modified or tampered
with in any way.
• DNS spoofing is a type of attack that involves impersonation of DNS server responses in
order to introduce false information.
• In a spoofing attack, a malicious user attempts to guess that a DNS client or server has
sent a DNS query and is waiting for a DNS response.
• successful spoofing attack will insert a fake DNS response into the DNS server’s cache, a
process known as cache poisoning.
• A spoofed DNS server has no way of verifying that DNS data is authentic, and will reply
from its cache using the fake information.
DNSSEC uses digital signatures and cryptographic keys to validate that DNS responses are
authentic. The following topics briefly discuss how these signatures are managed and
validation is performed.
Digital signatures
Signatures generated with DNSSEC are contained within the DNS zone itself in the new
resource records. These new resource records are called RRSIG (resource record signature)
records. When a resolver issues a query for a name, the RRSIG record is returned in the
response. A public cryptographic key called a DNSKEY is needed to verify the signature. The
DNSKEY is retrieved by a DNS server during the validation process.
Zone signing
When you sign a zone with DNSSEC, you are individually signing all the records contained in
the zone. This makes it possible to add, modify, or delete records in the zone without re-
signing the entire zone. It is only necessary to re-sign the updated records.
• What if a DNS query is for a record that does not exist? If the DNS server responds that no record
was found, this response also needs to be validated as authentic.
• However, since there is no resource record, then there is no RRSIG record.
• The answer to this problem is the Next Secure (NSEC) record.
• NSEC records create a chain of links between signed resource records.
• To create NSEC records, the zone is sorted and NSEC records are created such that each NSEC
record has a pointer to the next NSEC record.
• The last NSEC record points back to the first record.
• When a query is submitted for a nonexistent record, the DNS server returns the NSEC record prior
to where the nonexistent record would have been in the order.
• This allows for something called authenticated denial of existence.
NSEC3 is a replacement or alternative to NSEC that has the additional benefit of preventing “zone
walking” which is the process of repeating NSEC queries in order to retrieve all the names in a zone. A
DNS server running Windows Server® 2012 supports both NSEC and NSEC3. A zone can be signed
with either NSEC or NSEC3, but not both.
• A trust anchor is a preconfigured public key associated with a specific zone.
• A validating DNS server must be configured with one or more trust anchors in order to perform
validation.
• If the DNS server is running on a domain controller, trust anchors are stored in the forest directory
partition in Active Directory Domain Services (AD DS) and can be replicated to all domain
controllers in the forest.
• On standalone DNS servers, trust anchors are stored in a file named TrustAnchors.dns. A DNS
server running Windows Server 2012 or Windows Server 2012 R2 also displays configured trust
anchors in the DNS Manager console tree in the Trust Points container. You can also use Windows
PowerShell or Dnscmd.exe to view trust anchors.
• DNSSEC key management strategy includes planning for key generation, key storage, key
expiration, and key replacement.
• Together, key expiration and replacement in DNSSEC is called key rollover.
• In Windows Server 2012 and Windows Server 2012 R2, key management is made easier
with simple and flexible key generation, Active Directory storage and replication, an
automated key rollover.
• In Windows 8, Windows Server 2012, Windows 8.1, and Windows Server 2012 R2, the
DNS Client service continues to be non-validating and security-aware, the same as
computers running Windows 7 and Windows Server® 2008 R2.
• When the DNS client issues a query, it can indicate to the DNS server that it understands
DNSSEC. However, the client is non-validating.
• When issuing queries, the DNS client relies on the local DNS server to indicate that
validation was successful. If the server fails to perform validation, or reports that
validation was unsuccessful, the DNS Client service can be configured to return no
results.
• The Name Resolution Policy Table (NRPT) is a table that contains rules you can
configure to specify DNS settings or special behavior for names or namespaces.
• The NRPT can be configured using Group Policy or by using the Windows Registry.
• When performing DNS name resolution, the DNS Client service checks the NRPT before
sending a DNS query.
• If a DNS query or response matches an entry in the NRPT, it is handled according to
settings in the policy.
• Queries and responses that do not match an NRPT entry are processed normally.
• You can use the NRPT to require that the DNS Client service perform DNSSEC validation
of DNS responses for the namespaces that you specify.
Blokdyk, Gerardus (2018). Information security management system A Clear and Concise Reference. 5STARCooks.
Blokdyk, Gerardus (2018). Security Management Information System A Complete Guide. 5STARCooks.
Francis, Dishan (2017). Mastering Active Directory: Understand the Core Functionalities of Active Directory Services Using
Microsoft Server 2016 and PowerShell. Packt
Kim, David, Solomon, Michael (2016). Fundamentals of Information Systems Security 3rd Edition. Jones and Barnet
Learning.
Limoncelli, Thomas;Hogan, Christina; Chalup, Srata (2016). The Practice of System and Network Administration: Volume 1:
DevOps and other Best Practices for Enterprise IT (3rd Edition) 3rd Edition. Addison-Wesley