From 49fce40ef74c52557e23809bf2c4c0080563c710 Mon Sep 17 00:00:00 2001 From: Manuel Faux Date: Sat, 10 Apr 2021 10:35:33 +0200 Subject: [PATCH] www/nginx: Grid view improvements (#2158) --- .../OPNsense/Nginx/Api/SettingsController.php | 34 ++++++++++++++++--- .../mvc/app/views/OPNsense/Nginx/index.volt | 30 +++++++++++----- 2 files changed, 50 insertions(+), 14 deletions(-) diff --git a/www/nginx/src/opnsense/mvc/app/controllers/OPNsense/Nginx/Api/SettingsController.php b/www/nginx/src/opnsense/mvc/app/controllers/OPNsense/Nginx/Api/SettingsController.php index 4bec574e9..a8e651c58 100644 --- a/www/nginx/src/opnsense/mvc/app/controllers/OPNsense/Nginx/Api/SettingsController.php +++ b/www/nginx/src/opnsense/mvc/app/controllers/OPNsense/Nginx/Api/SettingsController.php @@ -104,7 +104,7 @@ class SettingsController extends ApiMutableModelControllerBase // Upstream public function searchupstreamAction() { - return $this->searchBase('upstream', array('description', 'serverentries')); + return $this->searchBase('upstream', array('description', 'serverentries', 'tls_enable', 'load_balancing_algorithm')); } public function getupstreamAction($uuid = null) @@ -158,7 +158,28 @@ class SettingsController extends ApiMutableModelControllerBase // Location public function searchlocationAction() { - return $this->searchBase('location', array('description','urlpattern', 'path_prefix', 'matchtype', 'enable_secrules', 'force_https')); + $data = $this->searchBase('location', array( + 'description','urlpattern', 'path_prefix', 'matchtype', 'upstream', + 'enable_secrules', 'enable_learning_mode', 'force_https', + 'xss_block_score', 'sqli_block_score', 'custom_policy' + )); + + // Create "waf_status" column (enabled/disabled/learning) + foreach ($data['rows'] as &$row) { + if ($row['enable_secrules']) { + if ($row['enable_learning_mode']) { + $row['waf_status'] = gettext('learning'); + } + else { + $row['waf_status'] = gettext('enabled'); + } + } + else { + $row['waf_status'] = gettext('disabled'); + } + } + + return $data; } public function getlocationAction($uuid = null) @@ -185,7 +206,7 @@ class SettingsController extends ApiMutableModelControllerBase // Custom Policy public function searchcustompolicyAction() { - return $this->searchBase('custom_policy', array('name', 'operator', 'value', 'action')); + return $this->searchBase('custom_policy', array('name', 'operator', 'value', 'action', 'naxsi_rules')); } public function getcustompolicyAction($uuid = null) @@ -212,7 +233,10 @@ class SettingsController extends ApiMutableModelControllerBase // http server public function searchhttpserverAction() { - return $this->searchBase('http_server', array('servername', 'https_only', 'certificate', 'listen_http_port', 'listen_https_port')); + return $this->searchBase('http_server', array( + 'servername', 'locations', 'root', 'https_only', 'certificate', + 'listen_http_port', 'listen_https_port' + )); } public function gethttpserverAction($uuid = null) @@ -266,7 +290,7 @@ class SettingsController extends ApiMutableModelControllerBase // naxsi rules public function searchnaxsiruleAction() { - return $this->searchBase('naxsi_rule', array('description', 'identifier', 'ruletype', 'message')); + return $this->searchBase('naxsi_rule', array('description', 'identifier', 'ruletype', 'match_type', 'score', 'match_value', 'message')); } public function getnaxsiruleAction($uuid = null) diff --git a/www/nginx/src/opnsense/mvc/app/views/OPNsense/Nginx/index.volt b/www/nginx/src/opnsense/mvc/app/views/OPNsense/Nginx/index.volt index b46e20485..ec5a47d71 100644 --- a/www/nginx/src/opnsense/mvc/app/views/OPNsense/Nginx/index.volt +++ b/www/nginx/src/opnsense/mvc/app/views/OPNsense/Nginx/index.volt @@ -217,8 +217,12 @@ {{ lang._('URL Pattern') }} {{ lang._('URL Path Prefix') }} {{ lang._('Match Type') }} - {{ lang._('WAF Enabled') }} - {{ lang._('Force HTTPS') }} + {{ lang._('Upstream') }} + {{ lang._('WAF Status') }} + {{ lang._('XSS Score') }} + {{ lang._('SQLi Score') }} + {{ lang._('WAF Policies') }} + {{ lang._('Force HTTPS') }} {{ lang._('Commands') }} @@ -268,6 +272,8 @@ {{ lang._('Description') }} {{ lang._('Servers') }} + {{ lang._('Load Balancing') }} + {{ lang._('TLS Enabled') }} {{ lang._('Commands') }} @@ -332,10 +338,12 @@ {{ lang._('Servername') }} - {{ lang._('HTTPS Only') }} + {{ lang._('Locations') }} + {{ lang._('File System Root') }} {{ lang._('Certificate') }} - {{ lang._('HTTP Port') }} - {{ lang._('HTTPS Port') }} + {{ lang._('HTTPS Only') }} + {{ lang._('HTTP Port') }} + {{ lang._('HTTPS Port') }} {{ lang._('Commands') }} @@ -414,9 +422,10 @@ {{ lang._('Name') }} - {{ lang._('Operator') }} - {{ lang._('Value') }} - {{ lang._('Action') }} + {{ lang._('Operator') }} + {{ lang._('Value') }} + {{ lang._('Rules') }} + {{ lang._('Action') }} {{ lang._('Commands') }} @@ -438,8 +447,11 @@ {{ lang._('Description') }} - {{ lang._('Rule Type') }} + {{ lang._('Rule Type') }} + {{ lang._('Match Type') }} {{ lang._('ID') }} + {{ lang._('Score') }} + {{ lang._('Value') }} {{ lang._('Message') }} {{ lang._('Commands') }}