Files
CyberPanel/firewall/views.py

551 lines
14 KiB
Python
Raw Normal View History

2018-10-12 18:18:10 +05:00
from django.shortcuts import redirect
2017-10-24 19:16:36 +05:00
import json
from loginSystem.views import loadLoginPage
2018-10-12 18:18:10 +05:00
from firewallManager import FirewallManager
from pluginManager import pluginManager
2017-10-24 19:16:36 +05:00
# Create your views here.
def securityHome(request):
try:
userID = request.session['userID']
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
return fm.securityHome(request, userID)
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
def firewallHome(request):
try:
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preFirewallHome(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.firewallHome(request, userID)
result = pluginManager.postFirewallHome(request, coreResult)
if result != 200:
return result
return coreResult
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
def getCurrentRules(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
return fm.getCurrentRules(userID)
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-26 04:55:51 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def addRule(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preAddRule(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.addRule(userID, json.loads(request.body))
result = pluginManager.postAddRule(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def deleteRule(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preDeleteRule(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.deleteRule(userID, json.loads(request.body))
result = pluginManager.postDeleteRule(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def reloadFirewall(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preReloadFirewall(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.reloadFirewall(userID)
result = pluginManager.postReloadFirewall(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def startFirewall(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preStartFirewall(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.startFirewall(userID)
result = pluginManager.postStartFirewall(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def stopFirewall(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preStopFirewall(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.stopFirewall(userID)
result = pluginManager.postStopFirewall(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def firewallStatus(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preFirewallStatus(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.firewallStatus(userID)
result = pluginManager.postFirewallStatus(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def secureSSH(request):
try:
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preSecureSSH(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.secureSSH(request, userID)
result = pluginManager.postSecureSSH(request, coreResult)
if result != 200:
return result
return coreResult
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
def getSSHConfigs(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
return fm.getSSHConfigs(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def saveSSHConfigs(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preSaveSSHConfigs(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.saveSSHConfigs(userID, json.loads(request.body))
result = pluginManager.postSaveSSHConfigs(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def deleteSSHKey(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preDeleteSSHKey(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.deleteSSHKey(userID, json.loads(request.body))
result = pluginManager.postDeleteSSHKey(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def addSSHKey(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preAddSSHKey(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.addSSHKey(userID, json.loads(request.body))
result = pluginManager.postAddSSHKey(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
def loadModSecurityHome(request):
try:
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preLoadModSecurityHome(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.loadModSecurityHome(request, userID)
result = pluginManager.postLoadModSecurityHome(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def installModSec(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
return fm.installModSec(userID, json.loads(request.body))
except KeyError:
2018-08-26 04:55:51 +05:00
return redirect(loadLoginPage)
def installStatusModSec(request):
try:
2018-08-26 04:55:51 +05:00
userID = request.session['userID']
fm = FirewallManager()
return fm.installStatusModSec(userID)
except KeyError:
2018-08-26 04:55:51 +05:00
return redirect(loadLoginPage)
2018-03-21 03:04:56 +05:00
def fetchModSecSettings(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
return fm.fetchModSecSettings(userID, json.loads(request.body))
2018-03-21 03:04:56 +05:00
except KeyError:
return redirect(loadLoginPage)
def saveModSecConfigurations(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preSaveModSecConfigurations(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.saveModSecConfigurations(userID, json.loads(request.body))
result = pluginManager.postSaveModSecConfigurations(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
def modSecRules(request):
try:
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preModSecRules(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.modSecRules(request, userID)
result = pluginManager.postModSecRules(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def fetchModSecRules(request):
try:
userID = request.session['userID']
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
return fm.fetchModSecRules(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def saveModSecRules(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preSaveModSecRules(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.saveModSecRules(userID, json.loads(request.body))
result = pluginManager.postSaveModSecRules(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
2018-04-04 02:17:12 +05:00
def modSecRulesPacks(request):
try:
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preModSecRulesPacks(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.modSecRulesPacks(request, userID)
result = pluginManager.postModSecRulesPacks(request, coreResult)
if result != 200:
return result
return coreResult
2018-04-04 02:17:12 +05:00
except KeyError:
return redirect(loadLoginPage)
def getOWASPAndComodoStatus(request):
try:
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preGetOWASPAndComodoStatus(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.getOWASPAndComodoStatus(userID, json.loads(request.body))
result = pluginManager.postGetOWASPAndComodoStatus(request, coreResult)
if result != 200:
return result
return coreResult
2018-04-04 02:17:12 +05:00
except KeyError:
return redirect(loadLoginPage)
def installModSecRulesPack(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preInstallModSecRulesPack(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.installModSecRulesPack(userID, json.loads(request.body))
result = pluginManager.postInstallModSecRulesPack(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
2018-04-04 02:17:12 +05:00
def getRulesFiles(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preGetRulesFiles(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.getRulesFiles(userID, json.loads(request.body))
result = pluginManager.postGetRulesFiles(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
2018-08-26 04:55:51 +05:00
return redirect(loadLoginPage)
def enableDisableRuleFile(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preEnableDisableRuleFile(request)
if result != 200:
return result
2018-08-26 04:55:51 +05:00
fm = FirewallManager()
2018-10-12 18:18:10 +05:00
coreResult = fm.enableDisableRuleFile(userID, json.loads(request.body))
result = pluginManager.postEnableDisableRuleFile(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-26 04:55:51 +05:00
except KeyError:
return redirect(loadLoginPage)
2018-08-06 02:01:09 +05:00
def csf(request):
try:
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
result = pluginManager.preCSF(request)
if result != 200:
return result
2018-08-06 02:01:09 +05:00
2018-10-12 18:18:10 +05:00
fm = FirewallManager(request)
coreResult = fm.csf()
2018-08-06 02:01:09 +05:00
2018-10-12 18:18:10 +05:00
result = pluginManager.postCSF(request, coreResult)
if result != 200:
return result
2018-08-06 02:01:09 +05:00
2018-10-12 18:18:10 +05:00
return coreResult
2018-08-06 02:01:09 +05:00
except KeyError:
return redirect(loadLoginPage)
def installCSF(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
fm = FirewallManager(request)
return fm.installCSF()
2018-08-06 02:01:09 +05:00
except KeyError:
2018-10-12 18:18:10 +05:00
return redirect(loadLoginPage)
2018-08-06 02:01:09 +05:00
def installStatusCSF(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
fm = FirewallManager(request)
return fm.installStatusCSF()
except KeyError:
return redirect(loadLoginPage)
2018-08-06 02:01:09 +05:00
2018-08-10 23:29:10 +05:00
def removeCSF(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
fm = FirewallManager(request)
return fm.removeCSF()
2018-08-10 23:29:10 +05:00
except KeyError:
2018-10-12 18:18:10 +05:00
return redirect(loadLoginPage)
2018-08-10 23:29:10 +05:00
def fetchCSFSettings(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-12 18:18:10 +05:00
fm = FirewallManager(request)
return fm.fetchCSFSettings()
2018-08-10 23:29:10 +05:00
except KeyError:
2018-10-12 18:18:10 +05:00
return redirect(loadLoginPage)
2018-08-10 23:29:10 +05:00
def changeStatus(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
result = pluginManager.preChangeStatus(request)
if result != 200:
return result
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
fm = FirewallManager(request)
coreResult = fm.changeStatus()
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
result = pluginManager.postChangeStatus(request, coreResult)
if result != 200:
return result
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
return coreResult
2018-08-10 23:29:10 +05:00
except KeyError:
2018-10-12 18:18:10 +05:00
return redirect(loadLoginPage)
2018-08-10 23:29:10 +05:00
def modifyPorts(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
result = pluginManager.preModifyPorts(request)
if result != 200:
return result
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
fm = FirewallManager(request)
coreResult = fm.modifyPorts()
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
result = pluginManager.postModifyPorts(request, coreResult)
if result != 200:
return result
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
return coreResult
2018-08-10 23:29:10 +05:00
except KeyError:
2018-10-12 18:18:10 +05:00
return redirect(loadLoginPage)
2018-08-10 23:29:10 +05:00
def modifyIPs(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
result = pluginManager.preModifyIPs(request)
if result != 200:
return result
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
fm = FirewallManager(request)
coreResult = fm.modifyIPs()
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
result = pluginManager.postModifyIPs(request, coreResult)
if result != 200:
return result
2018-08-10 23:29:10 +05:00
2018-10-12 18:18:10 +05:00
return coreResult
2018-08-10 23:29:10 +05:00
except KeyError:
2018-10-12 18:18:10 +05:00
return redirect(loadLoginPage)