Adm950 en Col19
Adm950 en Col19
.
.
PARTICIPANT HANDBOOK
INSTRUCTOR-LED TRAINING
.
Course Version: 19
Course Duration: 2 Day(s)
e-book Duration: 11 Hours 5 Minutes
Material Number: 50152615
SAP Copyrights, Trademarks and Disclaimers
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of
SAP SE or an SAP affiliate company.
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. Please see http://global12.sap.com/
corporate-en/legal/copyright/index.epx for additional trademark information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary software components of other software
vendors.
National product specifications may vary.
This course may have been machine translated and may contain grammatical errors or inaccuracies.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or
warranty of any kind, and SAP SE or its affiliated companies shall not be liable for errors or omissions with respect to the materials.
The only warranties for SAP SE or SAP affiliate company products and services are those that are set forth in the express warranty
statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional
warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or
any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation,
and SAP SE’s or its affiliated companies’ strategy and possible future developments, products, and/or platform directions and
functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without
notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or
functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ
materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which
speak only as of their dates, and they should not be relied upon in making purchasing decisions.
Typographic Conventions
Demonstration
Procedure
Warning or Caution
Hint
Facilitated Discussion
vi Course Overview
TARGET AUDIENCE
This course is intended for the following audiences:
Technology Consultant
System Administrator
Lesson 1
Describing Security Auditing 2
UNIT OBJECTIVES
LESSON OVERVIEW
This lesson discusses the general goals of securing the SAP system landscape. This lesson
explains the need for appropriate system security and periodic audits of the system security
setup. This lesson provides an overview of the tools you use to set up security and security
monitoring. In addition, this lesson discusses the role maintenance tool and its primary
elements and functions. The role maintenance tool is a critical part of any security
implementation.
Note:
This lesson sets the expectations and framework of the class. This lesson provides
an overview of the topics covered and focuses on how to ensure that company
policies are implemented, rather than how to set up security and it provides
specific guidelines for system security issues.
Business Example
You need to assess, and then establish, enterprise data security in your SAP systems. Before
you start, you need to define your goals and plan your approach. Your specific goals will
depend, in part, upon which countries or jurisdictions your organization operates in and upon
what legal and regulatory requirements are mandated. You also need to know what
information and access you must secure. You must understand the effective approaches and
tools you need to use to accomplish these tasks. For this reason, you require the following
knowledge:
An understanding of the purpose and procedures for conducting audits of your internal
system security
LESSON OBJECTIVES
After completing this lesson, you will be able to:
Availability
Availability ensures that the users can access their resources whenever they need them.
When determining your requirements with reference to the availability of resources, you
should consider the costs that result from unplanned downtime, for example, loss of
customers, costs for unproductive employees, and overtime. Some damage cannot fully
be factored in terms of money, for example, loss of reputation.
Authentication
Authentication determines the real identity of the user. You can use the following
authentication mechanisms in a system environment:
Authorization
Authorization defines the rights and privileges of the identified user. It also determines
the functions that a user can access. The application must be programmed to check
whether or not a user is authorized before that user can access a particular function.
Confidentiality
Confidentiality ensures that the user’s history and communication is kept confidential.
Information and services need to be protected from unauthorized access. The
authorizations to read, change, or add information or services must be granted explicitly
to only a few users and other users must be denied access. If you post something on the
Internet, the confidentiality of information is at risk.
Integrity
Integrity ensures that the user information, which has been transmitted or stored, has
not been altered. Programs and services should execute successfully and provide
accurate information. As a result, people, programs, or hardware components should not
modify programs and services.
Nonrepudiation
Repudiation is the process of denying that you have done something, whereas
nonrepudiation ensures that people cannot deny their actions.
Each SAP application will be subject to both internal and external audit requirements. Many
organizations have policies which require that security and data security risks be identified,
documented and managed in order to avoid disruption of business activities, safeguard the
organizations reputation and to maintain compliance with specific regulatory requirements.
For more information about the General Data Protection Regulation, see https://
wiki.scn.sap.com/wiki/download/attachments/473963058/2018_SITWDF_EU-
GDPR_cloud.pdf?version=2&modificationDate=1516013177000&api=v2 .
Each SAP system supports specific business needs and consists of various applications. You
must configure each application to meet the demands of your business environment and to
comply with applicable governmental regulations. Each SAP system must be sufficiently
secure, and user errors, negligence, or attempted manipulation of your systems must not
result in loss of information or processing time. The figure SAP Security Products, Features,
and Services shows the latest security products, features and services offered by SAP.
For more information about SAP security products, features, and services, see https://
www.sap.com/products/erp-financial-management/grc.html .
Are the roles assigned to the user consistent with the required activities of the user?
Are remote logon and assigned roles consistent with the required actions and activities?
How does the security administrator know when a security threat has occurred?
Are critical applications and tables logged according to the business policies?
Are the system authorizations required for each user implemented correctly?
Helpful Tools
The following tools can help you answer the questions that arise during a system security
audit:
Trace tools
What security options can you use to protect your critical data and communications?
We recommend that you establish a security policy that reflects your requirements and
priorities. Your senior management and employees must support and encourage your
security policy. The security policy must be practiced company-wide, and must cover your
entire IT infrastructure, including your SAP systems. The security policy must involve all
security aspects that are important to your system.
Note:
For more information about how to ensure the required security for your SAP
system landscape, see the Security Guide in the SAP Help portal at http://
help.sap.com/nw74 .
This lesson discusses the security aspects that apply to users who have logged on to your
system. Our focus will include the following critical security aspects:
User authentication
Authorization protection
The SAP NetWeaver technical platform offers many standard features to enforce and validate
user security across these three critical aspects, as well as a suite of Access Governance
products and service offerings.
SAP NetWeaver offers the following features for user authentication:
For user authentication, SAP offers password rules that users must follow. You actively
monitor authorized logon attempts. In addition, you actively react to unauthorized logon
attempts.
SAP NetWeaver offers the following features for authorization protection:
SAP NetWeaver offers the following features for auditing and logging:
The most important factor in providing system security is your own security policy. Dedicate
sufficient time and resources to implement your security policy and to identify, procure and
implement the tools that are needed to enforce the level of security that you desire.
The security policy should answer the following questions:
Account Management
Access Management
Authentication Management
SAP Access Governance products, tools and services can be integrated with SAP Enterprise
Risk and Compliance solutions in order to provide transparency and improved visibility of
access related risks and controls throughout the enterprise.
SAP Access Governance represents a critical component of SAP’s overall Governance, Risk
and Compliance strategy. Most organizations have challenges centered around several
critical objectives that impact or severely limit their ability to effectively manage access
governance:
How do we identify and remedy access issues and segregation of duty conflicts to
minimize overall risk?
How do we ensure timely, effective user provisioning and de-provisioning and reduce
manual tasks?
How do we ensure compliance with legal, regulatory and policy requirements and ensure
compliance?
How do we support the end user population to ensure that compliance requirements are
balanced with end user access needs?
Effective access governance must strike a delicate balance between providing users the
access they need and managing that user access in a compliant manner consistent with the
principles of access governance so as to minimize any risks associated with the access
granted. How users access the systems and resources needed to perform their job functions
is continually evolving to leverage new technologies and new digital platforms.
With these new platforms come new security and compliance challenges. Organizations need
end to end solutions that can support the identity lifecycle across multiple environments,
platforms, devices types and which support effective access governance processes and
procedures.
The key elements of a successful access governance strategy are outlined in the slide above
and include:
Risk Analysis
User Provisioning
Role Maintenance
Access Review
Monitoring Access
Risk analysis is critical to ensure that an organization understands the risks present in it’s
application environments and can identify when mitigating controls need to be put in place to
mitigate those risks. Real time analysis capabilities need to be incorporated into the user
management process and the role management process.
The access provisioning and de-provisioning processes needs to be effective, efficient and
provide for all necessary review and approval. Risk should be identified before it is provisioned
into productive environments and mitigated with appropriate controls.
Role design and maintenance activities should support a business, activity and/or task based
design process that can be managed centrally and in a compliant fashion.
User access should be reviewed periodically through regular User Access Reviews. Access to
systems, functions and segregation of duties activities should be reviewed regularly to
minimize risk exposure.
Risk should be monitored regularly so that risk owners are aware of when and how often
critical access or segregation of duty access violations occur. Emergency access must be
managed and monitored to ensure compliance.
These capabilities should extend to the organizations application environment, whether it
operates on-premise, in the cloud, or both.
SAP Access Governance and Control delivers a suite of products and solutions that support
comprehensive access governance throughout the digital identity lifecycle. SAP products for
access governance include:
LESSON SUMMARY
You should now be able to:
Learning Assessment
X A Non-repudiation
X B Confidentiality
X C Resource availability
2. A secure operations strategy should address the areas of security compliance, secure
operations, secure setup, secure code, and infrastructure security.
Determine whether this statement is true or false.
X True
X False
3. Which of the following are key elements of an effective Access Governance strategy?
Choose the correct answers.
X D Risk analysis
X True
X False
X A Non-repudiation
X B Confidentiality
X C Resource availability
Non-repudiation, confidentiality, and resource availability are goals for system security.
2. A secure operations strategy should address the areas of security compliance, secure
operations, secure setup, secure code, and infrastructure security.
Determine whether this statement is true or false.
X True
X False
A secure operations strategy should address the areas of security compliance, secure
operations, secure setup, secure code, and infrastructure security.
3. Which of the following are key elements of an effective Access Governance strategy?
Choose the correct answers.
X D Risk analysis
User access reviews, monitoring transaction usage, and risk analysis are key elements of
an effective Access Governance strategy.
X True
X False
Your Access Governance strategy does not only apply to on-premise deployments of SAP
solutions.
Lesson 1
Configuring and Using the AIS 16
Lesson 2
SAP Solution for Managing the Audit 26
Lesson 3
Appendix: Performing a System Audit Using the Audit Cockpit 32
UNIT OBJECTIVES
Understand how SAP Audit Management can support internal audit activities
LESSON OVERVIEW
This lesson introduces you to the purpose, configuration, and usage of the Audit Information
System (AIS). This lesson explains the differences between a system audit and a business
audit, but focuses primarily on the system audit.
In this lesson, you will create an auditor end user.
Business Example
Your organization wants you to assess and ensure enterprise data security in your SAP
solutions. You need to use the AIS tools to conduct a thorough, structured audit of the system
security at your organization. Before using the AIS, you must understand its purpose and
scope, as well as how to set it up. For this reason, you require the following knowledge:
An understanding of how to demonstrate the ability to navigate and use the AIS roles
LESSON OBJECTIVES
After completing this lesson, you will be able to:
An auditor must plan audits, execute both system and business audit tasks, perform an
analysis of the audit results and document and monitor audit findings. The AIS represents a
role based audit toolkit for the auditor in an SAP environment. These SAP delivered audit
roles provide access to business and system related audit data. Transactions and reports for
executing audit related tasks enable you to get the data and information you need to perform
either a functional audit, for example a Tax Audit, or a Technical System Audit. SAP software
is used around the world and through the development of the AIS SAP has delivered an audit
tool that can serve the needs of internal auditors, external auditors, tax auditors, and data
security and privacy officers.
AIS
The AIS consists of a series of Menu and Permission roles. Using a combination of these roles
an auditor can access all SAP structures, documents, configuration and components that
need to be analyzed.
The AIS includes various types of documentation, including documentation specifically for the
AIS, documentation from the SAP Library, documentation for the business area from the
Implementation Guide, and links to relevant Web addresses, such as http://support.sap.com .
Business Audit
AIS roles are divided into two major categories - system audits and business audits. A
business audit includes accounting, customer, vendors, asset, and tax audits. You can
download data to use for auditing. You can find more details about business audits in the
training course FIN900.
In this lesson, you work only with the system audit portion of the AIS.
The system audit is divided into following main areas:
General system
Note:
The suggested license data for the audit user ID of the auditor can be an
informational or limited professional user.
Note:
SAP recommends that you copy the roles provided for the AIS to create
customer-specific roles for your auditors.
The System Audit covers a wide range of tasks. It includes common security reports, which
are used to verify aspects of system administration tasks, for example, operating system,
instance parameters, and Remote Function Call (RFC) destinations. It also includes system
tasks performed by many users, such as background processing, printing, and change
request management.
The Users and Authorizations Audit provides several ways for you to ensure that you manage
users properly and to ensure a user’s authorizations correctly reflect the daily tasks the user
must perform. This audit includes the information system for reporting on users and
authorizations, role maintenance and common reports used to verify which users have what
access.
You use a Repository/Tables Audit to discover who has direct table access in production, as
well as the extent of that access. It also provides information on table logging, specifically
related to sensitive financial data. This audit also provides information on change documents
and their use in the SAP system.
SAP_AUDITOR_BA_MM
Materials management
SAP_AUDITOR_BA_FI_GL
Closing
3. Create a user.
If you need to set up the AIS for both system and business audits, you may need to perform
some additional steps. One of the SAP roles, SAP_AUDITOR_ADMIN, contains everything that
you need to set up the AIS.
The role SAP_AUDITOR_ADMIN includes the following major tasks that you need to complete
during setup:
Copy the roles and create users using your own naming convention.
The AIS includes online help for each role. Often, you are linked from the role to online help
that explains SAP functions. For the role to work properly, you need to link AIS help to your
own documentation server.
Use the selection variables to provide input for SAP business and financial reports. Examples
of data setup in the selection variables include calendar year, chart of accounts, language,
posting period, and fiscal year.
The activation the user exit relates to downloaded FI query data. A subfunction of the AIS is to
download query data using a special file format, which is defined in an include for user exit
SQUE0001.
Start the queries as usual (for small datasets, online, and for large datasets, in the
background) and activate the Private file option. The query program writes the result data to
the TEMSE database under the ID that is derived from your user ID (dialog user or
background user). Therefore, only you can access this data. Start report RSQUEU01 to
download the results stored in the TEMSE database.
Note:
For more information about user exit, refer to SAP Note 129170.
After you set up the roles, you can begin using the AIS. After you log on with the auditor user
ID, you receive a user menu for all the AIS functions granted in your role.
After you set up the user menu, you can access everything you need to audit system services,
users, and the repository and tables. Throughout the rest of this course, you use this user
menu to gain access to all audit functions that you require.
To use the AIS, log on as a user who has audit roles assigned. Work through each section of
the menu using the documentation to aid with your task. Often, reports already have variants
prepared to aid you in your research. Notice that many menu items in the AIS take you to
standard transaction codes in the SAP system.
After you complete the exercise for this lesson, you will have an audit user set up with the
roles required to perform a thorough system audit. When you log on as your audit user, you
can see the menu paths that are provided.
https://help.sap.com
LESSON SUMMARY
You should now be able to:
LESSON OBJECTIVES
After completing this lesson, you will be able to:
Understand how SAP Audit Management can support internal audit activities
There are many challenges when it comes to properly managing and analyzing the multiple
audits your company might be running. Examples of such challenges are as follows:
Inability to efficiently manage audit scheduling and planning activities, and to efficiently
use audit resources.
SAP Audit Management provides and end-to-end audit management solution. The audit
department can use it to build audit plans, prepare audits, analyze relevant information,
document results, form an audit opinion, communicate results, and monitor progress.
In SAP Audit Management, the auditing process is divided up in to five phases:
Communicating results
Monitoring progress
SAP Audit Management allows auditors to provide reliable information on risk and the
adequacy of management responses. It drives increased efficiency and effectiveness into the
audit process, and provides a foundation for an integrated risk management approach. The
SAP Audit Management solution includes the following features:
Central data storage data model, covering end-to-end audit process with risk-based
approach.
The tile-based home screen is easy to configure. In addition, to navigate from a tile, you can
get the tile with KPI, chart, or map. You can also customize your own tiles. This SAP Fiori
interface allows developers to create one screen for multiple devices (For example, PC, iPad,
smart phones) and take advantage of role-based authorizations that are part of the tool.
Audit planning is the initial phase of the auditing process. During this phase, the overall
strategies and focus areas for the organization are defined, the audit plan for the upcoming
audit period is prepared, and audit resources are arranged for the planned audits. Auditable
items, audits, and audit plans are created in this phase.
In the audit preparation phase, the auditor develops and documents the audit work program
that achieves the audit engagement objectives. The auditor sets up the structure of the work
program, defines the detailed procedures for the audit, and obtains approval from the audit
manager before starting the audit. The audit manager receives the work program, reviews it,
and decides to approve or reject it.
The audit execution phase is when the actual auditing activities take place. In this phase,
auditors conduct interviews, gather information, record evidences, and prepare findings,
conclusions, and recommendations. SAP Audit Management supports these activities with:
Central data storage that is easy to access with search and analytics.
Following the completion of audit activities, audit results must be organized, analyzed and all
conclusions, findings and recommendations must be communicated to relevant
stakeholders.
Tasks executed in this phase include the following:
SAP Audit Management provides standard reports with pre-defined templates which can be
used to streamline report creation.
In the follow-up phase, auditors evaluate the adequacy, effectiveness, and the timelines of
actions taken by management on reported findings and recommendations. In reviewing the
evaluation result, the auditor determines whether management has implemented the
recommendations or accepted the risk of not implementing them.
Monitor the progress and reflect them into the audit universe.
SAP Audit Management provides a comprehensive end-to-end solution for managing internal
audits across all phases of the audit process.
LESSON SUMMARY
You should now be able to:
Understand how SAP Audit Management can support internal audit activities
LESSON OVERVIEW
This lesson introduces the cockpit solution of AIS (Audit Information System Workplace). The
cockpit is a menu-based solution with some audit trail support. The lesson provides an
overview of the audit structures in the cockpit which is based on area menus. In addition, it
explains how to perform a system audit using the Audit Cockpit and display the audit logs.
Business Example
Your organization wants to conduct and keep a log on all its system audits. To do this, you
need to understand how to configure and use the Audit Cockpit.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
To perform an audit of an AS ABAP system, administrators and auditors can also use the
Audit Information System Workplace (transaction code SAIS ) besides AIS. This is a cockpit
solution for the AIS. In the cockpit, the existing role-based audit is replaced by a navigation
solution based on an area menu with audit trail support.
Audit structures in the cockpit are based on area menus which contain the SAP applications
and information required for the audit. You can create area menus using transaction code
SE43, as shown in the figure Audit Information System Workplace. To reduce the time and
effort required to create an area menu, you can import existing roles (such as the SAP Auditor
roles) into the area menu, as shown in the figure Importing an Existing Role Into an Area
Menu. The audit structure name is the same name as the area menu The cockpit does not
contain any SAP-delivered audit structures at this time.
Note:
Unlike role menus in transaction PFCG, area menus cannot contain any links.
Audit Logs
Log entries from the audit are written into the audit log. Once the audit completes, you can
use transaction code SAIS_LOG (shown in the figure Log Analysis) to display the audit log. On
this screen, you can switch between a short overview or detailed display. The short overview
(ALV) contains an option to export the resulting HTML documents to your preferred local
format.
If you need the log data later for reference, we recommend that you export the logs to an
archive destination before reorganizing them. With transaction code SAIS_ADM, you can
remove logs that were created before a given date for the selected audit structure and check
numbers. This transaction is shown in the figure Log Administration.
ACTVT Activity
16 Execute
65 Reorganize
70 Administer
71 Analyze
LESSON SUMMARY
You should now be able to:
Learning Assessment
1. What steps must a system auditor complete when setting up the AIS?
Arrange these steps into the correct sequence.
2. Which of the following are menu roles supporting system audit in AIS?
Choose the correct answers.
X A SAP_CA_AUDITOR_SYSTEM
X B SAP_AUDITOR_SA
X C SAP_AUDITOR_SA_CCM_USR
X D SAP_CA_AUDITOR_USER
X E SAP_AUDITOR_SA_CUS_TOL
3. What are the main areas in which you can perform an audit using the system audit roles in
AIS?
Choose the correct answers.
X A General system
X C Operating system
1. What steps must a system auditor complete when setting up the AIS?
Arrange these steps into the correct sequence.
2. Which of the following are menu roles supporting system audit in AIS?
Choose the correct answers.
X A SAP_CA_AUDITOR_SYSTEM
X B SAP_AUDITOR_SA
X C SAP_AUDITOR_SA_CCM_USR
X D SAP_CA_AUDITOR_USER
X E SAP_AUDITOR_SA_CUS_TOL
3. What are the main areas in which you can perform an audit using the system audit roles in
AIS?
Choose the correct answers.
X A General system
X C Operating system
Lesson 1
Customizing the Role Maintenance Tool 40
Lesson 2
Analyzing and Securing Users 51
Lesson 3
Describing Segregation of Duties and Critical Authorization 63
Lesson 4
Securing the System by Login-Related Parameters 72
Lesson 5
Describing the User Management Engine (UME) in SAP NetWeaverAS for Java 80
UNIT OBJECTIVES
Verify the authorization default values for the role maintenance tool
LESSON OVERVIEW
This lesson provides an overview about the tools that the security administrator uses to
reduce the effort required for role maintenance. In addition, it discusses how to configure the
role maintenance tool (transaction PFCG). Configuring the role maintenance tool saves the
security administrator time and makes roles easier to manage and maintain.
Business Example
Role and authorization maintenance in SAP solutions use default values shipped by SAP.
These default values affect how the role maintenance tool (transaction PFCG) operates; they
also affect how security is checked at runtime. While creating roles, you realize that the
default values shipped by SAP do not always meet your needs. You find yourself making many
changes to the authorizations that the role maintenance tool (transaction PFCG) generates.
You have determined that the SAP default values do not meet your company requirements,
and you want to change those default values to meet your needs. For this reason, you require
the following knowledge:
An understanding of how to customize the role maintenance tool in the SAP solutions
LESSON OBJECTIVES
After completing this lesson, you will be able to:
Verify the authorization default values for the role maintenance tool
Note:
This lesson does not focus on how to use the role maintenance tool. This lesson
describes how to evaluate the roles that have been created and how to ensure that
the tool is being used to provide roles that match the security policies of the
organization.
Menu
The menu component contains the business view of what a user requires for the role. It
contains transaction codes, reports, web addresses, folders, and menu paths that the user
may need.
Authorizations
The authorizations component contains the actual authorization objects and values that
are required to support the menu. This component also contains the technical
authorization values that are required to support the business purpose of the role, as
described in the menu. In addition, the authorizations component includes the exact
organizational values that a user can access, such as sales organizations, cost centers,
plants, and divisions.
Users
The users component lists everyone who has a particular role. This component includes
SAP user IDs, positions, jobs, and other links from an organizational plan.
Use the Menu tab page to build the look and feel of the user menu. You use the Menu tab page
to build your own folders, use folders created by SAP, or create a combination of your folders
and SAP folders.
Organizations vary widely on how they use the menus. You can configure an SAP system so
that when a user logs on to the system, he or she sees the individual user menus that are
defined in the role. Alternatively, you can offer your users the standard menu provided by
SAP.
User Menu
The user menu contains only the menu items that originate from the roles that are assigned
to the user. In contrast, the SAP standard menu lists all menu paths, even if the user does not
have access to an area in the menu path.
Note:
When you implement user menus, you can use several strategies, such as using
composite roles and using derived roles when possible.
For more information about the user menu and removing duplicates using table
SSM_CUST, refer to SAP Note 357693 (Redundancy Avoidance in Easy Access).
For example, consider a company with 500 plants. The role for the buyer is similar across all
500 plants. The primary difference between each buyer is which plant the buyer can access.
To implement security for this task, an organization can use derived roles or authorization
roles. If the organization uses authorization roles, every buyer has two roles.
The first role contains everything that is common to all plants, including the required menu
paths. The second role contains only access to authorization objects that include the plant
field. Each buyer has a role with values for a specific plant. If that plant changes, you must
update the role for that buyer.
When you prepare for an audit, it is acceptable for you to implement security without user
menus and with the SAP standard menu. The choice to implement user menus does not
affect the audit.
Authorization values are more useful to a system auditor because authorization values
provide the actual security for what a user executes. It is difficult to mandate that every
company must always implement menu roles. It is also difficult to mandate that all companies
must use user menus.
Because many applications use a non-traditional SAP user interface (SAPGUI), such as a
web-based interface, it makes sense to implement user menus. For example, if a user
accesses SAP through a portal, user menus help to refine and design a web page that grants
access to specific SAP transactions.
Note:
This course focuses on user menus, particularly when performing audit activities.
The AIS is implemented as a series of menu-driven roles. To maximize the use of the AIS, the
auditor needs to use the user menus that are provided with the AIS.
When roles are created and the authorizations are generated, transaction SU24 is read to
determine what authorization objects and authorization values are required for each item in
the menu and the default values for the authorizations are brought into the role maintenance
tool. Behind the scenes, the mapping of the authorization objects and transaction codes are
stored in some system tables, which are read by the system.
The default values for the authorizations are maintained in transaction SU24. The more
complete and accurate the values, the less maintenance is required by the security
administrator.
Usage of SU24
Sometimes, the authorizations that are generated by the role maintenance tool do not include
all the authorizations that you need. When this happens, you must manually add the required
authorization objects and adjust the authorizations.
To correct authorization objects that are not linked to the transaction codes correctly.
To change default values so they are appropriate for all roles that use the transaction. This
means that the fields for which you allow different roles to have different values are left
blank.
You can use transaction SU24 to correct authorization objects that are incorrectly linked to
the transaction codes. Transaction SU24 can be helpful in fixing situations in which the default
authorization objects provided by transaction PFCGare not correct.
Run transaction CPH1in the menu. The authorization objects that are used by default for this
transaction include authorization objects S_TCODE, S_PROGRAM, and K_CBPR_SET. In your
environment, you also need authorization object G_800S_GSE. You need to either add this
authorization object manually or use transaction SU24 to have this authorization object used
by default (with specific values, if desired).
You can use transaction SU24 to correct authorization objects that have unacceptable default
values. For example, QIN is used as the default value in the Object type field for authorization
object B_USERSTAT. This default value is unacceptable; it should be QM1 instead. You either
make the change manually or use transaction SU24 to set QM1 as the default value.
You can use transaction SU24 to change default values to values that are always appropriate
for all roles that use the transaction. When you change default values in transaction SU24, you
make a change that affects all roles. You might need to leave some fields blank if there are
different values for each role.
Once you decide to use transaction SU24, you can change which authorization objects are
used by default and how default values are used in fields. The figure gives an example of how
to use transaction SU24 to change default field values.
To use transaction SU24 to change the default values for an authorization object in a
specific transaction code, perform the following steps:
1. Run transaction SU24.
2. Enter the transaction code for the affected value and choose the Execute button.
4. In the Proposal field, update the values for the authorization object you want to change.
To find out who is responsible for the changes made to transaction SU24, perform the
following steps:
1. Run transaction SE16.
3. Use values in the Modifier , ModDate, and ModTime fields to determine changes that have
occurred.
To view the changes made in transaction SU24, perform the following steps:
1. Run transaction SU24.
3. Choose the SAP Data button. This displays the SAP default values and highlights any rows
that have been changed from the defaults provided by SAP.
4. To see field values that have been changed, choose the Display Field Values button.
LESSON SUMMARY
You should now be able to:
Verify the authorization default values for the role maintenance tool
LESSON OVERVIEW
This lesson provides an overview of how to manage security of users and how to review the
available reports and tools to research user authorization issues. In addition, this lesson
explains the separation of duties for security administrators and the segregation of duties for
end users.
Business Example
You need to demonstrate that your user administrators do not compromise system security.
In fact, you have to audit the security of all user data and group-related data in your
production system. For this reason, you require the following knowledge:
An understanding of how to structure security for SAP standard users SAP*, Data
Dictionary (DDIC), and SAP Early Watch
An understanding of how to examine change logs for user and group changes
LESSON OBJECTIVES
After completing this lesson, you will be able to:
You can use the User Information System to obtain an overview of the authorizations and
users in your SAP system at any time using search criteria that you define, based on the
predefined reports. In particular, you can display lists of users to whom authorizations
classified as critical are assigned.
Roles
Use this component to find details of roles.
Profiles
Use this component to find details of profiles.
Authorizations
Use this component to find details of a specific authorization.
Authorization objects
Use this component to find details of authorization objects.
Transactions
Use this component to view transactions by users, profiles, or authorizations.
Comparisons
Use this component to compare users in one system or across systems.
Where-Used List
Use this component to find where an authorization object is used.
Change documents
Use this component to change documents for users, profiles, and authorizations.
User Reports
The User section is the best way to find out exactly which functions a user can access. You
can find users by their address data, the roles they have, specific access to a field, the
transaction codes they have, and how many incorrect logons a user has experienced. There
are many ways you can use User reports in the debugging process.
In this example, you need to know everyone who has access to authorization object
F_BKPF_BUK and everyone who has activity 01 (Create) for company code 1000. For this,
you need the report Users by Authorization Values .
To find users with specific authorization values, perform the following steps:
1. Access the report by choosing User Users by Authorization Values .
4. For each field in the authorization object, enter the value you want to research.
5. Optionally, use the User ID alias field to limit which users to search.
One unique aspect of user reports is the ability to customize the reports to meet your
business needs. You use the customization of reports to ensure that you are following your
company’s business policies regarding segregation of duties. You look at a few business
scenarios to see how this report can help you research policies about segregation of duties.
Caution:
The lesson describes general examples of how these reports can aid in specific
policies about the segregation of duties that your company might have. Each
company is different, and each company implements SAP differently. Your
business users determine the critical transaction combinations. You must know
which types of reporting are possible and how the security administrator can set
up a report.
This figure provides an example of how to find user IDs that still have their initial password.
Figure 43: Summary or Output of User IDs with Initial Password Report
This report shows the user, the user group to which the user is assigned, who created the
user, when the user was created, and when the user last logged on. In this report, you see
many user IDs that are not used, which means that those users have never logged on. This
information can help you manage your SAP user licenses.
The Overview of Users reports are a fast and effective way to see the number of users, the
users currently active, and the users no longer required.
RSUSR002 Report
The Users by Complex Selection Criteria report (program rsusr002) enables you to search
users based on complex selection criteria. This report enables you to combine your search by
user group, role, profile, transaction code, authorization object, and authorization values. To
access this report from your AIS role, choose Users and Authorizations Audit Information
System Users and Authorizations User Users by Complex Selection Criteria . From the
AIS role, you can also find different variations of this report under Users Who Are Authorized ,
which is in the menu path shown in the figure entitled RSUSR002 Report.
As an example of how you can use this report, view the reports under the audit menu by
choosing Users and Authorizations Audit Users Who Are Authorized . You see a list of
reports in which each transaction code is linked to the same report, that is, the Users by
Complex Selection Criteria report (program RSUSR002). However, each transaction code
has a different input to the report. It is important to notice the different ways in which you can
use this report to assist in your research and debugging of authorization issues.
Role Reports
Role reports enable you to find roles by various criteria, that is, by user assignment,
transaction codes, and authorization values.
As an example of how to use role reports, you have a display role for the financial area.
Additionally, you have roles for the various tasks that financial clerks require. You have a role
for maintaining vendor data and another role for maintaining customer data.
Assume that the accounts payable clerk can normally display most of the financial data (from
the display role), and also that the accounts payable clerk maintains the vendor data. This
clerk has just made an update to a critical customer. The authorizations should not have
allowed this clerk to make that update. Use reports By User Assignment and By Transaction
Assignment to help you determine why this clerk was able to make the update.
Profiles
As roles are created, profiles must be generated to support the roles. If the profile naming
convention is clear, profile reports can help you debug problems by looking directly at the
profiles.
Authorizations
Authorization reports enable you to find information on specific authorizations. For example,
in SAP Human Resources, infotype 0008 is basic pay. You use the reports in Authorizations
to determine all authorizations that enable someone to maintain basic pay data.
Authorization Objects
Authorization object reports enable you to research an authorization object. Perhaps you
need to research how an authorization is used, perhaps you need documentation on an
authorization object, or perhaps you need to know which authorization objects protect a
specific field, such as cost center.
Transactions
Transaction reports enable you to see who has access to which transaction codes. You can
research by user, profile, and authorization.
Comparison reports enable you to compare users, roles, profiles, and authorizations.
Additionally, you can perform comparisons across systems.
Comparison Report
The figure shows you how to compare two users within the same system, as well as across
systems.
Where-Used List
The Where-Used List reports enable you to research how profiles, authorizations, and
authorization objects are used. For example, you want to research one of the cost center
authorization objects, K_CSKS. With the help of this report, you can see where the object is
used by authorizations, profiles, users, and programs.
Change Documents
Use change documents to research who has changed users and how those users have been
changed.
If you encounter authorization errors in your system, or if you do not know which
authorizations are required to run a specific transaction or program, you can use the error
analysis tools shown in the figure Analyzing Authorization Checks to analyze these
authorization related problems:
Note:
For more information, see SAP Note 1671117 - SU53: Enhanced function and Web
Dynpro suitability.
To see what authorizations are currently in the user buffer, a user can use transaction SU56 to
display all of his or her authorizations (or the authorizations of another user). You can also call
transaction SU53 and choose Goto Entered Authorization in User Buffer .
System Trace
System or security administrators can also use the system trace tool (transaction
STAUTHTRACEor ST01) to debug any authorization issues. When the trace is activated, it
records each authorization object that is checked, and also records the fields and values of
the object. From the trace, you can see all checked authorization objects, the values which are
handed over to the check, and a return code. If the return code is 0, the authorization check is
successful.
To use the system trace, you must activate it in transaction STAUTHTRACEor ST01. When the
trace completes, you can analyze the results to see which authorization objects are being
checked and compare them with those assigned to the user.
The transaction code STAUTHTRACEprovides an optimized user interface for tracing
authorization checks. It works in the same way as the system trace in transaction code ST01,
however, the transaction STAUTHTRACEevaluates authorization checks only.
Note:
System trace increases work load in the system. Activate it only if necessary, and
be selective about who or what you trace. Deactivate system trace when you finish
tracing the activities of your user. As system trace is a system administration task,
we recommend that you restrict access to this transaction.
User SAP*
Securing SAP Standard Users
Clients 000, 001, and 066 are created when your SAP system is installed. Two special users
are defined in client 000. Since these users have standard names and standard passwords,
you must secure them against unauthorized use by outsiders who know of their existence.
The SAP system super user, SAP*, is the only user in the SAP system that does not require a
user master record. The master record is defined in the system code. SAP* has the password
PASS by default; it also has unlimited system access authorizations.
When you install your SAP system, a user master record is defined for SAP*. The presence of
an SAP* user master record deactivates the special properties of SAP*. It has only the
password and authorizations that are specified for it in the user master record.
To secure SAP* against misuse, SAP recommends that you change its password from the
standard PASS (after client copy). For security reasons, SAP recommends that you
deactivate SAP* and define your own super user (logon/no_automatic_user_sapstar).
DDIC is the maintenance user for the ABAP Dictionary and software logistics. The user master
record for user DDIC is automatically created for client 000 when you install your SAP
system. The system code allows user DDIC special privileges for certain operations, such as
transports.
To secure DDIC against unauthorized use, you must change the password for the user in the
client 000 at the end of the installation of your SAP system. Client 066 delivers the Early
Watch user and protects it using the password SUPPORT. SAP Early Watch experts use this
user, so do not delete it. This user should be used only for Early Watch functions (i.e.,
monitoring and performance).
Securing User SAP*
The SAP system has a default super user, SAP*, defined in client 000. A user master record is
defined for SAP* when the system is installed. However, SAP* is programmed in the system
kernel and does not require a user master record.
If a user master record exists for SAP*, then SAP* behaves like a normal user. It is subject
to authorization checks and its password can be changed.
Note:
If you want to deactivate the special properties of SAP*, set the system profile
parameter logon/no_automatic_user_sapstar to a value greater than zero. This is
the default as of NW Application Server 7.0. If this parameter is set, SAP* has no
special default properties. If there is no SAP* user master record, SAP* cannot be
used to log on. Set the parameter in the global system profile, DEFAULT.PFL, so
that it is effective in all instances of an SAP system.
Ensure that there is a user master record for SAP* even if you set the parameter.
Otherwise, resetting the parameter to the value 0 would once again allow you to
log on with SAP*, the password PASS, and unrestricted system authorizations.
In the SAP* user master data, proceed as follows to deactivate user SAP*:
1. Create a user master record for SAP* in all new clients. Do not assign any roles or profiles
to this user.
1. To define a super user to replace SAP*, give the SAP_ALL profile to a user. SAP_ALL
contains all SAP authorizations, including any new authorizations released in the
SAP_NEW profile.
Hint:
SAP_NEW ensures upward compatibility of authorizations. The profile
ensures that users are not inconvenienced when a release or update includes
new authorization checks for functions that were previously unprotected.
LESSON SUMMARY
You should now be able to:
LESSON OVERVIEW
This lesson explains how to secure critical authorizations and control the program
development and debugging.
Business Example
Your company is reviewing security policies. You need to ensure that your company has
policies on segregation of duties (SoD), and you need to check whether those policies are
correctly implemented. For this reason, you require the following knowledge:
LESSON OBJECTIVES
After completing this lesson, you will be able to:
In the example shown in the figure, if a user has access to execute transaction codes ME51N,
ME21N, MIGO, and MIRO, there is a problem with SoD that is a violation of the company policy
on SoD.
The following transaction codes used in purchasing help you to examine SoD:
ME51N
This transaction is used to create a purchase requisition.
ME21N
This transaction is used to create a purchase order.
MIGO
This transaction is used to create a goods receipt.
MIRO
This transaction is used to create an invoice.
Once your company designates a policy on SoD, you can use the report, List of Users with
Critical Authorizations.
To access the report on the SAP Easy Accessscreen, choose Users and Authorizations Audit
Information System Users and Authorizations User With Critical Authorizations .
You can configure this report to include the transaction codes and/or authorization objects
that interest you.
List of Users with Critical Authorizations (report RSUSR008_009) can be found in SUIM.
Note:
The User Information System provides the RSUSR008_009_NEW report, which is
a system-dependent option to control SoD violations. SAP_RSUSR009 is a variant
provided by SAP that has some basic relevant critical authorizations.
Business templates for combinations of critical authorizations are not delivered in
SAP. To get these templates, and to control SoD violations across system
boundaries, SAP offers the SAP solutions for Governance Risk and Compliance
(GRC).
Note:
The RSUSR008_009_NEW report replaces the RSUSR008 and RSUSR009
reports.
Improved performance
Improved user-friendliness
You can continue to use the old reports RSUSR008 and RSUSR009 in versions
prior to SAP Web AS 6.40.
The List of Users with Critical Authorizations report (RSUSSR008_009) can be used to check
which users have critical authorizations, based on the critical authorization/combination
variants defined in the system.
The critical authorization variant is made up of the Authorization ID, and the ID contains
authorization data (authorization objects, fields, and values).
SAP delivers a critical authorization variant, SAP_RSUSR009, which contains some basic
critical authorizations. You can configure your own variants as well, based on the transaction
combinations that are critical for your company.
After you get the list of critical transaction code combinations from business users, you can
configure those combinations within the RSUSR008_009_NEW report.
RSUSR008_009_NEW report checks authorization object S_TCODE to see which transaction
codes a user can execute and/or checks for the authorization values. The security
administrator can create the authorization values to check whether the right authorization
values have been assigned. In addition to providing the authorization object, field, and value,
you need to provide an ID, for which you can choose any name.
The figure shows how to define critical authorizations and the associated authorization data.
The figure shows how to combine the critical authorizations into a variant and how to perform
the evaluation with the new variant.
To maintain critical combinations, create a combination, and then assign the IDs of critical
authorizations to the combination. Using the RSUSR008_009_NEW report, then create a
variant for this combination.
You use S_DEVELOP authorization object to grant access authorizations to the following
ABAP Workbench components:
Function Library
Form Builder
Enhancements
Switch Framework
DEVCLASS Package
OBJTYPE Object Type
OBJNAME Object Name
P_GROUP Authorization group ABAP Program
ACTVT Activity
LESSON SUMMARY
You should now be able to:
LESSON OVERVIEW
This lesson explains how to check and secure the system by login-related parameters. It also
discusses the authorization and security concepts for logon based on the login-related
parameters.
Business Example
Your company is reviewing security policies. You need to keep in mind which policies relate to
password control and other logon rules. You need to check valid authorization for the user ID.
For this reason, you require the following knowledge:
LESSON OBJECTIVES
After completing this lesson, you will be able to:
You can use several logon-related profile parameters to assist you in your security
implementation. These parameters are assigned by default to SAP values, which can be
changed by the system administrator.
There are various profile parameters which you can use to set logon rules. To display the
documentation for a parameter, specify the parameter name in the maintenance transaction
for profile parameters using transaction RZ11, and choose the Display button. On the next
screen, choose the Documentation button.
Note:
With every new release, SAP provides new functions in the security environment.
If your company upgrades to a new release, you can search it using the
transaction RZ11 for all the parameters starting with login*. A brand new
parameter may meet your security demand.
Parameter Function
login/password_expiration_time This parameter defines the validity period of pass-
words.
login/password_change_for_SSO If the user logs on with Single Sign-On (SSO), this pa-
rameter checks whether the user must change its
password.
Note:
Transaction RSPFPARcan also be used to display the profile parameters.
Security Policy
Sometimes users require a different security policy for log on and passwords than the default
values. For example, powerful users such as administrators should have passwords with a
higher level of protection than standard users. Such users should be forced to change their
passwords more often or have more complex rules for their passwords. However, such
requirements, if applied widely, can cause an increase in help desk requests if you force
standard users to comply with such requirements.
Use this field to choose a security policy for the user. Otherwise the user uses the standard
security policy.
With this procedure, you create security policies with attributes, for which you explicitly do
not want to use the default value. For example, you assign a new security policy called Digits,
and change, as described below, the standard value for the MIN_PASSWORD_DIGITS
attribute from 0 to 4. The new security policy Digits then uses the standard values for all
security policy attributes, with the exception of the MIN_PASSWORD_DIGITSattribute.
Note:
You can also create a security policy without defining attributes. This policy then
uses the default values for all security policy attributes.
3. Enter a name in the Security Policy field and a description in the Short Text field.
5. Select the security policy, and double-click the Attributes node again. The change view for
attributes appears.
7. In the Policy Attribute Name field, enter, for example using the input help a security policy
attribute and, in the Attribute Value field, a value.
- RFID-based authentication
- Hardware security module support
In addition to these capabilities, SAP SSO supports multiple authentication modes. The
modes include:
Single sign-on
- Authenticate once to an authentication server (Active Directory, AS ABAP, and so on).
- A security token confirms identity for each subsequent login to business applications.
Multiple sign-on
- User authenticates each time when accessing a business application.
- Authentication is performed against a central authentication server, not the business
application itself.
Multi-factor authentication
- In addition to knowledge of information (password), authentication requires a physical
element (possession of mobile phone, RSA SecurID card, and so on).
These key capabilities and supported authentication modes provide the framework for SAP
SSO to support authentication scenarios with Microsoft Windows and Windows Domain
security, authentication with SAP, and third party applications using X.509 digital certificates,
authentication across organization scenarios with Identity Federation using Security
Assertion Markup Language (SAML) and SAP SSO for Mobile Devices using SAP
Authenticator. For additional information on these supported scenarios go to http://
help.sap.com/nwsso.
There are various mechanisms for authenticating users on the SAP NetWeaver platform with
SSO. Examples of these mechanisms include the following:
Logon Tickets
Client certificates
login/create_sso2_ticket
Permits the generation of SSO tickets.
login/password_change_for_SSO
Mandatory password change when using SSO.
Note:
SAP recommends that customers do not implement new end-user single sign-on
solutions based on SAP Logon Tickets. SAP Logon Tickets are no longer
considered a strategic technology for SAP. They have transitioned into
maintenance mode and will not be extended or enhanced.
Customers should replace SAP Logon Ticket technology with industry and
technology standards such as Kerberos/SPNEGO, X.509 certificates and Security
Assertion Markup Language (SAML) tokens where technically possible.
Customers can use the SAP Single Sign-On solution which supports these
standards.
Refer to SAP Note 2117110 - Recommendation to Replace SAP Logon Tickets with
SAP Single Sign-On Solution
SSO mechanism and configurations are covered in the course ADM960 - SAP
NetWeaver Application Server Security.
Hint:
For a detailed explanation of the parameter settings for each supported scenario,
see the SAP SSO Implementation Guide: http://help.sap.com/download/
sapsso/secure_login_impl_guide_en.pdf
LESSON SUMMARY
You should now be able to:
LESSON OVERVIEW
This lesson describes the fundamental information about the User Management Engine
(UME) and explain the users and UME group concept in the SAP NetWeaver Application
Server for Java of a dual stack SAP system.
Business Example
Your company is running a dual stack system with both ABAP and Java. As a member of the
security team, you have to understand the UME and understand how the user and roles in
SAP NetWeaver AS for ABAP relate to those of SAP NetWeaver AS for Java.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
In many SAP solutions (for example, SAP Solution Manager 7.1), it is mandatory to use the
SAP NetWeaver Application Server for Java and the ABAP stack together. If you use both
ABAP and Java runtime environments together, the UME of the SAP NetWeaver AS for Java
points to a client of the ABAP system with help from the default UME.
SAP NetWeaver AS for Java provides an open architecture supported by service providers for
the storage of user and group data.
The SAP NetWeaver AS for Java is supplied with the following service providers (user store):
UME provider
This is used to provide connection of the integrated UME.
The DBMS and UDDI providers implement standards and therefore ensure that SAP
NetWeaver AS for Java is Java 2 Enterprise Edition (J2EE)-compliant. When SAP NetWeaver
AS for Java is installed, SAP’s own UME is always set up as the user store and is the preferred
choice for most SAP customers. The UME is the only way to flexibly set up and operate user
and authorization concepts.
Some important features of the UME are as follows:
The UME has its own administration console for administering users. It allows the
administrator to perform routine tasks of user administration, such as creating users and
groups, assigning roles, and other actions.
The UME provides security settings that can be used to define password policies, such as
minimum password length and the number of incorrect logon attempts before a user is
locked.
The UME uses an export or import mechanism by which user data can be exchanged with
other (SAP NetWeaver AS Java or external) systems.
The UME logs important security events, such as a user’s successful logons or incorrect
logon attempts, and changes to user data, groups, and roles.
Hint:
The communication between the UME and the ABAP user management in a dual
stack system is performed with the SAPJSF user. After an installation, the
SAPJSF user has the ABAP role SAP_BC_JSF_COMMUNICATION_RO, which
provides read access from the UME to the ABAP user management. To provide
write access to the user, add the role SAP_BC_JSF_COMMUNICATION.
UME Groups
Users created in ABAP can be seen in the UME and PFCG. If you assign a PFCG role to a user
in the ABAP system, you can see it in the UME group.
Additional information can be found in the SAP NetWeaver Application Server for Java
Security Guide by going to https://help.sap.com/saphelp_nw74/helpdata/en/57/
d8bfcf38f66f48b95ce1f52b3f5184/frameset.htm
LESSON SUMMARY
You should now be able to:
Learning Assessment
X True
X False
X C To change default values so that they are appropriate for all the roles that use the
same transaction
X D To correct authorization objects that are not linked to the transaction codes
correctly
3. Which of the following reports can be found in the User Information System?
Choose the correct answers.
X A User overview
X B Authorizations
X C Audit logs
X D Change documents
4. DDIC is the maintenance user for the ABAP Dictionary and software logistics.
Determine whether this statement is true or false.
X True
X False
5. Which of the following are characteristics of the default super user SAP*?
Choose the correct answers.
X A To secure SAP* against unauthorized use, delete the user from transaction SU01.
X True
X False
X C To change default values so that they are appropriate for all the roles that use the
same transaction
X D To correct authorization objects that are not linked to the transaction codes
correctly
3. Which of the following reports can be found in the User Information System?
Choose the correct answers.
X A User overview
X B Authorizations
X C Audit logs
X D Change documents
4. DDIC is the maintenance user for the ABAP Dictionary and software logistics.
Determine whether this statement is true or false.
X True
X False
5. Which of the following are characteristics of the default super user SAP*?
Choose the correct answers.
X A To secure SAP* against unauthorized use, delete the user from transaction SU01.
Lesson 1
Configuring and Using the Security Audit Log 88
Lesson 2
Monitoring AS ABAP Using Logs 99
UNIT OBJECTIVES
LESSON OVERVIEW
This lesson describes the configuration and usage of the Security Audit Log. It gives examples
of how to use the log and what to look for when reading the log.
In addition, this lesson introduces the options for monitoring security alerts available with
Technical Monitoring via SAP Solution Manager, or from Computer Center Management
System (CCMS). In this class, we will focus on how to use the CCMS monitoring tools using
transaction RZ20 to monitor security-related alerts in one or more SAP systems.
Business Example
While auditing your system, you want to start by discovering the types of actions occurring on
the system. You are interested in logons by users, logons by remote users, and the start of a
specific transaction.
The security audit log can assist you in discovering the activities occurring on your SAP
system.
You can set up Security Auditing in AS ABAP and define filters to monitor specific clients or
individuals and include those system activities that interest you. With security auditing
enabled, auditors can use the AIS tools to investigate specific security problems or events.
You want to monitor the Security Audit Log within the context of your entire landscape. If
there are problems, you want to be alerted about them. Computer Center Management
System provides monitors that, when configured, raise alerts when certain events that
indicate when security-sensitive activity or security breaches occur.
Custom security monitors can watch for such activities across system boundaries and
throughout an entire solution landscape. For this reason, you require the following knowledge:
LESSON OBJECTIVES
After completing this lesson, you will be able to:
To record information that provides a higher level of transparency (for example, successful
and unsuccessful logon attempts)
To record information that enables the reconstruction of a series of events (for example,
successful or unsuccessful transaction starts)
You can record the following information in the Security Audit Log:
Successful and unsuccessful dialog logon attempts
The Security Audit Log keeps a record of security-related activities in SAP systems. The SAP
system records this information daily in an audit file on each application server. To determine
what information is written to this file, the audit log uses filters that are stored in memory in a
control block.
When an event occurs that matches an active filter (for example, a transaction start), the
audit log generates a corresponding audit message and writes it to the audit file. A
corresponding alert is also sent to the CCMS alert monitor. Details of the events are provided
in the Security Audit Log’s audit analysis report, as shown in the figure.
Caution:
SAP systems maintain their audit logs on a daily basis. The system does not
delete or overwrite audit files from previous days; it keeps the files until you
manually delete them.
Due to the amount of information that can accumulate, you must archive these
files on a regular schedule and delete the originals from the application server.
Use transaction SM18to archive or delete old audit log files.
Terminal name
Transaction code
Report name
Process ID
Session number
Miscellaneous information
You define the maximum size of the audit file in the rsau/max_diskspace/local profile
parameter. The default value is 1 megabyte (MB), or 1,000,000 bytes. When the maximum
size is reached, the auditing process stops.
Note:
To observe the configuration, use your power user ADM950-##. To look at the log
from the perspective of the auditor, use the audit user GRP##-AUDIT
Users who work on the audit log have the following responsibilities:
The system administrator or the security administrator configures the audit log.
The system auditors and the security administrators use the audit log.
The system administrator or the security administrator defines the events you want to audit,
in filters. The SAP system stores this information control block, which is located in the
application server’s shared memory. The SAP system uses this information to determine
which audit messages should be written to the audit file.
User
Audit class
Events
RFC/CPIC logon
RFC
Transaction start
Report start
You specify the information you want to audit in filters that you can either:
Create and save filters permanently in the database
If you decide to create and save filters permanently in the database by using static filters, all
of the application servers use identical filters to determine which events should be recorded in
the audit log. You have to define the filters only once for all application servers. You can also
define several different profiles that you can activate alternatively.
Note:
When using a static filter, you must restart the instance before the filter is set to
active.
You can dynamically change the filters that are used to select the events to audit. The system
distributes these changes to all active application servers. You do not need to restart the
instance for the filters to be active. Dynamic filters are not saved for reuse after the system
stops or starts.
The figure shows the screen that is used to configure dynamic security audit filters.
Dynamic filters enable you to respond to real-time events in your system environment, setting
traps that can assist you in addressing a security problem. With dynamic filter, you can
dynamically change the filters used for selecting the events to audit. The system distributes
these changes to all active application servers.
Defining Filters
In filters, you define the events that the security audit log should record.
Audit class (for example, dialog logon attempts or changes to user master records)
You can define filters that you can save in static profiles in the database (refer to the
procedure for maintaining static profiles), or you can define them dynamically for one or more
application servers (refer to the procedure for setting dynamic filters).
The Security Audit Log generates an audit analysis report that contains audited activities. Use
the audit analysis report to analyze the events that have occurred and recorded on a local
server, a remote server, or all the servers in the SAP system.
The audit analysis report generated by the Security Audit Log is similar to the system log. You
can view the contents of the audit files from the audit analysis report. When viewing the audit
log, you can use the Detail Sel. button on the Events tab page to determine which specific
events to record. You can also use the Detail Sel. button to observe which events SAP
considers critical, severe, or noncritical.
When reading the Security Audit Log, you can use transaction SM20. The menu path in the AIS
is System Audit Top 10 Security Reports Security Audit Log Assessment .
Note:
SAP recommends that you archive your audit files on a regular basis and delete
the original files as necessary.
You can either delete the files from all application servers or only from the local server where
you are working. If an application server is not currently active, it will be included in the next
reorganization.
2. Enter the minimum age of the files to delete. The default value is 30 days.
Note:
The default value must be more than 3.
3. Select the To all active instances checkbox to delete the audit files from all application
servers. Do not select the checkbox if you want to delete only the files on the local
application server.
4. Select the Simulation only checkbox if you do not actually want to delete the files. In this
case, the action is only simulated.
The system deletes the corresponding audit files unless you choose to simulate. You receive a
list that shows how many files were deleted and how many were retained on each application
server.
Caution:
This process deletes only audit log files. It does not perform any other
administrative tasks such as archiving. If archives are necessary for future
references, you must manually archive the files before deleting them. You cannot
delete files that are less than three days old.
Audit data
Statistical analysis
Contents
In the introductory information of the report, you find the selection options applied to the
audit file to generate the audit analysis report (for example, from date and time, to date and
time, users, and classes).
After the introductory information in the report, the audit data is shown. The audit data
contains information about each audit event found in the audit file that applies to your
selection criteria depending on your display configuration.
The audit data contains the following information for each audit event found in the audit
file:
Date
Time
Instance
Message number
Audit class code (for example, a dialog logon attempt belongs to the class number 002.)
User
Transaction code
Terminal number
Summary information is included at the end of the audit data (for example, the number of
records read, number of records selected, and audit file names).
If you select the With statistical analysis checkbox in the display options, a statistical analysis
completes the report with more detailed information.
Client statistics
Report statistics
Transaction statistics
User statistics
Message statistics
When viewing the audit log, all the tools in the ABAP list viewer are available. You can sort the
report by user, transaction code, or message, and you can filter to look only at specific data.
You can also change the layout and download the data to Microsoft Excel. The format of
transaction SM20Nprovides you with all the tools you need to manipulate the report to meet
your needs.
To view details about a specific message, right-click the entry and choose Edit Details. This
displays a detailed description of the message, including information, such as the task name,
class, message documentation, and technical details of the audit record.
2. Enter any restrictions you want to apply to the audit analysis report in the appropriate
fields or by selecting the desired indicators (for example, From date/time , To date/time ,
User, Transaction , Audit classes , or Events to select).
Hint:
Events are classified into three categories: critical, important, and noncritical.
Critical events are the most important. You can view only critical events,
critical and severe events, or all events.
4. To read the security audit log, choose one of the following options:
Choose Security Audit Log Re-read audit log to initially read or to replace a
previously read log.
Choose Security Audit Log Re-display to view only the last audit log you read. For
example, you can change the Selection options to modify the audit analysis report
without having to re-read the log.
Choose Security Audit Log Read audit log to merge new information using different
selection criteria with the current information in the audit analysis report.
The result is the audit analysis report containing the messages that correspond to your
selection criteria. By selecting an individual message, you can view more detailed information.
LESSON SUMMARY
You should now be able to:
LESSON OVERVIEW
This lesson explains the logs that you can use to monitor various applications running in AS
ABAP. Auditors typically do not themselves use these logs, but you need to ensure that
access to these logs is configured appropriately and assigned to the right person.
Business Example
Many logs are written throughout SAP systems. You need to know which logs to use to ensure
that access is appropriately granted. For this reason, you require the following knowledge:
An understanding of how to use SAP logs to support audit controls and monitoring
LESSON OBJECTIVES
After completing this lesson, you will be able to:
Application Log
However, you must be able to answer the following questions about an application log:
What is an application log?
An application log includes application messages, just like the system log includes system
messages. Application logs are used heavily in SAP Business Suite and SAP Business
Warehouse Management. The application log traces application events and tasks, and reports
on their activity (for example, transfer of data from SAP ERP Central Component (ECC) to
SAP APO).
The application log traces the user who initiated the transfer, the time when the transfer was
made, and the items that were transferred. The application log provides a detailed error
message for queues with errors.
The developer (or an application expert who has the knowledge) uses the application log for
troubleshooting and to monitor the daily operation. You analyze the application log using
transaction SLG1.
Application logging records the progress of the execution of an application; this allows you to
reconstruct the execution later, if required. The system log records only system events, and
the application log records only application-specific events. Use transaction SLG0 to define
entries for your own applications in the application log, and use transaction SLG1 to analyze
the application log.
The application log is a table structure consisting of several tables. Applications write their
entries to these tables using SAP function modules. These modules are protected by the SAP
authorization concept. To understand the application log, you first need to understand the
application process that writes data into the log.
For more information about application processing and the application log, see https://
help.sap.com/viewer/fe143c646c5510148906c2564726e947/7.02.22/en-US/
2afa0216493111d182b70000e829fbfe.html . On the portal, search for BC Extended
Applications Functions Library Create application log .
Note:
You can use transaction SLG2 to delete old application logs.
From a system auditor’s perspective, the application log contains specific messages for an
application. If you are not an expert in the application, you might not understand individual
messages. However, you must ensure that someone in the application is monitoring
messages and responding to them in an appropriate manner.
WebFlow/Workflow Logging
As a security auditor or an administrator, it is not your job to monitor the WebFlow logs.
However, you should have a basic knowledge of the logs.
You must be able to answer the following questions about WebFlow logs:
What is a WebFlow log?
The WebFlow log (or workflow log) includes all activities that have occurred due to the
execution of the workflow. It includes each step in the workflow, the user who executed the
step, the action that occured, and the time frame in which the execution took place.
The workflow administrator who is responsible for the workflow uses the WebFlow log. Each
user who participates in the WebFlow can also look at logs in the Business Workplace. To view
logs, choose Office Workplace . To analyze the workflow log, use transactions SWI5,
SWI2_FREQ, and SWI1.
You use the WebFlow Engine in SAP Business Workflow to automate business processes.
These processes can be simple release or approval procedures, or more complex business
processes, such as the creation of a material master and the associated coordination of the
departments involved.
The WebFlow Engine is suitable for situations in which work processes run repeatedly, or for
situations in which the business process requires the involvement of many agents in a specific
sequence.
You also use the WebFlow Engine to respond to errors and exceptions in other existing
business processes. You can start a workflow when predefined events occur, for example, an
event can be triggered if an automatic check finds particular errors.
SAP provides several workflows that map predefined business processes. These workflows
do not require much configuration. The WebFlow Engine uses the existing transactions and
functions of the SAP system; it does not change those functions. You can combine the
existing functions of the SAP system to form new business processes with the WebFlow
Engine. The workflow system controls business processes.
The technology and tools required to automate the control and processing of cross-
application processes are included in the SAP Business Workflow functions to provide logging
and analysis functions. These activities are not used in application logging.
The analysis functions in SAP Business Workflow are also protected by the SAP authorization
concept.
As the auditor, your job is to ensure that someone is monitoring the workflow log. You also
ensure that there are no old and incomplete workflows. To completely understand the
workflow log, you need workflow experience; however, you can use the log to observe how
many workflows are executing. You must ensure that someone is monitoring the log.
Hint:
For a more detailed look at SAP Workflow monitoring see Monitoring, Analysis
and Troubleshooting Workflow at https://help.sap.com/viewer/
fe143c646c5510148906c2564726e947/7.02.22/en-US/
2afa0216493111d182b70000e829fbfe.html
You must be able to answer the following questions about change documents:
What is a change documents log?
Changes are logged as they occur in many applications in the SAP system.
Purchasing
Materials management
Users who use the application daily can review the changes in a change documents log.
Change documents are stored on several tables. The header table is CDHDR. Each
application has its own transaction to review change documents, for example, MM04for
material changes and VD04 for customer changes. Normally, the menu option is Display
Changes.
The data in an SAP system frequently changes. It is often useful, or even necessary, to be able
to trace the changes made. If changes are logged, you can find out what was changed, when it
was changed, and how the change was made at any time. This can sometimes simplify the
analysis of errors. In Financial Accounting, for example, change documents are used to
facilitate auditing.
A change document tracks changes to an SAP object. The change document is created
independently of the actual database change.
Data was deleted. (Log entry for the whole table record).
To view change documents for an object, you can also use the transaction SCDO.
For more information about change documents, see https://help.sap.com/viewer/
c14d25a8f471453590980dbb47a2aa0e/7.4.15/en-US/
48d1c0eff6c96745e10000000a421937.html?q=change%20documents .
What do change documents mean to you, the system auditor? Because change documents
are used so heavily in an SAP ECC system, they can help you to debug authorization errors.
As each change is recorded, you can quickly ascertain who has been making changes to the
data.
This ability can be critical in discovering why a change was made that perhaps should not
have been made. From the AIS role, you can use Repository/Tables Audit Change
Documents Display Change Documents to review the changes that have been made.
Table Logging
Your analysis of logged Customizing objects allows you to answer the following questions
about Customizing setting changes:
Who made a change?
Logs are analyzed by object, which means that the changes can be shown in their
Customizing context, not just technically at the table level. You can delete or archive the
change logs. If you archive the change logs, ensure that the analysis includes the archived
change logs.
Caution:
For performance reasons, production data changes should not be logged.
You should be able to answer the following questions about logging changes to table
data:
What is the table changes log?
You can turn on logging for specific tables and use a table changes log to monitor changes to
the data in the table. Power users who are monitoring the changed data can review the table
changes log. The table changes log is available using transaction SCU3.
You use the logging flag to define whether changes to the data records of a table should be
logged. If logging is switched on, each change to an existing data record (with UPDATE or
DELETE) by the user or the application program is recorded in the database in the log table
DBTABPRT.
It is recommended that you activate the logging of changes to table data for those tables that
are critical or susceptible to audits. You must activate this logging explicitly.
In the technical settings (use transaction SE13), set the Log data changes flag for those
tables that you want to have logged.
Note:
To activate table logging completely, you also have to activate it for changes to
table entries coming within transports. Otherwise, table logging is incomplete. You
can control this setting using the rec_client for tp parameter.
Another option to activate the logging in transport is to make the entry,
r3transoptions = recclient="XXX", in the transport control profile. The XXX entry
can have the same value as the profile parameter rec/client.
Caution:
Logging slows down accesses that change the table. First, a record must be
written in the log table for each change. Second, several users access this log
table in parallel. This can cause lock situations, even though the users are
working with different application tables.
If both of these conditions are met, the database logs table changes in the DBTABPRT table. It
is not sufficient to set only the Log data changes flag for recording table changes. You must
also set the rec/client parameter.
Note:
Although SAP delivers predefined settings, you generally have to modify them to
meet your requirements. Use the RSTBHIST report to obtain a list of those tables
that are currently set to be logged. Use transaction SE13 to change the Log data
changes flag for these or other tables.
What does table logging mean to you, the system auditor? Specific table logging can be
helpful to you during an audit. If you care about high-profile tables, such as critical IMG
configuration tables, use the table log to ascertain how the table is being changed and who is
making the changes. Logging can have a significant impact on performance, so it should be
performed on an as-needed basis.
2. Enter the name of the table whose log settings you want to check.
Hint:
All Customizing tables are automatically recorded by default.
In the IMG logging, you can list the tables with automatic change logging. To record table
changes automatically, allow data change logging.
For more information about logging changes to tables, see SAP Notes 1916 and 112388. SAP
Note 112388 provides guidelines on which tables to log from an FI perspective.
For more information about the activation of table logging, see https://help.sap.com/viewer/
795d2aa039194a87a7eca419d4b950eb/7.3.15/en-US/d36bc334-c9bc-4a52-
bb2d-314c7547913d.html?q=table%20change%20logging .
Transport Logs
This section discusses the logs made with the Change and Transport System and it
answers the following questions:
What are transport system logs?
There are several ways to monitor transport activities in an SAP system using the Transport
Management System (TMS). The following list provides a brief overview of each of these
options:
Transport Logs
The transport logs are stored in the subdirectory logs of the transport directory, for
example \usr\sap\trans\logs. You can open the transport logs in the display of transport
requests (transactions SE01 or SE09), in the import queue, or directly in the file system.
Computing Center Management System (CCMS) Alert Monitor and Technical Monitoring
with Solution Manager
CCMS and Technical Monitoring display alerts from different areas of the system,
including the Transport Management System.
Import History
The import history provides an overview of all imports into the SAP system.
Export History
The export history provides an overview of all exports into the SAP system.
A transport system log monitors all the changes that are migrated from development to
production. The user makes the changes and the system administrator monitors these logs.
Users can view the logs using transactions SE09 and SE10. You can also view the logs at the
operating system where they are physically held (/usr/sap/trans).
It is important to keep track of all the changes made to your production system. In addition to
application logging, change documents, and table recording, any changes that you make to
your production system using the Change and Transport System are documented in
transport logs.
Note:
Because the transport directory is a central location that contains most of the
transport information, SAP recommends that you regularly archive its contents
and keep the archives for auditing purposes.
In addition, the SAP system version management records a history of changes made to
repository objects (programs and Data Dictionary objects).
What do transport logs mean to you, the system auditor? Transport logs will be most helpful
for specific issues you need to debug. For example, a problem occurs in production. The
problem is related to a change in the IMG configuration. You can use the transport logs to
determine what was recently transported, what changes were made by the transports, and
why the changes were implemented.
Hint:
For more information on monitoring transport activities, see SAP NetWeaver
Application Server for ABAP Security Guide at https://help.sap.com/viewer/
864321b9b3dd487d94c70f6a007b0397/7.51.3/en-US/
de6b0d9ff34d11d3a6510000e835363f.html?q=monitoring%20transport
%20activities .
This section discusses the logs of changes made to user and authorization data, and it
answers the following questions:
What are user and authorization logs?
User and authorization logs record the changes that are made to users, authorizations, and
profiles. The security administrator monitors these logs. All SAP systems log changes are
made by a user administrator. As users and roles are created and maintained, all changes to
users, authorizations, and profiles are logged.
You can view the logs using transaction SUIM or in Information System under
Tools Administration User Maintenance Information System Change Documents.
You can also view the logs in the Audit Information System (AIS). For users, you can see the
creation, deletion, locking, and profile changes.
What do user change logs mean to you, the system auditor? You use these change logs often
to detect the users who have been changed and the roles that have been changed. These
change logs are the logs you access most frequently.
As of SAP NetWeaver 7.5, changes in the software architecture of authorization maintenance
have eliminated the limit in the number of profiles that you can assign to a user or to the
number of values a generated PFCG authorization can have.
These changes in profiles and authorization values have changed the tables for these
elements in the following ways:
1. Profile assignments used to be recorded in tables USR04 and UST04. Table USR04 is now
only used for some header information. Change logs are no longer recorded in USH04.
2. Authorization values used to be written in tables USR12 and UST12. Table USR12 is now
only used for some header information. Change logs are no longer recorded in USH12.
Change logs for profiles and authorization values are now recorded in the central change logs
(CDPOS, CDHDR, and related tables).
Typical Questions
The following questions might be of interest for an application that uses Read Access
Logging:
Who accessed the data of a given business entity (for example, a bank account)?
Did anyone search, for example, for VIPs who were admitted to hospital?
These questions can be answered using information about who accessed particular data
within a specified time frame.
Technically, this means that all remote API and UI infrastructures (that access the data) must
be enabled for logging. Read Access Logging is currently limited to the following channels.
Dynpro
Web Dynpro
Web services
When an application is started, the Read Access Logging configuration is read. It indicates
whether the current remote-enabled function module, Web service operation, or Web Dynpro
UI element is log-relevant, and to what extent.
Note:
The performance of your system depends upon the amount of data you log, as
well as the complexity of the conditions you specify for which data is logged.
Logging purpose
A way to classify each log entry: for example, "Finance records."
Logging domain
A way to classify and group each field that appears in a log entry: for example, "Finance -
Sales data".
Configuration
You configure Read Access Logging to determine what read access to data is logged and
under which conditions.
Enabling in client
By default, Read Access Logging is disabled. In each client in which you want to use Read
Access Logging, you have to enable it. You can create configurations for Read Access
logging even if it is not enabled, but the logging will be ignored.
Recordings
Manage recordings of application user interfaces such as Web Dynpro or Dynpro.
Read Access Logging configurations are the core of the setup and maintenance of Read
Access Logging. You can specify one or more configurations for the objects you want to log.
Logging purposes and logging domains are just ways to classify and organize logs and the
fields in them.
For each Read Access logging configuration, you specify the following:
A log context
A log context is the key field that other fields are related to within the logging session. For
example, the log context of a configuration for a HR application may be the employee
number.
You use the Read Access Logging Monitor to display the Read Access Log. You can run
transaction code SRALMONITORto open the Read Access Logging Monitor. Alternatively, you
can go to the Read Access Logging Manager (transaction code SRALMANAGER ) and choose
Read Access Log on the Monitor tab page.
LESSON SUMMARY
You should now be able to:
Learning Assessment
2. Which of the following can you specify in the security audit filter selection criteria?
Choose the correct answers.
X A Client
X B User
X C User Group
X D Audit Class
X E Events
3. The application log traces application events and tasks, and reports on the activities. If
there is a failure in the application, the application log provides detailed error messages.
Determine whether this statement is true or false.
X True
X False
4. The workflow log includes all activities due to the execution of the workflow. It includes
each step in the workflow, the user who executed the step, the action that occurred, and
the time frame in which the execution took place. The administrator must ensure that
there are no old and incomplete workflows.
Determine whether this statement is true or false.
X True
X False
5. Which of the following do you need to set up if you want to log changes to tables?
Choose the correct answers.
X B Select the Log Data Changes checkbox for the table you want to log
6. A change document tracks changes to an SAP object. Which of the following information
can be found in a change document item?
Choose the correct answers.
X A Change flag
X B Old value
X C New value
X D Authorization flag
7. Change documents record the changes that occur to users, authorizations, and profiles.
Determine whether this statement is true or false.
X True
X False
8. Which of the following can be used to monitor and log read access to classified or sensitive
data?
Choose the correct answer.
X A Change documents
X D System audit
2. Which of the following can you specify in the security audit filter selection criteria?
Choose the correct answers.
X A Client
X B User
X C User Group
X D Audit Class
X E Events
3. The application log traces application events and tasks, and reports on the activities. If
there is a failure in the application, the application log provides detailed error messages.
Determine whether this statement is true or false.
X True
X False
4. The workflow log includes all activities due to the execution of the workflow. It includes
each step in the workflow, the user who executed the step, the action that occurred, and
the time frame in which the execution took place. The administrator must ensure that
there are no old and incomplete workflows.
Determine whether this statement is true or false.
X True
X False
5. Which of the following do you need to set up if you want to log changes to tables?
Choose the correct answers.
X B Select the Log Data Changes checkbox for the table you want to log
6. A change document tracks changes to an SAP object. Which of the following information
can be found in a change document item?
Choose the correct answers.
X A Change flag
X B Old value
X C New value
X D Authorization flag
7. Change documents record the changes that occur to users, authorizations, and profiles.
Determine whether this statement is true or false.
X True
X False
8. Which of the following can be used to monitor and log read access to classified or sensitive
data?
Choose the correct answer.
X A Change documents
X D System audit
Lesson 1
Securing System Administration Services 123
Lesson 2
Securing External System Access and RFC Communications 141
UNIT OBJECTIVES
LESSON OVERVIEW
This lesson explains how to secure system administration tasks in production systems. It
includes tasks performed by power users or system administrators.
Some examples of such tasks include looking at background jobs, spool lists, downloading
data from SAP to spreadsheets, and system calls that are performed behind the scenes when
going outside the SAP system, such as creating a purchase order that goes to a vendor.
Business Example
Users execute many tasks that have an impact on system administration. All users need
some access to system administration authorization objects and some administration
transaction codes. For security reasons, you need to protect the system’s authorization
objects and the authorizations that can be accessed by users that are logged on to the
system. Only administrators and required persons should have the administrative powers
related to these objects and transaction codes.
As a security administrator or auditor, you need to understand what these tasks are and how
these tasks should be protected. For this reason, you require the following knowledge:
An understanding of how to identify security needs for desktop downloads and program
file input or output
LESSON OBJECTIVES
After completing this lesson, you will be able to:
Can users only create background jobs, or can they also release them?
Which users can monitor background jobs, and what level of access do they have to
background jobs?
S_BTCH_JOB
S_BTCH_NAM
S_BTCH_ADM
S_RZL_ADM
Hint:
If you want to see a specific example, check the Information Systems menu area.
Almost every transaction code available in the menu area enables the user to
schedule something in the background.
For a specific example, choose Information Systems Logistics Purchasing
Vendor Purchasing Values . Then, choose Vendor analysis Execute in
background .
No special authorizations are required to create background jobs. You can create a job
without any specific authorizations; however, the job is not released, in other words, it does
not execute.
To display a list of the people who can release or execute jobs, look for the S_BTCH_JOB
authorization object with the value RELE in the Job Action field.
Some companies give authorization to release background jobs immediately. This means that
a job is created and released for all users who have access through a transaction to execute
something in the background.
Other companies do not allow users to release jobs immediately. A user can schedule a job,
but someone else must review and release it. SAP supports both implementations. Company
policy should dictate who can release background jobs.
When a background job is created, it is scheduled to run under the user ID of the person who
scheduled the job. Thus, if you execute a report as an end user, the scheduled job will be
under your user ID. If you are a power user or an administrator using transaction SM36to
schedule background jobs, these jobs would also run under your user ID by default.
The figure shows a background job with two steps. Each step is executed using a specific user
ID. The user ID can either be the same or different for each step.
In the figure, the SMITHJO user ID is used to execute the financial report program,
RFDKVF00. Normally, you do not want a user for a job step to be the same user as the person
who created the job. SAP recommends that you define specific users for background
processing and define them as system users (nondialog). The user IDs that are created
should have only the authorizations required for the background jobs they need to run.
Some of the reasons to use specific user IDs for background jobs are as follows:
The user ID is stable; the user never changes jobs or departments.
The password does not need to be reset when using a system user ID.
The user ID is used only for background processing. No one can log on with this user ID.
Using specific system user for background jobs is recommended for several reasons. For
example, SMITHJO has scheduled a background job to check printing that runs every night. If
SMITHJO is transferred from the accounts payable department to the collections
department, SMITHJO should no longer have access to print checks, and the background job
should fail with SMITHJO’s new authorizations.
In addition, if SMITHJO leaves the company and the user ID is locked by the security
administrator, the background job would fail.
Setting up specific system users for background jobs assists with security administration and
maintenance of the background schedule.
The S_BTCH_NAM authorization object protects the user IDs that are used to execute job
steps. The User field contains the user IDs, which can be used to schedule jobs. In the
example, the user ID SMITHJO is listed in this field, which can be used to create, schedule, and
execute a background job.
For users who have access to transaction SM37to monitor jobs, ensure that security is set up
correctly. Some background jobs have spool requests as part of their output. This could
include invoices that need to be printed and mailed out, checks that need to be mailed,
paystubs, and so on.
If users execute background jobs and go to transaction SM37to monitor the jobs, they should
be able to see spool requests only from their own jobs and not other jobs.
The best way to ensure this is to give users access to transaction SM37, but no additional
access. It means they do not have access to S_BTCH_ADM or S_BTCH_NAM. If you grant
users access to use transaction SP02 to look at their spool request and also provide access to
transaction SM37to look at background jobs, the users need only the transaction code for
background jobs.
No additional authorizations are required. This enables users to see the background jobs and
look at a spool for their own background jobs only.
If user only need to get the authorization to display their own spool requests, it is sufficient to
assign them the transactions SM37and SP02 using the authorization object S_TCODE.
No other authorization objects are required to view the spool.
SAP provides the SAP_BC_BATCH_ADMIN role, which gives the access that is required for
background jobs. This role has the transaction codes and authorizations that are required to
administer background jobs.
To support the SAP_BC_BATCH_ADMIN role, authorizations are needed to the authorization
objects, S_BTCH_JOB, S_BTCH_NAM, S_BTCH_ADM, and S_RZL_ADM.
ABAP program
External command
External commands are predefined scripts, commands, or programs at the operating
system level. External commands are protected by authorizations so that end users can
schedule only those commands to which they are assigned. For example, an operator
needs to execute an external command from SAP ERP that tells her how much disk space
is free on a particular drive, while someone who works in purchasing may need to execute
an external command to determine if a file has arrived from a vendor or partner.
You do not need to log on to the operating system to execute the commands.
External program
External programs are unrestricted commands that are neither pre-defined or restricted
by authorizations. A user with administrator authorization can enter any of these in a job
step.
To include external commands and external programs in a background step, you must have
the activity 01 for the S_RZL_ADM authorization object. If the background job is using external
commands, you need to additionally maintain the S_LOG_COM authorization object. If the
background job is to use external commands or external programs, additional security is
required.
1. Define specific users for background processing. Define them as system users (non-
dialog), and give them only the authorizations that are needed for the executed programs.
2. Separate the authorizations needed for job definition and job execution. The end user can
define the job steps, but the administrator executes the job.
Note:
To define the job steps that run under a different user, you need an
authorization for the S_BTCH_NAM authorization object. You should give this
authorization only to the batch administrator.
3. Restrict the batch administrators to run job steps using the previously defined batch
users.
4. Ensure that the job steps cannot be executed using any of the super users (for example,
SAP* and DDIC).
1. Ensure that the values for the authorization objects are used appropriately.
2. A user with batch administrator privileges can do anything with the jobs in all clients (the
authorization object S_BTCH_ADM, the Batch administrator field is set to Y). Without this
authorization, users can work only on jobs in the client in which they are logged on.
3. All users can schedule, cancel, delete, or check the status of their own jobs with no
additional special authorizations.
Additional authorization objects are required for the following tasks:
4. Authorizations that allow a user to delete jobs or display information belonging to other
users are as follows:
Display the job definitions and spool lists belonging to other users (S_BTCH_JOB -
Action = SHOW).
5. For the execution of external commands within jobs, the user needs an authorization for
the S_LOG_COM object.
When looking at spool and printing, you should check a few things, including the
following:
Ensure that the management of physical printers and the spool system can be done only
by system administrators.
Define which action is allowed with the spool requests (authorization object S_SPO_ACT).
Define who is allowed to administer the spool system (authorization object S_ADMI_FCD).
The primary areas that you secure with printing include, who can create printers, who can
manage the spool system, what printers users can use, and what actions users can take with
the spool requests.
From an audit perspective, the process of securing printers is simplified if most users are
given access to transaction SP02 to manage their own spool requests. Users can access the
system menu with transaction SP02 by choosing System Own Spool Requests. The only
authorization object required with transaction SP02 is S_SPO_DEV.
S_SPO_DEV protects the printers that a user can access. You must take note of the sensitive
printers and verify which users can access them. Sensitive printers are used for check
printing, invoice printing, payroll checks, financial reports, and employee data.
Transaction SP02 is the safest way to ensure that users can look only at their own spool
requests.
System administrators and spool administrators need additional transaction codes and
access to S_ADMI_FCD and S_SPO_ACT.
Table 19: Authorization Objects Used to Protect Spool and Print Processing
Authorization Object Field Value
S_ADMI_FCD System Administration Func- SP01, SP0R, SPAA, SPAB,
tion SPAC, SPAD, SPAM, SPAR,
SPTD, and SPTR
The S_SPO_ACT authorization object is very powerful. This object is checked only when you
try to access a spool request that does not belong to your user ID. In the Value for
authorization check field, the value __USER__ gives someone access to all users spool
requests.
Caution:
Anyone who has the S_SPO_ACT authorization object with the value LIST in
combination with the S_ADMI_FCD authorization object with the values SP01 or
SPORcan look at the data for every spool request.
SAP provides a role for a spool administrator, named SAP_BC_SPOOL_ADMIN, that is a good
example of what a system administrator needs to have. The minimum transactions required
for spool administration include SP01, SPAD, SP11, SP12, and RZ20. The authorizations in this
role include authorizations for objects S_ADMI_FCD, S_RZL_ADM, S_SPO_ACT, S_SPO_DEV,
and S_SPO_PAGE.
S_SPO_PAGE is an authorization object that enables you to limit the number of pages a user
can print to a specific printer. You do not need to implement this authorization object. There
are no SAP recommended audit criteria for this authorization object.
External commands can include any command that you execute at the operating system.
The maintenance and execution of external commands are protected by SAP authorizations.
External commands can be executed in ABAP programs, in the background job steps, or by
using transaction SM49.
The creation and execution of external commands can be performed with the following
transaction codes:
SM49/ SM69
These transactions are used to maintain or execute external commands.
Caution:
Every user with either programmer or debugging authorizations can execute any
of the operating system commands as user <SID>adm (UNIX) or
SAPService<SID> (Windows).
An external command is an alias defined in the SAP system that represents an operating
system command. For example, you can define the ZPING external command, which
represents the operating system command ping to ping a host name.
You can modify these external commands and set up additional security mechanisms. You
can also extend the range of the predefined commands supplied by SAP with your own
commands and parameters. However, SAP command names in the customer's system
cannot be changed.
To maintain external commands, use transaction SM69. To maintain external commands, you
need to have the S_RZL_ADM authorization object with the value 01, 03 in the Activity field.
Users who execute external commands need to have the S_LOG_COM authorization
object in their user master records with the following fields defined:
Command (the name of the external command)
The Command and Opsystem fields are used to uniquely identify the external command. The
Host field defines the authorizations for executing commands on certain target computers.
Be restrictive when assigning authorizations for external commands. Administrators must
control who has the authorization based on the S_LOG_COM authorization object because
programs can be accessed at the operating system level.
The standard list download is accessed either from the menu path
System List Save Local file or through other implementations of function module
LIST_DOWNLOAD.
Application-specific implementations include Microsoft Excel like other mechanisms
applications use it to implement their own download methods, which they protect with their
own authorization objects. These implementations use function module DOWNLOAD or
function module WS_DOWNLOAD.
Although you cannot prevent a user from saving data from a displayed list to a file, for
example, by creating a screenshot and saving it in a separate file, the S_GUI authorization
object is used to assist with download security.
S_GUI protects which users can download lists. However, it applies only to the standard
download and not to application-specific implementations. Additionally, if a user can
download lists, they can download all lists.
For background jobs that run periodically, set up specific user IDs that are reserved only
for background processing.
SAP provides many roles and templates that can be used as a guideline for what users
need. Use those roles as a general guideline of the system access that a user may require.
Users in RFC destinations should be Communications or System users. Reserve these user
IDs for use for users in RFC destinations.
Keep track of all users who can look at the data of spool requests for all users
(S_ADMI_FCD and S_SPO_ACT).
Be aware of who can execute and create external commands (S_RZL_ADM and
S_LOG_COM).
The S_ADMI_FCD authorization object may contain authorization for following different
areas or functions in the system:
- System administration functions
- Spool administration
- SAPscript Font Maintenance
- TemSe Administration
- System monitoring
- Live cache administration
Possible Values for System Administration Functions Field of the S_ADMI_FCD Object
NADM
Network administration (using transactions SM54, SM55, SM58, and SM59)
PADM
Process administration (using transactions SM50, SM51, and SM04), interception of a
background job (debugging function in background job administration, transaction SM37)
SM02
SPAD
Authorization for spool administration in all clients
T000
Creation of new clients
SAP_USER_B is a template provided by SAP that includes basic system authorizations for
all users. This template does not include any access to S_ADMI_FCD.
The SAP_USER_B template contains the following authorization objects, among others:
S_RFC
S_DATASET
S_SPO_DEV
S_PROGRAM
S_TABU_DIS
The SAP_USER_B template might provide a few more or a few less authorization objects or
authorizations than your users need, but it is a good reference point. To evaluate
authorizations inside SAP templates, choose Users and Authorizations Audit Role
Administration Authorization Default Values for profile generator (customer data) , or enter
transaction code SU24 then choose Authorization Template .
LESSON SUMMARY
You should now be able to:
LESSON OBJECTIVES
After completing this lesson, you will be able to:
In today's application ecosystem, business scenarios are becoming more and more
integrated across different platforms and software solutions. To be effective, the integration
between these scenarios and their respective business processes needs to be seamless.
Customers, partners, suppliers, etc. are all becoming accustom to certain levels of access to
the data and functions provided by a companies SAP Applications. The ability to provide such
access improves customer to business and business to business communication. However,
the interfaces and communication mechanisms used to provide end to end service
capabilities may leave your company at risk for a unauthorized access to company data.
In the SAP environment, we often find SAP applications using the RFC interface to
communicate between SAP or external systems. For example, if your company has an SAP
Business Information Warehouse system as well as an SAP ECC system, the SAP ECC system
must use RFC’s to send data to the SAP BW system for analytical purpose.
RFC Destinations
SAP offers several interfaces that are based on the Remote Function Call (RFC) interface,
such as Application Link Enabling (ALE), Business Application Programming Interfaces
(BAPIs), and RFC function modules. In the SAP ERP system alone over 38,000 remote
enabled function modules are delivered to support a wide range of business scenarios and
business functions. To provide remote access to these interfaces and function modules, RFC
destinations are created which define where each system is located and how it can be
accessed.
As an administrator, you must ensure that access to all remote enabled function modules is
protected and that the communication between systems is secure.
Securing Access to Remote Function Modules (RFMs) with SAP Unified Connectivity
(UCON)
The traditional approach to securing remote access to function modules is based on securing
access to an RFC destination using authorization checks. This approach is critical and will be
discussed in more detail later. SAP Unified Connectivity (UCON) provides enhanced
protection by adding a layer of access checks that are independent of users, roles and
traditional authority checks involving the S_RFCauthorization object.
The basic strategy employed with UCON is to reduce the total number of Remote Function
Modules (RFMs) in your SAP applications that are exposed to external connectivity. Of the
over 38,000 RFMs provided by SAP ERP solutions, many companies only need to expose a
few hundred RFMs to support their configured business scenarios. UCON provides a
framework to identify which RFMs are being used and to block access to all the others.
Blocking access to unnecessary RFMs can significantly reduce the ability of a potential
attacker to gain access via RFC communications.
The UCON approach to RFC security is designed to enhance the protection already provided
in the NetWeaver AS ABAP basis layer. UCON incorporates and additional layer of access
checks independent of the users and roles to the standard authorizations provided via the
S_RFCauthorization object. As an outside user tries to access a remote function module on a
system where UCON is configured, additional access validation is performed to check if the
FRM in question is included in the default UCON component assembly. The component
assembly is generated after an evaluation of RFM usage to determine which RFM’s should be
available for external access.
If the RFM is not contained within the default assembly and exposed, the external access
attempt is terminated. If the RFM is contained in the default assembly and is exposed, access
is granted and the security validation moves to the standard AS ABAP authority checks
against standard authorization objects.
UCON checks do not interfere with internal calls within the same client and system.
1. Set the UCON/RFC/ACTIVE UCON profile parameter to value 1 to enable UCON runtime
validation checks for RFMs in the final phase.
2. Run the UCON setup to generate a default communication assembly (CA) and other
required entries.
3. Schedule the SAP_UCON_MANAGEMENTbatch job that selects and persists the RFC
statistic records that are required by the UCON phase tool on the database.
Once all prerequisites have been completed, UCON provides a three phase process and tool
set to help you determine which RFMs to expose and which need to be blocked. UCON
incorporates and additional layer of access checks independent of the standard
authorizations provided via the S_RFCauthorization object.
Phase 1: Logging
The first phase of the UCON process is to determine which RFMs are accessed from the
outside during a pre-defined period. All RFMs that have been called must be identified and
evaluated. The required timeframe will depend upon the scenarios and processes in use by
the customer. If all scenarios and/or processes typically run during a two month period then
logging should at least mirror that timeframe.
Once logging has completed, transaction /NUCONPHTLcan be used to display and filter the
results in order to determine which RFMs have been called. Next, each called RFM must be
evaluated further to determine whether or not the call is legitimate and related to productive
scenarios. SAP recommends that all identified RFMs be assigned to the default component
assembly (CA). Assignment to the default CA makes the RFMs exposed and available to be
called via RFC from outside the system.
Phase 2: Evaluation
It is critical to ensure that UCON checks do not interfere with productive customer scenarios.
Blocking access to legitimate external access calls would disrupt normal productive
operations. In the UCON evaluation phase, simulation of the UCON runtime checks ensures
that all needed RFMs have been properly exposed and are available to support productive
operations.
The evaluation phase should be long enough to ensure that all required connectivity scenarios
have sufficient time to run once. Include recurring and annual closing scenarios and also
include an adequate safety margin to ensure that all needed RFMs are identified.
At the end of the evaluation phase, the customer reviews all RFM calls to determine whether
all needed RFMs are assigned to the default CA. Any RFMs identified which are not a part of
the default CA can be added, ensuring that no required RFMs are overlooked prior to the
activation phase.
Phase 3: Activation
After the Evaluation phase, all needed RFMs should be contained in the default CA. In the
Activation phase runtime checks are activated by changing the phase assignment in the
UCON phase tool. Once active these checks ensure that only RFMs contained in the default
CA are accessible from outside the system.
Note:
UCON is lifecycle enabled, meaning that it supports the SAP Landscape concept.
UCON is configured in both the DEV and PRD environments. The default CA is
generated and configured initially in the DEV system and transported to PRD. The
PRD system collects the UCON logging and evaluation statistics which are
exported in a .csv file format and uploaded to DEV. Changes and updates to the
default CA are then made in DEV and an updated default CA is transported to
production and activated for real time checks.
Further, since new RFMs will present themselves from time to time, either through
product updates, custom development or third party products, UCON
automatically assigns new RFMs to the logging phase to begin data collection for
ongoing maintenance of the default CA.
LESSON SUMMARY
You should now be able to:
Learning Assessment
X A S_BTCH_JOB
X B S_SPO_DEV
X C S_BTCH_NAM
X D S_ADMI_FCD
X A S_BTCH_ADM
X B S_ADMI_FCD
X C S_EXT_ADM
X D S_LOG_COM
3. To properly secure external access to your SAP Applications the system administrator
should understand which of the following? Select all that apply.
Choose the correct answers.
X True
X False
5. SAP UCON check prohibits internal calls within the same client and system.
Determine whether this statement is true or false.
X True
X False
X A S_BTCH_JOB
X B S_SPO_DEV
X C S_BTCH_NAM
X D S_ADMI_FCD
X A S_BTCH_ADM
X B S_ADMI_FCD
X C S_EXT_ADM
X D S_LOG_COM
3. To properly secure external access to your SAP Applications the system administrator
should understand which of the following? Select all that apply.
Choose the correct answers.
The system administrator needs to understand which remote functions are needed for
productive operations, how to restrict access to remote functions that are not needed and
how to secure access to remote functions using the RFC interface.
X True
X False
5. SAP UCON check prohibits internal calls within the same client and system.
Determine whether this statement is true or false.
X True
X False
SAP UCON check does not prohibit internal calls within the same client and system.
Lesson 1
Securing Change Management 152
Lesson 2
Understanding Software Security Vulnerabilities 168
UNIT OBJECTIVES
LESSON OVERVIEW
This lesson explains change management from a security perspective. It also discusses
controls that should be in place before releasing changes to production.
Business Example
System security encompasses the guarantee that production is safe and continues to remain
safe as changes are moved from a development environment into a production environment.
Configuration and Customizing changes (working with the Implementation Guide) and
programming changes are major parts of any SAP implementation.
A single incorrect language statement in a new program, whether placed there intentionally or
accidentally, can cause irretrievable data loss in a production system. You are responsible for
reporting on system security as it relates to careful change management in your systems. For
this reason, you require the following knowledge:
LESSON OBJECTIVES
After completing this lesson, you will be able to:
To protect your production system from unwanted or incorrect changes, SAP recommends
that you take special care in separating your development system from the production
system. You must define policies and procedures for making changes and transporting them
into your production system. Avoid making changes in your production system.
In regard to your system landscape, SAP recommends a three-tier system landscape that
consists of separate development, quality assurance (QA), and production systems. The
three systems share a common transport directory. With this setup, you can thoroughly make
and test changes without interfering with your production operations. The figure shows the
recommended three-tier system landscape.
You thoroughly test changes in a separate QA system before they take effect in your
production system.
You control the point in time when changes take effect in the production system.
Note:
If you discover errors in the QA system that result in the need to make further
changes, SAP recommends that you make the changes in the development
system and import them again into the QA system.
Do not forget that in a development environment, users generally have more access. You
must mask sensitive data that is loaded into a development environment, for example,
employee data from your legacy system.
When setting up your SAP systems, the system administrator must check for the
following important settings:
Does this system allow changes to occur, and if so, what are the types of changes allowed?
Note:
Production systems do not allow changes.
Does the client allow changes to occur within each system, and if so, what types of
changes are allowed?
Where does the configuration and development work get performed, and how does it move
from one system to another, in other words, what is the transport route followed?
Use the Audit Information System (AIS) to verify that each of these settings is set up
appropriately.
System changes should be allowed only in development systems. From an audit perspective,
you want to ensure that all systems except the development system are set to Not modifiable .
On the AIS screen, choose System Audit SAP System Group Tools Set System
Change Option (or transaction SE06). In a non-development system, the Global Setting field
should be set to Not modifiable .
The Not modifiable setting is the first way to ensure that no development or configuration
(Implementation Guide) changes can occur on the development system.
If the system change options are set to Modifiable , you need to check the options for the
clients. Not all clients should allow changes to take place. In a development system, you may
have more than one client; however, configuration and development changes normally occur
in one client.
In a development system, you might have three clients, for example, a sandbox client, a
configuration or development client, and a unit test client. You can allow changes in the
sandbox and configuration or development clients, but users should not have the ability to
make configuration or development changes on a test client.
In a client that is used for development and configuration changes in Customizing, you need
to enable both types of changes to occur by selecting Automatic recording of changes and
Changes to Repository and cross-client Customizing allowed .
For a client in which unit testing is performed, no changes should be allowed for configuration
or development.
To check these settings, choose System Audit SAP System Group Tools Set System
Change Option. Then, choose the Client Setting pushbutton. From there, you can double-click
any client to view client settings (transaction SCC4).
Transports
Transport routes define where changes are made and how the changes migrate through the
system landscape after they have been released.
Hint:
You can access the log files using the Workbench Organizer in the request
hierarchy.
The activities and steps involved in SAP transport management are as follows:
1. Release the change request that contains your objects using either transaction SE09 or
SE10.
2. Review the log files to make sure that the export was successful. If any errors occur,
correct them before continuing.
4. Review the log files created by the transport management system (TMS).
5. Test your imports thoroughly. If errors occur, repair the objects in the source system and
re-export them into the QA system.
Individuals involved when working with changes moving from development to production
system are as follows:
1. The person creating the change request, releasing the request, and verifying the logs
Companies organize these job roles differently. In some companies, many people get involved
in the path from development to production, while in other companies, there are fewer steps.
From an audit perspective, there should be at least one person using the change request and
a different person approving the change request.
The individuals among whom the possible roles get distributed are as follows:
Team member or developer
Project leader
Transport administrator
Team members are responsible for releasing their own tasks in the Workbench Organizer.
Verifying the contents of a change request prior to release, for example, ensuring that
syntax checks have been performed for all objects
Verifying that the change request was successfully imported into the target system
Confirming that the imported change request contains the necessary objects and proper
functions
The transport administrator is responsible for the transporting tasks. The transport
administrator uses tp or Transport Management System (TMS) to activate change request
imports and verify their success. The transport administrator is not responsible for testing the
contents of a change request.
The QA team tests the entire functionality and integration of the individual components from
the change request in the QA system.
Many companies do not differentiate between the team leader and the project leader.
However, SAP recommends that you have at least one person performing quality assurance
before moving changes to production.
Many companies have the developer create and release their own change request. In addition
to a QA check of ‘Does this program work correctly?’, you may also want to consider security
checks for development work before it is moved to production.
ABAP Workbench
Customizing
Transport Organizer
Developers and Customizing developers should have an authorization for this object. The
display authorization is sufficient for administrators. Administration functions in the Change
and Transport System area are checked using the S_CTS_ADMI authorization object.
Activity
Table 20: Permitted Field Values for the S_TRANSPRT Authorization Object
Field Value Function
CUST Customizing requests
DTRA Workbench requests
TASK Tasks (repair or correction)
MOVE Relocation transports (all three types)
TRAN Transport of copies
PATC Preliminary corrections and deliveries
PIEC Piece lists
CLCP Client transports
Table 21: Permitted Field Values for the S_TRANSPRT Activity Code
Field Value Function
01 Add or create
02 Change
03 Display
05 Lock
06 Delete
23 Change in object list editor
43 Release
50 Change source client of a request
60 Import
65 Reorganize
75 Release other requests
78 Enter request in transport proposal
These authorizations give some indication as to how SAP recommends the authorizations for
this critical object to be used. The table lists authorizations that exist already in SAP. There is
no preconfigured role or template for transports other than the roles for administrators.
However, these authorizations offer a guideline of what should be included in a role for end
users contrasted with the administrator.
To see the details of these authorizations recommended by SAP, choose User and
Authorizations Audit Information System Users and Authorizations Authorizations
Authorizations by Object . In the Authorization object field, enter S_TRANSPRT . In the
Authorization field, enter S_CTS*. This lists the authorization in the table given in this section,
along with some additional authorizations. To see the values for any authorization, double-
click that authorization.
S_TRANSPRT is such a critical authorization object that it is also listed in the Users with
Critical Authorizations report. To check this report, choose User and Authorizations
Audit Information System Users and Authorizations User User with critical
authorizations .
S_CTS_ADMI is the authorization object for the administration functions in the Change and
Transport System. This includes the ability to perform QA approvals. This authorization
object has the CTS_ADMFCTfield, whose values describe the various administration activities
that can be checked using the authorization object.
To see the authorizations recommended by SAP for S_CTS_ADMI, choose User and
Authorizations Audit Information System Users and Authorizations Authorizations
Authorizations by Object . In the Authorization object field, enter S_CTS_ADMI. In the
Authorization field, enter S_CTS*. This lists the authorization in the table and some additional
authorizations. To see the values for any authorization, double-click that authorization.
TMS also uses a special user, TMSADM, for executing transports. TMSADM is a Remote
Function Call (RFC) user with authorizations limited to TMS activities.
You can restrict the permissions that a certain user has for a specific system. One scenario
could be that a developer should only export the objects that he created. The import should
be done by someone else. The developer needs to have export permissions for the
development system, but should not be able to start the import.
Another option would be to restrict the import permissions per system. Several
administrators could have the permission to start the import for the QA system, but only a
few should be able to import anything new into the productive system. This might be helpful if
imports require post import steps that might include a system restart. Restarts have to be
coordinated and agreed on within the company, especially if productive systems are
concerned.
For systems configured for CTS+ functionality, you can use the standard role:
SAP_CTS_PLUS to restrict actions available to Developers. Two new authorizations are
delivered with this role:
S_SYS_RWBO is used to restrict the permissions for creating transport requests. You have
to enter the SIDs of the systems for which the user should be able to create transport
requests.
If you need different settings for different users, you have to create different roles. If the new
authorization objects do not appear in the role (dependent on the SPS level), copy the role,
add these objects to the role and adjust the authorizations according to SAP Note 1003674.
You can restrict the permissions that a certain user has for a specific system. One scenario
could be that a developer should only export the objects that he created. The import should
be done by someone else. The developer needs to have export permissions for the
development system, but should not be able to start the import.
Another option would be to restrict the import permissions per system. Several
administrators could have the permission to start the import for the QA system, but only a
few should be able to import anything new into the productive system. This might be helpful if
imports require post import steps that might include a system restart. Restarts have to be
coordinated and agreed on within the company, especially if productive systems are
concerned.
For systems configured for CTS+ functionality, you can use the standard role:
SAP_CTS_PLUS to restrict actions available to Developers. Two new authorizations are
delivered with this role:
S_SYS_RWBOis used to restrict the permissions for creating transport requests. You have
to enter the SIDs of the systems for which the user should be able to create transport
requests.
If you need different settings for different users, you have to create different roles. If the new
authorization objects do not appear in the role (dependent on the SPS level), copy the role,
add these objects to the role and adjust the authorizations according to SAP Note 1003674.
Note:
If you use TMS, be careful with the TMS authorizations (S_TMS_READ,
S_TMS_WRITE, and S_TMS_RFC). If you do not use TMS, protect the program tp
at the operating system level.
Include AUTHORITY-CHECK statements for all programs for which the custom transaction
code is not deemed sufficient protection.
Ensure that proper controls are in place if this custom program or function module
accesses critical tables, such as financial documents or employee data.
With the help of transaction SE93, you can assign transaction codes to programs or provide
access to certain tables. By using this technique, you may get rid of transactions SA38 or
SE16.
In transaction SA38, a user can execute a report in the foreground or in the background. In
transaction SE16, a user can access tables depending on the authorization object,
S_TABU_DIS.
Caution:
The problem with transaction SA38 is that the security is dependent upon the
actual program a user is executing. Everyone needs the same authorization to
get to transaction SA38. Once a user is inside transaction SA38, the next
authorization check comes from within the program the user is executing.
If your company continues to use transaction SA38, it is critical that each custom
ABAP report executed has some type of a security check.
S_TABU_DIS is checked anytime someone looks at the data in a table directly with one of
these transactions: SE16, SE16N, SE17, SM30, and SM31; or with the Implementation
Guide.
The Authorization Group field is mapped to the tables that a user can access. The mapping
is performed in the TDDAT table. The TDDAT table maps the Authorization Group to a list
of tables.
Instead of transactions SA38 and SE16, associate reports or access to specific tables via
custom transaction codes. Use area menus to group these transaction codes into menu
trees.
If you require general use of transaction SA38, make sure that every custom ABAP report
has some type of security check, for example, using the ABAP syntax AUTHORITY-CHECK
in the program code, or the authorization group set in the attributes of the program.
AUTHORITY-CHECK
Use the Find in Source Code function of the ABAP Editor to conduct a source code review to
determine if and how authority check statements have been incorporated into your custom
program.
An example of where you would include AUTHORITY-CHECK statements could be if people
from different divisions execute the same program, but with different results of the report,
like a specific amount. The custom program might need an AUTHORITY-CHECK statement
for division to ensure that division A does not run the report for division B.
Path
usr/sap/<SID>/sys/profile
Instance Profile
<SID>_<Instance> – Parameter profile for the application servers
Start Profile
START_<Instance> – Start script and parameters for the instance
Default Profile
DEFAULT.PFL – Global profile file
You should protect these files from unauthorized access. If an intruder manages to access
and change these files, then that intruder can change the system configuration for the next
time that the system is started. Ensure that only a few people are given access to these files.
Also, regularly ensure that these files are authentic.
Only the system administrator should be able to maintain these files. They are maintained in
transaction RZ10.
Ensure that T000 can be updated by accessing the maintenance transactions, such as
SCC4, SM30, and SM31.
Ensure that S_TABU_CLI authorization object to the value X enables access to the cross-
client tables, such as T000.
Anyone with authorization object S_TABU_DIS to the values 02 and 03 for the Activity field
and the value SS for the Authorization group field can maintain T000.
Security-Critical Objects
To protect certain objects from being changed by imports, you define a set of security-critical
objects in the table TMSTCRI. You are then warned of changes to these objects in transport
requests.
Note:
This table is updated using transaction STMS, or by choosing Overview Imports
Extras Critical Transport objects .
For example, you may have a function module, program, or user exit that should be
transported with caution. When you add them to the list of critical transport objects, the
administrator can check to see if the critical objects are included before executing an import.
Note:
Critical object validation is enhanced when using SAP Solution Manager Change
Request Management to include the ability to check for critical customizing
configuration settings.
LESSON SUMMARY
You should now be able to:
LESSON OBJECTIVES
After completing this lesson, you will be able to:
The security of business applications and software solutions depends upon the security of its
source code. Business applications are complex, having evolved over many years, across
numerous technical platforms and having been adapted or enhanced for specific customer
needs. Changing business requirements necessitate a continuous review and optimization of
business function and performance to keep pace with industry change. In short, custom code
can represent one of the greatest sources of risk to an organizations software components,
functions, infrastructure and business data.
To properly secure an application all of the applications components, functions, infrastructure
and related threats must be understood. This understanding must take into consideration
new and evolving technology which bring new vulnerabilities and introduce potential new
risks. Firewalls, intrusion detection systems, digital signatures and encryption are not always
sufficient to make an application secure.
Vulnerabilities is the code can lead to negative publicity, damage to a corporate image or
brand, lost revenue, legal repercussions and regulatory fines and penalties. News stories
abound with examples of companies struggling with security hacks, data breaches’, system
outages, etc. The shift towards mobility and cloud based solutions can multiply this risk.
SAP software solutions can also be put at risk as most customers have teams of developers
creating custom programs or making modifications or enhancements to SAP objects.
Traditional development platforms and approaches can often lead to vulnerabilities in custom
code that are not discovered until after deployment into a companies productive
environment. It is only then that the risks become apparent after a security incident occurs.
Companies then go into damage containment mode and are forced to address the scenario
and risks. The cost to correct code defects and vulnerabilities in a production environment
can be substantially greater and cause more business disruption that properly developing and
testing the application before going live.
Custom development must be made secure early in the development cycle, well in advance of
its deployment into production. An effective solution must provide certain functional
capabilities which include:
The ability to run vulnerability checks on custom code during the development process to
identify gaps and flaws.
Leverage tools that are already integrated into the standard SAP ABAP Development
infrastructure.
Support the compliance and automation requirements of the software quality assurance
team.
As the industry leader in enterprise software solutions for the past 20 plus years, SAP has
developed millions and millions of lines of code and has developed tools and strategic
partnerships to aid in validating the security and vulnerability of its delivered solutions. SAP
Development runs security tests on all SAP Applications and code delivered by SAP. Testing
and validation include dynamic application testing to find issues and vulnerabilities in a
running application. Static application security testing is also deployed to scan code to find
security and data access vulnerabilities.
The SAP code vulnerability analyzer scans a companies custom code during the development
process and is tightly integrated with the ABAP Development Workbench tool set and the
ABAP Test Cockpit (ATC). Analysis scans are designed to detect any security flaws and
security dumps in order to make custom code secure prior to deployment. Integration with
standard ABAP development and change management tools allows developers easy access
to testing functionality and also extensive documentation in order to resolve identified issues
or potential coding issues. SAP Code Vulnerability Analysis (CVA) is provided via an add-on to
SAP NetWeaver.
SAP Quality Center by Micro Focus is a partner solution designed to enable comprehensive,
risk-based, testing in order to catch defects early in the development cycle and to improve
testing efficiency and accuracy.
Together these solutions provide an end-to-end application security toolset to ensure code
vulnerabilities are detected as early as possible and corrected before they become
productive. SAP Code Vulnerability Analysis (CVA) ensures that development and quality
assurance teams have access to the technical capabilities to:
LESSON SUMMARY
You should now be able to:
Learning Assessment
X A Development system
X C Customizing system
X D Production system
2. From an audit perspective, you should set the system change options to Not Modifiable in
all systems except the development system.
Determine whether this statement is true or false.
X True
X False
3. Which of the following actions are advisable for ABAP programs and tables before you
transport them into a production system?
Choose the correct answers.
X B Include Authority-Check statements for all ABAP programs for which custom
transactions cannot provide sufficient protection.
X D Maintain user group to control user access to critical programs and tables.
X A S_TRANSPRT
X B S_CTS_ADMI
X C S_CTS_PROJEC
X D S_TABU_CLI
5. You can protect certain objects from being changed by imports by defining a set of
security-critical objects in the TMSTCRI table.
Determine whether this statement is true or false.
X True
X False
6. The SAP code vulnerability analyzer scans a company's custom code during the
development process but is not integrated with the ABAP Test Cockpit.
Determine whether this statement is true or false.
X True
X False
7. SAP code vulnerability analyzer ensures that development and testing teams have access
to which of the following technical capabilities?
Choose the correct answer.
X A Development system
X C Customizing system
X D Production system
2. From an audit perspective, you should set the system change options to Not Modifiable in
all systems except the development system.
Determine whether this statement is true or false.
X True
X False
3. Which of the following actions are advisable for ABAP programs and tables before you
transport them into a production system?
Choose the correct answers.
X B Include Authority-Check statements for all ABAP programs for which custom
transactions cannot provide sufficient protection.
X D Maintain user group to control user access to critical programs and tables.
X A S_TRANSPRT
X B S_CTS_ADMI
X C S_CTS_PROJEC
X D S_TABU_CLI
5. You can protect certain objects from being changed by imports by defining a set of
security-critical objects in the TMSTCRI table.
Determine whether this statement is true or false.
X True
X False
6. The SAP code vulnerability analyzer scans a company's custom code during the
development process but is not integrated with the ABAP Test Cockpit.
Determine whether this statement is true or false.
X True
X False
The SAP code vulnerability analyzer scans a company's custom code during the
development process but is integrated with the ABAP Test Cockpit.
7. SAP code vulnerability analyzer ensures that development and testing teams have access
to which of the following technical capabilities?
Choose the correct answer.
Lesson 1
Consulting SAP Security Notes 177
Lesson 2
Appendix: Optimizing Security Using SAP Security Optimizaton Self-Service 183
Lesson 3
Appendix: Implementing and Checking Technical Security Recommendations 194
UNIT OBJECTIVES
Implement and check technical security recommendations using SAP Solution Manager
LESSON OVERVIEW
This lesson explains the security notes provided by SAP and how to use them for security
assessment.
Business Example
Your company is required to upgrade its security measure and enhance the security feature
on the SAP server. You need to know how to secure your SAP system. For this reason, you
require the following knowledge:
LESSON OBJECTIVES
After completing this lesson, you will be able to:
Security Notes
SAP Notes give you instructions on how to remove known errors from the SAP systems. They
include a description of the symptoms, the cause of the error, and the SAP release and
Support Package level in which the error occurs.
Depending on the type of error, an SAP Note may include the following information:
Work-arounds
You can access SAP Notes from both the SAP Support Portal and SAPNet - NetWeaver AS
Frontend.
Caution:
The Note Assistant can automatically implement those SAP Notes that have
correction instructions. You must read the SAP Note carefully before you use the
Note Assistant to implement it.
The SAP Note can contain prerequisites, interactions, and references to post-
processing activities (for example, making changes to a table) that you must
take into consideration when you implement it.
SAP security notes contain SAP's expert advice regarding important action items and the
patches to ensure the security of the customers' systems. You can search for the SAP
security notes or you can set up a filter to customize the products or versions you are
interested in My security notes.
You must read SAP Notes before you start configuring the Enterprise Search. SAP Notes
contain the most up-to-date information regarding the configuration and use of Enterprise
Search, as well as corrections to the documentation.
SAP Note 1085845 gives up-to-date information about the security aspects of Enterprise
Search.
All security notes are published on the SAP Support Portal. Different applications show
different selections of security notes.
The complete list of all security notes is at https://support.sap.com/securitynotes .
The System Recommendations application in the SAP Solution Manager shows the security
notes that are relevant for a given system according to the installed software components,
release, Support Package, and patch level, as well as on the basis of whether the note is
already installed using the ABAP Note Assistant.
The Early Watch Alert report checks the usage of the application System Recommendations
in SAP Solution Manager to provide recommendations concerning security, Hot News, and
Other important Notes that are relevant for a given system. For more information, see
https://wiki.scn.sap.com/wiki/display/SM/EWA+-+Security#recommendations
To find more information regarding the security patch process, refer to http://scn.sap.com/
community/security/blog/2012/03/27/security-patch-process-faq .
In general, all SAP Note types are supported. The SAP Note types shown below should initially
be activated:
Security Notes
Important SAP Notes in the Security category.
HotNews
SAP HotNews, which are SAP Notes with priority 1 (very high). These SAP Notes provide
information to help avoid and/or solve problems that can result in data loss or crashes of
the SAP system.
Performance Notes
SAP Notes from the performance category improve the performance of your system.
Legal Changes
SAP Notes from the Legal Change, Announcement of Legal Change, and Correction of
Legal Function categories respond to changes in legal requirements.
SAP Correction/Patch Notes
All SAP Notes that contain corrections to program source code (ABAP) or contain
patches (JAVA).
Assign a status to an entry and display SAP Note information for this status.
Analyze the impact of implementing SAP Notes on the system and the business
processes.
Create a change request or select a Java patch and add it to the download basket.
SAP no longer recommends using security note tool RSECNOTE as it is no longer supported.
See SAP Note 1890782 RSECNOTE no longer supported for further details.
To start the System Recommendations start the transaction SM_WORKCENTER within the SAP
Solution Manager to start the SAP Solution Manager Launchpad. Then navigate to the Change
Management area and select System Recommendations to start the application.
System Recommendations 1
To use System Recommendations each SAP system in your environment will need to be
configured as a Managed System for your Solution Manager. After the managed system setup
is complete, you will be able to find your system in the System Overview in system
recommendations.
When you start the application, the System Overview is displayed. The figure System
Overview shows the available functions. When you choose Display SAP Notes, the SAP Note
Overview screen displays, as shown in the figure SAP Note Overview.
System Recommendations 2
By choosing Display Detail Page, the Show SAP Note Details screen displays, as shown in the
Display SAP Note figure.
System Recommendations 3
With the Integrated Desktop Actions you could for Example Download the SAP Note or Create
Request for Change which can be used to implement the note in the relevant system.
For additional information on System Recommendations, see https://
support.sap.com/en/alm/solution-manager/processes-72/system-recommendations.html .
See also https://wiki.scn.sap.com/wiki/display/SM/Getting+Started+WIKI+for+SAP
+Solution+Manager .
LESSON SUMMARY
You should now be able to:
LESSON OVERVIEW
This lesson discusses how to optimize the security and availability of your SAP solutions with
the SAP Security Optimization Service.
Business Example
Enterprise IT landscapes are increasingly vulnerable to security breaches due to open and
complex landscapes. The SAP Security Optimization Service is a remote service to check
your SAP system landscape for critical security settings to minimize your security risk. For
this reason, you require the following knowledge:
LESSON OBJECTIVES
After completing this lesson, you will be able to:
The SAP Security Optimization Service is part of the SAP Solution Management Optimization
program. This program offers a series of services to keep SAP solutions running optimally.
These services optimize applications and system operations by solving technical issues that
have been identified in safeguarding services as a risk to smooth operations.
The SAP Security Optimization Service is a remote service as compared to SAP EarlyWatch
Service.
The following table lists the main difference between the SAP Security Optimization
Service and SAP EarlyWatch:
The service checks the SAP systems and SAP middleware components.
The service prioritizes and delivers results with recommendations for how to resolve
identified vulnerabilities.
The service should perform checks at regular intervals for the following reasons:
To verify that actions derived from earlier service runs lead to the desired results
To verify that recent configuration changes did not introduce new security holes
You can use the SAP Security Optimization Service at any time. The best time to use it is
during the going live phase, which means that you have finished installing and implementing
your SAP system; you then perform security optimization in the production phase for your
company.
When everything is done, you can check the security to check and see how the data is going to
be protected. This service is useful when you prepare for internal and external audits. You can
rerun it to ensure that the applied changes in the system configuration were successful and
that no new vulnerabilities appear.
Process Overview
The SAP Security Optimization Service is designed to verify and improve the security of the
SAP systems of customers by identifying potential security issues and giving
recommendations on how to improve the security of the system.
The underlying concept of the SAP Security Optimization Service is to ensure the smooth
operation of the SAP solution by taking the actions proactively, before severe security
problems occur. This action consists of hundreds of checks based on the SAP security
guidelines and the knowledge of the SAP security consultants.
The SAP Solution Manager offers the possibility to execute SAP services locally.
An important part of the remote SAP Security Optimization Service is available as Self-
Service in the SAP Solution Manager.
With Self-Services from SAP, you have access to the security experience that SAP has gained
through thousands of installations, and you have minute details at your fingertips. You can
perform the same tasks that SAP consultants perform during the delivery of the services.
Self-Services help to identify and optimize the technical issues within an SAP system
landscape. Self-Services are only available in the SAP Solution Manager.
Self-Service Offerings:
It checks the Customizing settings that are relevant to security, such as password policy,
standard users (SAP*, DDIC, and so on), and recommended settings from the SAP
Security Guide.
Note:
Refer to http://support.sap.com/sos for more information.
The prerequisites to optimize security using the SAP Solution Manager are as follows:
The system to be tested needs to be prepared for Early Watch Alert sessions because the
Early Watch Alert download is also the basis for the Security Optimization Service.
Refer to SAP Notes 837490 and 696478 for important information about the preparation
for the SAP Security Optimization. These notes also list known errors.
A specific authorization must be set up in the target system before you can collect the data
for the Security Optimization Service.
The steps to optimize security using the SAP Solution Manager are as follows:
1. Creation of the Security Optimization Service Session
The service plan of your solution displays the Security Optimization Services that have been
created. Now, a request is sent to the target system to create an Early Watch Alert download
and send it back to the solution manager. This download is used to build up the service
session. Some profile parameter data is used for a part of the security checks.
If you want to add your own authorization checks, check the definition of the customer-
specific authorization checks.
Now, you need to create the ST14 download in the system that needs to be analyzed with the
Security Optimization Service and send it to the Solution Manager.
The prerequisites for the creation of the ST14 download in the system are as follows:
2. Complete the input parameters of the selection screen, as described in SAP Note 696478.
3. When the data collection ends, send the analysis to the Solution Manager.
The questionnaire is used to influence the content and the look of the resulting service report.
It keeps the report readable and helps to perform correct risk analysis.
You need to include the ST14 download in your analysis session and create the service report.
The action items are created automatically, containing all the checks rated with high risk.
All checks have a four-digit identifier, which allows finding the detailed description in the
report easily.
Customer Report
LESSON SUMMARY
You should now be able to:
LESSON OVERVIEW
This lesson provides an overview of various features in Solution Manager which we can use to
check whether the systems in our landscape are configured consistently, in particular the
security setup. The features covered in this lesson are Configuration Validation, System
Recommendations and Early Watch Alerts.
Business Example
Your company needs to upgrade its security measures and enhance the security features on
an SAP Server. For this reason, you require the following knowledge:
LESSON OBJECTIVES
After completing this lesson, you will be able to:
Implement and check technical security recommendations using SAP Solution Manager
Configuration Validation
Transports
In this case, Configuration Validation covers sections such as missing or failed transport
requests and the validation of production backlog.
OS/Host
In this case, Configuration Validation compares the configuration of operating system and
host.
Database
In this case, Configuration Validation validates the configuration of the database
parameters and level.
Software
In this case, Configuration Validation validates ABAP or JAVA software packages.
SAP Kernel
In this case, you deal with the SAP Kernel level compliance.
Customer
In this case, you deal with the customer-defined configuration baselines that are used for
validation.
Reporting
In this case, Configuration Validation performs reporting on the software or SAP Kernel
level and other Config Items without validation.
Configuration Validation enables you to use a reference system containing the baseline for
validation, which is performed against a number of comparison systems. As a reference
system, the data of a managed system can be used to compare the configuration data of an
existing system with the configuration data of other existing systems.
You can also create a target system based on the collected configuration data of an existing
system. You can edit the configuration data of this target system to create a baseline for
validation that is independent of any current system setting.
Configuration Validation enables you to determine whether the systems in your landscape are
configured consistently and in accordance with your requirements. You can check the current
configuration of a system in your landscape using a defined target system or compare it with
an existing system.
Configuration Validation provides a report to understand how homogeneous your system
configuration is. Using centrally stored configuration data in Solution Manager and a subset of
the collected configuration data, you can perform Configuration Validation of many systems.
When an IT-related problem occurs, it can be recorded, categorized, and prioritized in the
SAP Solution Manager Service desk by the end user or an IT employee. This message is sent
to the first-level support, which attempts to solve the problem. In addition, first-level support
performs a search in the customer's solution database or a note search in the SAP Service
Marketplace.
If a solution cannot be found, second-level customer support begins by carrying out a Root
Cause Analysis. If the error cannot be clearly assigned to a customer solution component, the
SAP Solution Manager uses cross-component diagnostics to directly identify the component
that is responsible for the error.
The end-to-end Diagnostics and SAP Solution Manager systematically helps to target the
cause of the error. Therefore, avoid performing a detailed Root Cause Analysis on multiple
components using component experts, who usually cannot detect a malfunction for their
specific component. The latter method is time-consuming and expensive.
The cross-component diagnostics tools in SAP Solution Manager are based on a central
diagnostics database that contains data related to agents on the component systems. These
agents are preconfigured by SAP when they are delivered, such that only the data required for
systematically isolating the problematic component is obtained from the component
systems.
The end-to-end Root Cause Analysis in SAP Solution Manager supports the components
implemented in ABAP, Java, or C++, or those components that run on the Microsoft .NET
framework.
SAP Solution Manager standardizes, aggregates, and correlates the following functions:
Traces
You can perform an end-to-end analysis with the help of the configuration section of Solution
Manager Diagnostics. Using the Solution field, choose the system that you want to analyze.
Choose end-to-end change analysis by selecting the system you want to analyze. If you want
to analyze all systems, choose the All pushbutton. You can customize the duration of the
analysis using the menu option provided within the system.
The Overview tab page shows the change information for a selected duration of time. You can
also select the required server from the included server list, which is available in that
particular scenario.
The main instances are divided from the system you choose. Each system has one main
instance. The end-to-end changes are always detected on a daily basis. The overview quickly
identifies the main instance of the system for which changes have been detected. The
corresponding changes are saved in the Solution Manager database.
The logs show changes in the instances, mainly the ABAP central instance.
The details provided by end-to-end change analysis are as follows:
Software maintenance
Displays the changes to software components through patch level updates
Parameter
Displays the changes regarding ABAP instance parameters and database parameters
Transport request
Displays the changes applied on transports and SAP Notes
RFC destination
Displays the changes that are interpreted, creation or updates on RFC
By clicking the screen for a corresponding change analysis, you can see the changes made
during the selected time frame.
For example, if you choose the Parameter data link, you can see the tabular display for the
changes made. The additional information indicates the changes made to the current value,
that is, the current initial value, the old updated value, or the deleted value.
Architecture Overview
Change analysis is a part of an end-to-end analysis within Root Cause Analysis. Change
analysis is based on the data from Configuration and Change Database (CCDB) within the
SAP Solution Manager. Any changed figures are stored in SAP NetWeaver Business
Warehouse (BW), and the configuration data itself is stored in the configuration stores of
CCDB.
The configuration stores are part of CCDB and contain all configuration details. Change
analysis uses the change reporting data viewer to display detailed configuration data. The
change analysis application is available in an end-to-end analysis.
The change analysis function provides an overview of the changes applied to the managed
systems. It also displays the number of changes per system, the change category, and the
day when the change was made. You access it from the Root Cause Analysis work center.
The configuration items overview reports changes to the configuration items of a system (for
example, operating system, database, ABAP parameters, Java parameters, transport
requests, and support packages) and serves as a central entry point for Root Cause Analysis.
Change analysis helps you to keep track of the changes in your solution landscape. Your
development system may behave differently compared to your production system. If the
J2EE instances of your production system behave differently, you need to determine the
reason.
Regular snapshots of the configuration settings are taken and stored in CCDB of the SAP
Solution Manager. With this information, the change analysis function enables you to identify
the changes. This function also enables you to know the number of changes made. This
function automatically takes you to the change reporting data viewer for the details and
history of a changed item.
Configuration Validation allows you to perform a validation using the Config Items collected
for a managed system as a baseline. In this case, the complete configuration of the real
existing system is compared with the Compared Systems. One of the relevant use cases for
this comparison is the validation after the Roll Out phase.
In this use case, a new release is created from the implementation of software packages and
SAP Notes, Kernel updates, parameter adjustments, custom own transports, and so on. The
system that contains all these changes is used as a reference system after the Roll Out
validation phase is completed. The goal is to check how the Compared Systems match the
reference system.
Configuration reporting allows you to use a target system as the baseline for validation. In this
case, you are not interested in the validation of the complete list of possible configuration
items. Depending on the use case, only some of the validation parameters are important.
For example, in case of security compliance, you are interested in the validation of ABAP
parameters, ABAP notes, user authorization, gw configuration, and the Kernel level. For
validation of failed transports, you only need the ABAP_TRANSPORTS store. As a result, you
need to restrict the configuration items to be validated. This restricted reference system,
which is adjusted for one or another use case, is called the target system and is not stored in
CCDB. It is stored in a separate database table, and it can be adjusted or extended anytime.
In a target system, you can specify a compliant rule for each Config Item. If the rule applies to
the corresponding Config Item of a comparison system, the Config Item has the compliant
status in the reporting output. Otherwise, it has the non-compliant status.
Drilldown Reporting
Reference system
Validation Template
The option to run the report with or without showing the BW query pop-up
By using the BW reporting query, you can perform the following tasks:
The header of the BW query provides information about input data, such as reference and
compared systems, validated Config Stores, and items.
The Report Output displays the report in the following views:
Flat view
This view shows all Config Items at once as a flat table, and the results of compliance
checks are displayed in color for each single item.
Hierarchical view
This view groups Config Items in a hierarchical view, and the compliance results are
aggregated for each hierarchy level.
Hint:
To display that information, you need to drill down to the Instance and Cf Item
value info characteristics. Then, expand Navigation Block and view the
characteristics in the Free Characteristics section.
Get the instance information for Config Store ABAP_INSTANCE_PAHI, the notes description
of ABAP_NOTES items, and the client of the AUTH_PROFILE_USER Config Store.
Configuration Validation can be found in the following locations:
In SAP Solution Manager 7.0/7.10, in the work center change management in related links
through the SAP Easy Accessscreen.
In SAP Solution Manager 7.10 SP05, in the work center change management in related
links in the work center Root Cause Analysis through the SAP Easy Accessscreen.
Solution Manager 7.10 – Operators and Target Systems in SAP Solution Manager 7.1
Figure 138: Operators and Target Systems in SAP Solution Manager 7.10
In Solution Manager 7.1, all rules are transparent and none of the rules are hardcoded. Also,
the operators are available for all types of Config Stores, such as property, table, text, and
XML. The operators comprise the rules used to validate a Config Item.
Figure 139: ABAP Notes – Online Recommendations from the SAP Security List
The SAP Notes from the SAP security list provide Software and Kernel dependency for a
particular topic (if the corresponding note is available for that topic). Only relevant SAP Notes
from the source system (in other words, the SAP notes that match components and the
Kernel Release from the source system) can be inserted.
System Recommendations collects any required information from the managed systems
using a background job that should be scheduled on a regular basis. A direct refresh of the
information that has already been calculated for a specific system can also be started directly.
Only the calculation of result is done in SAP’s Global Support Backbone, which means that
there is no load being generated on the SAP Solution Manager system or the managed
system.
The SAP Notes relevant to the source system can be restricted using the following elements:
A data range
A note group – for example, only security and HotNews SAP Notes can be inserted
After the recommendation has been calculated, the user can set various statuses for the
recommended notes, such as ‘implemented’, ‘not relevant’, or ‘postponed’. These statuses, in
combination with a filter displaying only notes with a certain status, helps to keep an overview
of all recommendations and keep track of the tasks that are assigned to recommendations.
System Recommendations can be used as a source of SAP Notes that are relevant to
Configuration Validation.
It enables you to have a head start when starting with Configuration Validation for security.
It contains suggestions for rules and values for a number of Config Stores and can be used
to create a target system.
It enables you to add or remove Config Stores and change rules and values.
It helps in navigation and provides guided procedures with steps for the basic
configuration.
It provides detailed information about each step, such as what needs to be done and what
will happen in the background.
It lists all single activities during each step, along with the documentation for Customizing
activity.
End-to-End Alerting
You can add a target system to end-to-end alerting. As a result, the non-complaint items raise
an alert in the alert inbox.
The MY_DASHBOARD dashboard application shows the validation result of the comparison
between selected systems with a target system.
System Recommendations
To keep your SAP systems up to date and secure, you need to apply various types of notes
and patches. System Recommendations shows all the relevant notes and patches for the
selected systems and helps you to keep all your systems up to date.
Process Flow
Since System Recommendations provides only those SAP Notes that are missing in the
Compared Systems, it imposes limitations on the usage of the System Recommendations
application for status reporting.
The SAP Notes that were missing on the first day that System Recommendations were
calculated (Q1) can differ from the SAP Notes calculated at a later date (Q2) because some
SAP Notes may be implemented in the system; additionally, new SAP Notes may be released
during this interval.
To use System Recommendations for notes validation, you need to freeze the calculated list
of SAP Notes and save it as a target system (Q1). Then, using the validation process on a later
date, you can receive the compliance results that show how compliant a Compared System is
with the status of the target system.
selected managed system. This recommendation is calculated based on the actual notes
status of the system.
The recommendation that System Recommendations makes for a system is based on factors
such as whether a specific note is already implemented in the system, what the version of the
implemented note is, and whether newer versions are available.
During troubleshooting, check application log AGS_SR to see the configuration and check
logs. In case of any problems, create a customer message under component System
Recommendations for managed systems (SV-SMG-SR).
2. All managed systems must be connected to SAP Solution Manager and documented in
transaction SMSY.They must be assigned to a product system and to a solution.
3. Authorization object SM_FUNCS controls the access to and visibility of tabs in System
Recommendations.
To collect this data automatically for use in System Recommendations, set up a batch job in
the settings area of System Recommendations.
System Recommendations is a part of the change management work center in SAP Solution
Manager.
For more information about the System Recommendations setup, see http://help.sap.com/
saphelp_sm71_sp01/helpdata/en/83/68fad4952d42a192469fa02586aeff/frameset.htm.
You can filter by application component. This makes the view easier in an application
scenario.
System Recommendations is delivered with SAP Solution Manager 7.0 SP26. It is also
included in SAP Solution Manager 7.1. This functionality is only available within the change
management work center using transaction SOLMAN_WORKCENTER or transaction
SM_WORKCENTER . Therefore, as a prerequisite, you must have access to the work center.
To ease data collection and speed up the delta calculation, schedule a background job that
automatically collects all the needed information from the managed systems can be
scheduled.
To control access to System Recommendations, use authorization object SM_TABS (in SAP
Solution Manager 7.0) or authorization object SM_FUNCS (in SAP Solution Manager 7.1) to
grant or deny access to the different tabs of System Recommendations.
Before using System Recommendations, SAP strongly recommends that you implement SAP
Notes 1554475 and 1577059. SAP also recommends that you configure your Solution
Manager system to the automatic update check.
Figure 150: Early Watch Alert in the SAP Engagement and Service Delivery Work Center
SAP Early Watch Alert (EWA) is an important part of making sure that your core business
processes work. It is a tool that monitors the essential administrative areas of SAP
components and keeps you up to date on their performance and stability. SAP EWA runs
automatically to keep you informed so that you can proactively resolve issues before they
become critical.
Password policy
In users with critical authorizations, you can find detailed and additional information with the
help of security self-services.
For more information about SAP EWA, refer to http://service.sap.com/ewa .
We recommend that you activate EWA when you connect an SAP Satellite system to your
Solution Manager.
SAP EWA also helps to reduce the TCO by knowing what affects the performance and stability
of your solution.
The underlying purpose of SAP EWA is to ensure the smooth operation of individual SAP
systems by keeping you informed of their status and allowing you to take the required action
before severe technical problems occur.
Users SAP*, DDIC, SAPCPIC, and Early Watch have non default passwords in all the
clients.
You must make sure that the standard password for user TMSADM is changed in client 000,
and you should delete this user in any other client. SAP Note 1414256 describes a support toll
for changing the password of user TMSADM in all the systems of the transport domain.
The password status should not be DEFAULT. User SAP* must exist in all clients, and its
password must be changed. The other users need not exist in all clients.
In order to enable the Gateway and Message Server security functionality, a minimum patch
level of the Kernel is required. Your system currently misses this requirement. For example,
SAP recommends that you update the kernel of your system to the newest kernel patch level
available. You need to update to a kernel patch level that is at least equal to or higher than the
minimal required kernel patch level shown in the figure. For additional information, refer to
SAP Note 1298433.
Note:
SAP recommends to use the newest kernel patch level, even if you have already
the minimum required patch level (or higher) in use.
The GW/SEC_INFO GW/REG_INFO parameter is used to access the gateway control access
lists. Profile parameters gw/sec_info and gw/reg_info provide the file names of the
corresponding access control lists. These access control lists are critical to control the
Remote Function Call (RFC) access to your system, including connections to RFC servers.
You should create and maintain both access control lists, which can be done using
transaction SMGW . For more information, refer to SAP Note 1425765.
Message Server Security – Message Server Administration Allowed for External Clients
SAP recommends that you block external administration of the message server by setting
both profile parameters ms/monitor and ms/admin_port to the value 0.
To set profile parameter ms/admin_port dynamically, use transaction SMMS
, and then choose
Goto Security Settings .
Profile parameter ms/acl_info provides the file name of the message server’s access control
list. This list controls which application servers are allowed to log on to the message server.
SAP recommends that you define and properly maintain this list to prevent rogue application
servers from joining the system. For more information about this parameter, refer to SAP
Note 821875.
This report shows all the RFC destinations with critical status. You can customize the critical
user authorization using the AUTH_PROFILE_USER store (by default, the users with the
SAP_ALL profile are checked).
For validation details, in the figure, the Comparison Value field helps you to find all the
validation information about the critical RFC destination. In our example, for RFC destination
PMIB4X001, which is created in the B4X system, user PIRWBUSER and the password are
saved in the logon data. This has the SAP_ALL profile assigned in the B4X system.
If an RFC destination contains the logon data of a user with critical authorizations (for
example, with the SAP_ALL profile), the following risks are involved:
Privilege escalation
User impersonation
Access to the whole system landscape (for example, enabling a jump to a central system,
such as the Solution Manager)
To avoid these risks, it is necessary to identify critical RFC destinations across systems and
also monitor RFC destinations to critical systems.
Users with Critical Authorizations – Config Stores in Configuration and Change Database
In an SAP system, only the services critical to SAP Internet Communication Framework (ICF)
should be active. Some services should not be active at all. For more information, refer to the
Secure Configuration SAP NetWeaver Application Server ABAP white paper ( https://
websmp201.sap-ag.de/securitynotes ; search under White Papers). The services mentioned
in the white paper are checked by these definitions.
The SICF_SERVICES Config Store of the managed systems contains only records for the
active services. The ICF_NAME of our Config Store is not a unique key. Therefore, we use the
Not exists operator for the URL key and not for the ICF_NAME. The content of the URL field
correlates to the content of the SICF SERVICE column of the white paper, section LIMIT
WEBENABLED CONTENT.
The Config Stores that contain security-related items are secured. The user needs additional
authorizations.
In the Critical User Authorization tool, navigate to the Technical Systems tab page. Select
System and display the stores that are relevant to critical user authorizations. Navigate to the
Customizing tab page and create a new Customizing variant. Insert the necessary user
profiles.
AUTH_CHECK_USER defines that only certain administration users are allowed to have debug
authorizations.
The AUTH_TRANSACTION_USER authorization object for user transaction check store in the
target system (reference) defines that only administration users are allowed to have
authorizations for transaction SM59. As a result, those users who are not allowed to have
authorizations to configure RFC in system SD7 (Compared System) can be found easily.
0SPLVCHK – Validation of the Support Package level using the latest release
LESSON SUMMARY
You should now be able to:
Implement and check technical security recommendations using SAP Solution Manager
Learning Assessment
1. Which of the following tools does SAP recommend for use to identify security related
notes that a customer should implement in their SAP system?
Choose the correct answer.
X A Note Assistant
X B Note Browser
X C RSECNOTE
X D Note Checker
2. SAP Solution Manager provides which tool to recommend SAP Notes that should be
considered for implementation in a customers SAP system?
Choose the correct answer.
X A Configuration validation
X B RSECNOTE
X D System Recommendations
4. SAP Notes with priority 1 (Very High) and which can help with avoiding data loss or a
system crash are classified as which type of SAP Note?
Choose the correct answer.
X A Performance
X B Hot News
X C Legal Change
X D Security
1. Which of the following tools does SAP recommend for use to identify security related
notes that a customer should implement in their SAP system?
Choose the correct answer.
X A Note Assistant
X B Note Browser
X C RSECNOTE
X D Note Checker
2. SAP Solution Manager provides which tool to recommend SAP Notes that should be
considered for implementation in a customers SAP system?
Choose the correct answer.
X A Configuration validation
X B RSECNOTE
X D System Recommendations
SAP Solution Manager provides the System Recommendations tool to recommend SAP
Notes.
4. SAP Notes with priority 1 (Very High) and which can help with avoiding data loss or a
system crash are classified as which type of SAP Note?
Choose the correct answer.
X A Performance
X B Hot News
X C Legal Change
X D Security
Hot News