SlideShare a Scribd company logo
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
APPLICATION
SECURITY LOGGING
with Splunk SIEM using Java
// Incomplete In-Work Draft, Please Check Again Later//
robertGrupe, CISSP, CSSLP, PE, PMP
tags :|: OWASP, SIEM, application security, logging, Splunk, Java
1
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Agenda: Application Security Logging
• OWASP Application Security Logging
• SIEM with Splunk
• Java Logging
• Splunk logging for Java
• TCP inputs
• HTTP Event Collector
• Resources: Links
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
OWASP APPLICATION
LOGGING
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Application Logging Purposes
• Security Reasons
• Identifying security incidents
• Monitoring policy violations
• Establishing baselines
• Assisting non-repudiation controls
• Providing information about problems and unusual conditions
• Contributing additional application-specific data for incident investigation which is lacking in other
log sources
• Helping defend against vulnerability identification and exploitation through attack detection
• Business Reasons
• Business process monitoring e.g. sales process abandonment, transactions, connections
• Anti-automation monitoring
• Audit trails e.g. data addition, modification and deletion, data exports
• Performance monitoring e.g. data load time, page timeouts
• Compliance monitoring
• Data for subsequent requests for information e.g. data subject access, freedom of information,
litigation, police and other regulatory investigations
• Legally sanctioned interception of data e.g application-layer wire-tapping
• Other business-specific requirements
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Application Logging
• When using the file system, it is preferable to use a separate partition
than those used by the operating system, other application files and user
generated content
• For file-based logs, apply strict permissions concerning which users can
access the directories, and the permissions of files within the directories
• In web applications, the logs should not be exposed in web-accessible
locations, and if done so, should have restricted access and be
configured with a plain text MIME type (not HTML)
• When using a database, it is preferable to utilize a separate database
account that is only used for writing log data and which has very
restrictive database , table, function and command permissions
• Use standard formats over secure protocols to record and send event
data, or log files, to other systems e.g. Common Log File System (CLFS),
Common Event Format (CEF) over syslog, possibly Common Event
Expression (CEE) in future; standard formats facilitate integration with
centralised logging services
• Consider separate files/tables for extended event information such as
error stack traces or a record of HTTP request and response headers
and bodies.
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Events to Log: Always Log
• Input validation failures e.g. protocol violations, unacceptable encodings, invalid parameter
names and values
• Output validation failures e.g. database record set mismatch, invalid data encoding
• Authentication successes and failures
• Authorization (access control) failures
• Session management failures e.g. cookie session identification value modification
• Application errors and system events e.g. syntax and runtime errors, connectivity problems,
performance issues, third party service error messages, file system errors, file upload virus
detection, configuration changes
• Application and related systems start-ups and shut-downs, and logging initialization (starting,
stopping or pausing)
• Use of higher-risk functionality e.g. network connections, addition or deletion of users,
changes to privileges, assigning users to tokens, adding or deleting tokens, use of systems
administrative privileges, access by application administrators, all actions by users with
administrative privileges, access to payment cardholder data, use of data encrypting keys,
key changes, creation and deletion of system-level objects, data import and export including
screen-based reports, submission of user-generated content - especially file uploads
• Legal and other opt-ins e.g. permissions for mobile phone capabilities, terms of use, terms &
conditions, personal data usage consent, permission to receive marketing communications
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Events to Log: Optionally Consider
• Sequencing failure
• Excessive use
• Data changes
• Fraud and other criminal activities
• Suspicious, unacceptable or unexpected behavior
• Modifications to configuration
• Application code file and/or memory changes
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
APPLICATION SECURITY
LOGGING
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Purposes
• Monitoring & Alerting
• Suspicious activity
• Recording User Activities
• Create, read, update, delete data
• Investigating
• Security, privacy events
• Compliance auditing: appropriate use (with retention requirements)
• Federal Information Security Management Act (FISMA),
• Gramm-Leach-Bliley Act (GLBA),
• Health Insurance Portability and Accountability Act (HIPAA),
• Payment Card Industry (PCI)
• Sarbanes-Oxley Act (SOX)
• External attacks, unauthorized access
• Misuse of authorized access / fraud
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Application Event Logging Standards
(AELS)
• AELS1:
• Batch, cron jobs, scheduled non-interactive tasks
• Includes operating system, middleware,
• AELS2: User activities
• Human user actions
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
AppSec Reports
• Users and Roles Report
• Users Access Report
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Access Management Logging
• Details
• User account
• Timestamp: date, time (hh:mm:ss;mm), time zone
• Event
• Registration
• Registration Initiated
• Registration Approved
• Registration Denied
• Log In Success
• Log In Fail
• Log Out
• Account Locked
• Account Recovery
• Password Change
• Password Reset
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Privileged Data Access Management
Logging
• Events
• Association Request
• Association Approved
• Association Denied
• Association Start
• Association End
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Users and Roles Report
• User Account ID
• Account Status (active, locked, deleted, etc.)
• Role
• <User information: name, email, etc.)>
• Registration Source (self, loaded, others)
• Last Login (timestamp)
• 1st Registered
• Data Access Permissions
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
SIEM WITH SPLUNK
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
What is SIEM?
• Security Information and Event Management (SIEM)
• AKA SEM, SIM
• Capabilities
• Data aggregation
• Correlation
• Alerting
• Dashboards
• Compliance
• Retention
• Forensic analysis
• Market solutions
• IBM QRadar,
• HP's ArcSight,
• LogRhythm,
• McAfee ESM,
• SolarWinds
• Splunk
• Etc.
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Splunk Dashboards
• Versions
• Splunk Free caps indexing to 500MB per day, limited feature set
• Splunk Enterprise for on-premises
• Splunk Cloud (Google Cloud partner)
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Getting data into Splunk Enterprise
• Uploading a log file via Splunk’s web interface.
• Getting Splunk to monitor a local directory or file.
• Splunk can index data from any network port.
• HTTP
• Send events directly to Splunk Enterprise rather than requiring writing to disk and
installing a forwarder
• Send data securely to Splunk Enterprise, with the option of an HTTPS connection and
a unique token.
• You expect to send data at a high volume and frequency.
• TCP: syslog-ng, etc.
• log to a TCP input either directly or by first logging to a file and then using a Splunk
Universal Forwarder to monitor the file and send data any time the file is updated.
Doing so gives you the features of the Universal Forwarder, plus added robustness
from having persistent files.
• SNMP
• Other
• FIFO queues
• Scripted inputs to get data from APIs and other remote data interfaces and
message queues.
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Splunk Input Considerations
• Resilience
• All appenders will attempt to reconnect in case of dropped
connections.
• Load Balancing
• It's easy to set up HTTP Event Collector in a load balanced Splunk
environment.
• See High volume HTTP Event Collector data collection using distributed
deployment for more information about your options.
• For TCP inputs, you can set up a Splunk Universal Forwarder, and
then have all your logging sources write to that TCP input.
• Use the Universal Forwarder's load balancing features to distribute the data
from there to a set of indexers.
• Thread Safety
• For HTTP Event Collector, Log4J, Logback, and java.util.logging
adapters for HTTP Event Collector are thread-safe.
• For TCP inputs, Log4J and Logback are thread-safe.
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
JAVA LOGGING
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging: Components
• Package java.util.logging
• Logger: data to be logged  LogRecord
• Log level integer (1-??)
• Filter:
• Handler: what to do with LogRecord
• Whether and where to send
• Filter: processing logic rules
• Formatter: formatting of LogRecord data into string
• LogManager
• Level and branch hierarchy of Loggers
• Others Logging Packages: Log4J, SLF4J, Apache Commons Logging, LogBack
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging: Logger
• Create a Logger in each class that needs to log.
• static and final: all instances of that class use the same Logger
instance.
• use the class name including package name as name for the
Logger.
• The name of the Logger to create is passed as string parameter to
the Logger.getLogger() method.
public class LoggingExamples {
private static final Logger logger =
Logger.getLogger(LoggingExamples.class.getName());
}
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging: Logger Hierarchy
• To be completed
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging: Log Levels
• To be completed
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging: Formatters
• To be completed
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging: Filters
• To be completed
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging: Handlers
• To be completed
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging: LogRecord
• To be completed
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging: Configuration
• To be completed
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging: LogManager
• To be completed
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging Example
package com.example;
import java.util.logging.*;
public class Nose{
private static Logger logger = Logger.getLogger("com.wombat.nose"); // Obtain logger
public static void main(String argv[]) { // Log FINE tracing message
logger.fine("doing stuff");
try{
Wombat.sneeze();
} catch (Exception ex) { // Log the exception
logger.log(Level.WARNING, "trouble sneezing", ex);
}
logger.fine("done");
}
}
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Java Logging Reference Links
• http://tutorials.jenkov.com/java-logging/logger.html
• http://www.vogella.com/tutorials/Logging/article.html#over
view
• https://examples.javacodegeeks.com/core-
java/util/logging/java-util-logging-example/
• https://docs.oracle.com/javase/8/docs/technotes/guides/lo
gging/
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
SPLUNK LOGGING FOR
JAVA
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
0. Download Splunk logging for Java
• Current version 1.5.2 (2016-10-11)
• http://dev.splunk.com/view/splunk-logging-java/SP-CAAAE7R
• Requirements
• Oracle Java SE Development Kit (JDK) 7 or later.
• Splunk Enterprise
• http://www.splunk.com/download
• Splunk logging for Java
• JAR
• http://dev.splunk.com/goto/loggingjavajar
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
1. Configure Maven pom.xml for Splunk
NOTES
• Update version to what is being used.
• Additional configurations are required if using other logging
frameworks:
• Logback
• Log4j 2
• SLF4J
<repositories>
<repository>
<id>splunk-artifactory</id>
<name>Splunk Releases</name>
<url>http://splunk.artifactoryonline.com/splunk/ext-releases-local</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.splunk.logging</groupId>
<artifactId>splunk-library-javalogging</artifactId>
<version>1.5.0</version>
</dependency>
</dependencies>
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
SPLUNK LOGGING FOR
JAVA HTTP
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
HTTP Logging to Splunk HTTP Event
Collector
1. Add Splunk logging for Java library to your project
2. Add your preferred logging library (java.util.logging,
Logback, Log4j 2) to your project.
3. Make sure HTTP Event Collector is enabled on your
Splunk Enterprise Instance and that you have a valid
token. For more information, see “About Event Collector
Tokens” in Use HTTP Event Collector in the Getting
Data In Manual.
4. Configure your Java loggers to use the HTTP Event
Collector.
5. Use your Java loggers to log events
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
HTTP 2. Configure Splunk
• Splunk administrator
• Enable HTTP Event Collector
• http://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTP
EventCollector
• Optional attributes:
• The Splunk index for events.
• The Splunk source value to assign to the events.
• The Splunk sourcetype value to assign to the events.
• Event batching parameters: interval, maximum number of events, and
maximum size of events.
• Provide to Java App Developer
• The hostname and port of the Splunk Enterprise or Splunk Cloud server
• Default port number for HTTP Event Collector is 8088, but may be different
• Valid, enabled HTTP Event Collector token
• Identifies your Java app to HTTP Event Collector.
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
HTTP 3. Java Application Configuration
• Specify jdklogging.properties to your program by passing the
following to the Java executable
• Customize jdklogging.properties file
• Bare-minimum version below [refer to slide notes for more info]:
• Includes just the url, level, and token properties, plus the
disableCertificateValidation property.
• Doesn’t include optional source, sourcetype, batch_interval,
batch_size_bytes, batch_size_count, and index.
Need to customize XML configuration file for your setup.
- Djava.util.logging.config.file=/path/to/jdklogging.properties
%user_logger_name%.level = INFO
%user_logger_name%.handlers = com.splunk.logging.HttpEventCollectorLoggingHandler
com.splunk.logging.HttpEventCollectorLoggingHandler.url = %scheme%://%host%:%port%
com.splunk.logging.HttpEventCollectorLoggingHandler.level = INFO
com.splunk.logging.HttpEventCollectorLoggingHandler.token = %user_httpeventcollector_token%
com.splunk.logging.HttpEventCollectorLoggingHandler.disableCertificateValidation=true
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
HTTP 4. Java Application Coding
• Though HTTP Event Collector accepts only JSON-formatted
event data packets, the event data payload can be any format,
as long as it is surrounded by curly brackets.
• If you log a sequence of events that contains invalid events, it
will process until it hits the first invalid event, and then return an
error.
package com.example;
import java.util.logging.*;
import com.splunk.logging.*;
// create a logger by using the getLogger method of the Logger class
Logger logger = Logger.getLogger(loggerName);
// add code to log data at the appropriate levels
logger.info("This is a test event for Logback test");
logger.error("This is a test error for Logback test");
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
HTTP Splunk Event Collector Classes
• HttpAppender
• Creates logging events to send to HTTP Event Collector.
• For all loggers except Logback.
• HttpLogbackAppender
• Creates logging events to send to HTTP Event Collector using
Logback.
• HttpInputHandler
• Exports logging events to HTTP Event Collector.
• HttpInputLoggingErrorHandler
• HTTP Event Collector error handler to which your application can
subscribe to catch error responses from the Splunk server.
• HttpInputLoggingEventInfo
• Container for event data.
• // HttpInputEventSender //
• internal helper class that is used by the other classes in the library. Do
not use.
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
SPLUNK LOGGING FOR
JAVA TCP
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
TCP: Logging to Splunk TCP inputs
1. Add the Splunk logging for Java library to your project
1. Maven pom.xml
2. Add the logging library to your project
1. java.util.logging (or Logback, Log4j 2)
3. Open a TCP input on Splunk Enterprise
1. to write log events
4. Configure your logging system
5. Use SplunkCimLogEvent class to generate log entries
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
TCP 2. Configure Splunk
• Splunk Enterprise Administrator
• Add a network input using Splunk Web
• Add a network input using the CLI
• Change restricted hosts on a TCP network input
• Add a network input using inputs.conf
• Documentation
• http://docs.splunk.com/Documentation/Splunk/latest/Data/Monitorn
etworkports
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
TPC 3. Java Application Configuration
• specify java.util.logging SocketHandler as the default handler.
• Set the default logging level for the root logger.
• Create a logger called splunk.logger,
• set its level to INFO
• specify SocketHandler as its logger.
• Configure the SocketHandler to write to TCP port
localhost:15000.
• Control the logging format using SimpleFormatter class, with
syntax defined on the definition page for the Formatter class
• Put the following in jdklogging.properties ...
• Specify jdklogging.properties to your program by passing the
following to the Java executable:
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
TPC 4. Java Application Coding
package com.example;
import java.util.logging.*;
import com.splunk.logging.SplunkCimLogEvent;
logger.info(new SplunkCimLogEvent("Event name", "event-id") {{
addField("name", "value");
addThrowableWithStacktrace(ex);
setAuthAction("deny");
}});
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
TCP Splunk Input Classes
• SplunkCimLogEvent:
• Events contain key-value pairs, properly formatted and quoted for
logging with any of Java's standard logging libraries (Logback,
Log4j 2, and java.util.logging) and indexing by Splunk Enterprise.
SplunkCimLogEvent has convenience methods to set the fields
defined in the standard Splunk Common Information Model (CIM).
• TcpAppender:
• Writes logging events to a TCP Input.
• Extends from the ch.qos.logback.core.AppenderBase<E> class,
because Logback does not ship with a usable appender for TCP
socket
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
RESOURCES
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Resources
• OWASP Application Logging
• https://www.owasp.org/index.php/Logging_Cheat_Sheet
• Java Logging
• Documentation:
https://docs.oracle.com/javase/8/docs/technotes/guides/logging/
• API:
https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-
summary.html
• Splunk logging for Java
• http://dev.splunk.com/view/splunk-logging-java/SP-CAAAE2K
Red7:|:applicationsecurity
© Copyright 2017 Robert Grupe. All rights reserved.
Finis
• This Presentation & Further Resources
• www. rgrupe.com
• Questions, suggestions, & requests
• Robert Grupe, CISSP, CSSLP, PE, PMP
• robert@rgrupe.com
• +1.314.278.7901

More Related Content

What's hot

DEVSECOPS.pptx
DEVSECOPS.pptxDEVSECOPS.pptx
DEVSECOPS.pptx
MohammadSaif904342
 
security misconfigurations
security misconfigurationssecurity misconfigurations
security misconfigurations
Megha Sahu
 
OWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewOWASP Top 10 2021 What's New
OWASP Top 10 2021 What's New
Michael Furman
 
CISSP - Chapter 1 - Security Concepts
CISSP - Chapter 1 - Security ConceptsCISSP - Chapter 1 - Security Concepts
CISSP - Chapter 1 - Security Concepts
Karthikeyan Dhayalan
 
OWASP Secure Coding
OWASP Secure CodingOWASP Secure Coding
OWASP Secure Coding
bilcorry
 
Practical DevSecOps Course - Part 1
Practical DevSecOps Course - Part 1Practical DevSecOps Course - Part 1
Practical DevSecOps Course - Part 1
Mohammed A. Imran
 
Disaster Recovery & Data Backup Strategies
Disaster Recovery & Data Backup StrategiesDisaster Recovery & Data Backup Strategies
Disaster Recovery & Data Backup StrategiesSpiceworks
 
Security misconfiguration
Security misconfigurationSecurity misconfiguration
Security misconfiguration
Jiri Danihelka
 
7 Steps to Threat Modeling
7 Steps to Threat Modeling7 Steps to Threat Modeling
7 Steps to Threat Modeling
Danny Wong
 
Security Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and ToolsSecurity Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and ToolsYulian Slobodyan
 
Scalable threat modelling with risk patterns
Scalable threat modelling with risk patternsScalable threat modelling with risk patterns
Scalable threat modelling with risk patterns
Stephen de Vries
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
Matt Tesauro
 
DevSecOps 101
DevSecOps 101DevSecOps 101
DevSecOps Jenkins Pipeline -Security
DevSecOps Jenkins Pipeline -SecurityDevSecOps Jenkins Pipeline -Security
DevSecOps Jenkins Pipeline -Security
n|u - The Open Security Community
 
Threat modeling web application: a case study
Threat modeling web application: a case studyThreat modeling web application: a case study
Threat modeling web application: a case study
Antonio Fontes
 
CISSP - Chapter 4 - Network Fundamental
CISSP - Chapter 4 - Network FundamentalCISSP - Chapter 4 - Network Fundamental
CISSP - Chapter 4 - Network Fundamental
Karthikeyan Dhayalan
 
Secure SDLC Framework
Secure SDLC FrameworkSecure SDLC Framework
Secure SDLC Framework
Rishi Kant
 
CISSP Preview - For the next generation of Security Leaders
CISSP Preview - For the next generation of Security LeadersCISSP Preview - For the next generation of Security Leaders
CISSP Preview - For the next generation of Security Leaders
NUS-ISS
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodology
laeshin park
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
Amazon Web Services
 

What's hot (20)

DEVSECOPS.pptx
DEVSECOPS.pptxDEVSECOPS.pptx
DEVSECOPS.pptx
 
security misconfigurations
security misconfigurationssecurity misconfigurations
security misconfigurations
 
OWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewOWASP Top 10 2021 What's New
OWASP Top 10 2021 What's New
 
CISSP - Chapter 1 - Security Concepts
CISSP - Chapter 1 - Security ConceptsCISSP - Chapter 1 - Security Concepts
CISSP - Chapter 1 - Security Concepts
 
OWASP Secure Coding
OWASP Secure CodingOWASP Secure Coding
OWASP Secure Coding
 
Practical DevSecOps Course - Part 1
Practical DevSecOps Course - Part 1Practical DevSecOps Course - Part 1
Practical DevSecOps Course - Part 1
 
Disaster Recovery & Data Backup Strategies
Disaster Recovery & Data Backup StrategiesDisaster Recovery & Data Backup Strategies
Disaster Recovery & Data Backup Strategies
 
Security misconfiguration
Security misconfigurationSecurity misconfiguration
Security misconfiguration
 
7 Steps to Threat Modeling
7 Steps to Threat Modeling7 Steps to Threat Modeling
7 Steps to Threat Modeling
 
Security Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and ToolsSecurity Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and Tools
 
Scalable threat modelling with risk patterns
Scalable threat modelling with risk patternsScalable threat modelling with risk patterns
Scalable threat modelling with risk patterns
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
 
DevSecOps 101
DevSecOps 101DevSecOps 101
DevSecOps 101
 
DevSecOps Jenkins Pipeline -Security
DevSecOps Jenkins Pipeline -SecurityDevSecOps Jenkins Pipeline -Security
DevSecOps Jenkins Pipeline -Security
 
Threat modeling web application: a case study
Threat modeling web application: a case studyThreat modeling web application: a case study
Threat modeling web application: a case study
 
CISSP - Chapter 4 - Network Fundamental
CISSP - Chapter 4 - Network FundamentalCISSP - Chapter 4 - Network Fundamental
CISSP - Chapter 4 - Network Fundamental
 
Secure SDLC Framework
Secure SDLC FrameworkSecure SDLC Framework
Secure SDLC Framework
 
CISSP Preview - For the next generation of Security Leaders
CISSP Preview - For the next generation of Security LeadersCISSP Preview - For the next generation of Security Leaders
CISSP Preview - For the next generation of Security Leaders
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodology
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 

Similar to Application Security Logging with Splunk using Java

Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
Ruby Meditation
 
Importance of ‘Centralized Event collection’ and BigData platform for Analysis !
Importance of ‘Centralized Event collection’ and BigData platform for Analysis !Importance of ‘Centralized Event collection’ and BigData platform for Analysis !
Importance of ‘Centralized Event collection’ and BigData platform for Analysis !
Piyush Kumar
 
More Databases. More Hackers. More Audits.
More Databases. More Hackers. More Audits.More Databases. More Hackers. More Audits.
More Databases. More Hackers. More Audits.
Imperva
 
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Redis Labs
 
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...
Glen Roberts, CISSP
 
Supporting Contractors with NIST SP 800-171 Compliance
Supporting Contractors with NIST SP 800-171 ComplianceSupporting Contractors with NIST SP 800-171 Compliance
Supporting Contractors with NIST SP 800-171 Compliance
SolarWinds
 
IBM i Security SIEM Integration
IBM i Security SIEM IntegrationIBM i Security SIEM Integration
IBM i Security SIEM Integration
Precisely
 
360-Degree View of IT Infrastructure with IT Operations Analytics
360-Degree View of IT Infrastructure with IT Operations Analytics360-Degree View of IT Infrastructure with IT Operations Analytics
360-Degree View of IT Infrastructure with IT Operations Analytics
Precisely
 
Essential Layers of IBM i Security: Security Monitoring and Auditing
Essential Layers of IBM i Security: Security Monitoring and AuditingEssential Layers of IBM i Security: Security Monitoring and Auditing
Essential Layers of IBM i Security: Security Monitoring and Auditing
Precisely
 
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
Nordic APIs
 
RuSIEM overview (english version)
RuSIEM overview (english version)RuSIEM overview (english version)
RuSIEM overview (english version)
Olesya Shelestova
 
Wc4
Wc4Wc4
Machine Learning to Turbo-Charge the Ops Portion of DevOps
Machine Learning to Turbo-Charge the Ops Portion of DevOpsMachine Learning to Turbo-Charge the Ops Portion of DevOps
Machine Learning to Turbo-Charge the Ops Portion of DevOps
Deborah Schalm
 
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 public
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 publicOjoconsulting Oy Nimbus Monitoring Service description v1.2 public
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 public
Ojoconsulting Oy
 
PLNOG 17 - Elisa Jasinska - Network Automation - Design your Systems
PLNOG 17 - Elisa Jasinska - Network Automation - Design your SystemsPLNOG 17 - Elisa Jasinska - Network Automation - Design your Systems
PLNOG 17 - Elisa Jasinska - Network Automation - Design your SystemsPROIDEA
 
The New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the ChaseThe New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the Chase
Security Innovation
 
Enterprise Security in Mainframe-Connected Environments
Enterprise Security in Mainframe-Connected EnvironmentsEnterprise Security in Mainframe-Connected Environments
Enterprise Security in Mainframe-Connected Environments
Precisely
 
Tckhjhhjbbggujvg Day13-Post-Exploitation.pptx
Tckhjhhjbbggujvg Day13-Post-Exploitation.pptxTckhjhhjbbggujvg Day13-Post-Exploitation.pptx
Tckhjhhjbbggujvg Day13-Post-Exploitation.pptx
AlfredObia1
 
10 tips for hardening your system
10 tips for hardening your system10 tips for hardening your system
10 tips for hardening your system
Revital Lapidot
 
10 tips for hardening your system
10 tips for hardening your system10 tips for hardening your system
10 tips for hardening your system
Revital Lapidot
 

Similar to Application Security Logging with Splunk using Java (20)

Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
 
Importance of ‘Centralized Event collection’ and BigData platform for Analysis !
Importance of ‘Centralized Event collection’ and BigData platform for Analysis !Importance of ‘Centralized Event collection’ and BigData platform for Analysis !
Importance of ‘Centralized Event collection’ and BigData platform for Analysis !
 
More Databases. More Hackers. More Audits.
More Databases. More Hackers. More Audits.More Databases. More Hackers. More Audits.
More Databases. More Hackers. More Audits.
 
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...
Security Challenges in Cloud Integration - Cloud Security Alliance, Austin Ch...
 
Supporting Contractors with NIST SP 800-171 Compliance
Supporting Contractors with NIST SP 800-171 ComplianceSupporting Contractors with NIST SP 800-171 Compliance
Supporting Contractors with NIST SP 800-171 Compliance
 
IBM i Security SIEM Integration
IBM i Security SIEM IntegrationIBM i Security SIEM Integration
IBM i Security SIEM Integration
 
360-Degree View of IT Infrastructure with IT Operations Analytics
360-Degree View of IT Infrastructure with IT Operations Analytics360-Degree View of IT Infrastructure with IT Operations Analytics
360-Degree View of IT Infrastructure with IT Operations Analytics
 
Essential Layers of IBM i Security: Security Monitoring and Auditing
Essential Layers of IBM i Security: Security Monitoring and AuditingEssential Layers of IBM i Security: Security Monitoring and Auditing
Essential Layers of IBM i Security: Security Monitoring and Auditing
 
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
 
RuSIEM overview (english version)
RuSIEM overview (english version)RuSIEM overview (english version)
RuSIEM overview (english version)
 
Wc4
Wc4Wc4
Wc4
 
Machine Learning to Turbo-Charge the Ops Portion of DevOps
Machine Learning to Turbo-Charge the Ops Portion of DevOpsMachine Learning to Turbo-Charge the Ops Portion of DevOps
Machine Learning to Turbo-Charge the Ops Portion of DevOps
 
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 public
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 publicOjoconsulting Oy Nimbus Monitoring Service description v1.2 public
Ojoconsulting Oy Nimbus Monitoring Service description v1.2 public
 
PLNOG 17 - Elisa Jasinska - Network Automation - Design your Systems
PLNOG 17 - Elisa Jasinska - Network Automation - Design your SystemsPLNOG 17 - Elisa Jasinska - Network Automation - Design your Systems
PLNOG 17 - Elisa Jasinska - Network Automation - Design your Systems
 
The New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the ChaseThe New OWASP Top Ten: Let's Cut to the Chase
The New OWASP Top Ten: Let's Cut to the Chase
 
Enterprise Security in Mainframe-Connected Environments
Enterprise Security in Mainframe-Connected EnvironmentsEnterprise Security in Mainframe-Connected Environments
Enterprise Security in Mainframe-Connected Environments
 
Tckhjhhjbbggujvg Day13-Post-Exploitation.pptx
Tckhjhhjbbggujvg Day13-Post-Exploitation.pptxTckhjhhjbbggujvg Day13-Post-Exploitation.pptx
Tckhjhhjbbggujvg Day13-Post-Exploitation.pptx
 
10 tips for hardening your system
10 tips for hardening your system10 tips for hardening your system
10 tips for hardening your system
 
10 tips for hardening your system
10 tips for hardening your system10 tips for hardening your system
10 tips for hardening your system
 

More from Robert Grupe, CSSLP CISSP PE PMP

Application Security: AI LLMs and ML Threats & Defenses
Application Security: AI LLMs and ML Threats & DefensesApplication Security: AI LLMs and ML Threats & Defenses
Application Security: AI LLMs and ML Threats & Defenses
Robert Grupe, CSSLP CISSP PE PMP
 
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure SuccessAppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
Robert Grupe, CSSLP CISSP PE PMP
 
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should Have
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should HaveAppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should Have
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should Have
Robert Grupe, CSSLP CISSP PE PMP
 
Red7 SSDLC Introduction: Building Secure Web and Mobile Applications
Red7 SSDLC Introduction: Building Secure Web and Mobile ApplicationsRed7 SSDLC Introduction: Building Secure Web and Mobile Applications
Red7 SSDLC Introduction: Building Secure Web and Mobile Applications
Robert Grupe, CSSLP CISSP PE PMP
 
Red7 Software Application Security Threat Modeling
Red7 Software Application Security Threat ModelingRed7 Software Application Security Threat Modeling
Red7 Software Application Security Threat Modeling
Robert Grupe, CSSLP CISSP PE PMP
 
Agile AppSec DevOps
Agile AppSec DevOpsAgile AppSec DevOps
Venturing: Extending the Boy Scout Troop
Venturing: Extending the Boy Scout TroopVenturing: Extending the Boy Scout Troop
Venturing: Extending the Boy Scout Troop
Robert Grupe, CSSLP CISSP PE PMP
 
Web Application Security: Beyond PEN Testing
Web Application Security: Beyond PEN TestingWeb Application Security: Beyond PEN Testing
Web Application Security: Beyond PEN Testing
Robert Grupe, CSSLP CISSP PE PMP
 
Red7 Medical Identity Security and Data Protection
Red7 Medical Identity Security and Data ProtectionRed7 Medical Identity Security and Data Protection
Red7 Medical Identity Security and Data Protection
Robert Grupe, CSSLP CISSP PE PMP
 
Red7 Automating UAT Web Testing
Red7 Automating UAT Web TestingRed7 Automating UAT Web Testing
Red7 Automating UAT Web Testing
Robert Grupe, CSSLP CISSP PE PMP
 
Red7 Introduction to Product Management
Red7 Introduction to Product ManagementRed7 Introduction to Product Management
Red7 Introduction to Product Management
Robert Grupe, CSSLP CISSP PE PMP
 
Red7 Product Portfolio Management
Red7 Product Portfolio ManagementRed7 Product Portfolio Management
Red7 Product Portfolio Management
Robert Grupe, CSSLP CISSP PE PMP
 
Red7 Developing Product Requirements: Tools and Process
Red7 Developing Product Requirements: Tools and ProcessRed7 Developing Product Requirements: Tools and Process
Red7 Developing Product Requirements: Tools and Process
Robert Grupe, CSSLP CISSP PE PMP
 
Red7 Product Management Software Tools Overview
Red7 Product Management Software Tools OverviewRed7 Product Management Software Tools Overview
Red7 Product Management Software Tools Overview
Robert Grupe, CSSLP CISSP PE PMP
 
Red7 NPD and Project Management Life Cycle Models Overview
Red7 NPD and Project Management Life Cycle Models OverviewRed7 NPD and Project Management Life Cycle Models Overview
Red7 NPD and Project Management Life Cycle Models Overview
Robert Grupe, CSSLP CISSP PE PMP
 

More from Robert Grupe, CSSLP CISSP PE PMP (19)

Application Security: AI LLMs and ML Threats & Defenses
Application Security: AI LLMs and ML Threats & DefensesApplication Security: AI LLMs and ML Threats & Defenses
Application Security: AI LLMs and ML Threats & Defenses
 
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure SuccessAppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
 
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should Have
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should HaveAppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should Have
AppSec Threat Modeling with 5 Agile Design Diagrams Every Project Should Have
 
Red7 SSDLC Introduction: Building Secure Web and Mobile Applications
Red7 SSDLC Introduction: Building Secure Web and Mobile ApplicationsRed7 SSDLC Introduction: Building Secure Web and Mobile Applications
Red7 SSDLC Introduction: Building Secure Web and Mobile Applications
 
Red7 Software Application Security Threat Modeling
Red7 Software Application Security Threat ModelingRed7 Software Application Security Threat Modeling
Red7 Software Application Security Threat Modeling
 
Agile AppSec DevOps
Agile AppSec DevOpsAgile AppSec DevOps
Agile AppSec DevOps
 
Venturing: Extending the Boy Scout Troop
Venturing: Extending the Boy Scout TroopVenturing: Extending the Boy Scout Troop
Venturing: Extending the Boy Scout Troop
 
Web Application Security: Beyond PEN Testing
Web Application Security: Beyond PEN TestingWeb Application Security: Beyond PEN Testing
Web Application Security: Beyond PEN Testing
 
Red7 Medical Identity Security and Data Protection
Red7 Medical Identity Security and Data ProtectionRed7 Medical Identity Security and Data Protection
Red7 Medical Identity Security and Data Protection
 
Red7 Automating UAT Web Testing
Red7 Automating UAT Web TestingRed7 Automating UAT Web Testing
Red7 Automating UAT Web Testing
 
Boy Scouts STEM Nova Awards
Boy Scouts STEM Nova AwardsBoy Scouts STEM Nova Awards
Boy Scouts STEM Nova Awards
 
Boy Scout Parents Introduction
Boy Scout Parents IntroductionBoy Scout Parents Introduction
Boy Scout Parents Introduction
 
Boy Scouts Introduction
Boy Scouts IntroductionBoy Scouts Introduction
Boy Scouts Introduction
 
Red7 Introduction to Product Management
Red7 Introduction to Product ManagementRed7 Introduction to Product Management
Red7 Introduction to Product Management
 
Red7 Product Portfolio Management
Red7 Product Portfolio ManagementRed7 Product Portfolio Management
Red7 Product Portfolio Management
 
Red7 Developing Product Requirements: Tools and Process
Red7 Developing Product Requirements: Tools and ProcessRed7 Developing Product Requirements: Tools and Process
Red7 Developing Product Requirements: Tools and Process
 
Red7 Software Planning Models
Red7 Software Planning ModelsRed7 Software Planning Models
Red7 Software Planning Models
 
Red7 Product Management Software Tools Overview
Red7 Product Management Software Tools OverviewRed7 Product Management Software Tools Overview
Red7 Product Management Software Tools Overview
 
Red7 NPD and Project Management Life Cycle Models Overview
Red7 NPD and Project Management Life Cycle Models OverviewRed7 NPD and Project Management Life Cycle Models Overview
Red7 NPD and Project Management Life Cycle Models Overview
 

Recently uploaded

重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
vmemo1
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
zyfovom
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
cuobya
 
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
ukwwuq
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
harveenkaur52
 
Bài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docxBài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docx
nhiyenphan2005
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
uehowe
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
Toptal Tech
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
CIOWomenMagazine
 

Recently uploaded (20)

重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
 
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
 
Bài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docxBài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docx
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
 

Application Security Logging with Splunk using Java

  • 1. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. APPLICATION SECURITY LOGGING with Splunk SIEM using Java // Incomplete In-Work Draft, Please Check Again Later// robertGrupe, CISSP, CSSLP, PE, PMP tags :|: OWASP, SIEM, application security, logging, Splunk, Java 1
  • 2. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Agenda: Application Security Logging • OWASP Application Security Logging • SIEM with Splunk • Java Logging • Splunk logging for Java • TCP inputs • HTTP Event Collector • Resources: Links
  • 3. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. OWASP APPLICATION LOGGING
  • 4. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Application Logging Purposes • Security Reasons • Identifying security incidents • Monitoring policy violations • Establishing baselines • Assisting non-repudiation controls • Providing information about problems and unusual conditions • Contributing additional application-specific data for incident investigation which is lacking in other log sources • Helping defend against vulnerability identification and exploitation through attack detection • Business Reasons • Business process monitoring e.g. sales process abandonment, transactions, connections • Anti-automation monitoring • Audit trails e.g. data addition, modification and deletion, data exports • Performance monitoring e.g. data load time, page timeouts • Compliance monitoring • Data for subsequent requests for information e.g. data subject access, freedom of information, litigation, police and other regulatory investigations • Legally sanctioned interception of data e.g application-layer wire-tapping • Other business-specific requirements
  • 5. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Application Logging • When using the file system, it is preferable to use a separate partition than those used by the operating system, other application files and user generated content • For file-based logs, apply strict permissions concerning which users can access the directories, and the permissions of files within the directories • In web applications, the logs should not be exposed in web-accessible locations, and if done so, should have restricted access and be configured with a plain text MIME type (not HTML) • When using a database, it is preferable to utilize a separate database account that is only used for writing log data and which has very restrictive database , table, function and command permissions • Use standard formats over secure protocols to record and send event data, or log files, to other systems e.g. Common Log File System (CLFS), Common Event Format (CEF) over syslog, possibly Common Event Expression (CEE) in future; standard formats facilitate integration with centralised logging services • Consider separate files/tables for extended event information such as error stack traces or a record of HTTP request and response headers and bodies.
  • 6. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Events to Log: Always Log • Input validation failures e.g. protocol violations, unacceptable encodings, invalid parameter names and values • Output validation failures e.g. database record set mismatch, invalid data encoding • Authentication successes and failures • Authorization (access control) failures • Session management failures e.g. cookie session identification value modification • Application errors and system events e.g. syntax and runtime errors, connectivity problems, performance issues, third party service error messages, file system errors, file upload virus detection, configuration changes • Application and related systems start-ups and shut-downs, and logging initialization (starting, stopping or pausing) • Use of higher-risk functionality e.g. network connections, addition or deletion of users, changes to privileges, assigning users to tokens, adding or deleting tokens, use of systems administrative privileges, access by application administrators, all actions by users with administrative privileges, access to payment cardholder data, use of data encrypting keys, key changes, creation and deletion of system-level objects, data import and export including screen-based reports, submission of user-generated content - especially file uploads • Legal and other opt-ins e.g. permissions for mobile phone capabilities, terms of use, terms & conditions, personal data usage consent, permission to receive marketing communications
  • 7. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Events to Log: Optionally Consider • Sequencing failure • Excessive use • Data changes • Fraud and other criminal activities • Suspicious, unacceptable or unexpected behavior • Modifications to configuration • Application code file and/or memory changes
  • 8. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. APPLICATION SECURITY LOGGING
  • 9. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Purposes • Monitoring & Alerting • Suspicious activity • Recording User Activities • Create, read, update, delete data • Investigating • Security, privacy events • Compliance auditing: appropriate use (with retention requirements) • Federal Information Security Management Act (FISMA), • Gramm-Leach-Bliley Act (GLBA), • Health Insurance Portability and Accountability Act (HIPAA), • Payment Card Industry (PCI) • Sarbanes-Oxley Act (SOX) • External attacks, unauthorized access • Misuse of authorized access / fraud
  • 10. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Application Event Logging Standards (AELS) • AELS1: • Batch, cron jobs, scheduled non-interactive tasks • Includes operating system, middleware, • AELS2: User activities • Human user actions
  • 11. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. AppSec Reports • Users and Roles Report • Users Access Report
  • 12. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Access Management Logging • Details • User account • Timestamp: date, time (hh:mm:ss;mm), time zone • Event • Registration • Registration Initiated • Registration Approved • Registration Denied • Log In Success • Log In Fail • Log Out • Account Locked • Account Recovery • Password Change • Password Reset
  • 13. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Privileged Data Access Management Logging • Events • Association Request • Association Approved • Association Denied • Association Start • Association End
  • 14. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Users and Roles Report • User Account ID • Account Status (active, locked, deleted, etc.) • Role • <User information: name, email, etc.)> • Registration Source (self, loaded, others) • Last Login (timestamp) • 1st Registered • Data Access Permissions
  • 15. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. SIEM WITH SPLUNK
  • 16. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. What is SIEM? • Security Information and Event Management (SIEM) • AKA SEM, SIM • Capabilities • Data aggregation • Correlation • Alerting • Dashboards • Compliance • Retention • Forensic analysis • Market solutions • IBM QRadar, • HP's ArcSight, • LogRhythm, • McAfee ESM, • SolarWinds • Splunk • Etc.
  • 17. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Splunk Dashboards • Versions • Splunk Free caps indexing to 500MB per day, limited feature set • Splunk Enterprise for on-premises • Splunk Cloud (Google Cloud partner)
  • 18. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Getting data into Splunk Enterprise • Uploading a log file via Splunk’s web interface. • Getting Splunk to monitor a local directory or file. • Splunk can index data from any network port. • HTTP • Send events directly to Splunk Enterprise rather than requiring writing to disk and installing a forwarder • Send data securely to Splunk Enterprise, with the option of an HTTPS connection and a unique token. • You expect to send data at a high volume and frequency. • TCP: syslog-ng, etc. • log to a TCP input either directly or by first logging to a file and then using a Splunk Universal Forwarder to monitor the file and send data any time the file is updated. Doing so gives you the features of the Universal Forwarder, plus added robustness from having persistent files. • SNMP • Other • FIFO queues • Scripted inputs to get data from APIs and other remote data interfaces and message queues.
  • 19. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Splunk Input Considerations • Resilience • All appenders will attempt to reconnect in case of dropped connections. • Load Balancing • It's easy to set up HTTP Event Collector in a load balanced Splunk environment. • See High volume HTTP Event Collector data collection using distributed deployment for more information about your options. • For TCP inputs, you can set up a Splunk Universal Forwarder, and then have all your logging sources write to that TCP input. • Use the Universal Forwarder's load balancing features to distribute the data from there to a set of indexers. • Thread Safety • For HTTP Event Collector, Log4J, Logback, and java.util.logging adapters for HTTP Event Collector are thread-safe. • For TCP inputs, Log4J and Logback are thread-safe.
  • 20. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. JAVA LOGGING
  • 21. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging: Components • Package java.util.logging • Logger: data to be logged  LogRecord • Log level integer (1-??) • Filter: • Handler: what to do with LogRecord • Whether and where to send • Filter: processing logic rules • Formatter: formatting of LogRecord data into string • LogManager • Level and branch hierarchy of Loggers • Others Logging Packages: Log4J, SLF4J, Apache Commons Logging, LogBack
  • 22. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging: Logger • Create a Logger in each class that needs to log. • static and final: all instances of that class use the same Logger instance. • use the class name including package name as name for the Logger. • The name of the Logger to create is passed as string parameter to the Logger.getLogger() method. public class LoggingExamples { private static final Logger logger = Logger.getLogger(LoggingExamples.class.getName()); }
  • 23. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging: Logger Hierarchy • To be completed
  • 24. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging: Log Levels • To be completed
  • 25. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging: Formatters • To be completed
  • 26. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging: Filters • To be completed
  • 27. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging: Handlers • To be completed
  • 28. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging: LogRecord • To be completed
  • 29. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging: Configuration • To be completed
  • 30. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging: LogManager • To be completed
  • 31. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging Example package com.example; import java.util.logging.*; public class Nose{ private static Logger logger = Logger.getLogger("com.wombat.nose"); // Obtain logger public static void main(String argv[]) { // Log FINE tracing message logger.fine("doing stuff"); try{ Wombat.sneeze(); } catch (Exception ex) { // Log the exception logger.log(Level.WARNING, "trouble sneezing", ex); } logger.fine("done"); } }
  • 32. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Java Logging Reference Links • http://tutorials.jenkov.com/java-logging/logger.html • http://www.vogella.com/tutorials/Logging/article.html#over view • https://examples.javacodegeeks.com/core- java/util/logging/java-util-logging-example/ • https://docs.oracle.com/javase/8/docs/technotes/guides/lo gging/
  • 33. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. SPLUNK LOGGING FOR JAVA
  • 34. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 0. Download Splunk logging for Java • Current version 1.5.2 (2016-10-11) • http://dev.splunk.com/view/splunk-logging-java/SP-CAAAE7R • Requirements • Oracle Java SE Development Kit (JDK) 7 or later. • Splunk Enterprise • http://www.splunk.com/download • Splunk logging for Java • JAR • http://dev.splunk.com/goto/loggingjavajar
  • 35. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. 1. Configure Maven pom.xml for Splunk NOTES • Update version to what is being used. • Additional configurations are required if using other logging frameworks: • Logback • Log4j 2 • SLF4J <repositories> <repository> <id>splunk-artifactory</id> <name>Splunk Releases</name> <url>http://splunk.artifactoryonline.com/splunk/ext-releases-local</url> </repository> </repositories> <dependencies> <dependency> <groupId>com.splunk.logging</groupId> <artifactId>splunk-library-javalogging</artifactId> <version>1.5.0</version> </dependency> </dependencies>
  • 36. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. SPLUNK LOGGING FOR JAVA HTTP
  • 37. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. HTTP Logging to Splunk HTTP Event Collector 1. Add Splunk logging for Java library to your project 2. Add your preferred logging library (java.util.logging, Logback, Log4j 2) to your project. 3. Make sure HTTP Event Collector is enabled on your Splunk Enterprise Instance and that you have a valid token. For more information, see “About Event Collector Tokens” in Use HTTP Event Collector in the Getting Data In Manual. 4. Configure your Java loggers to use the HTTP Event Collector. 5. Use your Java loggers to log events
  • 38. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. HTTP 2. Configure Splunk • Splunk administrator • Enable HTTP Event Collector • http://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTP EventCollector • Optional attributes: • The Splunk index for events. • The Splunk source value to assign to the events. • The Splunk sourcetype value to assign to the events. • Event batching parameters: interval, maximum number of events, and maximum size of events. • Provide to Java App Developer • The hostname and port of the Splunk Enterprise or Splunk Cloud server • Default port number for HTTP Event Collector is 8088, but may be different • Valid, enabled HTTP Event Collector token • Identifies your Java app to HTTP Event Collector.
  • 39. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. HTTP 3. Java Application Configuration • Specify jdklogging.properties to your program by passing the following to the Java executable • Customize jdklogging.properties file • Bare-minimum version below [refer to slide notes for more info]: • Includes just the url, level, and token properties, plus the disableCertificateValidation property. • Doesn’t include optional source, sourcetype, batch_interval, batch_size_bytes, batch_size_count, and index. Need to customize XML configuration file for your setup. - Djava.util.logging.config.file=/path/to/jdklogging.properties %user_logger_name%.level = INFO %user_logger_name%.handlers = com.splunk.logging.HttpEventCollectorLoggingHandler com.splunk.logging.HttpEventCollectorLoggingHandler.url = %scheme%://%host%:%port% com.splunk.logging.HttpEventCollectorLoggingHandler.level = INFO com.splunk.logging.HttpEventCollectorLoggingHandler.token = %user_httpeventcollector_token% com.splunk.logging.HttpEventCollectorLoggingHandler.disableCertificateValidation=true
  • 40. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. HTTP 4. Java Application Coding • Though HTTP Event Collector accepts only JSON-formatted event data packets, the event data payload can be any format, as long as it is surrounded by curly brackets. • If you log a sequence of events that contains invalid events, it will process until it hits the first invalid event, and then return an error. package com.example; import java.util.logging.*; import com.splunk.logging.*; // create a logger by using the getLogger method of the Logger class Logger logger = Logger.getLogger(loggerName); // add code to log data at the appropriate levels logger.info("This is a test event for Logback test"); logger.error("This is a test error for Logback test");
  • 41. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. HTTP Splunk Event Collector Classes • HttpAppender • Creates logging events to send to HTTP Event Collector. • For all loggers except Logback. • HttpLogbackAppender • Creates logging events to send to HTTP Event Collector using Logback. • HttpInputHandler • Exports logging events to HTTP Event Collector. • HttpInputLoggingErrorHandler • HTTP Event Collector error handler to which your application can subscribe to catch error responses from the Splunk server. • HttpInputLoggingEventInfo • Container for event data. • // HttpInputEventSender // • internal helper class that is used by the other classes in the library. Do not use.
  • 42. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. SPLUNK LOGGING FOR JAVA TCP
  • 43. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. TCP: Logging to Splunk TCP inputs 1. Add the Splunk logging for Java library to your project 1. Maven pom.xml 2. Add the logging library to your project 1. java.util.logging (or Logback, Log4j 2) 3. Open a TCP input on Splunk Enterprise 1. to write log events 4. Configure your logging system 5. Use SplunkCimLogEvent class to generate log entries
  • 44. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. TCP 2. Configure Splunk • Splunk Enterprise Administrator • Add a network input using Splunk Web • Add a network input using the CLI • Change restricted hosts on a TCP network input • Add a network input using inputs.conf • Documentation • http://docs.splunk.com/Documentation/Splunk/latest/Data/Monitorn etworkports
  • 45. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. TPC 3. Java Application Configuration • specify java.util.logging SocketHandler as the default handler. • Set the default logging level for the root logger. • Create a logger called splunk.logger, • set its level to INFO • specify SocketHandler as its logger. • Configure the SocketHandler to write to TCP port localhost:15000. • Control the logging format using SimpleFormatter class, with syntax defined on the definition page for the Formatter class • Put the following in jdklogging.properties ... • Specify jdklogging.properties to your program by passing the following to the Java executable:
  • 46. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. TPC 4. Java Application Coding package com.example; import java.util.logging.*; import com.splunk.logging.SplunkCimLogEvent; logger.info(new SplunkCimLogEvent("Event name", "event-id") {{ addField("name", "value"); addThrowableWithStacktrace(ex); setAuthAction("deny"); }});
  • 47. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. TCP Splunk Input Classes • SplunkCimLogEvent: • Events contain key-value pairs, properly formatted and quoted for logging with any of Java's standard logging libraries (Logback, Log4j 2, and java.util.logging) and indexing by Splunk Enterprise. SplunkCimLogEvent has convenience methods to set the fields defined in the standard Splunk Common Information Model (CIM). • TcpAppender: • Writes logging events to a TCP Input. • Extends from the ch.qos.logback.core.AppenderBase<E> class, because Logback does not ship with a usable appender for TCP socket
  • 48. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. RESOURCES
  • 49. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Resources • OWASP Application Logging • https://www.owasp.org/index.php/Logging_Cheat_Sheet • Java Logging • Documentation: https://docs.oracle.com/javase/8/docs/technotes/guides/logging/ • API: https://docs.oracle.com/javase/8/docs/api/java/util/logging/package- summary.html • Splunk logging for Java • http://dev.splunk.com/view/splunk-logging-java/SP-CAAAE2K
  • 50. Red7:|:applicationsecurity © Copyright 2017 Robert Grupe. All rights reserved. Finis • This Presentation & Further Resources • www. rgrupe.com • Questions, suggestions, & requests • Robert Grupe, CISSP, CSSLP, PE, PMP • robert@rgrupe.com • +1.314.278.7901

Editor's Notes

  1. Documentation @ https://docs.oracle.com/javase/8/docs/technotes/guides/logging/
  2. http://dev.splunk.com/view/splunk-logging-java/SP-CAAAE3P
  3. http://dev.splunk.com/view/splunk-logging-java/SP-CAAAE7M
  4. http://dev.splunk.com/view/splunk-logging-java/SP-CAAAE3R