IBM Power Systems
IBM i Security - Best Practices Power Systems Technical Briefing – St Louis Jeffrey Uehling IBM i security development
[email protected]
© 2013 IBM Corporation
IBM Power Systems
Best Practices - Outline Physical Security System security levels System value settings Security audit journal Resource security Network security
2
© 2013 IBM Corporation
IBM Power Systems
Physical Security
3
© 2013 IBM Corporation
IBM Power Systems
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 4
© 2013 IBM Corporation
IBM Power Systems
IBM i Server Security
5
© 2013 IBM Corporation
IBM Power Systems
System Security Levels System Value: QSECURITY
6
© 2013 IBM Corporation
IBM Power Systems
Security levels, why run at a high security level
System security level 50... Good reasons to run there.
1. Object Domain Checking 2. Hardware storage protection 3. Parameter validation
NOTE: System security level controlled via QSECURITY system value
7
© 2013 IBM Corporation
IBM Power Systems
Security Level 30 – Not a secure environment •
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
8
© 2013 IBM Corporation
IBM Power Systems
Hardware Storage Protection (HSP) - Object integrity Program state is compared against object HSP to determine allowable access. Every object has a HSP value. 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)
• 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 9
© 2013 IBM Corporation
IBM Power Systems
Object attributes – Integrity Protection required MI object overview
SYP
SPP
Encapsulated MI Object, available to LIC –Object domain (Most objects are *SYSTEM domain) –Object owner –Public authority –Hardware storage protection setting –Encapsulated object data
Associated space, byte addressable area for use by above MI (user and OS) programs. The associated space is used to store operating system and user data for objects, i.e. *CMD, *DTAARA, *JOBD, *USRSPC, *USRPRF, etc.
The CHKOBJITG CL Command can be used to scan the system for “suspect” objects and programs
10
© 2013 IBM Corporation
IBM Power Systems
Authority checking and integrity support at level 40 & 50 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.
11
© 2013 IBM Corporation
IBM Power Systems
Disclaimer 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.
12
© 2013 IBM Corporation
IBM Power Systems
Example exposure at security level 30. 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)
JOBD User
Signon as a user without *ALLOBJ special authority. Attempt to change the job description object. CHGJOBD JOBD(QGPL/TEST) USER(FRED)
“Not authorized to object error.”
Call the program – Source next slide • CALL PGM(TESTLIB/TESTPGM1) Display the job description object paying attention to the user. • DSPJOBD JOBD(QGPL/TEST) 13
© 2013 IBM Corporation
IBM Power Systems
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.
#include #include Change the JOBD User #include void main() No authority errors!!! { _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; } 14
© 2013 IBM Corporation
IBM Power Systems
System Value Settings
NOTE: Lock down system values via SST after setting
15
© 2013 IBM Corporation
IBM Power Systems
Integrity related system values QSECURITY
- Run at level 50
QALWOBJRST - Consider value *ALWPTF QFRCCVNRST - Consider value 6 or 7 QVFYOBJRST - Consider value 5
16
© 2013 IBM Corporation
IBM Power Systems
Altered program description Altered programs are created by modifying a program object in an unsupported way. Program alterations include: Modifying the program to run in system state Modifying the program instruction stream Modifying the program validation value
Several methods available to alter a program: Using the system service tools to alter program Save the program and modify it offline 17
© 2013 IBM Corporation
IBM Power Systems
System state "user" programs, why they are a threat 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: – – – – – 18
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 © 2013 IBM Corporation
IBM Power Systems
System values that control restore 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.
19
© 2013 IBM Corporation
IBM Power Systems
Controlling system interfaces • 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).
20
© 2013 IBM Corporation
IBM Power Systems
System Value Settings continued
NOTE: Lock down system values via SST after setting
21
© 2013 IBM Corporation
IBM Power Systems
Auditing related system values
QAUDCTL - Audit on/off switch QAUDLVL and QAUDLVL2 (new in 5.3) QAUDENDACN and QAUDFRCLVL - Use default values QCRTOBJAUD - Audit newly created objects
22
© 2013 IBM Corporation
IBM Power Systems
Auditing continued 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! 23
© 2013 IBM Corporation
IBM Power Systems
Auditing continued – Data Objects 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') 24
© 2013 IBM Corporation
IBM Power Systems
Password composition system values 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
25
© 2013 IBM Corporation
IBM Power Systems
Additional security related system values 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
26
© 2013 IBM Corporation
IBM Power Systems
Resource Security Resource Security - Protecting your objects
27
© 2013 IBM Corporation
IBM Power Systems
Resource Security – Restrict Powerful Users 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! 28
© 2013 IBM Corporation
IBM Power Systems
Resource Security - protecting your objects 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. 29
© 2013 IBM Corporation
IBM Power Systems
Resource Security - protecting your objects EDTOBJAUT Interface to assign object level authorities Authority List Public AUT Owner Private AUT
30
© 2013 IBM Corporation
IBM Power Systems
Resource Security 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! 31
© 2013 IBM Corporation
IBM Power Systems
Encrypting sensitive data – 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 32
© 2013 IBM Corporation
IBM Power Systems
Encryption of data at “Rest” – 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) 33
© 2013 IBM Corporation
IBM Power Systems
Network Security Considerations
34
© 2013 IBM Corporation
IBM Power Systems
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.
35
© 2013 IBM Corporation
IBM Power Systems
Network-Based Intrusion Detection Firewalls: Intrusion Monitors: Firewall
Intrusion Monitor
Corporate Network
Internet
Development system
H/R System Domino WWW
Mail
Location: Outside your internal company network Makes sense to let firewall filter what it can. 36
© 2013 IBM Corporation
IBM Power Systems
Network-Based Intrusion Detection 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 for open ports.
Reaction to suspected malicious behavior: ƒSend e-mail or message to pager ƒShutdown network or routers
37
© 2013 IBM Corporation
IBM Power Systems
What is a Demilitarized Zone (DMZ)? • 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
38
© 2013 IBM Corporation
IBM Power Systems
DMZ - Protecting & Isolating your internal network
DMZ
firewall firewall
Internet
39
© 2013 IBM Corporation
IBM Power Systems
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 40
© 2013 IBM Corporation
IBM Power Systems
IBM Partner Network Security Products 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.html http://www-03.ibm.com/systems/power/software/i/security/partner_showcase.html
41
© 2013 IBM Corporation
IBM Power Systems
SSL/VPN connection For remote connections to your IBM i: – Use Virtual Private Network – Use SSL enabled versions of the client connection applications (Telnet, FTP, iNavigator, etc)
42
© 2013 IBM Corporation
IBM Power Systems
IBM i Packet Security 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)
43
© 2013 IBM Corporation
IBM Power Systems
IP filtering and network address translation... 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...
44
© 2013 IBM Corporation
IBM Power Systems
Client Device (workstation) Security
45
© 2013 IBM Corporation
IBM Power Systems
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
46
© 2013 IBM Corporation
IBM Power Systems
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
47
© 2013 IBM Corporation
IBM Power Systems
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
48
© 2013 IBM Corporation
IBM Power Systems
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) 49
© 2013 IBM Corporation
IBM Power Systems
Secure Socket Layer (SSL) connection 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
50
© 2013 IBM Corporation
IBM Power Systems
Summary
51
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
© 2013 IBM Corporation
IBM Power Systems
52
© 2013 IBM Corporation
IBM Power Systems
Special notices 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 generallyavailable 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
53
© 2013 IBM Corporation
IBM Power Systems
Special notices (cont.) 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
54
© 2013 IBM Corporation