SAP NetWeaver开发者指南.doc

上传人:99****p 文档编号:1395032 上传时间:2019-02-24 格式:DOC 页数:45 大小:477KB
下载 相关 举报
SAP NetWeaver开发者指南.doc_第1页
第1页 / 共45页
SAP NetWeaver开发者指南.doc_第2页
第2页 / 共45页
SAP NetWeaver开发者指南.doc_第3页
第3页 / 共45页
SAP NetWeaver开发者指南.doc_第4页
第4页 / 共45页
SAP NetWeaver开发者指南.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、SAP NetWeaver 开发者指南版本: SAP NetWeaver 2004s安全编程-ABAP文档版本 1.0 2006 年 5 月SAP AG Dietmar-Hopp-Allee 16 69190 Walldorf Germany T +49/18 05/34 34 24 F +49/18 05/34 34 20 Copyright 2005 SAP AG. 版权所有.本出版物的任何内容未经SAP AG直接允许不能以任何形式和任何目的进行复制和传播. 此处包含信息的变更可未经事前告知.由SAP AG和其发行人标记的部分软件产品包含其他软件厂商的专利软件组件.Microsoft,

2、Windows, Outlook, 和 PowerPoint 为微软公司注册商标.IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, 和Informix为美国国际商用机器公司在美国和其他国家的商标或者注册商标.Oracle为甲骨文公司注册商标UNIX,

3、X/Open, OSF/1, 和 Motif 为Open Group注册商标. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, 和 MultiWin为Citrix Systems, Inc商标或者注册商标. HTML, XML, XHTML 和W3C为W3C 商标或者注册商标, WWW联盟, 马萨诸塞州理工学院. Java 为Sun Microsystems, Inc注册商标 . JavaScript为Sun Microsystems, Inc注册商标, 在为由Netscape 发明并且实现的技术 lice

4、nse下使用.MaxDB为 MySQL AB, 瑞典 商标SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, 以及其他在此提及的 SAP产品和服务,包括其相应的标示为SAP AG在德国和全球若干其他国家的商标或注册商标. 所有其他被提及的产品和服务名均为其各自公司的商标. 包含在此文档中的数据仅用于资料目的。国家产品说明可能不同。资料可未经通知进行修改。资料由SAP AG和其关联公司(“SAP Group”)仅为资料目的提供,没有任何形式的代表或担保,并且SAP Group将不对有关资料的错误或遗漏负责。对于SAP Group产品和服

5、务的唯一担保为那些在附带于产品和服务上的直接担保声明书中进行声明的部分,如有可能。此处的任何内容不能理解为构成额外担保。免责条款本产品的部分组件基于Java. 在这些组件中的任何代码改动可能会引起无法预料的严重功能错误,因此为表现地禁止,由于这些组件的任何不可编辑。任何随附本产品的Java 源代码仅由SAP支持服务使用并且不得以任何途径进行修改或变更。关于SAP 开发者网络的文档:你可以参考文档于:https:/ 目 录安全编程-ABAP 4目的4目标人群4关于文档4免责申明5安全编程 6密码安全6安全商店和转寄机制(SSF)9安全日志 11SAP病毒扫描接口 15安全用户接口 21跨站点脚本

6、(XSS) 21SQL注入 30输入验证 35规范化 38目录贯穿 40URL编码和操纵 43Cookie操纵 46更多信息49免责声明50安全编程-ABAP“安全就像是给你的车加上刹车。刹车的目的不是来让你停下来:而是使你变得更快!”-Gene Spafford目的本文档提供一个关于开发基于SAP NetWeaver平台的安全应用程序的概览。描述了共通的需要密切关注的安全性错误和缺陷以及安全过程以使你的应用程序运行地更安全。目标人群本文档的目标人群为开发基于SAP NetWeaver平台的应用程序的 ABAP开发人员。本指南主要针对在顾客,顾问公司以及合作伙伴的IT部门的开发人员。关于本文档

7、本文档分为如下部分: 安全编程o 密码安全o 安全商店和转寄机制(SSF)o 安全日志o SAP病毒扫描接口 安全用户接口o 跨站点脚本(XSS)o SQL注入o 输入验证o 规范化o 目录贯穿o URL编码和操纵o Cookie操纵针对上述每一点首先介绍其安全弱点。然后提出任何存在于SAP NetWeaver平台的标准解决方案,包括需要被用到的功能块和接口。如果在SAP NetWeaver平台中没有可用的方案,那么将提出对于可采取的适当的安全措施的建议。此外,通过对现存文档的合适链接样例代码将被提供。声明本文档中关于安全编程的全部描述和全部样例代码(在本条款下文引用为“示例”)仅仅出于演示的

8、目的,并未在所有条件下经过充分的测试。因此,SAP 不保证或者暗示其可靠性、适用性以及功能。您必须自行承担使用这些示例的风险和责任,SAP 将不对使用这些示例带来的损失负责,除非这些损失是由 SAP 的重大疏忽或故意误导所导致的。安全编程实现安全开发人员一个常见的问题就是缺少时间,他们总是为设计、功能、性能、可用性等问题伤透脑筋,因此几乎很少有时间来思考安全方面的问题以及可能不安全的软件设计和软件技术;而另一方面,攻击者们却有用他们全部的时间来思考软件系统的弱点。一个聪明的设计肯定是一个好的开始,然而仅此却不足以得到安全的软件,软件实现也有其诀窍。在接下来的章节中,我们将帮助你编写安全的代码。

9、本文还将特别阐述一些常见错误和缺陷,以及已被验证的过程。密码安全描述密码是人们非常熟悉的一种验证用户和系统身份的方法。相对于其它更安全的方式,比如说智能卡或者生物扫描仪,密码更简单也更便宜。它提供了一种简单而直接的保护系统或者帐号的方式。然而,缺点也是显而易见的。密码破解是计算出或者破坏密码从而对系统或者帐号进行未授权访问的过程。许多密码都不是随机的而很容易被猜出来。一个更有技术含量的方法是通过网络嗅探器监视通过网络传送的原始数据并且截取其内容,包括密码。而且,一旦攻击者可以获取网络传输中或者一个不安全的密码存储地中的加密的密码字符串,他们还可以尝试离线破解密码。使用基于密码的认证方法来保护系

10、统时,需要考虑下列几个方面。我从 SAP NetWeaver 平台中得到什么?基于密码的身份识别和认证的全部过程是这样的:首先,应用程序请求用户确认身份,通常是用户的帐号名称;然后,系统读取该用户的密码,计算其加密值,这个值是一个随机的字符串,用来防止攻击者尝试已知字典中的单词,有些密码组件还清除存储密码的内存;最终,系统检查用户输入的密码的加密值是否和以及存储在系统中的密码加密值是否匹配。如果是,该用户就被验证通过了。SAP NetWeaver 平台也提供一个如上所述的验证机制。通常地,推荐使用 SAP NetWeaver 平台已经提供的验证机制,而不是自己实现。我需要做什么?上面描述的问题

11、使得你必须小心处理你的用户 ID 和密码。如下的建议可以帮助你防止未经授权者访问你的系统:1. 有密码用明文显示的么? 不要使用明文显示密码而使用星号代替。2. 有密码使用明文保存和传输的么? 用明文传输的密码容易被截获。更好的方法是使用安全网络通讯协议来传送密码。 不要在明文中保存密码。 防止管理员获取密码。使用安全的加密函数以防止逆向破解密码。 SAP NetWeaver 平台使用安全的加密值来存储密码。 不要发明你自己的代码去加密原始密码。3. 有密码被硬编码到源代码中么? 使用类似一次性密码的技术。 在中心函数中应用一个可改变的密码,例如事务 SM59。 不要发明你自己的加密算法。4.

12、 有密码被记录在日志/协议/跟踪文件中么? 不要使用 HTTP GET 请求,而应该使用 POST 请求,因为 GET 请求的所有的参数都是在 URL 中可见的。通常,你应该避免为每个请求都传送密码。你可以使用安全的方法,比如数字证书。 考虑 Web 服务器在日志中记录所有的 URL。 根据设置的不同,密码也可能在跟踪的时候以一种可读的形式被显示。5. 内存中的密码不再被使用时是否被覆写? 确保覆写内存中的密码,否则它们甚至在程序终止后还存在于内存中从而能够被恶意程序读取。6. 是否用户 ID 和密码既没有被预先配置也不能在程序开始运行时通过下拉菜单调出? 最好避免使用任何下拉菜单来输入用户

13、ID 和密码。这一点对于密码来说尤为重要。7. 是否所有的密码,ID 以及用户名都可以被改变? 不可改变的 ID 和密码常常成为对一个程序进行攻击的起点。更多信息1安全编程注意事项 ( “密码安全”章节 )https:/ 0601-0010-7b82-e392df20392a 安全存储和转发机制 (SSF)描述你可以利用数字签名和文档加密来保障文档的安全性。这些文档将被安全存储和转发机制(SSF )视为独立的对象加以保护。也就是说,文档的安全性与它们的存储地址以及传递方式无关。你可以在任何数字文档和消息中使用数字签名,如同在书面文件上签名一样。数字签名唯一地标识了文档和消息的签署者。这是不可伪

14、造的同时也保护了文件的完整性。如果文档在签署了数字签名以后被修改,那么数字签名就不再有效。而文档的签署者对曾经签过的数字签名是无法否认的。另外, 你可以加密文档,使得只有经过授权的接收者才能够浏览文档内容。数字签名和文档加密的功能属于公共密钥技术。公共密钥技术建立在密钥对使用的基础上;密钥对中一个是私有密钥另一个为公共密钥。私有密钥是保密的,公共密钥则根据需要开放。更多有关公共密钥技术的详细信息,请查阅Public-Key Technology SAP Library 。我能从 SAP NetWeaver平台中得到什么?SAP NetWeaver平台提供了安全存储和转发Secure Store

15、 & Forward (SSF) 机制作为保护SAP任意数据的内部方法。SAP应用程序可以用SSF机制来确保数据的完整性,真实性和保密性。通过SSF的功能,你可以在数据和数字文档被保存在数据存储器或者通过(可能)不安全的通讯途径发射前,包裹好这些数据。这些数据不是必须保留在SAP 系统中;如果你在SAP系统中采用安全的格式保存了数据,那么即使你将这些数据导出系统,数据在安全格式中仍将保持不变。更多关于安全存储和转发机制(SSF)的详细信息,请查阅Secure Store & Forward Mechanisms (SSF) and Digital Signatures SAP Library。

16、局限性SSF需要使用第三方的安全产品来实现功能。作为默认的供应者,我们在SAP系统中提供了SAP Security Library (SAPSECULIB) 。 但是, SAPSECULIB只提供数字签名。对于数字信封,密文,或者加密硬件(例如智能卡或者加密盒),你需要使用外部的安全产品。SAP免费提供了SAP 密码库(SAP Cryptographic Library),你也可以使用经过证明的其他合作伙伴的产品。SAP密码库可以在SAP服务市场下载http:/ 但是由于要遵守德国出口法规,所以并不能对所有用户开放。合作伙伴的产品信息,请查阅SAP认可合作伙伴( http:/ Basis 4.

17、0开始。SSF在ABAP中提供了下列属于SSFG 功能组的功能模块: SSF_SIGN / SSF_KRN_SIGN 新建数字签名 SSF_VERIFY / SSF_KRN_VERIFY 验证数字签名 SSF_ENVELOPE / SSF_KRN_ENVELOPE 加密文档 SSF_DEVELOPE / SSF_KRN_DEVELOPE 解密文档这些SSF 功能模块的详细描述以及调用方法的代码,请查阅Secure Store and Forward (SSF) Programmers Guide. 更多关于数字签名的介绍,请查阅Digital Signatures in SAP Applications. 更多信息1. Digital Signatures and Encryption SAP Library 2. Secure Store & Forward Mechanisms (SSF) and Digital Signatures SAP Library 3. SAP系统中的数字签名原则https:/ 4. 安全存储和转发开发员指南 https:/ 5. 安全存储和转发 /数字签名 用户手册

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。