24.04.2013 Views

BMC Remedy Action Request System Security.pdf

BMC Remedy Action Request System Security.pdf

BMC Remedy Action Request System Security.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

White Paper<br />

<strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong><br />

<strong>System</strong> <strong>Security</strong><br />

June 2008<br />

www.bmc.com


Contacting <strong>BMC</strong> Software<br />

You can access the <strong>BMC</strong> Software website at http://www.bmc.com. From this website, you can obtain information<br />

about the company, its products, corporate offices, special events, and career opportunities.<br />

United States and Canada<br />

Address <strong>BMC</strong> SOFTWARE INC<br />

2101 CITYWEST BLVD<br />

HOUSTON TX 77042-2827<br />

USA<br />

Outside United States and Canada<br />

Telephone 713 918 8800 or<br />

800 841 2031<br />

Telephone (01) 713 918 8800 Fax (01) 713 918 8000<br />

Fax 713 918 8000<br />

If you have comments or suggestions about this documentation, contact Information Development by email at<br />

doc_feedback@bmc.com.<br />

© Copyright 2008 <strong>BMC</strong> Software, Inc.<br />

<strong>BMC</strong>, <strong>BMC</strong> Software, and the <strong>BMC</strong> Software logo are the exclusive properties of <strong>BMC</strong> Software, Inc., are registered with the U.S. Patent<br />

and Trademark Office, and may be registered or pending registration in other countries. All other <strong>BMC</strong> trademarks, service marks, and<br />

logos may be registered or pending registration in the U.S. or in other countries. All other trademarks or registered trademarks are the<br />

property of their respective owners.<br />

IBM is a registered trademark of International Business Machines Corporation.<br />

UNIX is a registered trademark of The Open Group.<br />

<strong>BMC</strong> Software considers information included in this documentation to be proprietary and confidential. Your use of this information is<br />

subject to the terms and conditions of the applicable End User License Agreement for the product and the proprietary and restricted<br />

rights notices included in this documentation.<br />

Restricted Rights Legend<br />

U.S. Government Restricted Rights to Computer Software. UNPUBLISHED -- RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF<br />

THE UNITED STATES. Use, duplication, or disclosure of any data and computer software by the U.S. Government is subject to<br />

restrictions, as applicable, set forth in FAR Section 52.227-14, DFARS 252.227-7013, DFARS 252.227-7014, DFARS 252.227-7015, and<br />

DFARS 252.227-7025, as amended from time to time. Contractor/Manufacturer is <strong>BMC</strong> Software, Inc., 2101 CityWest Blvd., Houston, TX<br />

77042-2827, USA. Any contract notices should be sent to this address.


Customer Support<br />

You can obtain technical support by using the Support page on the <strong>BMC</strong> Software website or by contacting Customer<br />

Support by telephone or email. To expedite your inquiry, please see “Before Contacting <strong>BMC</strong> Software.”<br />

Support Website<br />

You can obtain technical support from <strong>BMC</strong> Software 24 hours a day, 7 days a week at<br />

http://www.bmc.com/support_home. From this website, you can<br />

■ Read overviews about support services and programs that <strong>BMC</strong> Software offers.<br />

■ Find the most current information about <strong>BMC</strong> Software products.<br />

■ Search a database for problems similar to yours and possible solutions.<br />

■ Order or download product documentation.<br />

■ Report a problem or ask a question.<br />

■ Subscribe to receive email notices when new product versions are released.<br />

■ Find worldwide <strong>BMC</strong> Software support center locations and contact information, including email addresses, fax<br />

numbers, and telephone numbers.<br />

Support by telephone or email<br />

In the United States and Canada, if you need technical support and do not have access to the Web, call 800 537 1813 or<br />

send an email message to customer_support@bmc.com. (In the Subject line, enter<br />

SupID:, such as SupID:12345.) Outside the United States and Canada, contact<br />

your local support center for assistance.<br />

Before Contacting <strong>BMC</strong> Software<br />

Have the following information available so that Customer Support can begin working on your issue immediately:<br />

■ Product information<br />

— Product name<br />

— Product version (release number)<br />

— License number and password (trial or permanent)<br />

■ Operating system and environment information<br />

— Machine type<br />

— Operating system type, version, and service pack<br />

— <strong>System</strong> hardware configuration<br />

— Serial numbers<br />

— Related software (database, application, and communication) including type, version, and service pack or<br />

maintenance level<br />

■ Sequence of events leading to the problem<br />

■ Commands and options that you used<br />

■ Messages received (and the time and date that you received them)<br />

— Product error messages<br />

— Messages from the operating system, such as file system full<br />

— Messages from related software


White Paper<br />

<strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong> <strong>System</strong><br />

<strong>Security</strong><br />

This document provides a high-level overview of security in the <strong>BMC</strong> <strong>Remedy</strong><br />

<strong>Action</strong> <strong>Request</strong> <strong>System</strong> (AR <strong>System</strong>), including the AR <strong>System</strong> server, clients, and<br />

libraries, the network and other resources used by AR <strong>System</strong>, and the objects and<br />

data in the applications.<br />

The following topics are provided:<br />

File system security (page 6)<br />

<strong>Security</strong> over the network (page 7)<br />

Database security (page 8)<br />

Password security (page 8)<br />

AR <strong>System</strong> server security (page 10)<br />

<strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong> <strong>System</strong> <strong>Security</strong> 5


White Paper<br />

File system security<br />

<strong>Security</strong> considerations include the machines that the software is running on, and<br />

the resources that the processes use. This section describes the security of<br />

AR <strong>System</strong> processes and data in relation to the file system.<br />

Installation and maintenance<br />

On UNIX® platforms, the AR <strong>System</strong> server does not need to be installed with root<br />

permissions. You can run the installer with non-root permissions as long as the<br />

resources the installer needs are available to it. For information about installing<br />

AR <strong>System</strong> as a non-root user, see the Installing guide.<br />

Running processes on the file system<br />

The server allows workflow to access and run processes on the file system. This can<br />

be done either on the client machine (in active links), or on the server machine (in<br />

filters and escalations).<br />

Processes on the AR <strong>System</strong> server computer<br />

AR <strong>System</strong> allows filters and escalations to invoke external processes on the<br />

AR <strong>System</strong> server computer. The AR <strong>System</strong> server has access to processes and<br />

resources on the computer based on the credentials it has been given. To prevent<br />

workflow from accessing programs and resources to which it should not have<br />

access, run the AR <strong>System</strong> server as a user with limited access to resources. In this<br />

case, the AR <strong>System</strong> server can only access resources and programs that have the<br />

access permissions of the user who runs the service.<br />

This prevents users of an AR <strong>System</strong> application from writing workflow that<br />

accesses programs and resources to which they should not have access.<br />

Controlling the use of backquotes in server-side process actions<br />

By default, the AR <strong>System</strong> server does not allow any workflow commands that run<br />

a process on the server to use backquotes in the process name or its arguments.<br />

This prevents any user from exploiting parameter substitution to gain access to<br />

system information or resources. This behavior is controlled by a configuration<br />

setting. For more information about configuration settings in AR <strong>System</strong>, see the<br />

Configuring guide.<br />

Processes on the client computer<br />

The AR <strong>System</strong> allows active links to invoke external processes on the user's<br />

computer when the active link is activated from <strong>BMC</strong> <strong>Remedy</strong> User or, in some<br />

cases, from a browser. Since the client is running with the same access privileges<br />

as the person logged in to the client computer, it only has access to programs and<br />

resources to which the user has access. This ensures that an AR <strong>System</strong> client<br />

cannot access information to which it should not have access.<br />

6 <strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong> <strong>System</strong> <strong>Security</strong>


<strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong> <strong>System</strong> <strong>Security</strong><br />

Run a process from a specific directory<br />

The server can be configured so that active link processes can execute only from a<br />

specified directory. For more information about configuration settings in<br />

AR <strong>System</strong>, see the Configuring guide.<br />

<strong>Security</strong> over the network<br />

This section describes the protection of AR <strong>System</strong> data as it is sent over the<br />

network between the AR <strong>System</strong> server, the database, and the client programs. All<br />

data being passed over the network can be encrypted. This applies to the database<br />

connection, API clients, and browsers. For information about password security on<br />

the network, see “Password security” on page 8.<br />

<strong>Security</strong> between the AR <strong>System</strong> server and the database<br />

The AR <strong>System</strong> is capable of using encrypted connections to the database. It relies<br />

on the database client library capabilities for this encryption, and can work with<br />

any encryption provided with the database client libraries.<br />

<strong>Security</strong> between the AR <strong>System</strong> server and API clients<br />

The AR <strong>System</strong> API is capable of three levels of encryption. The default is 512 bit<br />

encryption, and 1024- and 2048-bit encryption levels are available as an option.<br />

When encryption is configured, all communication between the API client and the<br />

AR <strong>System</strong> server is encrypted, providing data security over the network.<br />

Any security policy between the AR <strong>System</strong> server and the API clients can be<br />

enforced. The server can be configured so that it works only with encrypted API<br />

calls or with only unencrypted API calls. Without any enforcement, the server<br />

allows both encrypted and unencrypted calls.<br />

All AR <strong>System</strong> clients are API-based, so turning on encryption ensures that all<br />

interactions with the server are encrypted. To configure encryption, see the <strong>BMC</strong><br />

<strong>Remedy</strong> Encryption Products 7.1.00 Release Notes and Installation Guide.<br />

<strong>Security</strong> between the AR <strong>System</strong> server and the plug-in server<br />

When encryption is configured on the AR <strong>System</strong> server, the connection with the<br />

plug-in server uses the same encryption as described for the connection between<br />

the AR <strong>System</strong> server and the API Clients.<br />

<strong>Security</strong> between a web browser and the mid tier<br />

Communication between a browser and the mid tier is not controlled by the<br />

AR <strong>System</strong> server in any way. Therefore, protecting network communications<br />

between these two components is dependent on the capabilities of the web server<br />

and browser in use. The customer can take advantage of the strongest level of<br />

encryption made available by his or her choice of web servers.<br />

<strong>Security</strong> over the network 7


White Paper<br />

The <strong>BMC</strong> <strong>Remedy</strong> Mid Tier handles this as all-or-nothing encryption. In other<br />

words, either all the pages served by the mid tier are encrypted, or none of them<br />

are encrypted.<br />

<strong>BMC</strong> strongly recommends that the web server be configured with SSL<br />

encryption. This ensures that connections from <strong>BMC</strong> <strong>Remedy</strong> User can pass user<br />

credentials securely.<br />

<strong>Security</strong> between <strong>BMC</strong> <strong>Remedy</strong> User and the mid tier<br />

When a flashboard is viewed from <strong>BMC</strong> <strong>Remedy</strong> User, the client opens a<br />

connection with the mid tier to get the content. To ensure that this communication<br />

is secure, configure the web server to use SSL. This ensures that all data being<br />

passed over the network is encrypted.<br />

Database security<br />

Tablespace<br />

This section describes database security in relation to the AR <strong>System</strong> database.<br />

The database administrator can create the tablespace and the user to be used by<br />

AR <strong>System</strong> prior to installing the AR <strong>System</strong> server. In this case, the person<br />

installing the AR <strong>System</strong> server does not need to know the SA (database<br />

administrator) credentials, and can use the user created for the installation.<br />

If the database administrator does not pre-create the tablespace, then the person<br />

installing the AR <strong>System</strong> server must know the SA password. AR <strong>System</strong> uses this<br />

account only for creating the tablespace and its user. Once this job is done the<br />

AR <strong>System</strong> server will access the database with its own user ID only.<br />

You can change the database account password used by the AR <strong>System</strong> server at<br />

any time. For information about how to do so, see the Configuring guide.<br />

User credentials table<br />

The credentials of all registered users in the AR <strong>System</strong> server are stored in a table<br />

called the user_cache. To prevent the direct manipulation of this information in the<br />

database, each record in this table is protected with an encrypted checksum. This<br />

checksum protects the user names, licenses, groups, and other information.<br />

Changing any of this information directly in the database renders the record<br />

corrupted. In that case, the record must be recreated using an AR <strong>System</strong> client.<br />

Password security<br />

This section describes password security in AR <strong>System</strong>.<br />

8<strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong> <strong>System</strong> <strong>Security</strong>


<strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong> <strong>System</strong> <strong>Security</strong><br />

Password security over the network<br />

Passwords are always encrypted when sent over the network by the AR <strong>System</strong><br />

API. This is the case even if you do not choose to encrypt API communications<br />

with the AR <strong>System</strong> server.<br />

NOTE<br />

When <strong>BMC</strong> <strong>Remedy</strong> User displays a Flashboards object, it retrieves the content<br />

from the <strong>BMC</strong> <strong>Remedy</strong> Mid Tier. <strong>BMC</strong> strongly recommends that you configure<br />

the web server to use SSL to ensure that all data (including the password) are<br />

encrypted over the network and hence secure.<br />

Password storage<br />

User passwords are always stored in the database as an encrypted one-way hash.<br />

Once encrypted and stored, the password is not decrypted by the server at all.<br />

Passwords in the configuration files are always stored in an encrypted format. The<br />

encryption is a 56 bit DES. <strong>BMC</strong> recommends that you further protect the<br />

configuration files by setting the appropriate file access permissions.<br />

Enforcing a password policy<br />

The AR <strong>System</strong> server allows password policies to be enforced. With a password<br />

policy, you can:<br />

Force all users or individual users to change their passwords when they log in<br />

<br />

for the first time with <strong>BMC</strong> <strong>Remedy</strong> User or a browser.<br />

Enforce restrictions on passwords (HIPAA standards are shipped as the default<br />

<br />

restrictions.)<br />

Set up password expiration with scheduled warnings.<br />

Disable an account after the expiration period.<br />

Enable users to change their passwords at will.<br />

For information about configuring and enforcing password policies, see the<br />

Configuring guide.<br />

Database password<br />

The account user name and password that the AR <strong>System</strong> server uses to<br />

communicate with the database is set initially at installation time. This is stored in<br />

the AR <strong>System</strong> configuration files as an encrypted string. If the password for this<br />

account is changed in the database, you can reset it in the AR <strong>System</strong> server as well.<br />

To do so, set the new password in the configuration file as a clear text string, and<br />

restart the AR <strong>System</strong> server. The AR <strong>System</strong> server reads the clear text string and<br />

replaces it with an encrypted string. See the Configuring guide.<br />

Password security 9


White Paper<br />

AR <strong>System</strong> server security<br />

User authentication<br />

AR <strong>System</strong> includes features and restrictions that are part of the AR <strong>System</strong><br />

platform that provide security to applications.<br />

The AR <strong>System</strong> provides several ways to authenticate users.<br />

Users can be registered in the AR <strong>System</strong> server, with both authentication<br />

<br />

information (passwords) and authorization information (data and form access<br />

permissions and license type).<br />

Users can be registered in an external repository such as an LDAP server. The<br />

<br />

AR <strong>System</strong> server can be configured to connect to the external server to<br />

authenticate user login IDs and to retrieve their credentials (licenses, group<br />

information, email address, etc.). This is known as AR <strong>System</strong> external<br />

authentication (AREA). For information about configuring external<br />

authentication, see the Configuring guide.<br />

NOTE<br />

License information for administrators needs to be maintained in the AR <strong>System</strong>,<br />

but authentication of administrators can still be done externally.<br />

A combination of the above approaches can be used to authenticate a user<br />

<br />

externally while the authorization information is maintained in the AR <strong>System</strong><br />

server.<br />

The AR <strong>System</strong> server provides a mechanism for using multiple authentication<br />

<br />

sources, with a fall-back mechanism that chains through these sources. For<br />

example, if the user is not found at the first LDAP authentication server, another<br />

LDAP server can be checked, followed by an attempt to authenticate the user<br />

against the information stored in the AR <strong>System</strong> server.<br />

LDAP Connection <strong>Security</strong><br />

AR <strong>System</strong> provides a plug-in application that can be configured to talk to an<br />

LDAP server for authentication and authorization. This plug-in can use an SSL<br />

certificate to communicate with the LDAP server, providing a secure connection.<br />

Session protection<br />

The AR <strong>System</strong> server is stateless, and it carries the user name and password in<br />

each API call, verifying them each time. This enforces the validation of the user on<br />

each API call, rather than just at login.<br />

Data protection<br />

AR <strong>System</strong> implements the features described in this section to protect AR <strong>System</strong><br />

data.<br />

10 <strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong> <strong>System</strong> <strong>Security</strong>


SQL issues<br />

Permissions model<br />

<strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong> <strong>System</strong> <strong>Security</strong><br />

The AR <strong>System</strong> server provides a permissions model that allows data to be<br />

accessible only to the right people. The permissions model is based on access<br />

groups, and users have access to information based on their group membership.<br />

You can use group-based access control permissions to implement access control<br />

at various information levels and object types.<br />

This section describes some the main ways you can implement group-based access<br />

control. For more information about using access control in AR <strong>System</strong>, see the<br />

Concepts guide and the Form and Application Objects guide.<br />

Form level security<br />

Access to forms is controlled by using groups. Only users who belong to a group<br />

with permissions to the form can access the form.<br />

Field level security<br />

Group membership can also control access to individual fields on a form,<br />

providing a finer level of control. Users might have access to a form, but not to all<br />

fields on the form. They will only see information to which they have access.<br />

Row level security<br />

Each record in the form can have access control as well (row-level security). In this<br />

case, the user sees only the records that he or she has access to.<br />

Active link security<br />

Workflow executing on the client can be protected with group-based access control<br />

as well. The workflow loaded and executed by the client consoles is limited by the<br />

access privileges of the user.<br />

The AR <strong>System</strong> allows workflow to specify SQL commands to be run on the<br />

database. Only administrators are allowed to specify these commands in active<br />

links, thus enforcing that only trusted users have access to this feature from the<br />

client.<br />

SQL injection<br />

The AR <strong>System</strong> server encloses all dates in quotes, and it escapes all quotes. This<br />

ensures that users cannot inject SQL commands into queries to access data that is<br />

otherwise hidden from them. However, if a full SQL Command is in a parameter,<br />

users might still get access to the data. <strong>BMC</strong> applications ensure they do not expose<br />

this functionality. If you customize applications, make sure the customization<br />

prevents this possibility.<br />

SQL command execution<br />

SQL command parameters are resolved each time the command is run. This<br />

ensures that users can only search fields that they have access to at run time, not<br />

when the workflow was first written.<br />

AR <strong>System</strong> server security 11


White Paper<br />

Cross-site scripting (XSS)<br />

<strong>BMC</strong> uses IBM® AppScan to test the <strong>BMC</strong> <strong>Remedy</strong> Mid Tier against XSS and<br />

response splitting.<br />

The <strong>BMC</strong> <strong>Remedy</strong> Mid Tier is safe from all XSS and response splitting attacks as<br />

reported by the current version of AppScan. Any custom modification of the <strong>BMC</strong><br />

<strong>Remedy</strong> Mid Tier web application should be re-validated against these security<br />

risks.<br />

Web services security<br />

The AR <strong>System</strong> relies on the user name and password being embedded in the<br />

SOAP header. To ensure this information is encrypted when passed over the<br />

network, configure the web server to use secure connections. <strong>BMC</strong> recommends<br />

that web servers use SSL certificates to provide secure connections.<br />

Data access on search operations<br />

When a user searches for data, the AR <strong>System</strong> server limits the results to the data<br />

to which that user has access.<br />

If the search is for fields to which the user does have access, the data from these<br />

fields will not be part of the result set.<br />

If the search qualification uses fields that the user does not have access to, those<br />

fields will be ignored and the qualification will be run without them. The<br />

AR <strong>System</strong> server uses a degrade policy for this purpose.<br />

Limit on number of results<br />

The server can be configured to limit the number of results that are returned on a<br />

search. This allows the server to limit the extent of a denial of service attack.<br />

Unrecognized API calls are rejected immediately, as are users who are not<br />

authenticated. This prevents the server from doing a lot of processing for invalid<br />

calls.<br />

Active links data encryption capability<br />

The AR <strong>System</strong> workflow has access to Encrypt and Decrypt functions that can be<br />

used as required. For example, an active link can use the Encrypt function to<br />

encrypt data in a regular character field, and then use the Decrypt function in a<br />

filter to convert it to clear text again. This ensures an additional layer of security<br />

over the network.<br />

NOTE<br />

If data is stored in the database in encrypted format, it is not searchable.<br />

12 <strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong> <strong>System</strong> <strong>Security</strong>


<strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong> <strong>System</strong> <strong>Security</strong><br />

Server protection<br />

The AR <strong>System</strong> server provides a number of configuration options that can be<br />

used to control the types of connections accepted. For a comprehensive list of these<br />

options, see the Configuring guide. A few options are presented here.<br />

All connections from particular types of clients, such as ODBC drivers for<br />

<br />

reporting, can be blocked out completely, or be restricted to particular time<br />

intervals.<br />

The server can set a minimum API version required, enforcing an upgrade<br />

<br />

policy for all client programs.<br />

Guest users can be disallowed from accessing AR <strong>System</strong>. If allowed, guest<br />

<br />

users have only read access to forms and data that are not protected.<br />

AR <strong>System</strong> server security 13


White Paper<br />

14 <strong>BMC</strong> <strong>Remedy</strong> <strong>Action</strong> <strong>Request</strong> <strong>System</strong> <strong>Security</strong>


*92239*<br />

*92239*<br />

*92239*<br />

*92239*<br />

*92239*

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!