mirror of
https://github.com/mozilla/cipherscan.git
synced 2026-02-05 22:55:15 +01:00
collect stats about compression and renegotiation
since no support for compression and support for renegotiation are necessary for the server to have a secure configuration, collect and report those two too
This commit is contained in:
@@ -138,6 +138,8 @@ fallback_ids[' '] = i
|
||||
pfssigalgfallback = defaultdict(int)
|
||||
pfssigalgs = defaultdict(int)
|
||||
pfssigalgsordering = defaultdict(int)
|
||||
compression = defaultdict(int)
|
||||
renegotiation = defaultdict(int)
|
||||
dsarsastack = 0
|
||||
total = 0
|
||||
for r,d,flist in os.walk(path):
|
||||
@@ -161,6 +163,8 @@ for r,d,flist in os.walk(path):
|
||||
temppfssigalgordering = {}
|
||||
temppfssigalgfallback = {}
|
||||
temppfssigalgs = {}
|
||||
tempcompression = {}
|
||||
temprenegotiation = {}
|
||||
ciphertypes = 0
|
||||
AESGCM = False
|
||||
AESCBC = False
|
||||
@@ -324,6 +328,13 @@ for r,d,flist in os.walk(path):
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
""" get some extra data about server """
|
||||
if 'renegotiation' in results:
|
||||
temprenegotiation[results['renegotiation']] = 1
|
||||
|
||||
if 'compression' in results:
|
||||
tempcompression[results['compression']] = 1
|
||||
|
||||
""" loop over list of ciphers """
|
||||
for entry in results['ciphersuite']:
|
||||
|
||||
@@ -538,6 +549,12 @@ for r,d,flist in os.walk(path):
|
||||
for s in tempsigstats:
|
||||
sigalg[s] += 1
|
||||
|
||||
for s in temprenegotiation:
|
||||
renegotiation[s] += 1
|
||||
|
||||
for s in tempcompression:
|
||||
compression[s] += 1
|
||||
|
||||
if len(tempticketstats) == 1:
|
||||
for s in tempticketstats:
|
||||
tickethint[s + " only"] += 1
|
||||
@@ -785,6 +802,18 @@ for stat in sorted(pfssigalgfallback):
|
||||
percent = round(pfssigalgfallback[stat] / total * 100, 4)
|
||||
sys.stdout.write(stat.ljust(30) + " " + str(pfssigalgfallback[stat]).ljust(10) + str(percent).ljust(9) + "\n")
|
||||
|
||||
print("\nRenegotiation Count Percent ")
|
||||
print("-------------------------+---------+--------")
|
||||
for stat in natural_sort(renegotiation):
|
||||
percent = round(renegotiation[stat] / total * 100, 4)
|
||||
sys.stdout.write(stat.ljust(25) + " " + str(renegotiation[stat]).ljust(10) + str(percent).ljust(9) + "\n")
|
||||
|
||||
print("\nCompression Count Percent ")
|
||||
print("-------------------------+---------+--------")
|
||||
for stat in natural_sort(compression):
|
||||
percent = round(compression[stat] / total * 100, 4)
|
||||
sys.stdout.write(stat.ljust(25) + " " + str(compression[stat]).ljust(10) + str(percent).ljust(9) + "\n")
|
||||
|
||||
print("\nTLS session ticket hint Count Percent ")
|
||||
print("-------------------------+---------+--------")
|
||||
for stat in natural_sort(tickethint):
|
||||
|
||||
Reference in New Issue
Block a user