Update tmpl and parsing apache
This commit is contained in:
@@ -28,12 +28,14 @@ class Apache:
|
||||
def _runParsing(self):
|
||||
# Check if the file exist
|
||||
path = f"{self._apache_directory}/sites-available"
|
||||
#if isdir(self._apache_directory):
|
||||
# for site in listdir(path):
|
||||
# with open(f"{path}/{site}", 'rb') as f:
|
||||
# self._parseFile(f)
|
||||
#else:
|
||||
# self._reports["apache"]["test"] = "No directory found"
|
||||
if isdir(path):
|
||||
self._reports['audit'] = True
|
||||
for site in listdir(path):
|
||||
with open(f"{path}/{site}", 'rb') as f:
|
||||
self._parseFile(f)
|
||||
else:
|
||||
self._reports['audit'] = False
|
||||
self._reports["msg"] = "No directory found"
|
||||
|
||||
def _parseFile(self, fdata):
|
||||
data = fdata.read()
|
||||
|
||||
@@ -33,6 +33,7 @@ class Grub:
|
||||
else:
|
||||
self._reports['result'] = 'success'
|
||||
self._reports['description'] = self._object['description']
|
||||
self._reports['level'] = self._object['level']
|
||||
self._reports['current_value'] = permission[2:]
|
||||
except FileNotFoundError:
|
||||
self._reports['grub']['error'] = \
|
||||
|
||||
@@ -50,12 +50,14 @@ class LocalAccount:
|
||||
self._reports['profile']['vulnerabilities'] = dict()
|
||||
self._reports['profile']['vulnerabilities'][self._profile['flag']] = dict()
|
||||
self._reports['profile']['vulnerabilities'][self._profile['flag']]["result"] = "success"
|
||||
self._reports['profile']['vulnerabilities'][self._profile['flag']]['level'] = self._profile['level']
|
||||
self._reports['profile']['vulnerabilities'][self._profile['flag']]["description"] = self._profile['description']
|
||||
self._reports['profile']['vulnerabilities'][self._profile['flag']]["flagFound"] = lineFound
|
||||
else:
|
||||
self._reports['profile']['vulnerabilities'] = dict()
|
||||
self._reports['profile']['vulnerabilities'][self._profile['flag']] = dict()
|
||||
self._reports['profile']['vulnerabilities'][self._profile['flag']]["result"] = "failed"
|
||||
self._reports['profile']['vulnerabilities'][self._profile['flag']]['level'] = self._profile['level']
|
||||
self._reports['profile']['vulnerabilities'][self._profile["flag"]]["recommand_value"] = self._profile["value"]
|
||||
self._reports['profile']['vulnerabilities'][self._profile['flag']]["description"] = self._profile['description']
|
||||
self._reports['profile']['vulnerabilities'][self._profile['flag']]["flag"] = self._profile['flag']
|
||||
|
||||
@@ -56,11 +56,13 @@ class Postfix:
|
||||
if res:
|
||||
self._reports["postfix"][obj['flag']] = dict()
|
||||
self._reports["postfix"][obj['flag']]["result"] = "success"
|
||||
self._reports["postfix"][obj['flag']]["level"] = obj['level']
|
||||
self._reports["postfix"][obj['flag']]["description"] = obj['description']
|
||||
self._reports["postfix"][obj['flag']]["flagFound"] = line
|
||||
else:
|
||||
self._reports["postfix"][obj['flag']] = dict()
|
||||
self._reports["postfix"][obj['flag']]["result"] = "failed"
|
||||
self._reports["postfix"][obj['flag']]["level"] = obj['level']
|
||||
self._reports["postfix"][obj["flag"]]["recommand_value"] = obj["value"]
|
||||
self._reports["postfix"][obj['flag']]["description"] = obj['description']
|
||||
self._reports["postfix"][obj['flag']]["flag"] = obj['flag']
|
||||
|
||||
+8
-4
@@ -20,7 +20,6 @@ def generateHtmlReport(data):
|
||||
|
||||
body = str()
|
||||
for plugin in data['system']:
|
||||
#print(plugin)
|
||||
dataJinja2['plugins'].append(f"{plugin}.html.j2")
|
||||
|
||||
if 'postfix' in data['system']:
|
||||
@@ -39,11 +38,15 @@ def generateHtmlReport(data):
|
||||
_generateAccordion(dataJinja2['sysctl']['file']['sysctl'], 'sysctl')
|
||||
|
||||
if 'apache' in data['system']:
|
||||
pass
|
||||
if data['system']['apache']['audit']:
|
||||
dataJinja2['apache'] = data['system']['apache']
|
||||
else:
|
||||
dataJinja2['apache'] = data['system']['apache']
|
||||
|
||||
if 'localaccount' in data['system']:
|
||||
if 'profile' in data['system']['localaccount']:
|
||||
dataJinja2['profile'] = dict()
|
||||
#dataJinja2['profile']['level'] = data['system']['localaccount']['profile']['level']
|
||||
dataJinja2['profile']['filename'] = data['system']['localaccount']['profile']['filename']
|
||||
dataJinja2['profile']['vulnerabilities'] = data['system']['localaccount']['profile']['vulnerabilities']
|
||||
|
||||
@@ -60,11 +63,12 @@ def generateHtmlReport(data):
|
||||
dataJinja2['release'] = data['release']
|
||||
rdr = tmplIndex.render(data=dataJinja2)
|
||||
|
||||
with open(f"reports/reports_{today}.html", "w") as f:
|
||||
hostname = data['hostname'].lower()
|
||||
with open(f"reports/reports_{hostname}_{today}.html", "w") as f:
|
||||
f.write(rdr)
|
||||
|
||||
print("The report is generated at this location: " \
|
||||
f"reports/reports_{today}.html")
|
||||
f"reports/reports_{hostname}_{today}.html")
|
||||
|
||||
def _generateAccordion(obj, parent):
|
||||
index = 1
|
||||
|
||||
Reference in New Issue
Block a user