Security in the Payara Platform
Security is always a concern when implementing applications that will run in production environments. The Payara Platform Enterprise is a fully-supported open source software for enterprises offering a strong tool set of security features so you won’t have to implement your own security measures from scratch, enabling reliable and secure deployments of Jakarta EE and MicroProfile applications on premises, in the cloud, or hybrid environments.
Making the platform secure and providing useful built-in security tools for application developers and production administrators is an essential part of the platform development process and is accomplished with monthly releases, security fixes, critical security patches, and a 10-year software lifecycle. The Payara Platform also provides tools to secure and restrict access to a production system, encrypt communication, and audit security events and configuration changes.
Security Features
Category | Features |
---|---|
Authentication | Jakarta Soteria, Realms, JAAS, Client Certificate Realm Configuration |
Authorisation | Jakarta EE Role based security, JWT, JACC, Payara CDI Based permission annotation, SecurityManager, Security Extensions |
IdentityStores | LDAP, Yubikey, Linux PAM |
Identity Propagation | OAuth2, Open ID Connect |
Confidentiality | TLS 1.3, Password Encryption and Aliasses, Data Grid encryption |
Security Auditing Tools | Access Log, Domain Updates Log, Payara Audit Modules, JPA audit |
Standard Compliance | Jakarta Security, PCI |
Security Guides
Security Auditing in Payara Server

This guide explains and demonstrates the security auditing best practises and features you can find in Payara Server. Security is always a concern you must have when implementing applications that will run in production environments. Both the JVM and Payara Server have a strong tool set of security implementations for most use cases in the industry.
Securing Your Applications Running on Payara Platform (JAX-RS Endpoints)

This User Guide will discuss the different aspects of securing the JAX-RS endpoints of your application using standards and common practices like OAuth2, OpenID Connect, JWT Tokens, and MicroProfile JWT authentication in combination with the Payara Platform.
How to Develop Applications with Minimal Security Risks

This user guide written in collaboration with Snyk, takes you through 7 key pointers for developing applications with a minimal security risk. It will help you take responsibility for the security of your software, to best avoid becoming one of the 20,000 websites every day that get hacked on average.
How to Raise Security Issues

Payara Services Limited is very active at identifying and fixing possible security vulnerabilities included into Payara Server and Payara Micro that are either inherited from GlassFish upstream or introduced by new features developed.
We strongly encourage users to report such problems in the following ways:
- If you have a support contract, create a ticket describing the security vulnerabilities detected as you would do for any other bug reports.
- If you do not have a support contract, please send an email with the described vulnerabilities detected to security@payara.fish. Please don’t use this address to report bugs or issues unrelated to security vulnerabilities as they will be ignored, instead use the GitHub repository issues page for raising a new issue detailing the problem at hand.
You can also direct inquiries about reported CVE issues detected in similar Java platforms or application servers (like Apache Tomcat, JBoss WildFly, etc.) and let us research whether or not Payara Server is affected by such issues.
Community Security Fixes SummaryEnterprise Security Fixes Summary
Security Articles
Using Jakarta EE Identity Store With Payara 28 Sep 2022
These days the world-wide open-source community celebrates the advent of Jakarta EE 10. It is then a good time to look at one of its most relevant and, at the same time, unknown parts: security! In this blog, I'll give an introduction to Jakarta EE Security, and then explain how Payara Platform builds on Jakarta EE Security with built-in identity stores for RDBMS (Relational Database Management System) and LDAP (Lightweight Directory Access Protocol).
What's New in the April 2022 Payara Platform Release? 21 Apr 2022
The April 2022 Payara Platform release is here! Payara Platform Community 5.2022.2 brings 13 bug fixes, 2 component upgrades, 3 improvements and 3 security fixes, whilst Payara Platform Enterprise 5.38.0 includes 2 bug fixes, 1 improvement and 4 security fixes. It includes the fix for "Spring4Shell", and improved support for Jakarta EE 9, as you can now run Jakarta EE 9 applications using PrimeFaces. This release also gives Payara users the ability to use gRPC, the Google Remote Procedure Call Framework. Please note: This is the penultimate Payara 5 Community release. Payara 6 Community will soon take its place, to be used with Jakarta EE 10. If you want to keep using earlier Java EE/Jakarta EE versions - we encourage you to move to Payara 5 Enterprise.
Payara Platform & “Spring4Shell” 06 Apr 2022
The Remote Code Execution (RCE) vulnerability detected in the Spring Java Framework in March 2022 (tagged as CVE-2022-22965) is unlikely to impact those using Payara Platform.
Quick Fire Java: Java After Log4j 18 Feb 2022
The second episode in our 'Quick Fire Java' video series is out! We discuss Log4j, security process and prioritization, and how Payara dealt with the vulnerability. All in a concise 10-minute video.
Client Certificate Realm Configuration in Payara Server 29 Oct 2021
A realm is the security policy domain within an application server. It defines how the authentication and authorization for your application is performed. Most of the time, your application is used by a person that can provide username and passwords as credentials (directly or indirectly through providers like an OpenId Connect provider) but some use cases exist where another process needs to use your endpoints.
Security Video Tutorials
MicroProfile in Practice – Expose and visualise metrics, Configure your app & Secure REST endpoints.
Java Champion Ondrej Mihalyi demonstrates with a simple game application, some MicroProfile capabilities in the Payara Platform which powers both Payara Server and Payara Micro. Demonstrating how to:
- Expose operational and business logic metrics and how to visualise them.
- Configure your applications.
- Secure REST endpoints in your applications using JSON web token mechanism.
How to Create a Secure JSF JPA Application
How to Create a Secure JSF/JPA Web App on Payara Server 5 – Learn how to create a secure web application using multiple Java EE/Jakarta EE APIs and connect it to a MySQL 8 database in this comprehensive tutorial.
Authentication and Authorization with Payara and MicroProfile JWT
In this video, Java Champion Adam Bien explores Authentication and authorization in JAX-RS with JSON Web Tokens (JWT). Tokens were generated with http://jwtenizr.sh The service was deployed with http://wad.sh to http://payara.fish.
MicroProfile Metrics with Prometheus and Grafana
The goal of MicroProfile Metrics is to expose monitoring data from the implementation in a unified way. It also defines a Java API so that the developer can define and supply his own values. Prometheus is a popular Open-Source product for gathering metrics. Grafana is a multi-platform open source solution for running data analytics, pulling up metrics, and monitoring apps.