Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. #!/usr/bin/env python
  2. import os
  3. import commands
  4.  
  5. table = {}
  6. result = []
  7. from os import stat
  8. from pwd import getpwuid
  9.  
  10.  
  11. def find_owner(filename):
  12. return getpwuid(stat(filename).st_uid).pw_name
  13.  
  14.  
  15. apache_conf_dir = "/etc/apache2/sites-enabled/" # Ubuntu style
  16. listOfSite = os.listdir(apache_conf_dir)
  17. for site in listOfSite:
  18. if os.path.isfile(os.path.join(apache_conf_dir) + site):
  19. path_to_domain = os.path.join(apache_conf_dir) + site
  20. with open(path_to_domain, 'r') as domain_file:
  21. for config in domain_file:
  22. if '<virtualhost *:' in config.lower():
  23. if '*:80' not in config:
  24. listen_ip = config.split()[-1]
  25. table[site] = {"listen_ip": listen_ip[:-1]}
  26. if 'servername' in config.lower():
  27. if site in table:
  28. server_name = config.split()[-1]
  29. table[site]["Server name"] = server_name
  30. else:
  31. server_name = config.split()[-1]
  32. table[site] = {"Server name": server_name}
  33. if 'sslcacertificatefile' in config.lower():
  34. ca_file_name = config.split()[-1]
  35. table[site]["CACertificateFile"] = ca_file_name
  36. owner_of_CA = find_owner(ca_file_name)
  37. table[site]["CACertificateFileowner"] = owner_of_CA
  38. if 'serveralias' in config.lower():
  39. server_alias = config.split()[1:]
  40. table[site]["ServerAlias"] = server_alias
  41. if 'sslcertificatefile' in config.lower():
  42. cert_file_name = config.split()[-1]
  43. table[site]["CertificateFile"] = cert_file_name
  44. owner_of_CertificateFile = find_owner(cert_file_name)
  45. table[site]["CertificateFileowner"] = owner_of_CertificateFile
  46. if 'sslcertificatekeyfile' in config.lower():
  47. key_file_name = config.split()[-1]
  48. table[site]["keyfile"] = key_file_name
  49. owner_of_PrivateKey = find_owner(key_file_name)
  50. table[site]["PrivateKeyowner"] = owner_of_PrivateKey
  51.  
  52. for site in table:
  53. for key, val in table[site].items():
  54. if key == "CertificateFile":
  55. subject = commands.getoutput("openssl x509 -in " + val + " -noout -subject")
  56. table[site]["certificate_subject"] = subject.split("CN=")[-1]
  57. issuer = commands.getoutput("openssl x509 -in " + val + " -noout -issuer")
  58. table[site]["certificate_issuer"] = issuer.split("CN=")[-1]
  59. enddate = commands.getoutput("openssl x509 -in " + val + " -noout -enddate")
  60. table[site]["certificate_enddate"] = enddate.split("CN=")[-1][9:]
  61. if key == "CACertificateFile":
  62. table[site]["validate"] = commands.getoutput(
  63. "openssl verify -verbose -CAfile " + table[site]["CACertificateFile"] + " " + table[site][
  64. "CertificateFile"])
  65.  
  66. for site in table:
  67. result = []
  68. result.append(site)
  69. for key, val in table[site].items():
  70. result.append(val)
  71. print str(result)[1:-1]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement