72
© 2012 IBM Corporation IBM i Security - Best Practices Jeffrey Uehling IBM i security development [email protected]

Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation

IBM i Security - Best Practices

Jeffrey UehlingIBM i security [email protected]

Page 2: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation2

Best Practices - Outline

� Security Policy

� Physical Security

� System security levels

� System value settings

� Security audit journal

� Resource security

� Network security

Page 3: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation3

Security Policy and Physical Security

Page 4: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation4

The Security PROCESS

� Repeat

– Repeat

• Repeat

1. Assess Vulnerabilities

2. Plan Countermeasures

3. Deploy Countermeasures

4. Repeat

Initial Requirement: Create and Implement a Security Policy!

Page 5: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation5

Determine your Security Policy

Laws and Regulations:SOX, PCI DSS, HIPAA, GLBA, Basel II, FISMA, State and Federal Laws

Organization-specific requirements

Security Policy

Security Implementation Details

Page 6: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation6

Security Policy - Evaluating your Risk

�What is the scope of the risk?– Depends on

• Type of data

• Who has access

– Cost to organization should the data

be lost or stolen

� Seek out help in creating a security policy for your organization if necessary

– many qualified consultants for IBM i

Page 7: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation7

Physical Security – a Necessity

• Physical Security, Server• Front panel• Power, cabling• Racks/Storage devices

• Physical Security, Networking • Firewalls, routers, switches, cabling, power• Prevent configuration changes and sniffing equipment• Wireless poses a challenge, secure networks are necessary (WEP, WPA, etc)

• Physical Security, Peripherals• Tape drives/cartridges, Printers/output, Fax, etc. • SAN attached DASD

Page 8: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation8

IBM i Server Security

Page 9: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation9

System Security LevelsSystem Value: QSECURITY

Page 10: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation10

1. Object Domain Checking

2. Hardware storage protection

3. Parameter validation

System security level 50... Good reasons to run there.

Security levels, why run at a high security level

NOTE: System security level controlled via QSECURITY system value

Page 11: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation11

• System interfaces perform appropriate authority checks but

security exposures exist on this security level (examples will follow)

• *USE required by DSPDTAARA

• *CHANGE required by CHGDTAARA

Security level 30 is NOT a secure security level!

User written programs, running at security level 30,

can gain “write” access to objects with minimal authority

Security Level 30 – Not a secure environment

Page 12: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation12

Program state is compared against object Domain

Programs running *SYSTEM state can access both *USER and *SYSTEM domain.

Programs running *USER state can only access *USER domain objects.

• Security level 30 ALLOWS access regardless of state/domain combination

• Security level 40 and 50 enforce domain checking

Program run state: *SYSTEM or *USER (DSPPGM/DSPSRVPGM)

Object Domain: *SYSTEM or *USER (DSPOBJD)

Object Domain attributes - Object integrity

Every object: *CMD, *FILE, *PGM, etc. has a “domain”Every program has a “state” (*SYSTEM or *USER)

Page 13: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation13

Object Domain, Program StateObject Domain

Program State

Page 14: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation14

Program state is compared against object HSP to determine allowable

access. Every object has a HSP value.

• Security level 30 ALLOWS access regardless of state/HSP combination

• NOTE: Some HSP violations can occur on all security levels

• Security level 40 and 50 enforce HSP checking

Object HSP attributes:

− Allow access from any state (no protection, *USRSPC, *USRQ, *USRIDX)

− Read only in any state (*PGM, *SRVPGM)

− No access in user state (Setting for most objects, 5.3 and prior)

− Enhanced storage protection (5.4 and beyond)

Hardware Storage Protection (HSP) - Object integrity

Page 15: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation15

Encapsulated MI Object, available to LIC

Associated space, byte addressable area for useby above MI (user and OS) programs.

–Object domain (Most objects are *SYSTEM domain)

–Object owner

–Public authority

–Hardware storage protection setting

–Encapsulated object data

The associated space is used to store operating system and user data for objects, i.e. *CMD,

*DTAARA, *JOBD, *USRSPC, *USRPRF, etc.

MI object overview

SPP

SYP

Object attributes – Integrity Protection required

The CHKOBJITG CL Command can be used to scan the system for “suspect” objects and programs

Page 16: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation16

User written programs, running at security level 40 or 50, MUST use system

interfaces (commands and APIs) to gain access to the objects.

– Authority checking is enforced by the system interface

– Parameter Validation is performed

– Object Domain checking is performed

– Object Hardware storage protection is performed

Direct access by user programs to system objects is not allowed at Security

level 40 and 50 due to domain and hardware storage protection attributes.

Authority checking and integrity support at level 40 & 50

Page 17: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation17

This presentation contains programming examples ("Sample Code").

IBM grants you a nonexclusive copyright license to use the Sample Code to generate similar function

tailored to your own specific needs.

The Sample Code is provided by IBM for illustrative purposes only. The Sample Code has not been

thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability,

serviceability, or function of the Sample Code.

The Sample Code contained herein is provided to you "AS IS" without any warranties of any kind. THE

IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND

NON-INFRINGMENT ARE EXPRESSLY DISCLAIMED. SOME JURISDICTIONS DO NOT ALLOW

THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSIONS MAY NOT APPLY TO

YOU. IN NO EVENT WILL IBM BE LIABLE TO ANY PARTY FOR ANY DIRECT, INDIRECT, SPECIAL

OR OTHER CONSEQUENTIAL DAMAGES FOR ANY USE OF THE SAMPLE CODE INCLUDING,

WITHOUT LIMITATION, ANY LOST PROFITS, BUSINESS INTERRUPTION, LOSS OF PROGRAMS

OR OTHER DATA ON YOUR INFORMATION HANDLING SYSTEM OR OTHERWISE, EVEN IF WE

ARE EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Disclaimer

Page 18: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation18

Signon as a user with *ALLOBJ special authority

Create a job description object

• CRTJOBD JOBD(QGPL\TEST) USER(QUSER) AUT(*USE)

Display the job description object paying attention to the user.• DSPJOBD JOBD(QGPL/TEST)

Create and call the program using source on following slide.

• CRTBNDC PGM(TESTLIB/TESTPGM1) SRCFILE(QCSRC)

Signon as a user without *ALLOBJ special authority.

Attempt to change the job description object. CHGJOBD JOBD(QGPL/TEST) USER(FRED)

Call the program – Source next slide

• CALL PGM(TESTLIB/TESTPGM1)

Display the job description object paying attention to the user.• DSPJOBD JOBD(QGPL/TEST)

Example exposure at security level 30.

JOBD User

“Not authorized to object error.”

Page 19: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation19

#include <mih/rslvsp.h>

#include <mih/setsppfp.h>#include <string.h>

void main()

{

_SYSPTR jobd_sysptr;

char * space_ptr;

jobd_sysptr = rslvsp(WLI_JOBD, “TEST”, “QGPL”, _AUTH_NONE);

space_ptr = setsppfp(jobd_sysptr);space_ptr=space_ptr +2;

memcpy(space_ptr, “QSECOFR “, strlen(“QSECOFR “));

return;}

After running this program, display the job description object paying attention to the user in the JOBD.

Note the *JOBD object was changed by a user with only *USE authority, to allow jobs to run as QSECOFR.

Change the JOBD UserNo authority errors!!!

Page 20: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation20

Signon as a user with *ALLOBJ special authority

Create a data area object

• CRTDTAARA DTAARA(QGPL/TEST) TYPE(*CHAR) VALUE('Test Data') AUT(*USE)

Display the data area object paying attention to the data area value.

• DSPDTAARA DTAARA(QGPL/TEST)

Create and call the program using source on following slide.

• CRTBNDC PGM(TESTLIB/TESTPGM2) SRCFILE(QCSRC)

Signon as a user without *ALLOBJ special authority.

Attempt to change the data area object.

CHGDTAARA DTAARA(QGPL/TEST) VALUE(‘JUNK DATA’)

Call the program – Source next slide

• CALL PGM(TESTLIB/TESTPGM2)

Display the data area object paying attention to the data area value.• DSPDTAARA DTAARA(QGPL/TEST)

Example exposure at security level 30

Change DTAARA value

“Not authorized to object error.”

Page 21: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation21

#include <mih/rslvsp.h>

#include <mih/setsppfp.h>

#include <string.h>void main()

{

_SYSPTR dtaara_sysptr;

char * space_ptr;

dtaara_sysptr = rslvsp(WLI_DTAARA, “TEST”, “QGPL”, _AUTH_NONE);

space_ptr = setsppfp(dtaara_sysptr);

space_ptr=space_ptr + 3;memcpy(space_ptr, “NEW DATA “, strlen(“NEW DATA “));

return;

}

After running this program, display the data area object paying attention to the data area value.

Note the *DTAARA object was changed by a user with only *USE authority, to a new “string” for the VALUE parameter.

Change the DTAARA valueNo authority errors!!!

Page 22: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation22

NOTE: The previous two programs, running on security level 40 or 50, will result in an MCH6801 exception being signaled during the running of the program.

The object access, on 40 & 50, is denied due to Object Domain and Hardware Storage Protectionattributes of the JOBD and DTAARA objects!

Page 23: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation23

NOTE: Lock down system values via SST after setting

System Value Settings

Page 24: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation24

� QSECURITY - Run at level 50

� QALWOBJRST - Consider value *ALWPTF

� QFRCCVNRST - Consider value 6 or 7

� QVFYOBJRST - Consider value 5

Integrity related system values

Page 25: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation25

Altered programs are created by modifying a program object in an unsupported way.

Program alterations include:

� Using the system service tools to alter program

� Save the program and modify it offline

Several methods available to alter a program:

� Modifying the program to run in system state

� Modifying the program instruction stream

� Modifying the program validation value

Altered program description

Page 26: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation26

A program altered to run system state can access system objects and change data on security level 40 and 50.

They run with the same capabilities as OS programs.

Altered programs can:

– Deliberately cause system crashes

– Modify objects so they cannot be recognized by the OS

– Bypass authority checking for objects

– Bypass system audit record creation

– Attack other aspects of system integrity

System state "user" programs, why they are a threat

Page 27: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation27

1. QVFYOBJRST (Verify object restore)

2. QFRCCVNRST (Force conversion restore)

3. QALWOBJRST (Allow object restore)

When an attempt is made to restore an object onto the system, three

system values work together as filters to determine if the object is

allowed to be restored, or if it is converted during the restore.

System values that control restore

Page 28: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation28

Program validation value:

A hash over security relevant parts of the program. The hash produces the same result on each system and is generated at

program creation.

Digital signing of program objects:

Signing of program objects using a secure private key. The public key

is distributed to systems that need to verify the signature.

The entire SW stack from IBM, Firmware, LIC, OS, LPP’s and PTF’s are

signed by an IBM private key and verifiable on your system..

NOTE: The validation value or signature can be created after an object is altered.

Raising the bar against altered programs

Page 29: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation29

The 5 QVFYOBJRST options (default is 3):

1. Do not verify signatures on restore. Restore all objects regardless of their signature. NOTE: Effectively trust everything

2. Verify signatures on restore. Restore unsigned user-state objects. Restore signed user-state objects, even if the signatures are not valid.

3. Verify signatures on restore. Restore unsigned user-state objects. Restore signed user-state objects only if the signatures are valid.

4. Verify signatures on restore. Do not restore unsigned user-state objects. Restore signed user-state objects, even if the signatures are not valid.

5. Verify signatures on restore. Do not restore unsigned user-stateobjects. Restore signed user-state objects only if the signatures are valid. NOTE: Effectively trust nothing

QVFYOBJRST system value

Page 30: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation30

The 8 QFRCCVNRST options (default is 0):

0. Do not convert anything. NOTE: Trust everything1. Objects with validation errors will be converted. 2. Objects requiring conversion to be used on the current version of the

operating system and objects with validation errors will be converted.3. Objects suspected of having been tampered with, objects containing

validation errors, and objects requiring conversion to be used by the current version of the operating system will be converted.

4. Objects that contain sufficient creation data to be converted and do not have valid digital signatures will be converted.

5. Objects that contain sufficient creation data will be converted or else not restored.

6. All objects that do not have valid digital signatures will be converted. 7. All objects will be converted or else not restored. NOTE: Trust

nothing

QFRCCVNRST system value

Page 31: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation31

*ALL - Allows all objects to be restored regardless of whether or not they have security-

sensitive attributes or validation errors. NOTE: Effectively trust everything

*NONE - Does not allow objects with security-sensitive attributes to be restored. NOTE:

Effectively trust nothing

*ALWSYSSTT - Allows programs, service programs, and modules with the

system-state or inherit-state attribute to be restored.

*ALWPGMADP - Allows programs and service programs with the adopt attribute to be restored.

*ALWPTF - Allow system-state or inherit-state programs, service programs,

modules, objects that adopt authority, objects that have the S_ISUID (set-user-ID)

attribute enabled, and objects that have the S_ISGID (set-group-ID) attribute enabled to

be restored to the system during a PTF install.

*ALWSETUID - Allow restore of files that have the S_ISUID (set-user-ID) attribute

*ALWSETGID or the S_ISGID (set-group-ID) enabled.

*ALWVLDERR - Allow objects with validation errors or suspected of having been

tampered with to be restored. When the setting of the QFRCCVNRST system value

causes the object to be converted any validation errors it may have had will be

corrected.

The QALWOBJRST options (default is *ALL):

QALWOBJRST system value

Page 32: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation32

• The "RST" interfaces are shipped as PUBLIC(*EXCLUDE). • Only trusted users should be authorized to use the restore interfaces.

• Note: BRMS interfaces are PUBLIC(*USE) but call the system "RST" interfaces which are PUBLIC(*EXCLUDE)

• Verify the list of users authorized to “SAVE” data

• Protect the use of the system service tools (SST/DST) and

Service related commands (DMPxxx, TRCxxx, etc).

Controlling system interfaces

Page 33: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation33

NOTE: Lock down system values via SST after setting

System Value Settings continued

Page 34: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation34

� QAUDCTL - Audit on/off switch

� QAUDLVL and QAUDLVL2 (new in 5.3)

� QAUDENDACN and QAUDFRCLVL - Use default values

� QCRTOBJAUD - Audit newly created objects

Auditing related system values

Page 35: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation35

� Create the QAUDJRN audit journal

� Set QAUDCTL to *OBJAUD, *AUDLVL and *NOQTEMP

� Set QAUDLVL to *AUDLVL2 (5.3)

� Set auditing values in QAUDLVL2 system value. Set audit values in QAUDLVL prior to 5.3.

Turn on audit and save the audit journal receivers. You may need the audit data in the future!

Auditing continued

Page 36: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation36

� Security Audit provides who accesses what object

� A combination of security audit and “data object” journaling provides the complete audit trail

� IBM partners have great products for analyzing audit data

� Turn on journaling for *FILE and IFS *STMF sensitive objects to get the complete audit of changes, including data

� CRTJRNRCV JRNRCV(MYLIB/MYRCV0001)

� CRTJRN JRN(MYLIB/MYJRN) JRNRCV(MYLIB/MYRCV0001)

� STRJRNPF FILE(MYLIB/MYFILE) JRN(MYLIB/MYJRN) IMAGES(*BOTH)

� QSYS/STRJRN OBJ(('/mydir/dir1/stmf1' *INCLUDE))

JRN('/qsys.lib/mylib.lib/myjrn.jrn')

Auditing continued – Data Objects

Page 37: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation37

� WRKSYSVAL SYSVAL(QPWD*)

� Set password composition rule system values

� Min/Max length, required characters, etc

� Consider using enhanced password support (QPWDLVL)

� Case sensitive long passwords (128 characters)

� Use the ANZDFTPWD command to check for default passwords

Password composition system values

Page 38: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation38

� QALWUSRDMN - Consider value QTEMP

� QINACTITV - Set to a reasonable number of minutes

� QINACTMSGQ - *ENDJOB/*DSCJOB

� QMAXSIGN - Consider setting to 3

� QMAXSGNACN - Set to disable device and profile

Additional security related system values

Page 39: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation39

Resource Security - Protecting your objects

Resource Security

Page 40: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation40

� Don't rely on menu security

� Exit programs, used to control system interfaces such as FTP, are very useful but must be used in combination with object authority. A combination of a network security product and resource security is required.

� Secure your sensitive objects with the appropriate level of authority at the object level!

Resource Security

Page 41: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation41

Resource Security - protecting your objects

EDTOBJAUT

Interface to assign objectlevel authorities

Authority List

Public AUT

Owner

Private AUT

Page 42: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation42

� Keep the number of security officers and security administrators to a minimum

� *ALLOBJ, *SECADM, etc. special authority

� Service tool userIDs

� Audit the actions of the Powerful user

� CHGUSRAUD CL command

� *CMD action audit value, *SECURITY, etc.

� Make sure the security officer understands, procedurally, that audit cannot be turned OFF!

Resource Security – Restrict Powerful Users

Page 43: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation43

Protecting your objects with resource security is necessary to protect your data.

– Run at a security level 50

– Secure your confidential data with *EXCLUDE public authority

– Objects that are not security sensitive (public objects) should be protected with *USE public authority. This gives good performance

for read operations on the object.

– Additional authority can be given to users who must change the data

but private auts should be used sparingly for best performance.

Resource Security - protecting your objects

Page 44: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation44

– New set of APIs delivered in 5.3 that provide support for encrypting data in an application

– New set of APIs delivered in 5.4 that provide support to create,

manage and protect encryption keys used to encrypt data in an application

– GUI and CL interfaces in 6.1 to manage encryption keys and keystore files

– DB2 Field Procedures in 7.1 to enable Column Level Encryption

– Protect encryption keys. Encrypting data, without protecting the encryption keys, does not protect the data

– Protect encryption keys with a master key

Encrypting sensitive data

Page 45: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation45

– 6.1 enhancements

– SW Encrypted backup. Provides encryption support for tape/virtual tape

via BRMS and tape management APIs (OS option 44)

– HW encrypted backup solutions via TS11x0 & LTO4 (HW available off release)

– Encrypted ASP. Provides disk level encryption support for all data written

to disk (OS option 45)

– HW support for Disk level encryption (DS8000 and DS5000 series)

– Encryption key management is required (master keys and data encryption keys)

Encryption of data at “Rest”

Page 46: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation46

Controlling access to the Service Tools is necessary for a secure system.

� Create as few Service Tools User IDs as possible

� Create a Service Tool user with the same privileges as

QSECOFR (QSECOFR can become disabled)

� Never use QSECOFR Service Tool USERID (save pwd

in a secure location)

� Consider not allowing the OS/400 QSECOFR user to have a QSECOFR level Service Tools USERID

Securing Service Tools

6.1 – DSPSSTUSR (Display Service Tool User CL command)

Page 47: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation47

Network Security Considerations

Page 48: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation48

Firewall – Building a Secure Network

� Install and maintain a firewall configuration

– A firewall examines all network traffic and blocks those transmissions that do not meet the specified security criteria.

Page 49: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation49

Firewalls:

Intrusion Monitors:

Intrusion

Monitor

Internet

WWW Mail

Development system

H/R System

Corporate Network

Firewall

Domino

Location: � Outside your internal company network� Makes sense to let firewall filter what it can.

Network-Based Intrusion Detection

Page 50: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation50

What Intrusion Monitors Do:

� Perform "Signature Analysis" or "Pattern Matching"

ƒPatterns: Looking for known "bad patterns" in IP flow.

ƒSignature Analysis: Watch for "Trend Deviations" in network

usage.

ƒI.e. When someone successfully connects to a machine, packet activity is quite different when somebody randomly searching foropen ports.

� Reaction to suspected malicious behavior:

ƒSend e-mail or message to pager

ƒShutdown network or routers

Network-Based Intrusion Detection

Page 51: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation51

Internet Security Systems (ISS)

� IBM company that produces network security HW & SW

� ISS Proventia Multi-Function Security HW

� Firewall

� Intrusion Detection and Prevention

� Anti-Virus

� Web Content Filtering

� VPN

� Monitoring/Reporting

� Network Configuration

Network-Based Security Appliancehttp://www.iss.net/

Page 52: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation52

• External facing network containing interfaces meant to be available externally:

� Web servers (supporting “external” applications)

� Product information, Sales, etc.

� E-mail servers

� Limited access to the internal “corporate” intranet

What is a Demilitarized Zone (DMZ)?

Page 53: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation53

DMZ - Protecting & Isolating your internal network

Internet

DMZ

firewall

firewall

Page 54: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation54

Host Based Intrusion Detection/Prevention – 5.4 & 6.1

� Enable Intrusion detection support on your host system.– Detect “internal” attacks on your systems

�Real time notification enablement– E-mail, messages, etc. (i.e., pagers, ISV solutions) in addition to IM

records�Numerous intrusion events audited – well-known attacks such as

“Smurf”, “Fraggle”, ACK storms, Address Poisoning (both IPv4 ARP poisoning, and IPv6 neighbor discovery poisoning), Ping-Of-Death and many more….

� “Extrusions” detected – attacks, scans, traffic regualtion anomalies emanating from your host

� IPv6 support�GUI – iNav

– Management of IDS policies– Display of intrusion events as an alternative to viewing the audit

journal

Page 55: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation55

IBM Security Partners – Many listed on the IBM i Security site

� Products that enhance the native security features available in the operating system

� Many are network based

� Apply additional “security” rules

� Enforcement of the rules

IBM i Security website:http://www-03.ibm.com/systems/power/software/i/security.htmlhttp://www-03.ibm.com/systems/power/software/i/security/partner_showcase.html

IBM Partner Network Security Products

Page 56: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation56

� For remote connections to your IBM i:

– Use Virtual Private Network

– Use SSL enabled versions of the client

connection applications (Telnet, FTP,

iNavigator, etc)

SSL/VPN connection

Page 57: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation57

� Only start TCP/IP servers that are needed

� Prevent applications from using well-known ports

� Turn IP Source Routing off

� Allow IP Datagram Forwarding only when needed

� Don't leave PPP or SLIP lines waiting in answer state

General TCP/IP Security Tips

Page 58: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation58

IP Packet Filtering can be used to PERMIT or DENY based on the packet characteristics

� Source and Destination IP Address

� Source and Destination IP Port

� Protocol

� Packet Direction

� Packet Fragments

IP Network Address Translation (NAT)

� Can be used to hide private network behind a single public IP Interface (address)

IBM i Packet Security

Page 59: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation59

How Do You Use It:

� iNavigator:

(system)->network->IP Policies->Packet Rules

Select Rules Editor from context menu.

�Wizards pull down has three selections.

�Many other features...

IP filtering and network address translation...

Page 60: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation60

Client Device (workstation) Security

Page 61: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation61

Client Security

• Most common “client” workstations today are:

• Microsoft Windows• Windows XP• Windows 7

• Apple

• Some flavor of LINUX• SUSE, Redhat, and others

• Smart Phones

Page 62: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation62

Client Security – What’s required

• Antivirus Software & Client “personal” Firewall

• Norton• McAfee• Panda• Trendmicro• Lot’s of others• Plus many versions of “free-ware”

• Spyware & Adware prevention

Page 63: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation63

Client Security – Antivirus and Client Firewall

• Antivirus Software & Client “personal” Firewall

• Antivirus Software

• Analyze data files or email attachments looking for “known”attacks• “live update” of Antivirus Software loads the latest known attack patterns

• Personal firewall

• Prevents both unwanted inbound and outbound activity (traffic) to/from the network• Most firewalls provide warnings when detected

Page 64: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation64

Client Security – Virtual Private Network Connection

• Many companies require a Virtual Private Network (VPN) connection to access the internal corporate network from external

• VPN Client Software • A VPN provides a secure connection over the internet• Network traffic is encrypted (scrambled) to prevent the ability for someone to view, thus steal, the data

• Two factor authentication • To access the internal corporate network, often times a company will setup and require another form, beyond password, of authentication• Time based keyfob, smartcards, biometrics (finger print scan, etc)

Page 65: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation65

� For remote connections to/from your system:

– Use SSL enabled versions of the client

connection applications (Telnet, FTP, etc)

– What is SSL?– Similar to a VPN but implemented at the application layer. Only the SSL enabled application flow will be encrypted.

– A mixture of SSL enabled and non-SSL enabled applications can be run from the system

Secure Socket Layer (SSL) connection

Page 66: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation66

Additional Things to Know

Page 67: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation67

� Many security reporting tools exist for the IBM i

– Run "GO SECTOOLS" from command entry – Run the report generation security tools

� Security tool commands produce reports that can be used to manage

security and look for security holes

IBM i Security tools

Page 68: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation68

� Numerous IBM i partners provide additional tools

– Reporting & Monitoring– Security Configuration– Encryption– Network Security– Authentication/Biometrics

IBM i Security website:http://www-03.ibm.com/systems/power/software/i/security.htmlhttp://www-03.ibm.com/systems/power/software/i/security/partner_showcase.html

IBM i Partners

Page 69: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation69

� Run at security level 50

� Set the security related System Values and lock them down

� Use the Security Audit Journal

� Protect your sensitive objects with object security

� Use Firewalls and intrusion monitors

Summary

Page 70: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation70

Page 71: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation71

This document was developed for IBM offerings in the United States as of the date of publication. IBM may not make these offerings available in

other countries, and the information is subject to change without notice. Consult your local IBM business contact for information on the IBM offerings available in your area.

Information in this document concerning non-IBM products was obtained from the suppliers of these products or other public sources. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. Send license inquires, in writing, to IBM Director of Licensing, IBM Corporation, New Castle Drive, Armonk, NY

10504-1785 USA.

All statements regarding IBM future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives

only.

The information contained in this document has not been submitted to any formal IBM test and is provided "AS IS" with no warranties or

guarantees either expressed or implied.

All examples cited or described in this document are presented as illustrations of the manner in which some IBM products can be used and the results that may be achieved. Actual environmental costs and performance characteristics will vary depending on individual client configurations

and conditions.

IBM Global Financing offerings are provided through IBM Credit Corporation in the United States and other IBM subsidiaries and divisions

worldwide to qualified commercial and government clients. Rates are based on a client's credit rating, financing terms, offering type, equipment type and options, and may vary by country. Other restrictions may apply. Rates and offerings are subject to change, extension or withdrawal

without notice.

IBM is not responsible for printing errors in this document that result in pricing or information inaccuracies.

All prices shown are IBM's United States suggested list prices and are subject to change without notice; reseller prices may vary.

IBM hardware products are manufactured from new parts, or new and serviceable used parts. Regardless, our warranty terms apply.

Any performance data contained in this document was determined in a controlled environment. Actual results may vary significantly and are dependent on many factors including system hardware configuration and software design and configuration. Some measurements quoted in this

document may have been made on development-level systems. There is no guarantee these measurements will be the same on generally-available systems. Some measurements quoted in this document may have been estimated through extrapolation. Users of this document should verify the applicable data for their specific environment.

Revised September 26, 2006

Special notices

Page 72: Gateway 2012 Best Security Practices...Security level 30 is NOT a secure security level! User written programs, running at security level 30, can gain “write” access to objects

© 2012 IBM Corporation72

IBM, the IBM logo, ibm.com AIX, AIX (logo), AIX 5L, AIX 6 (logo), AS/400, BladeCenter, Blue Gene, ClusterProven, DB2, ESCON, i5/OS, i5/OS (logo), IBM Business

Partner (logo), IntelliStation, LoadLeveler, Lotus, Lotus Notes, Notes, Operating System/400, OS/400, PartnerLink, PartnerWorld, PowerPC, pSeries, Rational, RISC

System/6000, RS/6000, THINK, Tivoli, Tivoli (logo), Tivoli Management Environment, WebSphere, xSeries, z/OS, zSeries, Active Memory, Balanced Warehouse,

CacheFlow, Cool Blue, IBM Systems Director VMControl, pureScale, TurboCore, Chiphopper, Cloudscape, DB2 Universal Database, DS4000, DS6000, DS8000,

EnergyScale, Enterprise Workload Manager, General Parallel File System, , GPFS, HACMP, HACMP/6000, HASM, IBM Systems Director Active Energy Manager,

iSeries, Micro-Partitioning, POWER, PowerExecutive, PowerVM, PowerVM (logo), PowerHA, Power Architecture, Power Everywhere, Power Family, POWER

Hypervisor, Power Systems, Power Systems (logo), Power Systems Software, Power Systems Software (logo), POWER2, POWER3, POWER4, POWER4+, POWER5,

POWER5+, POWER6, POWER6+, POWER7, System i, System p, System p5, System Storage, System z, TME 10, Workload Partitions Manager and X-Architecture are

trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked

terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks

owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries.

A full list of U.S. trademarks owned by IBM may be found at: http://www.ibm.com/legal/copytrade.shtml.

Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or

other countries.

AltiVec is a trademark of Freescale Semiconductor, Inc.

AMD Opteron is a trademark of Advanced Micro Devices, Inc.

InfiniBand, InfiniBand Trade Association and the InfiniBand design marks are trademarks and/or service marks of the InfiniBand Trade Association.

Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered

trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications Agency which is now part of the Office of Government Commerce.

Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.

Linear Tape-Open, LTO, the LTO Logo, Ultrium, and the Ultrium logo are trademarks of HP, IBM Corp. and Quantum in the U.S. and other countries.

Linux is a registered trademark of Linus Torvalds in the United States, other countries or both.

Microsoft, Windows and the Windows logo are registered trademarks of Microsoft Corporation in the United States, other countries or both.

NetBench is a registered trademark of Ziff Davis Media in the United States, other countries or both.

SPECint, SPECfp, SPECjbb, SPECweb, SPECjAppServer, SPEC OMP, SPECviewperf, SPECapc, SPEChpc, SPECjvm, SPECmail, SPECimap and SPECsfs are

trademarks of the Standard Performance Evaluation Corp (SPEC).

The Power Architecture and Power.org wordmarks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org.

TPC-C and TPC-H are trademarks of the Transaction Performance Processing Council (TPPC).

UNIX is a registered trademark of The Open Group in the United States, other countries or both.

Other company, product and service names may be trademarks or service marks of others.

Revised December 2, 2010

Special notices (cont.)