Analyzing apache
This commit is contained in:
parent
20d15fa8ec
commit
725fe43786
@ -15,3 +15,20 @@ def apache_protocols() -> dict:
|
|||||||
|
|
||||||
return ssl
|
return ssl
|
||||||
|
|
||||||
|
def apache_signature() -> dict:
|
||||||
|
signature = dict()
|
||||||
|
|
||||||
|
signature["description"] = "Disable Apache signature"
|
||||||
|
signature["level"] = "high"
|
||||||
|
signature['value'] = 'ServerSignature On'
|
||||||
|
|
||||||
|
return signature
|
||||||
|
|
||||||
|
def apache_indexes() -> dict:
|
||||||
|
indexes = dict()
|
||||||
|
|
||||||
|
indexes['description'] = 'Disable files and directory indexes'
|
||||||
|
indexes['level'] = 'medium'
|
||||||
|
indexes['value'] = 'Options -Indexes'
|
||||||
|
|
||||||
|
return indexes
|
||||||
|
@ -3,12 +3,14 @@
|
|||||||
import re
|
import re
|
||||||
from os import listdir
|
from os import listdir
|
||||||
from os.path import isdir
|
from os.path import isdir
|
||||||
from audit.system.plugins.apache import apache_protocols
|
from audit.system.plugins.apache import apache_protocols, apache_signature, apache_indexes
|
||||||
|
|
||||||
|
|
||||||
class Apache:
|
class Apache:
|
||||||
def __init__(self, arguments):
|
def __init__(self, arguments):
|
||||||
self._ssl_versions = apache_protocols()
|
self._ssl_versions = apache_protocols()
|
||||||
|
self._signature = apache_signature()
|
||||||
|
self._indexes = apache_indexes()
|
||||||
self._reports = dict()
|
self._reports = dict()
|
||||||
self._apache_directory = arguments["apache_directory"]
|
self._apache_directory = arguments["apache_directory"]
|
||||||
|
|
||||||
@ -20,7 +22,16 @@ class Apache:
|
|||||||
|
|
||||||
def runAudit(self):
|
def runAudit(self):
|
||||||
print("Running test for Apache")
|
print("Running test for Apache")
|
||||||
self._analyzingSslVersion()
|
|
||||||
|
# Check if the directory exist
|
||||||
|
path = f"{self._apache_directory}"
|
||||||
|
if isdir(path):
|
||||||
|
self._analyzingSslVersion()
|
||||||
|
else:
|
||||||
|
self._reports['audit'] = False
|
||||||
|
self._reports["msg"] = "No directory found"
|
||||||
|
|
||||||
|
print(self._reports)
|
||||||
|
|
||||||
def getReports(self) -> dict:
|
def getReports(self) -> dict:
|
||||||
return self._reports
|
return self._reports
|
||||||
@ -30,14 +41,19 @@ class Apache:
|
|||||||
path = f"{self._apache_directory}/sites-available"
|
path = f"{self._apache_directory}/sites-available"
|
||||||
if isdir(path):
|
if isdir(path):
|
||||||
self._reports['audit'] = True
|
self._reports['audit'] = True
|
||||||
|
count = 0
|
||||||
for site in listdir(path):
|
for site in listdir(path):
|
||||||
with open(f"{path}/{site}", 'rb') as f:
|
with open(f"{path}/{site}", 'rb') as f:
|
||||||
self._parseFile(f)
|
self._parseFile(f)
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
if count == 0:
|
||||||
|
self._reports['audit'] = False
|
||||||
|
self._reports['msg'] = \
|
||||||
|
f'No virtual host found in the directory {path}'
|
||||||
else:
|
else:
|
||||||
self._reports['audit'] = False
|
self._reports['audit'] = False
|
||||||
self._reports["msg"] = "No directory found"
|
self._reports["msg"] = f"No directory {path} found"
|
||||||
|
|
||||||
print(self._reports)
|
|
||||||
|
|
||||||
def _parseFile(self, fdata):
|
def _parseFile(self, fdata):
|
||||||
data = fdata.read()
|
data = fdata.read()
|
||||||
@ -102,3 +118,5 @@ class Apache:
|
|||||||
- level: high, medium or low
|
- level: high, medium or low
|
||||||
"""
|
"""
|
||||||
self._reports['ssl'] = dict()
|
self._reports['ssl'] = dict()
|
||||||
|
self._reports['signature'] = dict()
|
||||||
|
self._reports['indexes'] = dict()
|
||||||
|
Loading…
Reference in New Issue
Block a user