Threat Level: green Handler on Duty: Brad Duncan

SANS ISC: SANS.edu Internet Storm Center - SANS Internet Storm Center SANS.edu Internet Storm Center


Sign Up for Free!   Forgot Password?
Log In or Sign Up for Free!

Latest Diaries

How Many SANs are Insane?

Published: 2022-07-06
Last Updated: 2022-07-06 13:32:19 UTC
by Johannes Ullrich (Version: 1)
0 comment(s)

x509 certificates, as they are used for TLS, can include multiple "Subject Alternative Names" (SANs) to be used with various websites. Experimenting with numerous ways to detect TLS anomalies, I looked at my Zeek x509 logs to summarize how many names are present in certificates.

My Zeek logs are stored in JSON format to make it easier to send them to Elasticsearch. But I also prefer the jq over the zeek native tool zeek-cut (personal preference).

I used this command line to summarize the logs:

zcat x509.log | jq '."san.dns" | length' | sort | uniq -c | sort -n

Based on this methodology, the maximum number of SANs per certificate is close to 500, but most are using 100 hostnames or less.

number of certificates with specific number of SANs

But the real question: What is normal?

It turns out there is no real "hard" limit. The RFCs leave it up to the implementation to define how many SANs to allow [1]. Different certificate authorities implement different limits:

Let's Encrypt [2] , GoDaddy[3]: 100
Comodo[4]: 1,000 (some older references appear to state 2,000 are allowed)

So, in short: it appears that 100 is "safe." For larger numbers, you may run into implementation-specific issues.

]1] https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6
[2] https://letsencrypt.org/docs/rate-limits/
[3] https://www.godaddy.com/web-security/multi-domain-san-ssl-certificat
[4] https://comodosslstore.com/comodo-mdc-ssl.aspx

---
Johannes B. Ullrich, Ph.D. , Dean of Research, SANS.edu
Twitter|

0 comment(s)

If you have more information or corrections regarding our diary, please share.

Recent Diaries

EternalBlue 5 years after WannaCry and NotPetya
Jul 5th 2022
2 days ago by Jan (0 comments)

7-Zip & MoW: "For Office files"
Jul 4th 2022
3 days ago by DidierStevens (0 comments)

7-Zip & MoW
Jul 3rd 2022
4 days ago by DidierStevens (0 comments)

YARA 4.2.2 Released
Jul 2nd 2022
4 days ago by DidierStevens (0 comments)

Case Study: Cobalt Strike Server Lives on After Its Domain Is Suspended
Jun 30th 2022
1 week ago by Brad (0 comments)

View All Diaries →

Latest Discussions

Dshield Sensor
created Jun 8th 2021
1 year ago by Rick (0 replies)

API port data
created Apr 25th 2021
1 year ago by JJ (1 reply)

RSS feed containing non-XML compatible characters
created Apr 14th 2021
1 year ago by Anonymous (1 reply)

Handler's Diary (Full text) RSS Feeds stopt working due to a typo
created Mar 5th 2021
1 year ago by bas.auer@auerplace.nl (0 replies)

port_scan issue in Snort3
created Feb 23rd 2021
1 year ago by astraea (0 replies)

View All Forums →

Latest News

Top Diaries

Mixed VBA & Excel4 Macro In a Targeted Excel Sheet
Jan 22nd 2022
5 months ago by Xme (0 comments)

A Quick CVE-2022-21907 FAQ
Jan 14th 2022
5 months ago by Johannes (0 comments)

Method For String Extraction Filtering
Apr 9th 2022
2 months ago by DidierStevens (0 comments)

CinaRAT Delivered Through HTML ID Attributes
Feb 11th 2022
4 months ago by Xme (0 comments)

Obscure Wininet.dll Feature?
Jan 21st 2022
5 months ago by Xme (0 comments)