SAP HANA Security Checklists and Recommendations
SAP HANA Security Checklists and Recommendations
SAP HANA has many configuration settings that allow you to customize your system for your implementation
scenario and system environment. Some of these settings are specifically important for the security of your
system, and misconfiguration could leave your system vulnerable. This document contains information and
recommendations on critical settings.
This document contains checklists and recommendations to help you operate and configure SAP HANA
securely. However, please note the following:
● The checklists and recommendations contained in this document are not exhaustive. In addition,
depending on your specific implementation scenario and technical environment, some of the
recommendations may not apply or be different.
● Do not use the checks contained in this document as instructions on how to configure individual settings. If
a particular check result indicates an insecure setting, refer to the indicated documentation and follow the
instructions there to change the configuration setting.
● This document does not replace the SAP HANA Security Guide, the central document for all information
relating to the secure operation and configuration of SAP HANA.
● Create a security concept for the SAP HANA scenario that you want to implement as early as possible in
your implementation project.
● Install SAP HANA revisions that are marked as security-relevant as soon as possible. Do this by checking
SAP HANA security notes either directly, or using services provided by SAP Support.
For more information, see SAP HANA Security Patches in the SAP HANA Security Guide.
If you received your SAP HANA system pre-installed from a hardware or hosting partner, there are several
things we strongly recommend you do immediately after handover.
● Change the password of all operating system users, in particular the following:
○ <sid>adm
○ root
○ sapadm
For more information, see your operating system documentation.
● In all databases, review all database users created by the installing party, and delete or deactivate those
that are not needed in your scenario.
Remember
If you received a system with tenant databases, make sure to do this in all tenant databases and in the
system database.
For more information about database users that are created in the SAP HANA database by default, see the
SAP HANA Security Guide.
● In all databases, change the password of all predefined database users, in particular the password of the
database user SYSTEM. In addition, deactivate the SYSTEM user. For more information, see the SAP HANA
Security Guide.
Remember
If you received a system with tenant databases, make sure to do this in all tenant databases and in the
system database.
Note
Predefined internal technical users (SYS, _SYS_* users) are permanently deactivated and cannot be
used to log on. It is not possible to change the password of these users.
Note
In a system replication landscape, you must copy the system PKI SSFS data file and key file from the
primary system to the same location on the secondary system(s). For more information, see the
section on secure internal communication in the SAP HANA Security Guide.
Checklists and recommendations to help you operate and configure the SAP HANA database securely
Tip
SAP Note 1969700 contains collections of useful SQL statements for monitoring and analyzing the SAP
HANA database. The statements contained in the file HANA_Security_MiniChecks.txt perform all of
the SQL-based checks listed in this document.
Related Information
SYSTEM User
Default The database user SYSTEM is the most powerful database user with irrevocable system priv
ileges. The SYSTEM user is active after database creation.
Recommendation Use SYSTEM to create database users with the minimum privilege set required for their du
ties (for example, user administration, system administration). Then deactivate SYSTEM.
You may however temporarily reactivate the SYSTEM user for emergency or bootstrapping
tasks. See Deactivate the SYSTEM User in the SAP HANA Security Guide.
Note
The SYSTEM user is not required to update the SAP HANA database system; a lesser-
privileged user can be created for this purpose. However, to upgrade SAP support pack
age stacks, SAP enhancement packages and SAP systems using the Software Update
Manager (SUM) and to install, migrate, and provision SAP systems using the Software
Provisioning Manager (SWPM), the SYSTEM user is required and needs to be tempora
rily reactivated for the duration of the upgrade, installation, migration or provisioning.
How to Verify In the system view USERS, check the values in columns USER_DEACTIVATED,
DEACTIVATION_TIME, and LAST_SUCCESSFUL_CONNECT for the user SYSTEM.
Related Alert No
More Information See the sections on predefined users and deactivating the SYSTEM user in the SAP HANA
Security Guide.
Default With the exception of internal technical users (_SYS_* users), the default password policy
limits the lifetime of user passwords to 182 days (6 months).
In 3-tier scenarios with an application server, only technical user accounts for the database
connection of the application server should have a password with an unlimited lifetime (for
example, SAP<sid> or DBACOCKPIT).
Note
Such technical users should have a clearly identified purpose and the minimum authori
zation required in SAP HANA.
How to Verify In the USERS system view, check the value in the column
IS_PASSWORD_LIFETIME_CHECK_ENABLED. If it is FALSE, the password lifetime check is
disabled.
Related Alert No
More Information See the section on the password policy in the SAP HANA Security Guide.
System Privileges
Default System privileges authorize database-wide administration commands. The users SYSTEM
and _SYS_REPO users have all these privileges by default.
In addition, several system privileges grant powerful permissions, for example, the ability to
delete data and to view data unfiltered and should be granted with extra care as follows:
Only administrative or support users should have the following system privileges in a pro
duction database:
● CATALOG READ
● TRACE ADMIN
In a database of any usage type, the following system privileges should be granted only to
administrative users who actually need them:
● ADAPTER ADMIN
● AGENT ADMIN
● AUDIT ADMIN
● AUDIT OPERATOR
● BACKUP ADMIN
● BACKUP OPERATOR
● CERTIFICATE ADMIN
● CREATE REMOTE SOURCE
● CREDENTIAL ADMIN
● ENCRYPTION ROOT KEY ADMIN
● EXTENDED STORAGE ADMIN
● INIFILE ADMIN
● LDAP ADMIN
● LICENSE ADMIN
● LOG ADMIN
● MONITOR ADMIN
● OPTIMIZER ADMIN
● RESOURCE ADMIN
● SAVEPOINT ADMIN
● SERVICE ADMIN
● SESSION ADMIN
● SSL ADMIN
● TABLE ADMIN
● TRUST ADMIN
● VERSION ADMIN
● WORKLOAD ADMIN
● WORKLOAD * ADMIN
How to Verify To check which user has a particular system privilege, query the
EFFECTIVE_PRIVILEGE_GRANTEES system view, for example:
Related Alert No
More Information See the section on system privileges in the SAP HANA Security Guide and the secton on sys
tem views for verifying user authorization in the SAP HANA Administration Guide.
Default The users SYSTEM and _SYS_REPO users have all system privileges by default.
Recommendation Critical combinations of system privileges should not be granted together, for example:
How to Verify To check a user's privileges query the EFFECTIVE_PRIVILEGES system view, for example:
Related Alert No
More Information See the section on system privileges in the SAP HANA Security Guide and the secton on sys
tem views for verifying user authorization in the SAP HANA Administration Guide.
Default The system privilege DATA ADMIN is a powerful privilege. It authorizes a user to execute all
data definition language (DDL) commands in the SAP HANA database. Only the users
SYSTEM and _SYS_REPO users have this privilege by default.
How to Verify You can verify whether a user or role has the DATA ADMIN privilege by executing the state
ment:
Related Alert No
More Information See the section on system privileges in the SAP HANA Security Guide and the secton on sys
tem views for verifying user authorization in the SAP HANA Administration Guide.
Default The system privilege DEVELOPMENT authorizes some internal ALTER SYSTEM commands.
Only the users SYSTEM and _SYS_REPO users have this privilege by default.
Related Alert No
More Information See the section on system privileges in the SAP HANA Security Guide and the secton on sys
tem views for verifying user authorization in the SAP HANA Administration Guide.
Default The predefined analytic privilege _SYS_BI_CP_ALL potentially allows a user to access all
the data in activated views that are protected by XML-based analytic privileges, regardless
of any other XML-based analytic privileges that apply.
Only the predefined roles CONTENT ADMIN and MODELING have the analytic privilege
_SYS_BI_CP_ALL by default, and only the user SYSTEM has these roles by default.
Recommendation Do not grant this privilege to any user or role in a production database.
How to Verify You can verify whether a user or role has the _SYS_BI_CP_ALL privilege by executing the
statement:
Related Alert No
More Information See the sections on privileges and predefined database roles in the SAP HANA Security
Guide and the secton on system views for verifying user authorization in the SAP HANA Ad
ministration Guide.
Debug Privileges
Recommendation The privileges DEBUG and ATTACH DEBUGGER should not be assigned to any user for any
object in production systems.
How to Verify You can verify whether a user or role has debug privileges by executing the statements:
Related Alert No
Default The role CONTENT_ADMIN contains all privileges required for working with information mod
els in the repository of the SAP HANA database.
Recommendation Only the database user used to perform system updates should have the role
CONTENT_ADMIN. Otherwise do not grant this role to users, particularly in production data
bases. It should be used as a role template only.
How to Verify You can verify whether a user or role has the CONTENT_ADMIN role by executing the state
ment:
Related Alert No
More Information See the section on predefined database roles in the SAP HANA Security Guide and the sec
ton on system views for verifying user authorization in the SAP HANA Administration Guide.
Default The role MODELING contains the predefined analytic privilege _SYS_BI_CP_ALL, which po
tentially allows a user to access all the data in activated views that are protected by XML-
based analytic privileges, regardless of any other XML-based analytic privileges that apply.
Recommendation Do not grant this role to users, particularly in production databases. It should be used as a
role template only.
How to Verify You can verify whether a user or role has the MODELING role by executing the statement:
Related Alert No
More Information See the section on predefined database roles in the SAP HANA Security Guide and the sec
ton on system views for verifying user authorization in the SAP HANA Administration Guide.
Default The role SAP_INTERNAL_HANA_SUPPORT contains system privileges and object privileges
that allow access to certain low-level internal system views needed by SAP HANA develop
ment support in support situations.
Recommendation This role should only be granted to SAP HANA development support users for their support
activities.
How to Verify You can verify whether a user or role has the SAP_INTERNAL_HANA_SUPPORT role by exe
cuting the statement:
More Information See the section on predefined database roles in the SAP HANA Security Guide and the sec
tion on system views for verifying user authorization in the SAP HANA Administration Guide.
Default SAP HANA is delivered with a set of preinstalled software components implemented as SAP
HANA Web applications, libraries, and configuration data. The privileges required to use
these components are contained within repository roles delivered with the component itself.
The standard user _SYS_REPO automatically has all of these roles. Some may also be
granted automatically to the standard user SYSTEM to enable tools such as the SAP HANA
cockpit to be used immediately after installation.
Recommendation As repository roles can change when a new version of the package is deployed, either do not
use them directly but instead as a template for creating your own roles, or have a regular
review process in place to verify that they still contain only privileges that are in line with
your organization's security policy.
How to Verify To verify whether a user or role has a particular role, execute the following statement, for
example:
Related Alert No
Default The CLIENT user parameter can be used to authorize named users in SAP HANA data
base. Only a user with the USER ADMIN system privilege can change the value of the
CLIENT parameter already assigned to other users. However, at runtime, any user can as
sign an arbitrary value to the CLIENT parameter either by setting the corresponding ses
sion variable or passing the parameter via placeholder in a query. While this is the desired
behavior for technical users that work with multiple clients such as SAP Business Ware
house, S/4 HANA, or SAP Business Suite, it is problematic in named user scenarios if the
CLIENT parameter is used to authorize access to data and not only to perform data filter
ing.
Recommendation Prevent named users from changing the CLIENT user parameter themselves but allow
technical users to do so in their sessions and/or queries.
How to Verify To verify that users are generally not permitted to change the CLIENT user parameter, en
sure that the parameter [authorization] secure_client_parameter in the
global.ini file is set to true:
To verify that only permitted roles or users can change the CLIENT user parameter, execute
the following statement:
Related Alert No
More Information See SAP Note 2582162 and the section on authorization in the SAP HANA Administration
Guide.
Related Information
Recommendations for integrating SAP HANA securely into your network environment.
General Recommendations
For general recommendations, please read the section on network security in the SAP HANA Security Guide.
Open Ports
Default During installation, ports such as SQL 3<instance_no>15 and HTTP 80<instance_no>
are opened by default
Recommendation Only ports that are needed for running your SAP HANA scenario should be open. For a list of
required ports, see the SAP HANA Administration Guide.
How to Verify Verify opened ports at operating system level using Linux commands such as netcat or
netstat.
Related Alert No
More Information See the section on communication channel security in the SAP HANA Security Guide and
the section on ports and connections in the SAP HANA Administration Guide.
Default SAP HANA services use IP addresses to communicate with each other. Host names are
mapped to these IP addresses through internal host name resolution, a technique by which
the use of specific and/or fast networks can be enforced and communication restricted to a
specific network. In single-host systems, SAP HANA services listen on the loopback inter
face only (IP address 127.0.0.1).
This information is available in the Network Security Information app available in the SAP
HANA Security Overview catalog. The value of the Listening On field should be Local
Network.
Related Alert No
More Information See the section ports and connections in the SAP HANA Administration Guide.
Default In a distributed scenario with multiple hosts, the network needs to be configured so that in
ter-service communication is operational throughout the entire landscape. The default con
figuration depends on how you installed your system.
Recommendation Multiple-host systems can run with or without a separate network definition for inter-service
communication. The recommended setting depends accordingly:
Note
Communication properties are in the default configuration change blacklist
(multidb.ini). This means that they cannot initially be changed in tenant data
bases. They must be changed from the system database. If appropriate for your sce
nario, you can remove these properties from the change blacklist. SAP HANA deploy
ment scenarios are described in the SAP HANA Master Guide. For more information
about how to edit the change blacklist, see the SAP HANA Administration Guide.
This information is available in the Network Security Information app available in the SAP
HANA Security Overview catalog. The value of the Listening On field should be Global
Network or Internal Network.
More Information See the section on internal hostname resolution in the SAP HANA Administration Guide.
Recommendation The recommended setting depends on whether or not a separate network is defined for in
ternal communication:
● If a separate internal network channel is configured for system replication, the param
eter [system_replication_communication] listeninterface param
eter should be .internal. You also need to add key-value pairs for the IP addresses
of the network adapters for the system replication in the
[system_replication_hostname_resolution] section.
● If a separate network is not configured for system replication, the parameter
[system_replication_communication] listeninterface parameter
should be set to .global. However, in this case, it is important to secure communica
tion using TSL/SSL and/or to protect the SAP HANA landscape with a firewall. In the
[system_replication_hostname_resolution] section, add entries for all
hosts of neighboring sites (at a minimum) or all hosts of own site as well as for all hosts
of neighboring sites. In addition, set the parameter
[system_replication_communication] allowed_sender to restrict
possible communication to specific hosts. The parameter value must contain a list of
the foreign hosts that are part of the SAP HANA system replication landscape.
Note
Communication properties are in the default configuration change blacklist
(multidb.ini). This means that they cannot initially be changed in tenant data
bases. They must be changed from the system database. If appropriate for your sce
nario, you can remove these properties from the change blacklist. SAP HANA deploy
ment scenarios are described in the SAP HANA Master Guide. For more information
about how to edit the change blacklist, see the SAP HANA Administration Guide.
Related Alert No
More Information See the section on hostname resolution for system replication in the SAP HANA Administra
tion Guide.
Default The instance secure store in the file system (SSFS) protects internal root keys in the file sys
tem. A unique master key is generated for the instance SSFS in every installation.
Recommendation If you received your system pre-installed from a hardware or hosting partner, we recom
mend that you change the master key of the instance SSFS immediately after handover to
ensure that it is not known outside of your organization.
How to Verify Check the change date of the master key in the SAP HANA cockpit.
This information is available in the SAP HANA cockpit on the resource overview page.
More Information See the section on server-side data encryption in the SAP HANA Security Guide and the sec
tion on changing the SSFS master keys in the SAP HANA Administration Guide.
Default The system public key infrastructure (PKI) SSFS protects the X.509 certificate infrastruc
ture that is used to secure internal TLS/SSL-based communication. A unique master key is
generated for the system PKI SSFS in every installation.
Recommendation If you received your system pre-installed from a hardware or hosting partner, we recom
mend that you change the master key of the instance SSFS immediately after handover to
ensure that it is not known outside of your organization.
How to Verify Check the change date of the master key in the SAP HANA cockpit.
This information is available in the SAP HANA cockpit on the resource overview page.
More Information See the section on server-side data encryption in the SAP HANA Security Guide and the sec
tion on changing the SSFS master keys in the SAP HANA Administration Guide.
Unique root keys are generated for all services in every database.
Recommendation If you received your system pre-installed from a hardware or hosting partner, we recom
mend that you change all root keys immediately after handover to ensure that they are not
known outside of your organization.
Related Alert No
More Information See the sections on server-side data encryption in the SAP HANA Security Guide and the
SAP HANA Administration Guide.
Default The secure user store (hdbuserstore) is a tool installed with the SAP HANA client. It is
used to store SAP HANA connection information, including user passwords, securely on cli
ents.
Information contained in the SAP HANA secure user store is encrypted using a unique en
cryption key.
How to Verify You know the encryption has been changed if the file SSFS_HDB.KEY exists in the direc
tory where the SAP HANA client is installed.
Related Alert No
More Information See the sections on hdbuserstore in the SAP HANA Security Guide and SAP HANA Admin
istration Guide, as well as SAP Note 2210637.
Recommendation We recommend that you enable data and log volume encryption immediately after installa
tion or handover from your hardware or hosting partner and after you have changed the root
encryption keys for both services.
Related Alert No
More Information See the section on data and log volume encryption in the SAP HANA Security Guide and the
section on enabling encryption of data and log volumes in the SAP HANA Administration
Guide.
Related Information
Recommendations for secure operating system access and data storage in the file system
General Recommendation
Stay up to date on security recommendations available for your operating system and consider them in the
context of your implementation scenario and security policy.
● SAP Note 1944799 (SUSE Linux Enterprise Server 11.x for SAP Applications)
● SAP Note 2009879 (Red Hat Enterprise Linux (RHEL) 6.x)
Default Only operating system (OS) users that are needed for operating SAP HANA exist on the SAP
HANA system, that is:
Note
There may be additional OS users that were installed by the hardware vendor. Check
with your vendor.
Related Alert No
More Information See the section on predefned users in the SAP HANA Security Guide.
Default The access permission of files exported to the SAP HANA server can be configured using
the [import_export] file_security parameter in the indexserver.ini con
figuration file. The default permission set is 640 ([import_export]
file_security=medium).
How to Verify ● You can verify the parameter setting by executing the command:
SELECT * FROM "PUBLIC" . "M_INIFILE_CONTENTS" WHERE
SECTION = 'import_export' AND KEY = 'file_security';
● You can verify which users or roles have the IMPORT or EXPORT privilege by executing
the statement:
SELECT * FROM EFFECTIVE_PRIVILEGE_GRANTEES WHERE
(OBJECT_TYPE = 'SYSTEMPRIVILEGE') AND (PRIVILEGE =
'EXPORT' OR PRIVILEGE='IMPORT');
● You can verify the permissions of directories in the file system using the SAP HANA da
tabase lifecycle manager (HDBLCM) resident program with installation parameter
check_installation.
Related Alert No
More Information See the section on checking the installation of an SAP HANA system using the SAP HANA
database lifecycle manager (HDBLCM) in the SAP HANA Administration Guide, as well as
SAP Note 2252941.
OS Security Patches
Recommendation Install OS security patches for your operating system as soon as they become available. If a
security patch impacts SAP HANA operation, SAP will publish an SAP Note where this fact
is stated. It is up to you to decide whether to install such patches.
Related Alert No
More Information ● SAP Note 1944799 (SUSE Linux Enterprise Server 11.x for SAP Applications)
● SAP Note 2009879 (Red Hat Enterprise Linux (RHEL) 6.x)
OS sudo Configuration
Default Users have to either specify the root password or be part of a dedicated user group to be
able to run arbitrary commands as root.
Recommendation Do not change your sudo configuration to allow users such as <sid>adm to use sudo to run
arbitrary commands as root without specifying the root password.
● Defaults targetpw
This setting requires the root password to be provided when running sudo in general.
● ALL ALL=(ALL) ALL
This should only be used if Defaults targetpw is also set.
If you use the storage connector option to mount SAP HANA volumes, during SAP HANA
installation your sudo configuration is modified to allow <sid>adm to run a dedicated set of
commands as root, such as:
This is intentional and does not pose a security risk. However, <sid>adm should not be able
to run arbitrary commands as root without proper authentication.
Related Alert No
More Information See the sudo and sudoers documentation (man 8 sudo, man 5 sudoers)
Related Information
Auditing
Recommendation Verify whether auditing is required by your security concept, for example to fulfill specific
compliance and regulatory requirements.
This information is available on the Auditing tile of the SAP HANA Security Overview catalog.
Related Alert No
More Information See the sections on audting in the SAP HANA Security Guide and the SAP HANA Administra
tion Guide.
Default The default audit trail target is syslog (SYSLOGPROTOCOL) for the system database
Recommendation If you are using syslog, ensure that it is installed and configured according to your require
ments (for example, for writing the audit trail to a remote server).
Related Alert No
More Information See the section on audit trails in the SAP HANA Security Guide and your operating system
documentation.
Default The audit trail target CSV text file (CSVTEXTFILE) is not configured by default
Recommendation Do not configure CSV text file (CSVTEXTFILE) as an audit trail target in a production system
as it has severe restrictions.
How to Verify Check the configured audit trail targets in the Auditing of the SAP HANA cockpit
Related Alert No
More Information See the section on audit trails in the SAP HANA Security Guide.
Trace Files
Default Basic tracing of activity in database components is enabled by default, with each database
service writing to its own trace file. Other traces (for example, SQL trace, expensive state
ments trace, performance trace) must be explicitly enabled.
Users with the system privilege CATALOG READ can read the contents of trace files in the
SAP HANA studio. At operating system level, any user in the SAPSYS group can access the
trace directory: /usr/sap/<SID>/HDB<instance>/<host>/trace/<db_name>
Recommendation ● Enable tracing to troubleshoot specific problems only and then disable.
● Exercise caution when setting or changing the trace level. A high trace level may expose
certain security-relevant data (for example, database trace level DEBUG or SQL trace
level ALL_WITH_RESULTS).
● Delete trace files that are no longer needed.
How to Verify ● You can check which traces are enabled and how they are configured in the Administra
tion editor of the SAP HANA studio on the Trace Configuration tab.
● You can view trace files in the Administration editor of the SAP HANA studio on the
Diagnosis Files tab and using the SAP HANA Database Explorer, which is integrated into
the SAP HANA cockpit and SAP Web IDE for SAP HANA.
Related Alert No
More Information See the section on security risks of trace and dump files in the SAP HANA Security Guide
and the section on configuring traces in the SAP HANA Administration Guide.
Default The system generates core dump files (for example, crash dump files) automatically. Run
time (RTE) dump files can be triggered explicitly, for example by using the SAP HANA data
base management console (hdbcons) or as part of a full system information dump
(fullSystemInfoDump.py).
Caution
Technical expertise is required to use hdbcons. To avoid incorrect usage, use hdbcons
only with the guidance of SAP HANA development support.
To create RTE dump files in a running system as part of a full system information dump in
the SAP HANA studio, a user requires the EXECUTE privilege on procedure
SYS.FULL_SYSTEM_INFO_DUMP_CREATE.
Dump files are stored in the trace directory and have the same access permissions as other
trace files (see above).
Runtime dump files created as part of a full system information dump can be retrieved by
users with the EXECUTE privilege on the procedure
SYS.FULL_SYSTEM_INFO_DUMP_RETRIEVE using the SAP HANA studio. At operating sys
tem level, any user in the SAPSYS group can access their storage loca
tion: /usr/sap/SID/SYS/global/sapcontrol/snapshots
Recommendation ● Generate runtime dump files to analyze specific error situations only, typically at the
request of SAP support.
● Delete dump files that are no longer needed.
How to Verify ● You can view core dump files in the Administration editor of the SAP HANA studio on
the Diagnosis Files tab.
● You can download the file collections generated by a full system information dump in
the Administration editor of the SAP HANA studio on the Diagnosis Files tab.
Related Alert No
More Information See the section on security risks of trace and dump files in the SAP HANA Security Guide
and the section on collecting diagnosis information for SAP Support in the SAP HANA Ad
ministration Guide.
Default All tenant databases use the same trust store as the system database for SAML-based user
authentication
Recommendation To prevent users of one tenant database being able to log on to other databases in the sys
tem (including the system database) using SAML, create individual certificate collections
with the purpose SAML and SSL in every tenant database.
In addition, specify a non-existent trust store for every tenant database using the
[communication] sslTrustStore property in the global.ini file.
Related Alert No
More Information See the sections on SSL configuration on the SAP HANA server and certficate collections in
the SAP HANA Security Guide.
Configuration Blacklist
Recommendation Verify that the parameters included in the multidb.ini file meet your requirements and
customize if necessary.
How to Verify To see which parameters are blacklisted, execute the statement:
Related Alert No
More Information See the section on default blacklisted system properties in tenant databases in the SAP
HANA Security Guide and the section on how to prevent changes to system properties in
tenant databases in the SAP HANA Administration Guide.
Default To safeguard and/or customize your system, it is possible to disable certain database fea
tures that provide direct access to the file system, the network, or other resources, for ex
ample import and export operations and backup functions.
Recommendation Review the list of features that can be disabled and disable those that are not required in
your implementation scenario.
How to Verify To see the status of features, query the system view
M_CUSTOMIZABLE_FUNCTIONALITIES:
Related Alert No
More Information See the section on restricted features in tenant databases in the SAP HANA Security Guide
and the section on how to disable features on tenant databases in the SAP HANA Adminis
tration Guide.
Checklists and recommendations to help you operate and configure the SAP HANA XS Advanced Model
runtime securely
XSA_ADMIN User
Default XSA_ADMIN is a firstlevel administrator user with irrevocable privileges. This user has un
limited access to the Controller and therefore needs to be handled carefully.
Alternatively, set up lesser-privileged XS advanced users to run the server without the ad
ministrative user. Then deactivate the XSA_ADMIN user. See the next section.
Note
This statement can only be executed by a user administrator.
Related Alert No
More Information See the section on predefined XS advanced users in the SAP HANA Security Guide.
Default The XSA_ADMIN user can use the Controller without any restrictions and is the only user in a
position to do the initial setup of the model. This includes appointing at least one Org Man
ager who is able to set up spaces, and managing global resources such as buildpacks and
external brokers.
Recommendations Set up your system so that XSA_ADMIN is not needed for normal system operation. You can
do this as follows:
1. Perform the basic settings that require the administrative access rights of XSA_ADMIN
as required:
○ Install custom SSL certificates (xs trust-certificate and xs set-
certificate commands)
○ Appoint at least one XS advanced user to be OrgManager of each organization
(strongly recommended)
○ Register all required service brokers (optional)
○ Create all required shared domains (optional)
○ Create all required custom buildpacks (optional)
○ Create all required runtimes (optional)
○ Configure logical databases (optional)
○ Set up global environment variables (xs set_running|
staging_environment_variable_groups command) (optional)
2. Grant one or more XS advanced users the following role collections:
○ XS_AUTHORIZATION_ADMIN (managing roles, role-collections, and so on)
○ XS_USER_ADMIN (assigning role-collections to XS advanced users)
3. Deactivate the XSA_ADMIN with the following SQL statement:
ALTER USER XSA_ADMIN DEACTIVATE USER NOW
Note
In an emergency, a user with system privilege USER ADMIN can reactivate this
user with the SQL statement:ALTER USER XSA_ADMIN ACTIVATE USER
NOW
How to Verify In the system view USERS, check the values in columns USER_DEACTIVATED, DEACTIVA
TION_TIME, and LAST_SUCCESSFUL_CONNECT for the user XSA_ADMIN.
Related Alert No
More Information See the section on scopes, attributes, and role collections in the SAP HANA Security Guide.
Space Isolation
Default The instances of applications in the same space run with the same operating system (OS)
user. Each space can have a different OS user.
Recommendations For space isolation, each space should use an own dedicated OS user only for this space.
How to Verify Current space user mapping can be viewed with the xs spaces command. The user col
umn shows the used OS user for each listed space.
Related Alert No
More Information See the section on organizations and spaces in the SAP HANA Security Guide.
Default Spaces are mapped to operating system (OS) users that are used to stage and run applica
tions.
Recommendations ● Don’t use <sid>adm or any other high privileged OS user as a space OS user.
● Restrict the privileges of the space OS user as much as possible.
How to Verify Current space user mapping can be viewed with the xs spaces command. Verify the OS
privileges of each OS users listed.
Related Alert No
More Information See the section on organizations and spaces in the SAP HANA Security Guide.
SAP Space
Recommendations Use the PROD space to deploy your applications or create new spaces accordingly. Don’t
deploy your applications to the SAP space to ensure isolation.
How to Verify Applications (xs apps) with target space SAP should list only system applications (de
ployer, product-installer and so on).
Related Alert No
More Information See the section on organizations and spaces in the SAP HANA Security Guide.
Default XS advanced session is stored in the file system of the current OS user
Recommendations We recommend logging on to XS advanced (xs login command) only with a personal OS
user with a home directory that is not readable to other OS users.
How to Verify -
Related Alert No
Recommendations for integrating SAP HANA XS advanced securely into your network environment.
Default The Platform Router, which is realized by an SAP Web Dispatcher instance, exposes the
public endpoint for the entire system. The router is configured in a way that all application
and public server endpoints are represented by an external URL. External requests are
routed to the appropriate back-end instance according to the internal routing table.
Recommendations Limit network access to your system in a way that only the Platform Router's endpoints are
accessible from outside the system. This can be accomplished by means of network zones
and firewalls.
How to Verify Get in contact with your network administrators to verify this fact.
Related Alert No
More Information See the sections on XS advanced application server components and public endpoints in
the SAP HANA Security Guide.
Security Areas
Default The JDBC connection to the SAP HANA database is not encrypted by default.
Recommendations Activate JDBC TLS/SSL between application server and the SAP HANA database in all sce
narios. Configure custom SSL certificates as described in the SAP HANA Security Guide.
How to Verify Get in contact with your network administrators to verify this fact.
Related Alert No
More Information See the section on XS advanced certificate management in the SAP HANA Security Guide.
Default By default, the XS advanced server runs with self-signed certificate for all domains.
Recommendations Configure the XS advanced server to accept a custom certificate for all your domains, espe
cially the shared domain (used for XS CLI communication). Custom certificates can be up
load by using the xs set-certificate command for each domain.
How to Verify Check the certificate in your browser when loading from a specific domain.
Related Alert No
More Information See the section on XS advanced certificate management in the SAP HANA Security Guide,
as well as SAP Note 2243019.
Related Information
For information about the capabilities available for your license and installation scenario, refer to the Feature
Scope Description (FSD) for your specific SAP HANA version on the SAP HANA Platform webpage.
Hyperlinks
Some links are classified by an icon and/or a mouseover text. These links provide additional information.
About the icons:
● Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your
agreements with SAP) to this:
● The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.
● SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any
damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.
● Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering a SAP-hosted Web site. By using such
links, you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this
information.
Example Code
Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax
and phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of
example code unless damages have been caused by SAP's gross negligence or willful misconduct.
Gender-Related Language
We try not to use genderspecific word forms and formulations. As appropriate for context and readability, SAP may use masculine word forms to refer to all genders.
SAP and other SAP products and services mentioned herein as well as
their respective logos are trademarks or registered trademarks of SAP
SE (or an SAP affiliate company) in Germany and other countries. All
other product and service names mentioned are the trademarks of their
respective companies.