SlideShare a Scribd company logo
1 of 50
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

Velero & Beyond: Backup & Restore for Kubernetes Applications (Cloud Native S...
Velero & Beyond: Backup & Restore for Kubernetes Applications (Cloud Native S...Velero & Beyond: Backup & Restore for Kubernetes Applications (Cloud Native S...
Velero & Beyond: Backup & Restore for Kubernetes Applications (Cloud Native S...Chakradhar Rao Jonagam
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with KubernetesSatnam Singh
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleApigee | Google Cloud
 
Drools 6 deep dive
Drools 6 deep diveDrools 6 deep dive
Drools 6 deep diveMario Fusco
 
Steps to deploy mule application with munit on cloudhub using jenkins pipeline
Steps to deploy mule application with munit on cloudhub using jenkins pipelineSteps to deploy mule application with munit on cloudhub using jenkins pipeline
Steps to deploy mule application with munit on cloudhub using jenkins pipelineAmitSrivastava414
 
Intro to Github Actions @likecoin
Intro to Github Actions @likecoinIntro to Github Actions @likecoin
Intro to Github Actions @likecoinWilliam Chong
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
 
DevOps with GitHub Actions
DevOps with GitHub ActionsDevOps with GitHub Actions
DevOps with GitHub ActionsNilesh Gule
 
Introduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsIntroduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsEric Hogue
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Amazon Web Services
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Thomas Graf
 
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018Amazon Web Services Korea
 
Build and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesBuild and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesGian Maria Ricci
 
VCS + Terraform Cloud: Azure DevOps, GitLab, GitHub & Bitbucket
VCS + Terraform Cloud: Azure DevOps, GitLab, GitHub & BitbucketVCS + Terraform Cloud: Azure DevOps, GitLab, GitHub & Bitbucket
VCS + Terraform Cloud: Azure DevOps, GitLab, GitHub & BitbucketMitchell Pronschinske
 
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Amazon Web Services Korea
 
ISTIO Deep Dive
ISTIO Deep DiveISTIO Deep Dive
ISTIO Deep DiveYong Feng
 
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaSridhar Kumar N
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험NHN FORWARD
 
Future Of DevOps Trends 2023
Future Of DevOps Trends 2023Future Of DevOps Trends 2023
Future Of DevOps Trends 2023WeCode Inc
 

What's hot (20)

Velero & Beyond: Backup & Restore for Kubernetes Applications (Cloud Native S...
Velero & Beyond: Backup & Restore for Kubernetes Applications (Cloud Native S...Velero & Beyond: Backup & Restore for Kubernetes Applications (Cloud Native S...
Velero & Beyond: Backup & Restore for Kubernetes Applications (Cloud Native S...
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at Google
 
Drools 6 deep dive
Drools 6 deep diveDrools 6 deep dive
Drools 6 deep dive
 
Steps to deploy mule application with munit on cloudhub using jenkins pipeline
Steps to deploy mule application with munit on cloudhub using jenkins pipelineSteps to deploy mule application with munit on cloudhub using jenkins pipeline
Steps to deploy mule application with munit on cloudhub using jenkins pipeline
 
Intro to Github Actions @likecoin
Intro to Github Actions @likecoinIntro to Github Actions @likecoin
Intro to Github Actions @likecoin
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
 
DevOps with GitHub Actions
DevOps with GitHub ActionsDevOps with GitHub Actions
DevOps with GitHub Actions
 
Introduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsIntroduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec Jenkins
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Kubernetes 서비스 자세히 살펴보기 (정영준 & 이창수, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
 
Build and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesBuild and release in code with azure devops pipelines
Build and release in code with azure devops pipelines
 
Prometheus and Grafana
Prometheus and GrafanaPrometheus and Grafana
Prometheus and Grafana
 
VCS + Terraform Cloud: Azure DevOps, GitLab, GitHub & Bitbucket
VCS + Terraform Cloud: Azure DevOps, GitLab, GitHub & BitbucketVCS + Terraform Cloud: Azure DevOps, GitLab, GitHub & Bitbucket
VCS + Terraform Cloud: Azure DevOps, GitLab, GitHub & Bitbucket
 
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
 
ISTIO Deep Dive
ISTIO Deep DiveISTIO Deep Dive
ISTIO Deep Dive
 
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
Future Of DevOps Trends 2023
Future Of DevOps Trends 2023Future Of DevOps Trends 2023
Future Of DevOps Trends 2023
 

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, DataDogRedis 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 ComplianceSolarWinds
 
IBM i Security SIEM Integration
IBM i Security SIEM IntegrationIBM i Security SIEM Integration
IBM i Security SIEM IntegrationPrecisely
 
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 AnalyticsPrecisely
 
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 AuditingPrecisely
 
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
 
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 DevOpsDeborah 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 publicOjoconsulting 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 ChaseSecurity Innovation
 
Enterprise Security in Mainframe-Connected Environments
Enterprise Security in Mainframe-Connected EnvironmentsEnterprise Security in Mainframe-Connected Environments
Enterprise Security in Mainframe-Connected EnvironmentsPrecisely
 
Tckhjhhjbbggujvg Day13-Post-Exploitation.pptx
Tckhjhhjbbggujvg Day13-Post-Exploitation.pptxTckhjhhjbbggujvg Day13-Post-Exploitation.pptx
Tckhjhhjbbggujvg Day13-Post-Exploitation.pptxAlfredObia1
 
10 tips for hardening your system
10 tips for hardening your system10 tips for hardening your system
10 tips for hardening your systemRevital Lapidot
 
10 tips for hardening your system
10 tips for hardening your system10 tips for hardening your system
10 tips for hardening your systemRevital 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

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 SuccessRobert 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 HaveRobert 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 ApplicationsRobert 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 OverviewRobert 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

(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...Escorts Call Girls
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Standkumarajju5765
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...SUHANI PANDEY
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableSeo
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...SUHANI PANDEY
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...Neha Pandey
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.soniya singh
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...SUHANI PANDEY
 
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.soniya singh
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 

Recently uploaded (20)

(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 

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