SAP Security Baseline Template V1.9
SAP Security Baseline Template V1.9
Version 1.9
The structure of the template is based on the SAP Secure Operations Map:
Security Security Cloud Emergency
Compliance Governance Audit Security Concept
Communication
Secure Setup Secure Configuration Data Security
Security
Security Maintenance
Secure Code Custom Code Security
of SAP Code
Chapter 2 shows the regulations that should be fulfilled for all SAP systems in the system
landscape. Adjust the target values according to your Corporate Security Policy.
Chapter 3 provides some information on how to verify compliance of a system or landscape to the
requirements given in chapter 2
Chapter 4 and following show additional information to define and validate the target values.
SAP SECURITY BASELINE TEMPLATE
Change History
19-Aug-2014 1.0 Initial Version adapted to the new Secure Operations Map –
including corresponding change of regulation IDs in chapter 2
TABLE OF CONTENTS
4.1.1.2 SAP provided Gateways and Reverse Proxies and standalone components ............................. 34
4.1.1.2.1 SAProuter ............................................................................................................................................... 35
4.1.1.2.2 SAP Web Dispatcher .............................................................................................................................. 36
4.1.1.3 Administrative Access to SAP Systems ...................................................................................... 37
4.1.2 Operating System Security .......................................................................................................... 38
4.1.2.1 Windows ...................................................................................................................................... 38
4.1.2.1.1 Windows Groups and Users in an SAP System Environment................................................................. 38
4.1.2.1.2 Windows Operating System User Settings in an SAP System ................................................................ 38
4.1.2.1.3 SAP Systems in the Windows Domain Concept ..................................................................................... 39
4.1.2.1.4 Securing Data Relevant to the SAP System ........................................................................................... 39
4.1.2.1.5 Security Settings for Shared Memory...................................................................................................... 40
4.1.2.2 Unix .............................................................................................................................................. 40
4.1.2.2.1 Protecting Specific Properties, Files and Services .................................................................................. 40
4.1.2.2.2 Setting Access Privileges for SAP System Directories Under UNIX/LINUX ............................................ 41
4.1.3 Database Security ....................................................................................................................... 41
4.1.3.1 General Recommendations ......................................................................................................... 41
4.1.3.1.1 Authentication and Encryption ................................................................................................................ 42
4.1.3.1.2 Authorization ........................................................................................................................................... 42
4.1.3.2 SAP HANA Security ..................................................................................................................... 42
4.1.3.2.1 Change Passwords of Users after Handover .......................................................................................... 42
4.1.3.2.2 Deactivate SYSTEM user ....................................................................................................................... 43
4.1.3.2.3 Limit Password Lifetime .......................................................................................................................... 43
4.1.3.2.4 Password Policy...................................................................................................................................... 43
4.1.3.2.5 System privilege DATA ADMIN ............................................................................................................... 43
4.1.3.2.6 System privileges must be Granted to Database Administrators Only .................................................... 44
4.1.3.2.7 SQL Trace Level ..................................................................................................................................... 44
4.1.3.2.8 Audit Trail ................................................................................................................................................ 44
4.1.3.3 SAP MaxDB Security ................................................................................................................... 44
4.1.3.3.1 Changing Passwords of Standard Users ................................................................................................ 44
4.1.3.3.2 Restricting and Checking Log Files for Failed Logon Attempts ............................................................... 45
4.1.3.3.3 Use secure Authentication ...................................................................................................................... 46
4.1.3.3.4 Implement Backup and Disaster Recovery Procedures .......................................................................... 46
4.1.3.3.5 Network Split for Administrative Protocols .............................................................................................. 46
4.1.3.3.6 Implement Database Configuration Hardening ....................................................................................... 47
4.1.3.3.7 Use Dedicated Database Hosts for Productive Databases ..................................................................... 47
4.1.3.3.8 Defining Clear Authorizations for Users .................................................................................................. 47
4.1.3.3.9 Securing Communication Channels ........................................................................................................ 47
4.1.3.3.10 Dispensable Functions with Impact on Security ...................................................................................... 48
4.1.3.3.11 Checking User Input in SQL Statements................................................................................................. 48
4.1.3.3.12 Trace and Log Files ................................................................................................................................ 48
4.1.3.4 Oracle .......................................................................................................................................... 48
4.1.3.4.1 User Management .................................................................................................................................. 48
2 Regulations
This section contains the standards and regulations that are mandatory for all SAP systems. The
content of this chapter is restricted to focus on the requirements. It can also be extracted as a
separate document to serve as guidance and reference for the compliance of SAP systems to this
SAP Security Baseline.
Some of the requirements are explicitly marked as “critical” and in red. Although from a Security
Baseline perspective all requirements should be fulfilled by all systems, sometimes the question
arises where to start. The “critical” mark is meant as a guidance on priority in this respect, but the
other requirements should at most get delayed and not forgotten! The “critical” mark is especially
aligned with those requirements also checked in an EarlyWatch Alert report and with those the
violation of which makes a Security Optimization Service report overall “red”.
Additional information and options are available in chapter 3 “Annotations and Additional
Information” of this document.
It has to be mentioned, that regardless of regulations, there could always be specific exceptions
needed. In this case, it also is important to say, that those specific exceptions have to be regulated
by separate exception processes outside this document.
Application servers and database servers of SAP backend systems are located in the same
network zone, which is separated from the internal PC network. Only required ports are open
between PC network and application server network.
c) Additionally the following Web Dispatcher URL filter entries should be included for the same
purpose:
D /sap/public/icman/*
D /SAP/public/ping
D /sap/public/icf_info/*
D /SAP/wdisp/information
d) Use HTTPS to prevent the password from being intercepted. Use an HTTPS port that has been
set up with the parameter icm/server_port_<num>1 in the URL.
e) Allow Web Dispatcher administration only on ports that have a secure protocol (HTTPS), by
setting the PORT option of the parameter icm/HTTP/admin_<num> to an HTTPS port.
f) Configure a port that can only be accessed from the internal network as the administration port.
Use the PORT option of the parameter icm/HTTP/admin_<num> to do this.
g) Allow administration only under a certain host name or IP address, which can only be accessed
from the internal network. To do this, use the HOST option of the parameter
icm/HTTP/admin_<num>.
h) Limit administration to clients from the internal network. To do this, use the CLIENTHOST option
of the parameter icm/HTTP/admin_<num>.
1This requirement holds for the parameter defining the web protocol. Keep in mind that other protocols like
P4 or SMTP should be secured as well.
The SAPService<sid> user runs the SAP system Windows service. It requires the authorization
to log-on as a service on the local machine but must not be allowed to log-on interactively.
Moreover, this user must not be included in the local Windows Administrators group.
With respect to authorization, system resources belonging to the SAP System have to be
protected. This includes the protection of files, processes and shared memory.
2Value 5 is prohibited since it would enforce that passwords are only saved using old / unsecure hash
algorithms. Values 1-4 are not recommended either as old / unsecure hashes are generated.
3Keep in mind that only profile parameters snc/only_encrypted_gui and snc/only_encrypted_rfc
would ensure that only SNC secured connections are possible – which is beyond the scope of this security
baseline (see SAP Notes 1690662 and 2122578 for details).
g) icm/server_port_<num>4: PROT=HTTPS, ….
(Configure ICM for SSL usage)
h) login/ticket_only_by_https = 1
(generate ticket that will only be sent via https)
This setting requires according entries in customizing table HTTPURLLOC to force the URL
generation to produce https URLs only.
i) login/ticket_only_to_host = 1
(ticket will only be sent back to creating host)
j) rsau/enable = 1
rsau/selection_slots ≥ 10
rsau/user_selection = 1
(Enable Security Audit Log)
k) icf/set_HTTPonly_flag_on_cookies NOT 1 OR 3
(HTTPonly attribute should be active for ICF logon cookie)
l) dynp/checkskip1screen = ALL
(GUI Shortcut security according to notes 1399324 and 1157137)
b) Client Change Option: Check table T000 for all clients, whether CCCORACTIV=2 and
CCNOCLIIND=3. CCCATEGORY=P means production client. (Transaction SCC4)
4This requirement holds for the parameter defining the web protocol. Keep in mind that other protocols like
P4 or SMTP should be secured as well.
5 SAP note 1484692 lists some more tables. You may want to include these tables as well.
b) RFC destinations with stored user credentials or using trusted system logon must only exist
between systems of the same security classification or from system of higher security classification
to systems of lower security classification.
c) The RFC authorization check has to be activated with the system profile parameter
auth/rfc_authority_check. This parameter must be set to the value ‘1’.
d) Systems of higher security classification may never trust systems of lower security classification.
e) If a SAP system technically allows for the use of UCON, then UCON should be activated and
RFC services not required should be switched of through UCON.
f) The inbound RFC or GUI connections have to be encrypted. Use the parameters
snc/accept_insecure_gui or snc/accept_insecure_rfc to make sure that the logon
inbound connection is secured with SNC.
All ICF services that do not require user authentication must be reviewed, including all services in
/sap/public as well as services with stored logon data. Authentication should be activated and
services not required should be disabled where possible.
At least the following ICF services must be disabled if existing in the actual release and not used in
business scenarios:
/sap/bc/soap/rfc
/sap/bc/echo
/sap/bc/FormToRfc
/sap/bc/report
/sap/bc/xrfc
/sap/bc/xrfc_test
/sap/bc/error
/sap/bc/webrfc
/sap/bc/bsp/sap/certreq
/sap/bc/bsp/sap/certmap
/sap/bc/gui/sap/its/CERTREQ
/sap/bc/gui/sap/its/CERTMAP
/sap/bc/bsp/sap/bsp_veri
/sap/bc/bsp/sap/icf
/sap/bc/IDoc_XML
/sap/bc/srt/IDoc
- If you don’t need the user SAPCPIC then this user should be deleted
d) User TMSADM
- The password must be changed from the default or initial master value.
See SAP note 1414256 – “Changing TMSADM password is too complex”
- The user must not exist in any other client than client 000
- The user must belong to the group SUPER
e) User EARLYWATCH
- The password must be changed from the default or initial master value.
- The user must belong to the group SUPER
Alternatively, you can delete client 066 according to SAP note 1749142 respective the blog “How
to remove unused clients including client 001 and 066” on SCN.
6 Limitation: You cannot use report RSUSR003 or the SOS or the ConfigVal to validate these users.
7See blog “Life (profile SAP_NEW), the Universe (role SAP_NEW) and Everything (SAP_ALL)”
https://scn.sap.com/community/security/blog/2014/02/17/life-profile-sapnew-the-universe-role-sapnew-and-
everything-sapall
O-6: Java Systems Administrators (defined in the ABAP Application Server) (critical)
Make sure that no users other than system administrators belong to the standard "Administrators"
group (for single stack installations) or SAP_J2EE_ADMIN (for dual stack installations).
The same requirement holds for the Security Audit Log Kernel Parameters which you can define
with transaction SM19: “Security Audit active”, “Number of Selection Filters”, and “Generic User
Selection”.
b) At least the following audit slots must be defined and activated:
- Audit all events for critical users like SAP* (using filter SAP#*), emergency users like FF* ,
support users like SAPSUPPORT*
- Audit critical events for all users
See the annotation chapter / document for more recommendations
2.5.2 Audit
X-1: Audit
a) Define logs and traces to be collected: activate and configure the security audit log
b) Restrict access to log data and logging facilities
c) Ensure the auditability of systems by enforcing appropriate and effective security, e.g. no
unrestricted authorizations (e.g. SAP_ALL) or debug/replace authorizations on production systems
d) Analyze logs with appropriate tools
e) Perform Security Assessments like penetration-tests, vulnerability scanning
f) Audit the different Secure Operations Tracks e.g.:
- infrastructure settings and communication interfaces
- user and authorizations (spot checks, GRC access control)
3 Verifying Compliance
Verifying compliance of a system or landscape against the baseline requirements given in chapter
2 is obviously a key demand. You can check some of those requirements in an easy and reliable
way through technical means i.e. using the application “Configuration Validation” of the SAP
Solution Manager. This chapter provides an overview over such means and their coverage on the
requirements.
IDs marked in bold/underlined/red refer to critical requirements from chapter 2
Server network must be protected from client network, just required services should be reachable
(e.g. SAPGUI access, HTTP / HTTPS access). Direct access to database ports, for instance,
should be not possible from client network. Operate your systems in a closed, secure LAN or use
SAProuters and packet filters to control access to the systems.
Non-trusted Networks (e.g. Internet, Networks of third party companies):
Information classified as confidential or secret has to be encrypted when being transmitted across
non-trusted networks. Access to SAP Systems has to be protected by DMZs and proxy servers or
application gateways. The firewalls protect the network from undesired access from persons or
resources outside of the designated area (for example access from the internet to the systems).
The application gateway or proxy server in the DMZ makes sure that requests are not directly
passed through to the desired resource, but are handled by the gateway or proxy server's own
cache. Not only does this buffer zone reduce network load, but it also allows you to filter requests
increasingly from the external to internal networks through the multiple firewalls. Application
servers, database servers, and the user management systems have increased protection and are
only accessible by authorized users or resources.
Trusted Network (Border Gateway zones like IDMZs, Database Zone; secure cells like Intranet
Secure Network ISN):
Just authorized people should be allowed to access the trusted network. Due to risk of sniffing
attacks by people authorized to access the intranet information classified as secret (e.g.
passwords) must be transmitted encrypted.
SAPlpd
+SNC
LDAP+SSL
Services that are not required by clients should not be accessible from client network.
The following picture displays the “internal” communication of ABAP systems with the
corresponding protocols and the appropriate encryption that has to be used:
As there is a high network load especially for connections between application server instances
and database instance, encryption can have impact on the necessary infrastructure (CPU power
and memory) but today normally it can be neglected. Nevertheless it is recommended to test the
performance as part of the evaluation.
The firewall has to be a combination of a port filter and a SAProuter as Gateway for requests via
classical protocols (e.g. RFC) and administrative access and / or a HTTP reverse proxy e.g. SAP
Web Dispatcher) for HTTP access.
Services that are not required by clients should not be accessible from client network.
4.1.1.2 SAP provided Gateways and Reverse Proxies and standalone components
Web Dispatcher and SAProuter are Application Gateways to SAP Systems, they are highly
integrated with the SAP Environment and on no account they do replace “real” security products
like firewalls, reverse proxy, security appliances.
The following standalone components are relevant in SAP NetWeaver Environments:
- SAProuter
- SAP Web Dispatcher
- RFC Gateway (integrated or standalone – addressed later in this document in the chapter
“Secure Configuration of ABAP Systems”)
4.1.1.2.1 SAProuter
As SAProuter is an SAP program that acts to protect the SAP network it has complementary
functionality to an existing port filter and should always be used in combination with it. SAProuter
should be used as a gateway for classical ABAP connections.
From the security point of view the SAProuter should be considered for the following reasons:
- Control and log connections to SAP Systems
- To set up an indirect connection if a direct connection is not possible due to network
configuration
- Improve Network Security by implementing and setting the following:
- SAProuter passwords
- Only allowing access from specific hosts
- Only allowing access to specific services of specific hosts
- Only accept SNC secured connections
- Use SAProuter as SNC tunnel
Furthermore, the increase of performance and stability by reducing the SAP System load within the
local area network (LAN) when communicating with a wide area network (WAN) should be
considered.
SAProuter has to be checked for policy compliance. Especially the SAProuter Route Table
(consists of connection entries) and the SAProuter Executable have to be protected.
Apply the following steps for compliance:
- The Route Table has to be especially protected for changes. This has to be done by means of
operating system. The default name of the Route Tab is saprouttab.
- SAProuter has to be configured to protect particular connections with a password.
- This password is entered in the Route Table and therefore stored unencrypted. Therefore it is
mandatory to use a password that is not related to personal password
- Encrypt those connections that are using a password for the SAProuter connection. This can
be enforced by using the parameter “s” within the Route Table (connections not using SNC are
rejected in this case).
The SAProuter executable (saprouter on UNIX / Linux or saprouter.exe on Windows) has to
be protected, as SAProuter is administered by using the SAProuter executable and appropriate
“SAProuter Options”.
So the main purpose of the SAP Web Dispatcher should be to provide an SAP integrated load
balancing mechanism. Additionally, it can be used as end point of the SSL encryption:
To guarantee maximum security when using the Web Dispatcher, the following measures have to
be taken when the system is in operation:
Always keep Web Dispatcher up-to-date. SAP note 538405 describes where you can find
the latest version.
Configure error pages, so that the technical reason for the error does not arrive at the end
user, by using a specific directory to store web error pages and setting the corresponding
profile parameter to this directory, e.g. by setting icm/HTTP/error_templ_path =
/usr/sap/<SID>/<Instance>/data/icmerror.In addition, set the parameter
is/HTTP/show_detailed_errors to FALSE. After you have done this, no details about
the error are passed to the client.
Use the Web Dispatcher as a URL filter with positive lists. In any case, filter the following
URLs since they return information about the infrastructure and configuration:
o D /SAP/public/icman/*
o D /SAP/public/ping
o D /sap/public/icf_info/*
Block the access to the internal information page by using the following entry in your
URI permission table:
o D /SAP/wdisp/information
Implement the following settings to increase security in the web administration interface:
o Use HTTPS to prevent the password from being intercepted. Use an HTTPS port
that has been set up with the parameter icm/server_port_<num>8 in the URL.
o Allow Web Dispatcher administration only on ports that have a secure protocol
(HTTPS), by setting the PORT option of the parameter icm/HTTP/admin_<num>
to an HTTPS port.
o Configure a port that can only be accessed from the internal network as the
administration port. Use the PORT option of the parameter
icm/HTTP/admin_<num> to do this.
o Allow administration only under a certain host name or IP address, which can only
be accessed from the internal network. To do this, use the HOST option of the
parameter icm/HTTP/admin_<num>.
o Limit administration to clients from the internal network. To do this, use the
CLIENTHOST option of the parameter icm/HTTP/admin_<num>.
The following network services are required to be accessible from end user networks in most
ABAP installations. All other network services are typically not required and should be blocked
between the end-user-network and ABAP systems. NN is the placeholder for the instance number
of the SAP software system.
Administrative access to the ABAP system needs to be done from an administrative network. This
network is only allowed to access the ABAP system with administrative protocols like SSH, RDP,
database administration, etc.
8This requirement holds for the parameter defining the web protocol. Keep in mind that other protocols like
P4 or SMTP should be secured as well.
4.1.2.1 Windows
It is strongly recommend to set up all SAP system servers in one Windows domain. For
short-term test installations or demonstration purposes only, you might install a central SAP
system that is not located in a Windows domain. However, this setup it is recommended for
limited use only. It is difficult to introduce the domain concept to a system that is already in
use.
In a central installation on a server in a domain, all SAP system administrators are
members of the local group SAP_<SAPSID>_LocalAdmin.
In a distributed installation with several server machines in the domain, a global group is set
up for the SAP system (SAP_<SAPSID>_GlobalAdmin). This global group itself is a
member of the server's local groups and contains the SAP system administrators. This also
simplifies the administration in the client or server environment, since new users who need
SAP system administration rights only need to become members of the global group.
4.1.2.2 Unix
This section discusses security under the UNIX or LINUX operating system, including
recommendations and preventive measures.
For critical users, empty the .rhosts files and assign it the 000 permissions.
Either delete the file /etc/hosts.equiv or make sure that it is empty.
Keep the operating system up to date regarding security-related patches that are released by
the operating system vendor.
4.1.2.2.2 Setting Access Privileges for SAP System Directories Under UNIX/LINUX
It is recommended to apply the file and directory access privileges as shown in the table below:
Note:
For security reasons, use SAP tools whenever possible to access the database instead of tools
based on external applications.
If such tools have to be used for whatever reasons, take the following precautions:
Do not use the user SAPR3 or SAP<SID> to connect to the database. Create other users
for such purposes.
Restrict the access rights of such users to the necessary tables only.
Assign read-only access to these users.
Make sure that no damage to the consistency or authorization security of your database is
made
4.1.3.1.2 Authorization
Protection of database tables has to be implemented on application level by a suitable
authorization concept. This topic is not further evaluated in this document.
Review the field PASSWORD_CHANGE_TIME, but be aware that this is not an absolute valid source
of information for two reasons:
- If the password live time for the user is disabled, the value of password change time is null
- If the password live time was enabled after disabling the value of the password change time is
set to the reactivation time
Note: to deactivate the SYSTEM user you need to set up administration concept for SAP HANA db
including administration users and administration roles. Guidance can be found at following
document:
How to Define Standard Roles for SAP HANA Systems
https://scn.sap.com/docs/DOC-53974
If the user SYSTEM is locked and the password stored in a safe place for emergency situations it
might be an option to allow an unrestricted password lifetime for SYSTEM as well.
Field VALUE must not be equal ‘all_with_results’ for all selected records.
DBM SECRET First DBM operator with all DBM server authorizations
DBM DBM
SAPR3 In older SAP systems: Database administrator (database user of class DBA)
SAP <SAPSID> In newer SAP systems, in particular in MCOD systems (Multiple Components One
Database):
Database administrator for the SAP system with the ID <SAPSID> (database user
of class DBA)
Prevent unauthorized persons from learning the passwords of standard users, apply the following
measures:
Do not adopt the default passwords.
Use secure passwords.
Change the passwords regularly.
To enable another user to work temporarily with the account of the DBM operator, assign
temporarily a second password to the DBM operator.
To change the Passwords for SAP MaxDB Standard Users, Use Database Manager CLI or,
in SAP systems, CCMS for changing the passwords
4.1.3.3.2 Restricting and Checking Log Files for Failed Logon Attempts
Regularly check the following log files for failed logon attempts:
Database Manager log file: dbm.prt
Loader Server log file: loader.log
As Users can access log files using operating system commands and functions and also using
Database Studio or Database Manager CLI, check that the file system permissions of the
RUNDIRECTORY are preventing the access for everyone:
ls -la /sapdb/<database>/data/wrk/<database>
Permission of files and directories must be 550 for user sdb and group sdba.
Use also the alternative approach that can be used to check whether the permissions were already
revoked for everyone at higher directory level:
su nobody -s /bin/sh -c 'ls
/sapdb/<database>/data/wrk/<database>/*'
To reset the permissions to the installation default the following command can be used:
sdbverify -repair_permissions
As long the overall communication between client and server is not encrypted, the authentication
should be performed using SRAM-MD5 authentication and BASIC should be forbidden.
Older clients ( < 7.6.00.03) can only connect to the database using the BASIC authentication
method. Not allowing this method prevents these clients from being able to connect.
The extended parameter AllowAuthentication and DenyAuthentication can be used to either
explicitly allow SCRAMMD5 only or deny BASIC.
Separate Database Studio installation 7299 X server for the separate TCP/IP remote://
Database Studio installation,
only used by the system to
access the local user
management database .UMDB
Interface Implementation
PHP maxdb_prepare
Perl prepare
4.1.3.4 Oracle
UNIX
OS USER OS GROUP DB ROLE DB USER
ora<sid> dba SYSDBA
OPS$ORA<SID>
oper SYSOPER
SAPDBA
<sid>adm dba SYSDBA OPS$<SID>ADM
oper SYSOPER
SAPDBA
Windows
OS USER OS GROUP DB ROLE DB USER
<sid>adm ORA_<SID>_DBA SYSDBA
OPS$<SID>ADM
ORA_<SID>_OPER SYSOPER
SAPDBA
SAPSERVICE<SID> ORA_<SID>_DBA SYSDBA OPS$SAPSERVICE<SID>
ORA_<SID>_OPER SYSOPER
SAPDBA
The passwords of the default accounts must also be changed according to the mentioned settings.
If the default account names are not changed at the installation (what is not needed), the well-
known account names are db2admin, db2inst1, dasusr1, db2fenc1.
SSL Communication:
the communication layer between a DB2 instance and the LDAP server should be encrypted. The
ENABLE_SSL parameter in the IBMLDAPSecurity.ini file has to be set to TRUE.
It is recommended to set up recurring reminders to remind about the SAP Security Patch Day and
to initiate the necessary steps.
The following overview presents the support services for the SAP Patch Day offered within the
SAP Support portfolio. The central access point for information is the SAP Support Portal. For the
latest information on everything to do with SAP security notes, see
https://support.sap.com/securitynotes
→ Security Notes in the Launchpad
The following sample procedure for establishing an SAP Patch Day process describes the
necessary steps.
It is recommended to always import the latest published SAP security notes as soon as possible.
Any delay may increase the security risk to the SAP landscape.
nd
The Security Patch Day of SAP takes place on every 2 Tuesday per month.
• At the end of that day you can inspect the updated list of Security Notes on the page
https://support.sap.com/securitynotes in the SAP Support Portal. Here you see the
complete list of all Security Notes.
• Use the application System Recommendations to check which of the Security Notes are
relevant for the various systems of your system landscape. (Usually you have scheduled
the check as a background job, therefore you check the results e.g. on Wednesday.) You
can create change requests directly from that tool.
• You will run a Risk Assessment concerning the criticality of the Security Note as well as
concerning the risk of applying a change which might touch productively used business
processes. As a result you decide which Security Notes should be applied as part of a
monthly patch cycle and which will be part of the next maintenance cycle.
• Using the application Configuration Validation you can create a report which checks
which systems comply with your security policy. Therefore you add all notes which should
be installed into the target system definition of the Configuration Validation.
• Within the current month you apply the selected Security Notes and you run regression
tests (if necessary) to ensure productively used business processes are working properly.
• As part of the next maintenance cycle you will update the Kernel, apply Java Patches and
ABAP Support Packages. As part of this update you will get the corrections of the
Security Notes, too. However, some of the Security Notes describe configuration changes
which you can apply now as well. While working on the update it might be the case that
you will get new Security Notes from newer Patch Days. You should include these if
possible. Finally you run a complete test of your business processes.
Hot News
SAP HotNews are priority 1 (very high priority) SAP customer notes. These notes tell you how to
resolve or avoid problems that can cause the SAP system to shut down or lose data. If you are
affected by these problems, you must ensure that you are aware of these notes.
Recommendation: Set up regular procedures to check for new HotNews. Define a responsible
person to check for new HotNews and create Change Requests (for example, Change Control
Engineer). Change requests are forwarded to the person responsible for the process.
The lead system is where an object is created, normally the development system. All objects are
registered at a technical level in the TADIR table at creation time with the name of the original
source system. CCLM checks whether objects with the same name are created with different
source systems and shows them as custom code duplicates.
The recommendation is to the Lead System flag for the central development system.
The setting for the leading system has another important meaning for the management of custom
code. The attribute ObjectFound is automatically updated when the object is found in a leading
system by the collector. If an object is deleted, this attribute is no longer updated and the attribute
Deleted_Flag can be set by a periodically scheduled job. This makes the deletion of objects
transparent without the connection to a transport repository.
If there are several landscapes, each with its own development system, then each of those
development systems can be set as Lead Systems.
Using the Custom Development Management Cockpit (CDMC), it Is possible to determine how
custom code is used (based on the call statistics provided by the system) and which customer-
specific developments are obsolete. The CDMD then evaluates the effects of an upgrade or a
Support Package installation on custom code. The business process documentation for custom
code is also determined (maintenance using transaction SOLAR02).
CDMC supports the project or release manager in evaluating risk by analyzing objects from
transport orders before importing them into the production system.
It has to be ensured that planned changes are implemented in line with business requirements.
CDMC simplifies upgrade projects by reducing the amount of obsolete custom code.
4.2.2.2.1 Overview
The aim is to protect SAP Systems based on SAP NetWeaver from malicious code. Malicious code
is a quite general term: Malicious code could be contained in any kind of bytestream that is
processed by the SAP system.
The following three major topics are distinguished:
1. Cross-side scripting, SQL Injection and similar (Web based) threads that are inserted in
(web) forms. This has to be prevented by
a. Reverse Proxy Security Solutions filtering the content of HTTP requests, for
instance.
b. Secure Programming (e.g. secure function modules performing validation of input
data to avoid cross side scripting) as well as penetration testing in terms of Quality
Assurance.
2. Malicious Source Code that is compiled and then run on productive SAP Systems.
3. Infected Files that are uploaded to the SAP System
Password Policy
Profile Parameter / Policy Attribute Name Description Value
login/min_password_lng Minimum Password Length ≥8
MIN_PASSWORD_LENGTH
Even if Single Sign-On is in place, the above mentioned password parameters should be set.
Table USR40 can be used to prohibit the use of typical weak passwords and password patterns. If
you are using table USR40 you should not use the policy attribute name
CHECK_PASSWORD_BLACKLIST to disable the check against these forbidden passwords.
Password Hashes:
Restrict access to tables USR02, USH02, and if later releases are in place USRPWDHISTORY
containing password hashes by changing the table authorization group of these tables to the
recommended value SPWD.9 Users must not have access to this new table authorization group via
authorization object S_TABU_DIS (dedicated users might get authorizations for table USR02 via
authorization object S_TABU_NAM.
Activate the latest password hashing mechanism (code version) available for the actual release by
setting the profile parameters below. Downward compatible password hashes should not be stored
on releases 7.0 onward.
Ensure that the central user administration system (CUA) has at least the same or a higher release
than all attached systems and that the appropriate SAP notes are implemented.
9 SAP note 1484692 lists some more tables. You may want to include these tables as well.
Delete redundant password hashes from the relevant tables after activation of the latest password
hashing mechanism using report CLEANUP_PASSWORD_HASH_VALUES.
ABAP recommended settings for password hash algorithms, see SAP notes: 1458262, 1484692
10This requirement holds for the parameter defining the web protocol. Keep in mind that other protocols like
P4 or SMTP should be secured as well.
ume.logon.security_pol Default value = 0 . The UME can store the hash value of user
icy.password_history passwords. Set this value to prevent users from
reusing the same password after their old
password expires. The system does not enter
passwords set by the administrator in the
password history.
Although this value is for practical purposes
freely configurable (you can set the value in the
trillions), a more useful value might be 5. Use a
value that is appropriate for your application.
Set this value to zero (0) if your data source
already has a password history checking
mechanism; unless you maintain users in the AS
Java database for whom you want to maintain a
password history..
ume.logon.security_pol A date in the If a user has never changed his or her password
icy.password_last_chan format MM/DD/YYYY using the AS Java, this date counts as the last
ge_ date_default . date on which the user changed his or her
password.
Default value
is 12/31/9999 . See also:ume.logon.security_policy.
password_expire_days .
ume.logon.security_pol Default value is 0 . Number of days after the last successful logon
icy.password_max_idle_ with user ID and password that the UME locks
Possible
time the user's password.
Values: 0 to 214748
3647 . With the UME
propertyume.logon.security_policy.
ume.logon.security_pol A date in the Defines the default date for last successful logon
icy.password_successfu format MM/DD/YYYY with user ID and password, when a user has no
l_check_date_default . successful logon with user ID and password
recorded or the last logon took place before the
Default value
default date.
is 12/31/9999 .
When you set ume.logon.
security_policy.
password_max_idle_ time , we
recommend you change the password successful
ume.logon.security_pol Deprecated.
icy.userid_lowercase
login.ticket_lifetime Default value is 8 . Number of hours that the logon ticket is valid.
You can also set the hours and minutes using the
following syntax: hh:mm .
login.ticket_portalid Default value The system always writes the ABAP user ID
is AUTO . into the log on ticket. You can configure the
system to write in the portal user ID only when
YES = The portal ID is
it is necessary, or you can force the system to
always written into the
always include the portal ID.
logon ticket.
When evaluating logon tickets the AS Java
NO = The portal ID is
reacts as follows:
never written into the
logon ticket. YES = The AS Java reads the portal ID from the
logon ticket.
AUTO = If a portal
installation is detected, NO = The AS Java reads the ABAP user ID
the portal ID is written from the logon ticket.
into the logon ticket.
AUTO = If a portal installation is detected, the
AS Java reads the portal ID from the logon
ticket.
ume.login.mdc.hosts Enter a comma This property enables the portal to solicit logon
separated list of tickets from servers outside the portal domain.
servers, with the For more information, seeLogon Tickets for
following syntax: Multiple Domains .
<protocol>://<h For example:
ost>:<port>/<pa
http://server.mycompany.de
th>
Only the host value is mandatory in all cases.
For more information about the syntax,
see Configuring Logon Tickets for Multiple
Domains .
Java Properties for LDAP Directory Data Source (from Online Help 7.03)
If a group's DN is ou=mygroup,
ou=CorporateGroups,c=us,o=mycomp
any , the naming attribute for groups isou .
ume.ldap.access.ssl Default value Use this property to enable the UME to use SSL
is FALSE . for the connection to the directory server.
ume.ldap.access.user_a Default value Defines if the UME user and account objects
s_account is TRUE. point to the same object in the directory server
or not. Set this property to FALSE , if the
directory server treats the user and account as
separate objects.
Default value
isAdministrators
,Guests
ume.ldap.cache_lifetim Default value is 300 . Lifetime in seconds of a search cache entry for
e LDAP directory.
ume.ldap.cache_size Default value is 100 . Number of entries in the search cache for LDAP
directory.
ume.ldap.default_group Default value Sets the name of the dummy group member
_member isDUMMY_MEMBER_F when the
OR_UME. propertyume.ldap.default_group_
member.enabled is enabled.
ume.ldap.default_group Default value Some directory servers require that groups have
_member.enabled is FALSE . a member when created. Enable this property to
have the UME include a dummy member when
creating a directory server group. This dummy
member is filtered out in the UME user
interface. If this feature is not set properly, you
cannot create new groups.
ume.ldap.record_access Default value Defines whether the UME creates the trace
is FALSE . file sapum.access.audit , which contains
additional information about the performance of
TRUE = Trace file is
the LDAP directory. For more information,
created.
see Directory Server Access Log .
Dialog SNC SNC is an interface that you can use to secure connections between SAP
system components.
RFC
RFC SNC
RFC adapter RFC SNC User/password, client certificate, SAP assertion ticket
SOAP adapter HTTP HTTPS User/password, client certificate, SAP assertion ticket
(SSL)
In Axis mode also digest and NTLM
HTTP, P4, SSL SSL is a quasi-standard protocol developed by Netscape. It is used with an
LDAP application protocol, for example, HTTP.
RFC or SNC SNC is an interface that you can use to secure connections between SAP
DIAG system components.
Overview:
4.3.2.3 Transport Layer Security When Using the SAP Web Dispatcher
The SAP Web Dispatcher is an intermediary server that should be used to control the
communication between a client and the back-end server (either AS ABAP or AS Java). It also
should be used to control incoming connections, to accept or reject requests based on URLs, and
to load balance and to select the back-end application server.
As the SAP Web Dispatcher supports the use of SSL to secure both incoming and outgoing
connections SSL has to be configured SSL accordingly.
It has to be noted that the security session cookie (SAP_SESSIONID_ <sid> _ <client>) is
always set only host-specific. If, however, a common WebDispatcher (because of same-origin
policy, SOP) is put in front of several different systems, it is unfortunately inevitable that the cookie
is potentially sent to all this system. So, there is no possibility to make sure that the session
cookies are only set for one specific SAP System and not for the parent domain.
As the gateway is an application server interface to other systems (to other SAP systems, to
external programs, and so on), security conditions must be met, as appropriate. In particular, if
external programs are started via the gateway, the following security options have to be used.
- Authorizations for the side info file: set the file attributes to ensure the file is protected from
unauthorized access.
- Secure connections between gateways of different SAP Systems by setting up SNC or use of
SAProuter between the gateways, which de-encrypts and encrypts the data by SNC
- Activate gateway logging and configure the gateway so that actions executed by the gateway
and requests that it receives are written to a log file to define security settings for external
programs.
- Any unauthorized starting of external programs has to be prevented by maintaining the file
secinfo in the data directory of the gateway instance (gw/sec_info)
- Unauthorized registration of programs has to be prevented by maintaining the file reginfo in
the data directory of the gateway instance (gw/reg_info)
There are four different use cases of the RFC Gateway. Each of them has to be analyzed
separately for security aspects.
The server application gwmon can be called remotely without authentication. The following actions
can be performed:
- Display profile parameters
- Change gateway parameters
- Display secinfo, reread reginfo
- Display connection table
- Hard shutdown Gateway Server
- Etc.
For compliance, perform the following actions:
- Set gw/monitor=1 (local access only)
AS ABAP
Dialog Instance
case 2
Gateway Server
Function modules within the AS ABAP are called in this way. AS ABAP then takes care of
authentication and authorization. The following actions can be performed by the clients:
The authorization check S_RFC is just an additional one for remote calls. Other authorization
checks are the same for remote calls as for internal calls.
Strong Authentication and Encryption
Strong authentication to AS ABAP and end-to-end encryption can be performed using SNC and
should be done. The parameter snc/permit_insecure_com defines if the RFC Gateway may
accept connections that are not SNC secured and the parameter
snc/permit_insecure_start defines if programs (e.g. AS ABAP) may establish connections
without using SNC.
case 3
local executable
In this case, executables on the server itself can be called, without using security mechanisms of
AS ABAP. The primary authentication is performed by the RFC Gateway itself that uses the file
secinfo which contains an ACL. The following actions can be performed by the clients:
- Start of server programs on the server
Authorizations using ACLs for IP Adresses or Host Names
Maintain the secinfo file with an appropriate ACL for RFC clients
Strong Authentication and Encryption
Strong authentication to the RFC Gateway and end-to-end encryption can be performed using
SNC and is recommended. The parameter snc/permit_insecure_com defines if the RFC
Gateway may accept connections that are not SNC secured.
Registered
RFC case 4 Server
case 4
client Gateway Server Program
In this case, an external RFC server program registers itself using a program ID, without using
security mechanisms of AS ABAP. This RFC server program can then accept calls from RFC
clients, similar to case 3, using the RFC Gateway. The following actions can be performed by the
client or by the RFC server program:
- An arbitrary RFC server program can register using a program ID (that could be attended to
another server program)
- An arbitrary RFC client can call any of such registered server programs
Authorizations using ACLs for IP Adresses or Host Names
- Maintain the reginfo file with an appropriate ACL for registering RFC server programs
- Maintain the secinfo file with an appropriate ACL for RFC clients
Strong Authentication and Encryption
Strong authentication and encryption to the RFC Gateway can be performed using SNC and is
recommended. The parameter snc/permit_insecure_com defines if the RFC Gateway may
accept connections that are not SNC secured and the parameter
snc/permit_insecure_start defines if programs may establish connections without using
SNC.
1. With transaction RZ11 check if at least bit 1, 2, 3, and 4 (bit 1 as of Kernel 7.40) of
gw/reg_no_conn_info are set. If not, maintain the DEFAULT.PFL either on operating system
level or with transaction RZ10 and enter (or change) the line gw/reg_no_conn_info = <value>,
this means the parameter must be one of the values 15, 31, 47, 63, 79, 95, 111, 127, 143, 159,
175, 191, 207, 223, 239, or 255 (respective 1, 65, 129, 193 as of Kernel 7.40).
2. Review content in transaction SMGW > Goto > Expert Functions > External Security > Display
secinfo; for entries where all variables have a * value (e.g. TP=* USER=* HOST=*)
Gateway hardening is a topic that is not covered in detail in this baseline document. However, it
has to be mentioned, that it is without doubt very important to take appropriate measures to harden
the RFC Gateway.
4.4.1.3 Processes
Role Creation / Role Change / Role Deletion (on demand) including an impact analysis with regard
to access risks of affected composite roles / business roles / users
Role Recertification by Role Owner (on demand)
Role Risk Analysis (weekly) including follow up remediation / mitigation activities
Risk / Rule Changes
Authorizations for S_DEVELOP with activity 16 (Execute) and object type = CLAS or FUGR allows
class methods or function modules to be called without security checks using transaction SE24
respective SE37 test function.
Authorizations for S_DEVELOP with activity 16 (Execute) and object type = PROG are useful to
submit reports using transaction SE38 or SE80 for support users and FireFighters who are allowed
to view programs using these transactions.
Nobody should have access to authorization group SPWD via authorization object S_TABU_DIS
(dedicated users might get authorizations for table USR02 via authorization object S_TABU_NAM.
- The SAProuter connection between SAPnet and intranet might pass the internet:
5. Activate all events for audit classes dialog logon, RFC logon and transaction start for user DDIC
in all clients ‘*’
6. Filter: Activate everything for client 066. This client is not used anymore and can be deleted
(see SAP note 1749142 respective the blog “How to remove unused clients including client 001
and 066” on SCN).
7. Activate RFC events (AUL, AUK, AU6, AU5) for a short time for selected users to identify RFC
connection problems easily
7 * <detailed
* RFC events (AUL, AUK, AU6, AU5)
configuration>
4.4.4.2 Security Monitoring and Reporting using the SAP Solution Manager
Running secure business systems requires not only a secure configuration during implementation
but also regular validation to "stay clean".
It is strongly recommended to use the following tools to ensure a proper security monitoring and
reporting (please see also chapter 4 “Tools and Monitoring”):
(see:
https://help.sap.com/saphelp_sm71_sp08/helpdata/en/3b/a8413599b244b6a03ac9d2a3bdaf2f/
frameset.htm)
2. Definition of the Rule set showing the generic IT Security requirements per level of criticality of
the system in scope. The IT Security requirements have to be aligned with the business
requirements to achieve an adequate IT Security level as well as efficient processes and
procedures in the affected line of business.
3. To ensure full transparency on the implemented IT Security level each area has to implement
and operate the so called IT Risk and Security Lifecycle:
The execution of the IT Risk & Security Lifecycle leveraging the different roles and their
accountabilities is leading to increased transparency on the IT risk situation and the required
Security measures and the existing gaps. These have to be closed according to their priority.
4.5.2 Audit
When preparing for internal or external audits, it is required to base the plan of engagements on a
documented risk assessment conducted at least annually.
The organizations existing risk management framework to develop a risk based plan must be taken
into account as well as all relevant regulatory requirements. This means it is critical for the audit
management to be able to view risk information that has been gathered and documented by the
business. Furthermore, the following steps have to be taken:
- Identify relevant regulatory requirements
- define which logs and traces have to be collected
- analyze logs with appropriate tools
- perform security assessments like penetration-tests and vulnerability scanning
- Audit the different Secure Operations Tracks e.g.:
o infrastructure settings and communication interfaces (firewall, dispatcher and reverse
proxy, operating system, RFC destinations, ALE, ICF, WS, etc.)
o user and authorizations (spot checks, GRC access control, etc.)
If the organization does not have a risk management framework, then audit management must use
their own judgment about the entities risks, after consultation with senior management. The
requirement for consulting with management on risks makes collaborative tools essential.
The Chief Audit Executive has to be able to aggregate and summarize the risk based plans and
the resources required. It is important to understand that Boards and senior executives have a
responsibility to oversee the work of the internal audit department. The ability to summarize the
plan, the basis for the plan and the resource requirements is essential to meet these oversight
requirements.
Please see in the regulatory part in chapter 2.5.2, the summary of the steps that have to be
executed for gathering the needed information.
According to an analysis of the European Network and Information Security Agency (ENISA) there
are nine top high risks related to Cloud services. The following table shows the risks according
ENISA and the respective SAP Cloud mitigation measures.
When talking about security in the cloud, then different scenarios have to be considered:
Cloud provider takes over full service, defined by SLAs, customer cares only about the secure
connection to the cloud provider.
Integration of infrastructure, Identity Management, Single Sign-On
Cloud provider takes over only parts of the service, in this case it also has to be defined precisely
in SLAs what is the responsibility of the cloud provider and what remains in the responsibility of the
customer
Even if parts remain on the customer side, it has to be made sure that the service level
agreements are met as well as when they are provided by external providers.
No matter whether it is about Cloud solutions or not, all addressed security topics apply equally for
standard scenarios as well as for cloud scenarios and have to be implemented.
Internal Communication:
Separate personal secure environments (PSEs) are supported for internal communication between
sites in a system replication scenario on the one hand, and external communication on the other.
The keys and certificates for internal communication between sites are used only internally for the
communication between the different hosts and sites in an SAP HANA system. Therefore, they
must not be signed by an externally available Certification Authority (CA).
The certificates for external communication (for example, JDBC client access, http access) are
typically signed by an externally available CA because the CA certificates need to be integrated in
the relevant clients.
The locations of the different PSEs and trust stores can be configured by the relevant configuration
parameters.
All the privileges granted directly or indirectly (through roles) to a user are combined. This means
that whenever a user tries to access an object, the system performs an authorization check on the
user, the user's roles, and directly granted privileges. It is not possible to explicitly deny privileges.
This means that the system does not need to check all the user's privileges. As soon as all
requested privileges have been found, the system aborts the check and grants access.
from memory to disk at regular savepoints. The data belonging to a savepoint represents a
consistent state of the data on disk and remains so until the next savepoint operation has
completed.
Data volume encryption ensures that anyone who can access the data volumes on disk using
operating system commands cannot see the actual data. If data volumes are encrypted, all pages
that reside in the data area on disk are encrypted using the AES-256-CBC algorithm. Pages are
transparently decrypted as part of the load process into memory. When pages reside in memory
they are therefore not encrypted and there is no performance overhead for in-memory page
accesses. When changes to data are persisted to disk, the relevant pages are automatically
encrypted as part of the write operation.
Pages are encrypted and decrypted using 256-bit page encryption keys. Page keys are valid for a
certain range of savepoints and can be changed by executing SQL statements. After data volume
encryption has been enabled, an initial page key is automatically generated. Page keys are never
readable in plain text, but are encrypted themselves using a dedicated persistence encryption root
key.
During start-up, administrator interaction is not required. The persistence encryption root key is
stored using the SAP NetWeaver secure storage in the file system (SSFS) functionality and is
automatically retrieved from there. SAP HANA uses SAP NetWeaver SSFS to protect the root
encryption keys that are used to protect all encryption keys used in the SAP HANA system from
unauthorized access.
Data Not Encrypted
The persistence encryption feature does not encrypt the following data:
Database redo log files
If database redo log files need to be protected, we recommend using operating system facilities,
such as encryption at the file system level.
Database backups
In general, the contents of database backups are not encrypted. Only data that has been
encrypted internally in the database (that is, independently of the persistence encryption feature)
remains encrypted in backups. This applies to data stored in the secure internal credential store.
To ensure that all data restored during the data and log recovery phases is encrypted, encryption
must be enabled before the recovery is started.
If encryption of backups is required, we recommend using third-party solutions that integrate with
the Backint for SAP HANA functionality for backups.
Database traces
For security reasons, we recommend that you do not run the system with extended tracing for
more than short-term analysis since tracing might expose security-relevant data that would be
encrypted in the persistence layer, but not in the trace. Therefore, you should not keep such trace
files on disk beyond the respective analysis task.
In addition, a secure database-internal credential store is available that allows you to securely
store in the SAP HANA database the credentials required by SAP HANA applications for outbound
connections. For example, in an SAP HANA smart data access scenario, in order to retrieve data,
credentials are required to access a remote source.
Client Side
On the client side, the following facilities are available for storing user passwords:
The SAP HANA user store (hdbuserstore)
The SAP HANA user store can be used to store user logon information for connecting to an SAP
HANA system. This allows client applications to connect to the database without having to enter a
user's password explicitly.
Eclipse secure storage
For users using the SAP HANA studio to connect to an SAP HANA system, the Eclipse secure
storage can be used to store passwords. If this is not desired, the feature can be disabled for the
SAP HANA studio.
Auditing
Area Recommendation How to Verify
Audit trail SAP HANA can write the audit trail to
syslog or a database table. If you are
using syslog, it needs to be installed
and configured according to your
requirements (for example, for writing
the audit trail to a remote server).
Network
Area Recommendation How to Verify
Ports Only ports that are needed for running
your SAP HANA scenario should be
Database Configuration
Area Recommendation How to Verify
Compatibility Parameter [jsvm] select * from m_inifile_contents
disable_access_check is not set/set to where section='jsvm' and key =
false 'disable_access_check'
For more information, see SAP
Note 1940436 (XS resource
cannot be used in package any
more on SPS 07).
Compatibility Parameter [httpserver] select * from m_inifile_contents
anonymous_from_entry is not set/set where section='httpserver' and key
to false = 'anonymous_from_entry'
For more information, see SAP
Note 1940440 (Retrieving
anonymous connection fails on
SPS 07).
Regarding external communication, it is recommended not to use one service users for all
integration scenarios, but to use different service users for each connected system. This simplifies
to solve error situations.
4.6.2.2 PI Authorizations
Generally, authorizations for SAP PI can be configured within (ABAP) as well as Java (UME).
Additional authorizations restricting access to ES Repository and Integration Directory can be
configured application specific.
It is also possible to restrict access to message payloads via authorizations, depending on the
sender / receiver system.
For ABAP, this is possible using authorization object S_XMB_MONI. For Java by deploying
scenario specific actions (refer to SAP note 1370334).
So it is possible to prevent access to message payload containing sensitive HR information by
Application Support, for instance.
At least the following administrators will still have options to access the messages:
Administrators with direct Access to the database
Authorization Administrators
Access Control should be used to monitor who is allowed to display the content of all messages.
This section provides you with a number of steps, you should perform to secure your SAP Solution
Manager system.
Step What to Do? Further Information in
Source/Section in This
Guide, See...
Phase: Setup SAP Solution Manager (Installation)
Check Security Settings according to Installation Guide
0 Check Security Settings according to Installation Guide
1 Network 7.1
2 SSL 7.4
3 Apply all relevant Security Patches Application System
Recommendations
Phase: Configuration Preparation of SAP Solution Manager
Check steps in System Preparation view in transaction SOLMAN_SETUP
4 ICF Services (change default settings if you do not use 7.3
HTTPS)
5 Step 2: Check Recommended Profile Parameters according activity
documentation
6 Step 4.1: Check Web Dispatcher Configuration documentation link in the
HELP text
7 Step 4.2: Authentication Types for Web Services according activity
documentation
8 Step 4.4: Set Authentication Policy for Agents according activity
documentation
An additional RFC, which may be used for some scenarios, is TMW RFC. This RFC allows for read
access as well as batch authorizations in the managed system. If you require TMW, you have all
authorization for READ access included.
BACK RFC
The BACK RFC allows the managed system to send data to SAP Solution Manager for further
usage.
This is required for Services and Incidents.
RFCs to SAP
Apart from the communication to its managed systems, SAP Solution Manager needs connections
to SAP. Many of Solution Managers scenarios rely on a close communication with its backbone. In
addition to SAPOSS RFC, Solution Manager requires two further RFCs, which are copied from
SAPOSS RFC.
Communication channels
Communication Channel Protocol Type of Data Transferred / Function
Solution Manager to OSS RFC Exchange of problem messages,
retrieval of services
Solution Manager to managed RFC Reading information from managed
systems and back systems
Solution Manager to remote RFC Reading information from remote BW -
BW - system system
Solution Manager to managed FTP Update route permission table, content:
systems within customer IP addresses, see section File Transfer
network Protocol (FTP)
Solution Manager to SAP HTTP(S) Search for notes
Service Marketplace
Third Party SOAP over HTTP (S) Third Party Data
SLD - LMDB
user exactly the authorizations that he or she requires to perform his or her tasks, in accordance
with an established roles concept and authorization concept.
Service user
A service user is available to a larger user community that is anonymous for the moment, and
allows interactive system access. Although a service user does not log on interactively, it is
authenticated and the attributes contain a valid ticket. This user type is used, for example, for guest
accesses, or to connect to a remote system with certain rights. With this user type, the system
does not check for expired or initial passwords, only a user administrator can change the
password, and multiple logons are permissible. Since it is security‒relevant, these users should be
assigned exactly the authorizations that are required by a large number of users of equal status. In
the IMG, it is explicitly mentioned, if an user should be of user type Service.
System user
A system user does not allow interactive system access. This user is used to be able to perform
certain system activities, such as background processing, ALE, workflow, and so on. The system
excludes a user of this type from the expiry date of passwords. Therefore, the password of these
users can only be changed by user administrators in transaction SU01. You should also ensure for
users of this type that you assign only the rights that are required in the system. This user type is
used for user SOLMAN_BTC or RFC - users.
Reference user
Instead of assigning roles to each user individually, a reference user is created for a selection of
roles that are to be assigned to a larger group of users, and the selected roles are assigned to this
user. The reference user must now be assigned to the dialog users in the roles tab of the user
master record.
For each scenario, user definitions are delivered according to composite roles with the technical
name ending *_COMP according to the principle of segregation of duty.
The RFC authorization check can be activated / deactivated with the system profile parameter
auth/rfc_authority_check. This parameter must not be set to the value ‘0’.
Authorization objects
The authorization object S_RFC is used to check, whether the called RFC user is authorized to
execute RFC function modules. The authorization object is delivered with dedicated values.
Consider the following lines when operating a SAP Solution Manager system 7.1 SP03 or higher,
setup with a Web Dispatcher, especially when having multiple dual-stack instances.
From Host/Source To Hosts/Destination Service on Format
Host Hosts Destination Hosts (example)
(Protocol)
All Solution Manager Web Dispatcher Web Service (HTTP) (80)
Instances
Diagnostics Agent Web Dispatcher Web Service (HTTP) (80)
(managed system host)
Web Dispatcher All Solution Manager Web Service via ICM 80<instance
(forwarded HTTP Instances (HTTP) no.>8000
requests)
Consider the following line when operating a Solution Manager system 7.1 SP03 or higher, having
one single dual-stack instance and setup without a Web Dispatcher.
From Host/Source To Hosts/Destination Service on Format
Host Hosts Destination Hosts (example)
(Protocol)
Diagnostics Agent Solution Manager Single Web Service via ICM 80<instance
(managed system host) Instance (HTTP) no.>8000
Consider the following line when operating a Solution Manager system prior to 7.1 SP03.
From Host/Source To Hosts/Destination Service on Format
Host Hosts Destination Hosts (example)
(Protocol)
Diagnostics Agent All Solution Manager Web Service via 81<instance
(managed system host) Instances ABAP Message no.>8100
Server (HTTP)
You can find the documentation and best practices about Configuration Stores in the WIKI on
SCN.
Tipp: You can use your favorite search engine to search for specific configuration stores within this
WIKI. In case of Google you can use following modifiers to restrict the search:
site:wiki.scn.sap.com inurl:TechOps <name of target system>
Communication
Secure Setup Secure Configuration Data Security
Security
Security Maintenance
Secure Code Custom Code Security
of SAP Code
The tracks of the Secure Operations Map cover the following topics
Security Compliance
1. Security Governance: Adopt security policies for your
SAP landscape, create and implement an SAP Security Baseline
2. Audit: Ensure and verify the compliance of a company’s IT infrastructure and operation with
internal and external guidelines
3. Cloud Security: Ensure secure operation in cloud and outsourcing scenarios
4. Emergency Concept: Prepare for and react to emergency situations
Secure Operations
5. Users and Authorizations: Manage IT users and authorizations including special users like
administrators
6. Authentication and Single Sign-On: Authenticate users properly – but only as often as really
required
7. Support Security: Resolve software incidents in a secure manner
8. Security Review and Monitoring: Review and monitor the security of your SAP systems on
a regular basis
Secure Setup
9. Secure Configuration: Establish and maintain a secure configuration of standard and
custom business applications
10. Communication Security: Utilize communication security measures available in your SAP
software
11. Data Security: Secure critical data beyond pure authorization protection
Secure Code
12. Security Maintenance of SAP Code: Establish an effective process to maintain the security
of SAP delivered code
13. Custom Code Security: Develop secure custom code and maintain the security of it
Infrastructure Security
14. Network Security: Ensure a secure network environment covering SAP requirements
15. Operating System and Database Security: Cover SAP requirements towards the OS and
DB level
16. Frontend Security: Establish proper security on the frontend including workstations and
mobile devices
6.2 Audit
Prepare for internal and external audits
Identify relevant regulations like ITIL, BASEL II, SOX, FDA, Data Protection or ISO 27000
and derive required measures and controls from there.
Ensure the auditability of systems by enforcing appropriate and effective security, e.g. no
unrestricted authorizations (e.g. “SAP_ALL”) or debug/change authorizations on production
systems.
Define logs and traces to be collected (consider data protection laws, put limits on
production environment, define clipping levels etc.). Restrict access to log data and logging
facilities.
Assess your systems on a regular basis
Analyze logs with appropriate tools (Audit Information System, Security Audit Log, User
Information System (SUIM), SAP Solution Manager, etc.)
Perform Security Assessments (Security Optimization Services, penetration tests)
Audit the different Secure Operations Tracks e.g.
o infrastructure settings and communication interfaces (firewall, RFC destinations,
ALE, ICF, WS, etc.)
o users and authorizations (spot checks, GRC access control, etc.)
Respond to audit results
resolve audit complaints appropriately
improve operations and rule sets to avoid similar findings in future
For those parts, that remain in the customer’s responsibility (e.g. application operations for HEC
systems) the standard recommendations and Secure Operation Tracks recommendations remain
unchanged
Establish suitable infrastructures (Identity Management, Single Sign-On) and secure connections
to integrate the cloud service into your landscape and to connect hybrid scenarios.
Cover SAP security needs, e.g. avoid database usage bypassing the SAP DB abstraction
layer (if not required e.g. for direct access to a HANA database)
Book Chapter
Auditing and Logging Security Audit Log
Authentication and Single Sign-On Configuring SAP Systems to Accept and Verify
Logon Tickets
Authentication and Single Sign-On Configuring the J2EE Engine to Accept Logon
Tickets
Authentication and Single Sign-On Configuring UME to Use an LDAP Server as Data
Source
Authentication on the Portal Configuring a Portal Server for SSO with Logon
Tickets
Authentication on the Portal Single Sign-On
Background Processing Authorizations for Background Processing
Background Processing Background Processing
Background Processing Managing Jobs from the Job Overview
Background Processing Standard Jobs
Change and Transport System Client Control
Changing the SAP Standard (BC) SAP Software Change Registration Procedure
(SSCR)
Collaboration Security Guide Active Code
Components of SAP Communication HTTP Communication Using the SAP System as
Technology a Client
Components of SAP Communication Internet Communication Framework
Technology
Components of SAP Communication Setting Up Error Pages
Technology
Configuration of Usage Type Process Security Configuration at Message Level
Integration (PI)
Enabling User Collaboration Activating Synchronous Collaboration Service
Types
Enabling User Collaboration Configuring Client Browsers to Accept the RTC
ActiveX Control
Enabling User Collaboration Enabling User Collaboration
Enabling User Collaboration Installing and Configuring Calendar Connectivity
Enabling User Collaboration Installing and Configuring Lotus Domino
Connectivity
Enabling User Collaboration Installing and Configuring Microsoft Exchange
Connectivity
Identity Management Configuring Identity Management
Identity Management Configuring the Security Policy for User ID and
Passwords
Identity Management Logging and Tracing
Identity Management Logon and Password Security in the ABAP
System
Identity Management Password Rules
Identity Management Profile Parameters for Logon and Password
Identity Management User Management Engine
Internet Communication Manager (ICM) Internet Communication Manager
Knowledge Management External Repositories
Knowledge Management Providing Portal Drive to Client PCs
Knowledge Management WebDAV
Knowledge Management Security Guide Further Security-Relevant Information
Knowledge Management Security Guide Knowledge Management Security Guide
Book Chapter
Network and Transport Layer Security Configuring SNC Between the UME and an
ABAP-Based System
Network and Transport Layer Security Configuring SSL Between the UME and an LDAP
Directory
Network and Transport Layer Security Configuring the SAP Web AS for Supporting SSL
Network and Transport Layer Security Configuring the Use of SSL on the J2EE Engine
Network and Transport Layer Security Creating an SNC PSE for the SAP J2EE Engine
Network and Transport Layer Security Deploying the SAP Java Cryptographic Toolkit
Network and Transport Layer Security Destination Service
Network and Transport Layer Security Maintaining HTTP and Web Service Destinations
Network and Transport Layer Security Maintaining RFC Destinations
Network and Transport Layer Security Managing Cryptography Providers
Portal Creating iViews for Databases (JDBC)
Portal Creating SAP Application iViews
Portal Creating Web Dynpro Java iViews
Portal Creating Web-based URL iViews
Portal Creating XML iViews
Portal Editing HTTP System Properties
Portal Editing JDBC System Properties
Portal Editing SAP System Properties
Portal iViews
Portal Pre-configured Roles
Portal Security Zones
Portal System landscape
Portal System Properties for Proxy Server
Portal Security Guide Dispensable Functions with Impacts on Security
Portal Security Guide Network and Communication Security (Portal)
Portal Security Guide Portal Security Guide
Portal Security Guide User Management
Running an Enterprise Portal Creating Web Dynpro ABAP iViews
SAP Gateway SAP Gateway
SAP NetWeaver Application Server ABAP As of Release 4.0
Security Guide
SAP NetWeaver Application Server ABAP Protecting Standard Users
Security Guide
SAP NetWeaver Application Server ABAP Protecting Your Productive System (Change &
Security Guide Transport System)
SAP NetWeaver Application Server ABAP User Types
Security Guide
SAP NetWeaver Application Server Java Authorizations
Security Guide
SAP NetWeaver Application Server Java Standard User Groups
Security Guide
SAP NetWeaver Application Server Java Standard Users
Security Guide
SAP NetWeaver Exchange Infrastructure Communication Channel Configuration
SAP NetWeaver Exchange Infrastructure Communication Channel Configuration RNIF
SAP NetWeaver Exchange Infrastructure Communication Channel Configuration RNIF 2.0
SAP NetWeaver Exchange Infrastructure Communication Channel Configuration Sender
SAP NetWeaver Exchange Infrastructure Configuring a Communication Channel for single-
action initiator
Book Chapter
SAP NetWeaver Exchange Infrastructure Configuring a Communication Channel for single-
action responder
SAP NetWeaver Exchange Infrastructure Configuring a Communication Channel for two-
action initiator
SAP NetWeaver Exchange Infrastructure Configuring a Communication Channel for two-
action responder
SAP NetWeaver Exchange Infrastructure Configuring the Receiver File/FTP Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Receiver JDBC Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Receiver JMS Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Receiver Mail Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Receiver Marketplace Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Receiver RFC Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Receiver SAP Business
Connector Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Receiver SOAP Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Sender File/FTP Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Sender JDBC Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Sender JMS Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Sender Mail Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Sender Marketplace Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Sender Plain HTTP Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Sender RFC Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Sender SAP Business Connector
Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Sender SOAP Adapter
SAP NetWeaver Exchange Infrastructure Configuring the Sender XI Adapter
SAP NetWeaver Exchange Infrastructure IDoc Adapter
SAP NetWeaver Exchange Infrastructure JDBC Adapter
SAP NetWeaver Exchange Infrastructure JMS Adapter
SAP NetWeaver Exchange Infrastructure Marketplace Adapter
SAP NetWeaver Exchange Infrastructure Plain HTTP Adapter
SAP NetWeaver Exchange Infrastructure RFC Adapter
SAP NetWeaver Exchange Infrastructure RNIF Adapters
SAP NetWeaver Exchange Infrastructure SAP Business Connector Adapter
SAP NetWeaver Exchange Infrastructure Security Services in the RNIF Adapter 1.1
SAP NetWeaver Exchange Infrastructure Security Services in the RNIF Adapter 2.0
SAP NetWeaver Exchange Infrastructure Single-Action Initiator
SAP NetWeaver Exchange Infrastructure Single-Action Responder
SAP NetWeaver Exchange Infrastructure SOAP Adapter
SAP NetWeaver Exchange Infrastructure XI Adapter
SAP NetWeaver Process Integration CIDX Adapter
Security Guide
SAP NetWeaver Process Integration File/FTP, JDBC, JMS, and Mail Adapters
Security Guide
SAP NetWeaver Process Integration Message-Level Security
Security Guide
SAP NetWeaver Process Integration Network and Communication Security
Security Guide
SAP NetWeaver Process Integration RFC and SNC
Security Guide
SAP NetWeaver Process Integration RosettaNet RNIF Adapters
Security Guide
Book Chapter
SAP NetWeaver Process Integration Service Users for Internal Communication
Security Guide
SAP NetWeaver Process Integration Service Users for Message Exchange
Security Guide
SAP NetWeaver Process Integration Technical Communication
Security Guide
SAP NetWeaver Security Guide Security Guide for SAP NetWeaver 6.40
SAP NetWeaver Security Guide Security Guide for SAP NetWeaver 7.0
SAP NetWeaver Security Guide Security Guides for Usage Types EPC and EP
SAP Web Dispatcher is/HTTP/show_detailed_errors
SAP Web Dispatcher Metadata Exchange Using SSL
SAPconnect (BC-SRV-COM) Secure Email
SAProuter Route Table Examples
SAProuter SAProuter
SAProuter SAProuter Options
Search Configuration of the TREX Security Settings
Search Configuring TREXNet for Secure Communication
Search and Classification (TREX) Security Search and Classification (TREX) Security Guide
Guide
Secure Programming Password Security
Secure Programming Secure Programming - ABAP
Security Guide for Connectivity with the Configuring the J2EE Engine for IIOP Security
J2EE Engine
Security of the SAP NetWeaver File Access Rights for the NWDI Transport
Development Infrastructure Directory
Security of the SAP NetWeaver Working with the SDM
Development Infrastructure
System Security Key Storage Service
System Security Secure Storage (ABAP)
Technical Operations Manual for mySAP The PSE Types
Technology
User Authentication and Single Sign-On Authentication on the AS Java
User Authentication and Single Sign-On Authentication Schemes
User Authentication and Single Sign-On Login Modules
Using Java Creating JCo Destinations
Using Java Custom Error Pages
Using Java Default Configurations of the Web Container
Using Java Java Messaging
Using Java Remote Authentication
Using Java RMI-IIOP
Using Java RMI-P4
Using Java Setting Up the Development Landscape:
Landscape Configurator
Using Java Transports with the NWDI: Transport Studio
Using Java UME Properties for the Security Policy
Using Java User Authorization in the Design Time Repository
Using Java Using P4 Protocol Over a Secure Connection
Using Java Version Control
Using Java Web Dynpro Architecture
Using Java Web Dynpro Content Administrator
Using the SAP Cryptographic Library for Using the SAP Cryptographic Library for SNC
SNC
Book Chapter
Working with Folders in Windows (Portal Working with Folders in Windows (Portal Drive)
Drive)
How to get RFC call traces to build authorizations for S_RFC for free!
https://scn.sap.com/community/security/blog/2010/12/05/how-to-get-rfc-call-traces-to-build-
authorizations-for-srfc-for-free
Life (profile SAP_NEW), the Universe (role SAP_NEW) and Everything (SAP_ALL)
https://scn.sap.com/community/security/blog/2014/02/17/life-profile-sapnew-the-universe-
role-sapnew-and-everything-sapall
8 Index
A AUTH_COMB_CHECK_USER ................................ 27
Authorization objects AUTH_PROFILE_USER ....................................... 27
S_DEV_REMO ..................................................... 123 AUTH_ROLE_USER .............................................. 27
S_DEVELOP .................................................... 95, 96 AUTH_TRANSACTION_USER ............................. 27
S_RFC ......................................23, 89, 123, 124, 139 CLIENTS ............................................................... 27
S_RFC_TT .......................................................... 123 com.sap.security.core.ume.service . 29
S_RFCACL .................................................... 96, 123 GLOBAL ................................................................. 27
S_RS_COMP ........................................................ 117 GW_REGINFO........................................................ 28
S_TABU_CLI ..................................................... 124 GW_SECINFO........................................................ 28
S_TABU_DIS ............................18, 64, 98, 117, 124 HDB_LEVEL .......................................................... 27
S_TABU_NAM ............................18, 64, 98, 117, 124 HDB_PARAMETER ................................................ 27
S_USER_AGR .......................................................... 96 http ...................................................................... 29
S_USER_PRO .......................................................... 96 JAVA_NOTES........................................................ 28
S_USER_SAS ................................................. 67, 98 MESSAGE_SERVER_PORT .................................. 28
S_USER_TCD ....................................................... 96 MS_SECINFO........................................................ 28
S_USER_VAL ....................................................... 96 Parameters (of SAP START SERVICE) ................. 29
S_XMB_MONI ..................................................... 117 RFCDES_TYPE_3_CHECK .................................. 28
SM_CC_AUTH ....................................................... 59 SAP_KERNEL........................................................ 28
SM_FUNCS ............................................................ 57 SAP_KERNEL........................................................ 28
SM_TABS .............................................................. 57 SECURITY_POLICY............................................ 27
Authorization profiles SICF_SERVICES ................................................ 28
S_A.SYSTEM ....................................................... 27 SPECIAL_PRIVILEGES .................................... 27
SAP_ALL ............................. 22, 24, 27, 96, 123, 140 STANDARD_USERS .............................................. 27
SAP_NEW ................................................ 22, 27, 140 USER_PASSWD_HASH_USAGE ........................... 27
B cpio .......................................................................... 50
Background jobs D
SM:SYSTEM RECOMMENDATIONS.................... 57 DATA_ENCRYPT ....................................................... 52
BACKINT .................................................................. 50 Database parameters
C srvcon_auth ..................................................... 52
Configuration Stores DBFileRead ................................................................. 16
ABAP_COMP_RELEASE....................................... 28 dd............................................................................... 50
ABAP_INSTANCE_PAHI .............................. 27, 28 E
ABAP_NOTES ....................................................... 28 ENABLE_SSL ........................................................... 53
ABAP_TRANSPORTS ........................................... 28 Executables
AUDIT_CONFIGURATION .................................. 28 disp+work .......................................................... 40