IIA, Western SC Chapter

advertisement
SAP
Basics for Auditing Change
Management and Security
September 8, 2014
Presenter: Linda Yates
Consultant, Risk Advisory Services
Course Objectives
Change Management
• Identify the critical SAP system parameters to protect the production
environment
• Discuss approach to auditing Change Management and key Change
Management transaction codes
SAP Security
• Determine the password defaults and control settings
• Discuss the architecture of SAP Security
• Fundamentals of auditing SAP Security
• Identify the key SAP Security tables and transaction codes
Experis
2
Change Management:
System / Client Parameters
Auditing Change Management
Key Change Management Transaction Codes
and Tables
Experis
3
SAP: Client Settings – Specific Change
Options
Settings for client-specific change options are maintained via transaction SCC4
and can also be viewed in table T000 (create & maintain SAP System clients)
Three Client Specific Change Options (Settings)
•
•
•
Changes and Transports for Client-Specific Objects
Client-Independent Object Changes
Protection Against Client Copiers and Comparison Tools
Experis
4
Changes and Transports for Client-Specific
Objects
Controls whether client-specific objects can be maintained & if corresponding
transports can be executed. Potential options:
•
•
•
•
Changes without automatic recording: Allows changes of client-specific
objects and changes will not be automatically recorded (Not Recommended)
Automatic recording of changes: Changes are automatically recorded
(Limitations on use should be applied)
No changes allowed: Prevents changes to customizing in the client
(Recommended Setting)
Changes w/out automatic recording, no transports allowed: Allows
changes to cross client-specific objects, no automatic recording of change,
and manual transports not allowed (Only recommended for test clients)
Experis
5
Client Independent Object Changes
Controls how repository and client-independent customizing objects can be
changed within the client. Four Options:
• Changes to Repository & Cross-Client: All cross-client customizing or
repository objects can be maintained. (Not Recommended)
•
No Change to Cross-Client Customizing Objects: Does not allow the
maintenance of cross-client customizing objects within the client (Not
Recommended)
•
No Changes to Repository Objects: Does not allow the maintenance of
repository objects within the client (Not Recommended)
•
No Changes to Repository and Cross-Client Customizing Objects: Does
not allow the maintenance of cross-client customizing or repository objects
within the client (Recommended Setting)
Experis
6
Protection Against Client Copiers and
Comparison Tools
Protects the client against reading access for other client, comparison tables
cannot be executed and the client is protected against overwriting. Three
protection levels are available as follows:
•
•
•
Protection Level 0: No restriction – Setting does not protect the client at all.
Client can be overwritten by a client copy and reading access from other
clients is possible. (Not recommended)
Protection Level 1: No overwriting – Client cannot be overwritten by a client
copy and will be appropriate to protect the production client (Recommended
setting for production environment)
Protection Level 2: No overwriting, no external availability - Client cannot
be overwritten by a client copy and reading access from other clients is not
available (Recommended for client with highly sensitive data)
Experis
7
Examples – Client Settings via SCC4
Experis
8
Experis
9
Examples – Client Settings via Table T000
Transp. Connection
Blank = No automatic recording
of changes
1 = Changes are recorded
2 = Customizing in client cannot
be changed
3 = Customizing can be
changed but cannot be
transported
Experis
No Cross-Client
Blank = Changes to cross-client &
repository allowed
1 = No changes to cross-client allowed
2 = No changes to repository allowed
3 = No changes to repository & cross-client
allowed
Copy Protection
Blank = No protection
X = Protection level 1 – No client copy
10
SCC4 Change Logs
When changes are made to the client settings, change logs can be viewed via
transaction code SCC4.
Change Logs will show:
• Date and Time Stamp of the Change
•
User who made the change
•
Old Value of Changes
•
New Value of Changes
Survey conducted by ACL Services Ltd
Experis
11
Example: SCC4 Change Log
Experis
12
Change Management Landscape
SAP is basically divided into three (3) different landscapes as follows:
• Development (DEV): Where changes to code, programs,
configuration and security are developed. Can have multiple clients,
for example a Sandbox Client, Development client, Unit Testing
client, etc.
• Quality (QAS): Where changes to code, programs, configuration and
security are tested. Multiple clients could exist supporting Integration
Testing, Training, Security, etc.
• Production (PRD): Business transactions are executed and
recorded. Multiple clients could exists to support the client’s
business hierarchy and structure
Experis
13
Change Management Landscape Example
Experis
14
Changes Moved or Made in Production
• Use table E070 (via transaction SE16) to obtain a list of
changes moved into or made directly in the production
environment
• E070 Parameters: At a minimum, input the date range of
the requests/tasks (transports) moved or made in the
production environment
• Naming convention of the transports can provide
information where the change was initiated or if the
change was made directly in the production environment
Experis
15
Table E070 and Parameters
Experis
16
Results of Query for Table E070
Experis
17
Experis
18
View Transports
•
Detailed view of transports can be displayed via transaction code SE03
based on specified parameters
Experis
19
Transports based on Query Parameters
Experis
20
Change Management: Key Transaction
Codes & Tables
Tables for Change & Transport System:
• E070: Change & Transport System – Header of Request/Tasks
• E07T: Change & Transport System – Short Texts for Request/Tasks
• E071: Object Entries of Request and Tasks
Key Transaction Codes for Change & Transport System,
Programing and Configuration of System:
• STMS: Transport Management System
• SE01: Transport Organizer
• SE03: Workbench Organizer (Tools)
Experis
21
Change Management: Key Transaction
Codes & Tables - Continued
•
•
•
•
•
•
•
SE06: Set up Workbench Organizer
SE09: Workbench Organizer
SE10: Customizing Organizer
SE11: Data Dictionary Maintenance
SE38: ABAP / Program Editor
SPRO: SAP System Customizing, IMG
SM30: Maintenance Table Views
Experis
22
SAP Security:
Password Controls
Security Architecture
Auditing SAP Security
Key Transaction Codes and Tables
Experis
23
SAP Password Controls
Default Passwords: Report RSUSR003 shows if the default passwords have
been changed for all standard SAP IDs that include SAP* and DDIC.
Experis
24
Experis
25
SAP Password Controls - Continued
Prohibited Passwords: Prohibited passwords can be viewed in table ‘USR40’
Password Control Settings: Parameters can be obtained through transaction
code RSPFPAR. At a minimum, the following should be reviewed:
• login/min_password_lng
• login/password_expiration_time
• login/fails_to_user_lock
• login/min_password_diff
• login/password_history_size
Other parameters for consideration for strong password controls:
• login/min_password_digits
• login/min_password_letters
• login/min_password_specials
• login/disable_multi_gui_login
Experis
26
Extract from RSPFPAR
Experis
27
User Creation in SAP
•
User Master Records are created for every ID through transaction code
SU01 and can be viewed using transaction SU01D. Validity dates for the
user can be maintained within the master record, along with administrator
locks.
•
All users are recorded in the USR02 table (via transaction code SE16),
which shows the Validity dates, User Type, User Lock, Created By, Creation
Date, last logon date / time, etc.
– Identify user IDs created during a specified period of time (new users)
– Identify inactive user IDs (stale users)
– Identify disabled user IDs (terminated users)
•
Security Roles and associated profiles are assigned to the user’s Master
Record along with validity dates for the role assignment
Experis
28
Example – User Master Record via SU01D
Experis
29
Experis
30
Table USR02 – User Master Record Table
via Transaction Code SE16 or SE16N
Experis
31
Experis
32
Experis
33
Example of Output from Table USR02
Experis
34
User Types in SAP
To identify the type or classification of the user ID, 1 of 5 ‘User Types’ is
assigned to each User Master Record as follows:
User Type ‘A’: Dialog ID and can logon directly to SAP. System checks for
expired and initial passwords and provides an option to change the password.
User Type ‘B: System ID used for internal system processes (e.g., background
processing, ALE, workflow, TMS, CUA). Direct logon is not possible.
User Type C: Communication ID used for communication between systems like
RFC. Direct logon is not possible
User Type S: Service ID is a dialog user that is available to an anonymous,
larger group of users. Generally, this type of user should only be assigned very
restricted authorizations. During logon, the system does not check for expired
and initial passwords. Only the user administrator can change the password.
User Type L: Reference ID is a general user, not assigned to a particular
person. You cannot log on using a reference user. The reference user is only
used to assign additional authorization and implemented to equip Internet users
with identical authorizations.
Experis
35
SAP: Security Architecture
SAP Security is based on field values assigned to authorization objects within a
profile. A Profile is assigned to a security a Role, which is assigned to a User
within the User Master Record.
Experis
36
Role / Profile Assigned to a User’s Master
Record
Experis
37
Profile, Authorization, Authorization Objects
and Field Values
(Profile T-DV860568 / Authorization T-DV86056800)
Experis
38
SAP: Security Architecture
• SAP checks for required authorizations in the User Master Record
(SU01) when executing transaction codes
• SAP provides information on which authorization objects are required
for each transaction code and can be viewed via transaction code
SU24 or through the USOBT_C table
• Security Roles are developed using the Profile Generator in the
Development environment and are moved into production via the
Transport Management System.
• Profiles not assigned to a security role can be assigned to a user
Experis
39
SU24 Example for SE11
Experis
40
Table USOBT_C Example for SE11
Experis
41
Auditing SAP Security - SUIM
Main auditing transaction code used when auditing SAP security is
'SUIM’ (User Information System), which can be used for the following:
Identify Users:
• Authorization to execute specific transaction codes based on
complex selection criteria using authorization objects and field values
• By specific User ID, Roles, Profiles, Authorizations, etc.
• Users with unsuccessful logons or based on last logon date and
password change
Identify Roles:
• Roles containing authorizations to execute specific transaction codes
• By Role Name or by User, Transaction or Profile assignment
Other: SUIM can also be used to perform other queries including
change documents
Experis
42
Access to Critical SAP Profiles
SAP has profiles, containing authorizations that are automatically developed
with the delivery of the system. These profiles are not assigned to a security
role and can be assigned to a user’s Master Record.
Some of these profiles are critical and have access to critical functions within the
SAP environment. Critical profiles include:
SAP_ALL
SAP_NEW
S_A.CUSTOMIZ
S_A.DEVELOP
S_A.SYSTEM
S_A.USER
S_USER_ALL
S_USER_GRP
Experis
S_RFC
S_TABU
S_A.CPIC
S_A.ADMIN
S_ABAP_ALL
S_RZL_ADMIN
S_NEW_*
S_ADMI_ALL
43
Users Assigned to Critical Profiles
•
•
Utilize transaction code SUIM (Users > Users by Complex Selection
Criteria>By Profiles)
Generate queries for each of the critical SAP profiles that are in scope for the
audit.
Experis
44
Users Assigned to Critical Profiles - Results
Output of query will show the users that have the specific security profile
assigned to their User Master Record. Here is the result for the query of users
assigned to the ‘SAP_ALL’ profile:
Experis
45
Identify Users with Access to Specific
Transactions
To identify users with access and the ability to execute specific
transaction codes, conduct the following:
• Identify the authorization objects and field values required to execute
the transaction
• Utilize the SUIM transaction code and follow the path: User
Information System>User>Users by Complex Selection
Criteria>Users by Complex Selection Criteria>Users
• Input the authorization and associated field values and execute the
query.
• Output: Users that have the authorization objects and field values
assigned to their User Master Record that would allow them to
execute the transaction code
Experis
46
SUIM Execution and Access List Example
Find users with access to execute transaction code SE11:
Authorization Objects for SE11:
• S_TCODE, field value = SE11
• S_DEVELOP, field Activity (ACTVT), field value = 01 (Create), 02
(Change) and 06 (Delete)
Utilize SUIM and execute Users by Complex Selection Criteria and
input the authorization objects and execute a query for each activity
value
Results for the 3 queries: 48 User IDs with activity ‘01’, 52 User IDs
with activity ’02’ and 48 User IDs with activity ‘06’
What would happen if generated 1 query for all 3 activity values or 2 of
the 3 activity values?
Experis
47
Access to Transactions & Authorization
Objects
Experis
48
SE11 / Activity 01 SUIM Query Inputs
Experis
49
SUIM Query Results for SE11 w/Activity 01
Experis
50
Roles or Profiles Containing Authorization
Objects
To identify the security roles assigned to the users that contain the
authorization objects to execute the transaction code: Highlight all
users and select Roles ‘In Accordance with Selection’.
To identify the profiles assigned to the users that contain the
authorization objects to execute the transaction code: Highlight all users
and select Profiles ‘In Accordance with Selection’.
Experis
51
SUIM Query Results – Roles in
Accordance with Selection
Experis
52
SUIM Query Results – Roles in Accordance
with Selection
Experis
53
SUIM Query Results – Profiles in
Accordance with Selection
Experis
54
Key Security Transaction Codes
•
•
•
•
•
•
•
•
•
SU01 - Create User Master Record
SU01D – View User Master Record
SU02 – Maintain Authorization Profiles
SU03 – Maintain Authorizations
SU10 – User Mass Maintenance
SU24 – Maintain Authorization Defaults
SUIM – User Information System
PFCG – Role Maintenance (Profile Generator)
RZ10 – Maintain Profile Parameters
Experis
55
Key SAP Security Tables
USR02 – User Logon Data
USOBT_C – Relating Transaction Code to Authorization Objects
AGR_USERS – Roles assigned to Users
AGR_TCODES – Transaction codes assigned to Roles
AGR_1016B – Roles assigned to Profiles
AGR_AGRS – Roles in Composite Roles
AGR_1250 – Role and Authorization Data
AGR_1251 – Role, Object, Field and Value
AGR_1252 – Organizational Elements for Authorizations
TSTCT – Transaction Code Text
DD02T – SAP Table Text
TACT – Available Activities and Values
Experis
56
Questions and Comments
Linda Yates
Consultant, Risk Advisory Services
Linda.yates@experis.com
704-617-0639
Experis
57
Download