Skip to main content

SSL Certificates without Non-FQDNs- Fully Qualified Domain Name

Over the years, publicly-trusted CAs have issued SSL certificates with domain names of different types. The most common is the Fully Qualified Domain Name (FQDN). This is a certificate that has been issued with a name registered with an entity that manages a top-level domain (TLD), for example server1.domain.com. The differentiating characteristic about an FQDN is that it is unique. There is one controller of domain.com and that controller determines who can have any name under that root, such as server1.domain.com.

Along the way, public CAs also issued certificates with non-FQDNs, such as:

Server host name only, for example: server1
Server name with non-managed TLD, for example: server1.domain.local
(In this example, local is not a TLD per ICANN.)
Reserved IP addresses
(In this case, the IP address cannot be registered, see IPv4 and IPv6.)
Many SSL certificates have been issued that contain non-unique domain identifiers. Correspondingly, there are many security risks where publicly-trusted certificates issued with a non-FQDN could be used to attack an enterprise using the same name for internal usages.

The CA/Browser Forum decided to mitigate the risk by deprecating the issuance of certificates with non-FQDNs. As defined in the Baseline Requirements, the publicly-trusted SSL CAs will stop issuing certificates with non-FQDNs by November 1, 2015, and all unexpired certificates with non-FQDNs will be revoked by October 1, 2016. The CAs must also provide a warning of the deprecated use of such certificate to the applicant before issuance.

This issue is particularly a problem with Microsoft Exchange users where non-FQDN names are used frequently. Paul Cunningham, a Microsoft Exchange Server MVP, wrote this article to help address the Exchange issue.

The problem also affects other deployments. To help, the CA/Browser Forum published Guidance on the Deprecation of Internal Server Names and Reserved IP Addresses to explain the issue and provide recommended solutions.

Please take a look at the publications and see if you have a problem with non-FQDNs.

Comments

Popular posts from this blog

IPv4 header to requests when a client is using IPv6

  What is Pseudo IPv4? As a stopgap to accelerate the adoption of IPv6, Cloudflare offers Pseudo IPv4 which supports IPv6 addresses in legacy applications expecting IPv4 addresses. The goal is to provide a nearly unique IPv4 address for each IPv6 address, using Class E IPv4 address space, which is designated as experimental and would not normally see traffic. To learn more see  here . Options Add header:  Add additional Cf-Pseudo-IPv4 header only Overwrite headers:  Overwrite the existing Cf-Connecting-IP and X-Forwarded-For headers with a pseudo IPv4 address Cloudflare

Intrusion detection system

An   intrusion detection system   ( IDS ) is a device or   software application   that monitors network or system activities for malicious activities or policy violations and produces reports to a management station.  IDS come in a variety of “flavors” and approach the goal of detecting suspicious traffic in different ways. There are network based (NIDS) and host based (HIDS) intrusion detection systems. Some systems may attempt to stop an intrusion attempt but this is neither required nor expected of a monitoring system.  Intrusion detection and prevention systems (IDPS) are primarily focused on identifying possible incidents, logging information about them, and reporting attempts. In addition, organizations use IDPSes for other purposes, such as identifying problems with security policies, documenting existing threats and deterring individuals from violating security policies.  IDPSes have become a necessary addition to the security infrastru...

IIS Manager - applocation pool restart C# code

using System; using System.Collections.Generic; using System.Text; using System.DirectoryServices; namespace RecycleApplicationPool { class Program { static void Main( string [] args) { string appPoolName = "DefaultAppPool" ; string machineName = "LOCALHOST" ; if (args.Length > 0) appPoolName = args[0]; if (args.Length > 1) machineName = args[1]; string error = null ; DirectoryEntry root = null ; try { Console .WriteLine( "Restarting Application Pool " + appPoolName + " on " + machineName + "..." ); root = new DirectoryEntry ( "IIS://" + machineName + "/W3SVC/AppPools/" +appPoolName); Console .WriteLine(root.InvokeGet( "Name" )); root.Invoke( "Recycle" ); ...