Update log table, login screen UI and package versions

This commit is contained in:
Rami Winestock
2023-12-14 23:59:54 +02:00
parent 1d81a55ffd
commit c0171fe78b
13 changed files with 54 additions and 63 deletions

View File

@@ -58,6 +58,18 @@ const internalOpenappsecLog = {
eventSeverity: json.eventSeverity, eventSeverity: json.eventSeverity,
eventLevel: json.eventLevel, eventLevel: json.eventLevel,
eventTime: json.eventTime, eventTime: json.eventTime,
assetName: json.eventSource.assetName,
securityAction: json.eventData.securityAction,
waapIncidentType: json.eventData.waapIncidentType,
httpSourceId: json.eventData.httpSourceId,
sourceIP: json.eventData.sourceIP,
httpHostName: json.eventData.httpHostName,
httpMethod: json.eventData.httpMethod,
httpUriPath: json.eventData.httpUriPath,
eventTopic: json.eventSource.eventTopic,
matchedLocation: json.eventData.matchedLocation,
matchedParameter: json.eventData.matchedParameter,
matchedSample: json.eventData.matchedSample,
eventName: json.eventName eventName: json.eventName
}; };
dataLines.push(wrappedObject); dataLines.push(wrappedObject);

View File

@@ -1,6 +1,6 @@
{ {
"name": "nginx-proxy-manager", "name": "nginx-proxy-manager",
"version": "0.0.0", "version": "1.0.1",
"description": "A beautiful interface for creating Nginx endpoints", "description": "A beautiful interface for creating Nginx endpoints",
"main": "js/index.js", "main": "js/index.js",
"dependencies": { "dependencies": {

View File

@@ -1,9 +1,9 @@
<% var title = 'Login &ndash; Nginx Proxy Manager' %> <% var title = 'Login &ndash; Nginx Proxy Manager' %>
<%- include partials/header.ejs %> <%- include partials/header.ejs %>
<div class="page" id="login" data-version="<%= version %>"> <div class="page" id="login" data-version="<%- version %>">
<span class="loader"></span> <span class="loader"></span>
</div> </div>
<script type="text/javascript" src="/js/login.bundle.js?v=<%= version %>"></script> <script type="text/javascript" src="/js/login.bundle.js?v=<%- version %>"></script>
<%- include partials/footer.ejs %> <%- include partials/footer.ejs %>

View File

@@ -1,5 +1,5 @@
<td class="text-right"><a href="#" class="meta btn btn-secondary btn-sm">open</a></td>
<td><%- formatDbDate(eventTime, 'D-M-YY, H:mm') %></td> <td class="text-nowrap"><%- formatDbDate(eventTime, 'MMM DD YYYY, H:mm') %></td>
<td><%- eventSeverity %></td> <td><%- eventSeverity %></td>
<td><%- assetName %></td> <td><%- assetName %></td>
<td><%- securityAction %></td> <td><%- securityAction %></td>
@@ -15,6 +15,3 @@
<td><%- matchedLocation %></td> <td><%- matchedLocation %></td>
<td><%- matchedParameter %></td> <td><%- matchedParameter %></td>
<td><%- matchedSample %></td> <td><%- matchedSample %></td>
<td class="text-right">
<a href="#" class="meta btn btn-secondary btn-sm">open</a>
</td>

View File

@@ -1,21 +1,21 @@
<thead> <thead>
<th>&nbsp;</th>
<th>Time</th> <th>Time</th>
<th>Event Severity</th> <th>Event Severity</th>
<th>Asset Name</th> <th>Asset Name</th>
<th>Security Action</th> <th>Security Action</th>
<th>AppSec Incident Type</th> <th><span class="text-nowrap">AppSec Incident</span> Type</th>
<th>Source Identifier</th> <th>Source Identifier</th>
<th>Source IP</th> <th>Source IP</th>
<th>Proxy IP</th> <th>Proxy IP</th>
<th>HTTP Host</th> <th>HTTP Host</th>
<th>HTTP Method</th> <th>HTTP Method</th>
<th>HTTP Response Code</th> <th><span class="text-nowrap">HTTP Response</span> Code</th>
<th>HTTP URI Path</th> <th><span class="text-nowrap">HTTP URI</span> Path</th>
<th>Event Topic</th> <th>Event Topic</th>
<th>Matched Location</th> <th>Matched Location</th>
<th>Matched Parameter</th> <th>Matched Parameter</th>
<th>Matched Sample</th> <th>Matched Sample</th>
<th>&nbsp;</th>
</thead> </thead>
<tbody> <tbody>
<!-- items --> <!-- items -->

View File

@@ -1,5 +1,5 @@
<td class="text-right"><a href="#" class="meta btn btn-secondary btn-sm">open</a></td>
<td><%- formatDbDate(eventTime, 'D-M-YY, H:mm') %></td> <td class="text-nowrap"><%- formatDbDate(eventTime, 'MMM DD YYYY, H:mm') %></td>
<td><%- eventSeverity %></td> <td><%- eventSeverity %></td>
<td><%- assetName %></td> <td><%- assetName %></td>
<td><%- securityAction %></td> <td><%- securityAction %></td>
@@ -15,6 +15,3 @@
<td><%- matchedLocation %></td> <td><%- matchedLocation %></td>
<td><%- matchedParameter %></td> <td><%- matchedParameter %></td>
<td><%- matchedSample %></td> <td><%- matchedSample %></td>
<td class="text-right">
<a href="#" class="meta btn btn-secondary btn-sm">open</a>
</td>

View File

@@ -1,21 +1,21 @@
<thead> <thead>
<th>&nbsp;</th>
<th>Time</th> <th>Time</th>
<th>Event Severity</th> <th>Event Severity</th>
<th>Asset Name</th> <th>Asset Name</th>
<th>Security Action</th> <th>Security Action</th>
<th>AppSec Incident Type</th> <th><span class="text-nowrap">AppSec Incident</span> Type</th>
<th>Source Identifier</th> <th>Source Identifier</th>
<th>Source IP</th> <th>Source IP</th>
<th>Proxy IP</th> <th>Proxy IP</th>
<th>HTTP Host</th> <th>HTTP Host</th>
<th>HTTP Method</th> <th>HTTP Method</th>
<th>HTTP Response Code</th> <th><span class="text-nowrap">HTTP Response</span> Code</th>
<th>HTTP URI Path</th> <th><span class="text-nowrap">HTTP URI</span> Path</th>
<th>Event Topic</th> <th>Event Topic</th>
<th>Matched Location</th> <th>Matched Location</th>
<th>Matched Parameter</th> <th>Matched Parameter</th>
<th>Matched Sample</th> <th>Matched Sample</th>
<th>&nbsp;</th>
</thead> </thead>
<tbody> <tbody>
<!-- items --> <!-- items -->

View File

@@ -1,10 +1,8 @@
<td><%- formatDbDate(eventTime, 'D-M-YY, H:mm') %></td> <td class="text-right"><a href="#" class="meta btn btn-secondary btn-sm">open</a></td>
<td class="text-nowrap"><%- formatDbDate(eventTime, 'MMM DD YYYY, H:mm') %></td>
<td><%- eventSeverity %></td> <td><%- eventSeverity %></td>
<td><%- eventPriority %></td> <td><%- eventPriority %></td>
<td><%- eventTopic %></td> <td><%- eventTopic %></td>
<td><%- eventName %></td> <td><%- eventName %></td>
<td><%- suggestedRemediation %></td> <td><%- suggestedRemediation %></td>
<td><%- assetName %></td> <td><%- assetName %></td>
<td class="text-right">
<a href="#" class="meta btn btn-secondary btn-sm">open</a>
</td>

View File

@@ -1,4 +1,5 @@
<thead> <thead>
<th>&nbsp;</th>
<th>Time</th> <th>Time</th>
<th>Event Severity</th> <th>Event Severity</th>
<th>Event Priority</th> <th>Event Priority</th>
@@ -6,7 +7,6 @@
<th>Event Name</th> <th>Event Name</th>
<th>Suggested Remediation if Applicable</th> <th>Suggested Remediation if Applicable</th>
<th>Asset Name</th> <th>Asset Name</th>
<th>&nbsp;</th>
</thead> </thead>
<tbody> <tbody>
<!-- items --> <!-- items -->

View File

@@ -78,9 +78,9 @@ module.exports = Mn.View.extend({
}; };
this.tabPaginationStates = { this.tabPaginationStates = {
tab1: { page: 1, perPage: this.options.perPage }, tab1: { page: 1, perPage: this.options.perPage, totalDataLines: tab1Data.length },
tab2: { page: 1, perPage: this.options.perPage }, tab2: { page: 1, perPage: this.options.perPage, totalDataLines: tab2Data.length },
tab3: { page: 1, perPage: this.options.perPage } tab3: { page: 1, perPage: this.options.perPage, totalDataLines: tab3Data.length }
}; };
// Define an object mapping for the ListViews // Define an object mapping for the ListViews
@@ -99,36 +99,16 @@ module.exports = Mn.View.extend({
// Show the ListView for the current tab // Show the ListView for the current tab
this.showChildView('list_region', new CurrentListView({ this.showChildView('list_region', new CurrentListView({
collection: this.tabCollections[currentTab], collection: this.tabCollections[currentTab],
page: 1, // page: 1,
perPage: this.options.perPage // perPage: this.options.perPage
// page: this.tabPaginationStates[currentTab].page, page: this.tabPaginationStates[currentTab].page,
// perPage: this.tabPaginationStates[currentTab].perPage perPage: this.tabPaginationStates[currentTab].perPage
})); }));
// const totalDataLines = response.length;
// this.showChildView('list_region', new ListView({
// collection: this.tabCollections.tab1,
// page: this.tabPaginationStates.tab1.page,
// perPage: this.tabPaginationStates.tab1.perPage
// }));
// this.showChildView('pagination_region', new PaginationView({ // this.showChildView('pagination_region', new PaginationView({
// totalDataLines: this.tabCollectionLengths.tab1, // totalDataLines: this.tabPaginationStates[currentTab].totalDataLines,
// totalPages: Math.ceil(this.tabCollectionLengths.tab1 / this.options.perPage), // totalPages: Math.ceil(this.tabPaginationStates[currentTab].totalDataLines / this.options.perPage),
// currentPage: this.tabPaginationStates.tab1.page // currentPage: this.tabPaginationStates[currentTab].page
// }));
// const totalDataLines = response.length;
// this.showChildView('list_region', new ListView({
// collection: new OpenappsecLogModel.Collection(response),
// page: this.options.page,
// perPage: this.options.perPage
// }));
// this.showChildView('pagination_region', new PaginationView({
// totalDataLines: totalDataLines,
// totalPages: Math.ceil(totalDataLines / this.options.perPage),
// currentPage: this.options.page
// })); // }));
}, },
@@ -184,7 +164,7 @@ module.exports = Mn.View.extend({
const selectedTab = event.target.id; const selectedTab = event.target.id;
let view = this; let view = this;
let query = this.ui.query.val() || ''; let query = this.ui.query.val() || '';
view.ui.dimmer.addClass('active');
view.fetch(['user'], query) view.fetch(['user'], query)
.then(response => { .then(response => {
if (!view.isDestroyed() && response) { if (!view.isDestroyed() && response) {

View File

@@ -6,11 +6,16 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-6"> <div class="col-sm-12 col-md-6">
<div class="text-center p-6"> <div class="text-center p-1">
<img src="/images/logo-text-vertical-grey.png" alt="Logo" /> <img src="/images/logo-text-vertical-grey.png" alt="Logo" />
<div class="text-center text-muted mt-5"> <div class="text-center text-muted mt-5">
<%- i18n('main', 'version', {version: getVersion()}) %> <%- i18n('main', 'version', {version: getVersion()}) %>
</div> </div>
<div class="mt-5">
<span class="small mr-3 text-nowrap">Secured by:</span>
<img src="/images/open-appsec-logo.svg" border="0" width="29" class="mr-2">
<span class="mr-sm-0 mr-md-4 my-0 align-middle text-nowrap" style="font-family: Open Sans;">open-appsec</span>
</div>
</div> </div>
</div> </div>
<div class="col-sm-12 col-md-6"> <div class="col-sm-12 col-md-6">

View File

@@ -36,7 +36,9 @@ module.exports = Mn.View.extend({
templateContext: { templateContext: {
i18n: i18n, i18n: i18n,
getVersion: function () { getVersion: function () {
return $('#login').data('version'); const version = require('../../../package.json').version;
return version;
// return $('#login').data('version');
} }
} }
}); });

View File

@@ -1,6 +1,6 @@
{ {
"name": "nginx-proxy-manager", "name": "nginx-proxy-manager",
"version": "0.0.0", "version": "1.0.1",
"description": "A beautiful interface for creating Nginx endpoints", "description": "A beautiful interface for creating Nginx endpoints",
"main": "js/index.js", "main": "js/index.js",
"devDependencies": { "devDependencies": {