SNC Config
SNC Config
SNC Config
SAP AG Dietmar-Hopp-Allee 16 69190 Walldorf Germany T +49/18 05/34 34 24 F +49/18 05/34 34 20 www.sap.com
Copyright 2011 SAP AG. All rights reserved. JavaScript is a registered trademark of Sun Microsystems, Inc., used No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. Disclaimer Some components of this product are based on Java. Any code change in these components may cause unpredictable and severe malfunctions and is therefore expressively prohibited, as is any decompilation of these components. Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase, Inc. Sybase is an SAP company. bs All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group 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. SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries. Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects Software Ltd. in the United States and in other countries. under license for technology invented and implemented by Netscape.
Any Java Source Code delivered with this product is only to be used by SAPs Support Services and may not be modified or altered in any way.
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The names of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission. Title to copyright in this Software shall at all times remain with copyright holders. OpenLDAP is a registered trademark of the OpenLDAP Foundation. Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distribute verbatim copies of this document is granted. PCRE http://www.pcre.org/ PCRE LICENCE
THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, PCRE is a library of functions to support regular expressions whose syntax and semantics are as close as possible to those of the Perl 5 language.
Release 8 of PCRE is distributed under the terms of the "BSD" licence, as specified below. The documentation for PCRE, supplied in the "doc" directory, is distributed under the same terms as the software itself. The basic library functions are written in C and are freestanding. Also included in the distribution is a set of C++ wrapper functions. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED THE BASIC LIBRARY FUNCTIONS Written by: Email domain: Philip Hazel cam.ac.uk TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT University of Cambridge Computing Service, Cambridge, England. Copyright (c) 1997-2010 University of Cambridge All rights reserved. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF THE C++ WRAPPER FUNCTIONS Contributed by: Google Inc. Copyright (c) 2007-2010, Google Inc. All rights reserved. SUCH DAMAGE. SSLeay http://www2.psy.uq.edu.au/~ftp/Crypto/ssleay/ Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved. This package is an SSL implementation written by Eric Young THE "BSD" LICENCE Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed. This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com). (eay@cryptsoft.com). The implementation was written so as to conform with Netscapes SSL. Email local part: ph10 * Neither the name of the University of Cambridge nor the name of Google Inc. nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission.
If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation (online or textual) provided with the package. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: "This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)" The word 'cryptographic' can be left out if the rouines from the library being used are not cryptographic related :-). 4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement: "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The licence and distribution terms for any publically available version or derivative of this code cannot be changed. I.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.]
Typographic Conventions
Type Style Example Text Description Words or characters quoted from the screen. These include field names, screen titles, pushbuttons labels, menu names, menu paths, and menu options. Cross-references to other documentation Emphasized words or phrases in body text, graphic titles, and table titles Technical names of system objects. These include report names, program names, transaction codes, table names, and key concepts of a programming language when they are surrounded by body text, for example, SELECT and INCLUDE. Output on the screen. This includes file and directory names and their paths, messages, names of variables and parameters, source text, and names of installation, upgrade and database tools. Exact user entry. These are words or characters that you enter in the system exactly as they appear in the documentation. Variable user entry. Angle brackets indicate that you replace these words and characters with appropriate entries to make entries in the system. Keys on the keyboard, for example, F2 or ENTER.
Icons
Icon Meaning Caution Example Note Recommendation Syntax Additional icons are used in SAP Library documentation to help you identify different types of information at a glance. For more information, see Help on Help General Information Classes and Information Classes for Business Information Warehouse on the first page of any version of SAP Library.
Example text
EXAMPLE TEXT
Example text
Example text
<Example text>
EXAMPLE TEXT
Contents
1 What is Secure Login? ....................................................................... 8
1.1 System Overview .................................................................................... 9 1.2 Main System Components .................................................................. 10
6 Troubleshooting ................................................................................ 46
6.1 SNC Library Not Found ........................................................................ 46 6.2 Credentials Not Found ......................................................................... 46 6.3 No User Exists with SNC Name........................................................... 47
06/2011
Windows Domain (Active Directory Server) RADIUS server LDAP server SAP NetWeaver server Smart card authentication
If a PKI has already been set up, the digital user certificates of the PKI can also be used by Secure Login. Secure Login also provides single sign-on for Web browser access to the SAP Portal (and other HTTPS-enabled Web applications) with SSL.
06/2011
Secure Login Server Central service that provides X.509v3 certificates (out of the box PKI) to users and application server. The Secure Login Web Client is also provided. Secure Login Library Crypto Library for the SAP NetWeaver ABAP system. The Secure Login Library supports X.509 and Kerberos technology in parallel. Secure Login Client Client application that provides security tokens (Kerberos and X.509 technology) for a variety of applications.
The Secure Login Library is integrated with SAP software to provide single sign-on capability and enhanced security. An existing PKI structure or the Kerberos technology can be used for user authentication.
You do not need to install all of the components. This depends on your use case scenario. For more information about Secure Login Server and Secure Login Client see their Installation, Configuration and Administration Guides.
06/2011
Figure: Secure Login System Environment with existing PKI and Kerberos The Secure Login Client is responsible for the certificate-based authentication and Kerberosbased authentication to the SAP Application Server and for secure communication.
For more information about Secure Login Server and Secure Login Client see the Installation, Configuration and Administration Guide.
10
06/2011
2.1 Prerequisites
This section deals with the prerequisites and requirements for the installation of Secure Login Library. You can download the SAP NetWeaver Single Sign-On software from the SAP Service Marketplace. Go to https://service.sap.com/swdc and choose Support Package and Patches > Browse our Download Catalog > SAP NetWeaver and complementary products > SAP NetWeaver Single Sign-On > SAP NetWeaver Single Sign-On 1 > Comprised Software Component Versions > Secure Login Library 1.0. The Secure Login Library is available for the following operating systems: AIX 32-bit AIX 64-bit HP-UX on IA-64 64-bit HP-UX on PA-RISC 32-bit HP-UX on PA-RISC 64-bit Linux on IA32 32-bit Linux on IA-64 64-bit Linux on Power 64-bit Linux on x86_64 64-bit Linux on zSeries 64-bit MacOS X 64-bit Solaris on SPARC 32-bit Solaris on SPARC 64-bit Solaris on x64_64 64-bit TRU64 64-bit Microsoft Windows Server on IA32 32-bit Microsoft Windows on IA-64 64-bit Microsoft Windows on x64 64-bit
Hardware Requirements
Secure Login Library Hard Disk Space Random Access Memory Details 10 MB Hard Disk Space Min. 1 GB RAM
Software Requirements
Secure Login Library Operating Systems Details Microsoft Windows Server 2003 x64 64-bit Microsoft Windows Server 2003 on IA-64 64-bit Microsoft Windows Server 2008 x64 64-bit Microsoft Windows Server 2008 on IA-64 64-bit
06/2011
11
Microsoft Windows Server 2008 R2 x64 64-bit Microsoft Windows Server 2008 R2 on IA-64 64-bit AIX 5.2, 5.3, 6.1, 7.1 Power 64-bit HP-UX 11.11, 11.23, 11.31 PA-RISC 64-bit HP-UX 11.23, 11.31 IA-64 64-bit Solaris 9, 10 SPARC 64-bit Solaris 10 x64 64-bit Linux SLES 9, 10, 11 IA-64 64-bit Linux SLES 9, 10, 11 x86_64-bit Linux SLES 9, 10, 11 Power 64-bit Linux RHEL 4, 5, 6 IA-64 64-bit Linux RHEL 4, 5, 6 x86_64-bit Linux RHEL 4, 5, 6 Power 64-bit OSF1 5.1 Alpha 64-bit Mac OS X 10.5 Universal 96 (32-bit / 64-bit) SAP Application Server SAP R/3 Release 4.6C SAP R/3 Enterprise Release 4.70 SAP Web Application Server 6.10 SAP Web Application Server 6.20 SAP Web Application Server 6.30 SAP NetWeaver 2004 SAP NetWeaver 7.0 SAP NetWeaver 7.0 EHP1 SAP NetWeaver 7.0 EHP2 SAP NetWeaver 7.3 The SAPCRYPTOLIB is required to use the transaction STRUST (PSE Management). The Microsoft library Microsoft Visual C++ 2010 Redistributable Package can be installed if you use a Windows operating system.
12
06/2011
<INSTDIR>\<SID>\DVEBMGS<instance_number>\SLL
Microsoft Windows Example: D:\usr\sap\ABC\DVEBMGS00\SLL
06/2011
13
<INSTDIR>\<SID>\DVEBMGS<instance_number>\SLL\snc.exe
Microsoft Windows Example D:\usr\sap\ABC\DVEBMGS00\SLL\snc.exe
The system displays further information about the Secure Login Library. The test is successful if the product version is displayed.
If the following error message is displayed, install the Microsoft Visual C++ 2010 Redistributable Package.
14
06/2011
<INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL
Example: /usr/sap/ABC/DVEBMGS00/SLL
06/2011
15
To use the shell under the operating system HP-UX with the shared libraries, you need to set an attribute with the following command:
<INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL/snc
Example: /usr/sap/ABC/DVEBMGS00/SLL/snc The system displays further information about the Secure Login Library. The test is successful if the product version is displayed.
16
06/2011
06/2011
17
2.5 Uninstallation
This section explains how to uninstall Secure Login Library.
<INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL/
For more information about the instance profile parameters see section 3 Secure Login Library Configuration.
18
06/2011
SNC Parameters
Log on to the SAP NetWeaver Application Server using SAP GUI. Start the transaction RZ10 and define the following SNC parameters in Instance Profile.
Define the SNC library. Microsoft Windows <Path>\SLL\secgss.dll HP-UX <Path>/SLL/libsecgss.sl Solaris / Linux / AIX <Path>/SLL/libsecgss.so Define the SNC name of the SAP servers security token. X.509 Certificate Token p:<X.509_Distinguished_Name> Example:
snc/identity/as
06/2011
19
Hint: If X.509 certificate token and Kerberos tokens are used in parallel, define the X.509 certificate distinguished name. This value is case sensitive. snc/data_protection/max snc/data_protection/min snc/data_protection/use snc/r3int_rfc_secure snc/r3int_rfc_qop snc/accept_insecure_cpic snc/accept_insecure_gui 3 2 3 0 8 1 1 Accept insecure communication Use this value if both insecure and secure communication are to be allowed for SAP GUI. 0 Disallow insecure communication Use this value only if secure communication is to be allowed only (no insecure communication) for SAP GUI. U User-defined (User Management SU01) Use this value if insecure or secure communication for SAP GUI application is to be configured in the user management tool (SU01). We recommend that you set this value to 1. If you want to enforce higher security, change this value to 0 (for all) or U (user dependent). snc/accept_insecure_rfc snc/permit_insecure_start snc/force_login_screen 1 1 0
20
06/2011
Figure: Transaction STRUST Import X.509 Certificate Load the PSE file by entering the password, navigate back to the PSE menu, choose Save as, and select SNC SAPCryptolib.
Figure: Save PSE as SNC SAPCryptolib If the certificate distinguished name of the PSE file does not match the SNC name configuration set in the instance profile parameter (snc/identity/as), an error message appears. This verification check is performed only if SNC is activated. You can see trusted certificates that have been imported with the transaction STRUST if you enter the following command: Microsoft Windows: <INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL/snc O <SAPServiceSID> Linux: <INSTDIR>/<SID>adm/DVEBMGS<instance_number>/SLL/snc O <SIDadm> Example Microsoft Windows: /usr/sap/ABC/DVEBMGS00/SLL/snc O SAPServiceABC UNIX/Linux: /usr/sap/ABCadm/DVEBMGS00/SLL/snc O absadm
06/2011
21
Secure Login Library is installed and if required in shell; the environment variable SECUDIR is defined. File access rights are defined for Secure Login Library. SNC parameters are defined in the instance profile. Correct path and filename configuration for the SNC library. Correct definition of the SNC name (case sensitive). X.509 certificate for the SAP System has been imported using STRUST.
SNC Parameter
Login on to the SAP NetWeaver Server using SAP GUI. Start transaction RZ10 and define the following SNC parameters In the instance profile.
Define the SNC library. Microsoft Windows <Path>\SLL\secgss.dll HP-UX <Path>/SLL/libsecgss.sl Solaris / Linux / AIX <Path>/SLL/libsecgss.so Define the SNC name of the SAP servers security token. Kerberos Token p:CN=<ServicePrincipalName> Example:
snc/identity/as
p:CN=SAP/KerberosABC@DEMO.LOCAL
Hint: If X.509 certificate token and Kerberos tokens are used in parallel, define the X.509 certificate distinguished name. This value is case sensitive. snc/data_protection/max snc/data_protection/min snc/data_protection/use 3 2 3
22
06/2011
0 8 1 1 Accept insecure communication Use this value if insecure and secure communication should be allowed for SAP GUI. 0 Disallow insecure communication Use this value only if secure communication is to be allowed (no insecure communication) for SAP GUI. U User-defined (User Management SU01) Use this value if insecure or secure communication for SAP GUI is to be configured in the user management tool (SU01). We recommend that you set this value to 1. If you want to enforce higher security, change this value to 0 (for all) or U (user-dependent).
1 1 0
06/2011
23
Define a password and choose the option User cannot change password and Password never expires.
Figure: Create a Microsoft Windows Account Make sure the password is as complex as possible.
24
06/2011
06/2011
25
setspn T * -T foo -X
If no Personal Security Environment (PSE) is available; enter the following command to create a PSE:
26
06/2011
Figure: Verify PSE Location PSE directory must point to the <INSTDIR>/<SID>/DVEBMS<instance_number>/sec folder. The environment variable SECUDIR is defined automatically by the SAP server process. Define this environment variable manually (shell) if you need to access the PSE (for example, using the snc command line application).
06/2011
27
Secure Login Library is installed and if required in shell; the environment variable SECUDIR is defined. File access rights are defined for Secure Login Library. SNC parameters are defined in the instance profile. Correct path and filename configuration for the SNC library. Correct definition of the SNC name (case sensitive). PSE Environment was created and the Kerberos keytab has been imported using the Secure Login Library command line tool.
If there are problems with the SNC configuration, the SAP server system will no longer
28
06/2011
start. A quick solution is to disable SNC. Open the instance profile configuration file and configure the parameter snc/enable = 0. Restart the SAP NetWeaver Application Server and verify the SNC installation and configuration.
06/2011
29
4 Configuration Options
4 Configuration Options
This section describes some useful configuration and troubleshooting issues.
The file sec_log_file_level.txt contains the trace level as a single digit. Example sec_log_file_level.txt 4 Value 0 1 2 3 4 Details No trace Errors Errors and warnings Errors, warnings, and logs Errors, warnings, logs, and information messages
30
06/2011
4 Configuration Options
Display security token Information Create a Personal Security Environment (pse.zip). Import X.509 certificates Certificate management Create and import a Kerberos keytab If not defined, set the environment variable SECUDIR to: before using the snc command.
<INSTDIR>/<SID>/DVEBMGS<instance_number>/sec
To call the snc command, add the <INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL directory to the PATH variable or call snc together with the following path: Microsoft Windows <INSTDIR>\<SID>\DVEBMGS<instance_number>\SLL\snc.exe UNIX <INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL/snc Use the command snc H to display the complete documentation of each parameter.
: Secure Login Library 1.0.0 : CryptoLib 8.3.4.0 Support Package SP0/ATS SP1 SP2
06/2011
31
4 Configuration Options
To display the status for a specific user use the following command: snc O <User Name> status -v Example: snc O abcadm status v snc O SAPServiceABC status -v
Configure key server file for PSE snc cred x <PSE_management_password> f <server_key_file> The server key file is a file on the server with random content which is used to grant access to the PSE. You can use any kind of file type which is larger than 32 Byte. It is required to create or copy the file to the desired location on the server. Usinga server key file limits the use of PSE to the user, who has file access rights to the server key file.
32
06/2011
4 Configuration Options
snc register f C:\Certificate\cert.p12 Use the command snc status v to verify the import.
06/2011
33
4 Configuration Options
Example snc trust d CN=Certificate, OU=SAP Security Use the command snc status v to display the certificate distinguished name. Use the command snc -H to display further configuration parameters.
AES256 AES192 (old protocol 1993 only) AES128 3DES (old protocol 1993 only) RC4 (new protocol 2010 only)
Secure Login Library has implemented two protocols named protocol_1993 (old) and protocol_2010 (new). The old protocol is compatible with SAP Crypto Library (SAPCryptoLib). The new protocol supports X.509 certificates and Kerberos tokens in parallel. If SAP GUI establishes a secure communication to the SAP NetWeaver Application Server, the symmetric algorithm is agreed between both partners. It is possible to force the use of, for example, the AES256 symmetric algorithm. You can define this in the Secure Login Library configuration file gss.xml.
Parameter <algs_encr>XXX</algs_encr>
Details Use this parameter to define the symmetric algorithm for the old protocol, which is defined in section <protocol_1993>. This protocol is compatible with SAP Crypto Library (SAPCryptoLib). By default, the strongest symmetric algorithm that is available on both sides is agreed. It is possible in the Secure Login Library to allow the acceptance of only aes256, for example. You can define the following algorithms: aes256 aes192 aes128
34
06/2011
4 Configuration Options
des3 Default is <empty>. The symmetric algorithm is arranged during the authentication process. <ciphers>XXX</ciphers> Use this parameter to define the symmetric algorithm for the new protocol, which is defined in section <protocol_2010>. This protocol supports the Kerberos solution. By default, the strongest symmetric algorithm that is available on both sides is agreed. It is possible in the Secure Login Library to allow only the acceptance of only AES256, for example. You can define the following algorithms: AES256 AES128 RC4 Default is <empty>. The symmetric algorithm is arranged during the authentication process.
gss.xml
<gss> <server> <protocol_1993> <algs_encr>xxx</algs_encr> </protocol_1993> <protocol_2010> <ciphers>xxx</ciphers> </protocol_2010> </server> </gss>
06/2011
35
4 Configuration Options
Details Define the configuration in parameter <UpperCaseClientName>. true The distinguished name is provided in uppercase. false The distinguished name is provided in mixed case. Default is false.
gss.xml
<gss> <server> <UpperCaseClientName>xxx</UpperCaseClientName> </server> </gss>
36
06/2011
4 Configuration Options
Details Define the configuration in parameter <ClientNameSource>. AltNameEMAIL RFC 822 name. AltNameDNS DNS name AltNameDNAME Directory name AltNameURI URI AltNameIP IP address AltNameUPN otherName with object identifier Subject Distinguished Name Default is <empty>. In this case, the Subject (Distinguished Name) is used.
gss.xml
<gss> <server> <ClientNameSource>xxx</ClientNameSource> </server> </gss>
06/2011
37
4 Configuration Options
Parameter <searchstr>XXX</searchstr>
Details In the <nameconversions> section, use the <searchstr> parameter to define the part of the distinguished name to be shortened. Example: OU=Very Long Organization Unit Name In the <nameconversions> section, the <replstr> parameter is used to define the part of the distinguished name to be replaced. Example: OU=Short Name
<replstr>XXX</replstr>
gss.xml
<gss> <nameconversions> <searchstr>VeryLongNameComponent</searchstr> <replstr>ShorterNameComponent</replstr> </nameconversions> <nameconversions> <searchstr>AnotherVeryLongNameComponent</searchstr> <replstr>AnotherShorterNameComponent</replstr> </nameconversions> </gss>
38
06/2011
4 Configuration Options
Manual Configuration
Start the user management tool by calling transaction SU01. Choose the SNC tab. If you are using Kerberos authentication, enter the Kerberos user name in the SNC name field. If you are using X.509 certificate based authentication, enter the X.509 Certificate Distinguished Name in the SNC name field. Note that the definition of the SNC name is case sensitive.
Kerberos Example
In this example the SNC Name p:CN=MICROSOFTUSER@DEMO.LOCAL belongs to the user SAPUSER.
06/2011
39
4 Configuration Options
For more information about how to perform user mapping, see the Secure Login Library Installation, Configuration, and Administration Guide.
Kerberos Example
In this example, SNC names are generated with the following string for all users without an SNC name.
p:CN=user_name@DEMO.LOCAL
40
06/2011
4 Configuration Options
06/2011
41
Limitations
The Secure Login Library covers only basic functions on the server side, such as checking client certificates with CRLs, getting CRLs from a distribution point, and storing it in a local cache. The Secure Login Library has the following limitations: Customers cannot use the extension IssuingDistributionPoint in CRLs with the Secure Login Library. No use of delta CRLs At present the Secure Login Library assumes that, in a given environment, all CAs provide CRLs. This means that multiple PKIs using different revocation checking policies and one PKI with CAs using different revocation checking policies are not supported. Usually UNIX does not come with an LDAP client. To use the CRL tool to get CRLs from LDAP, you must provide an OpenLDAP client (liboldap.*). The Secure Login Client does not check CRLs.
42
06/2011
crl status crl list crl remove crl show crl store
06/2011
43
pkix.xml
In the configuration file pkix.xml, you can configure whether a CRL check is used at all. CRL checking is active if the parameter revCheck is set to the value CRL. The default setting of this parameter is no (no use of CRLs). After you have entered changes in the configuration files, restart your ABAP server so that the newly-set parameters take effect.
base.xml
You can configure the cache and the verification of the CRL download in the file base.xml. If you use CRLs that are located in the cache, performance will improve considerably. By default, the parameter verificationonlineaccess is set to false to disable the function that verifies the CRLs online. If you want to activate the CRL cache, set the parameter usepkicache to true (default setting is false). If you want to define a different location for the cache directory, you may optionally use the parameter pkicachedir and enter the location there (for multiple servers accessing the cache, you could use an NFS cache). Example
44
06/2011
ldap.xml
You only need to modify this file if an LDAP URL that does not contain the server name is used as a CRL distribution point (in the default setting, the relevant section is commented out). In this case, you define the name of the LDAP server in the configuration file ldap.xml. If you are in a Microsoft Windows domain and Active Directory is used as LDAP server, you must enter the value ADS in the parameter name. Example <ldap> <server> <name>ADS</name> </server> </ldap>
06/2011
45
6 Troubleshooting
6 Troubleshooting
This section provides further information about how to perform troubleshooting for Secure Login Library.
Verify SAP trace file dev_w0. Verify if Secure Login Library is installed correctly. Verify the installation described in section 2 Secure Login Library Installation. Verify the SNC configuration. Log on to SAP ABAP server using SAP GUI and start transaction RZ10. Choose the instance profile and verify the value of the parameter snc/gssapi_lib. For more information, see section 3 Secure Login Library Configuration. Verify SNC library file access rights for the user starting the SAP server. Verify the SNC library status with the command snc status v or snc O <user_name> status v. Enable Secure Login Library trace and analyze the problem. For more information, see section 4.1 Enable Trace.
Verify SAP trace file dev_w0. Verify if Secure Login Library is installed correctly. Verify the installation described in section 2 Secure Login Library Installation. Verify the SNC configuration. Log on to SAP ABAP server using SAP GUI and start transaction RZ10. Choose the instance profile and verify the SNC configuration. For more information, see section 3 Secure Login Library Configuration.
46
06/2011
6 Troubleshooting
Verify SNC library file access rights for the user starting the SAP server. Verify if the SNC certificate was provided to the Secure Login Library PSE environment. Start a command line shell and change to the Secure Login Library folder <INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL. Set the environment SECUDIR=<INSTDIR>/<SID>/DVEBMGS<instance_number>/sec Use the command: snc O <SAP_service_user> status v Microsoft Windows Example: snc O SAPServiceABC status v Linux Example: snc O abcadm status v
Enable the Secure Login Library trace and analyze the problem. For more information, see section 4.1 Enable Trace.
06/2011
47
7 List of Abbreviations
7 List of Abbreviations
Abbreviation ADS CA CAPI CRL CSP DN EAR HTTP HTTPS IAS JAAS JSPM LDAP NPA PIN PKCS PKCS#10 PKCS#11 PKCS#12 PKI PSE RADIUS RFC RSA SAR SCA SLAC SLC SLL SLS SLWC SNC Meaning Active Directory Service Certification Authority Microsoft Crypto API Certification Revocation List Cryptographic Service Provider Distinguished Name Enterprise Application Archive Hyper Text Transport Protocol Hyper Text Transport Protocol with Secure Socket Layer (SSL) Internet Authentication Service (Microsoft Windows Server 2003) Java Authentication and Authorization Service Java Support Package Manager Lightweight Directory Access Protocol Network Policy and Access Services (Microsoft Windows Server 2008) Personal Identification Number Public Key Cryptography Standards Certification Request Standard Cryptographic Token Interface Standard Personal Information Exchange Syntax Standard Public Key Infrastructure Personal Security Environment Remote Authentication Dial-In User Service Remote function call (SAP NetWeaver term) Rivest, Shamir and Adleman SAP Archive Software Component Archive Secure Login Administration Console Secure Login Client Secure Login Library Secure Login Server Secure Login Web Client Secure Network Communication (SAP term)
48
06/2011
7 List of Abbreviations
Secure Socket Layer User Principal Name Web Archive Web Application Server
06/2011
49
8 Glossary
8 Glossary
Authentication
A process that checks whether a person is really who they claim to be. In a multi-user or network system, authentication means the validation of a users logon information. A users name and password are compared against an authorized list.
Base64 encoding
Base64 encoding is a three-byte to four-characters encoding based on an alphabet of 64 characters. This encoding has been introduced in PEM (RFC1421) and MIME. Other uses include HTTP Basic Authentication headers and general binary-to-text encoding applications. Note: Base64 encoding expands binary data by 33%, which is quite efficient
CAPI
See Cryptographic Application Programming Interface
Certificate
A digital identity card. A certificate typically includes:
The public key being signed. A name, which can refer to a person, a computer or an organization. A validity period. The location (URL) of a revocation center. The digital signature of the certificate produced by the CAs private key.
Certificate Store
Sets of security certificates belonging to user tokens or certification authorities.
CREDDIR
A directory on the server in which information is placed that goes beyond the PSE
50
06/2011
8 Glossary
Credentials
Used to establish the identity of a party in communication. Usually they take the form of machine-readable cryptographic keys and/or passwords. Cryptographic credentials may be self-issued, or issued by a trusted third party; in many cases the only criterion for issuance is unambiguous association of the credential with a specific, real individual or other entity. Cryptographic credentials are often designed to expire after a certain period, although this is not mandatory. Credentials have a defined time to live (TTL) that is configured by a policy and managed by a client service process.
Directory Service
Provides information in a structured format. Within a PKI: Contains information about the public key of the user of the security infrastructure, similar to a telephone book (for example, an X.500 or LDAP directory).
Key Usage
Key usage extensions define the purpose of the public key contained in a certificate. You can use them to restrict the public key to as few or as many operations as needed. For example, if you have a key used only for signing, enable the digital signature and/or non-repudiation extensions. Alternatively, if a key is used only for key management, enable key enciphering.
06/2011
51
8 Glossary
Extended key usage further refines key usage extensions. An extended key is either critical or non-critical. If the extension is critical, the certificate must be used only for the indicated purpose or purposes. If the certificate is used for another purpose, it is in violation of the CA's policy. If the extension is non-critical, it indicates the intended purpose or purposes of the key and may be used in finding the correct key/certificate of an entity that has multiple keys/certificates. The extension is then only an informational field and does not imply that the CA restricts use of the key to the purpose indicated. Nevertheless, applications that use certificates may require that a particular purpose be indicated in order for the certificate to be acceptable.
PKCS#11
PKCS refers to a group of Public Key Cryptography Standards devised and published by RSA Security. PKCS#11 is an API defining a generic interface to cryptographic tokens.
PEM
See Privacy Enhanced Mail.
PIN
See Personal Identification Number.
52
06/2011
8 Glossary
The original specification additionally used the "*" symbol to delimit encoded but unencrypted data within the output stream.
Public FSD
Public file system device. An external storage device that uses the same file system as the operating system.
Root certification
The certificate of the root CA.
RSA
An asymmetric, cryptographically procedure, developed by Rivest, Shamir, and Adleman in 1977. It is the most widely-used algorithm for encryption and authentication. Is used in many common browsers and mail tools. Security depends on the length of the key: key lengths of 1024 bits or higher are regarded as secure.
06/2011
53
8 Glossary
Single Sign-On
A system that administrates authentication information allowing a user to logon to systems and open programs without the need to enter authentication every time (automatic authentication).
Token
A security token (or sometimes a hardware token, authentication token or cryptographic token) may be a physical device that an authorized user of computer services is given to aid in authentication. The term may also refer to software tokens. Smart-card-based USB tokens (which contain a smart card chip inside) provide the functionality of both USB tokens and smart cards. They enable a broad range of security solutions and provide the abilities and security of a traditional Smart Card without requiring a unique input device (smart card reader). From the computer operating systems point of view a token is a USB-connected smart card reader with one nonremovable smart card present. Tokens provide access to a private key that allows the user to perform cryptographic operations. The private key can be persistent (like a PSE file, smart card, or CAPI container) or non-persistent (like temporary keys provided by Secure Login).
Windows Credentials
A unique set of information authorizing the user to access the Microsoft Windows operating system on a computer. The credentials usually comprise a user name, a password, and a domain name (optional).
X.500
A standardized format for a tree-structured directory service.
X.509
A standardized format for certificates and blocking list.
54
06/2011