19
Fri, Apr
5 New Articles

HOT TIPS: Security (6 Tips)

Security - Other
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Saving and Restoring Resource Security

Resource security (defining user's access to objects) is a very important component of your system. Yet, you may not be saving all of the information you need to restore it correctly after a system failure or disaster. Even if you are saving all of the information, you may not be aware of the steps required to restore resource security. Here are the basics.

Public authority, object ownership and the link between objects and their authorization lists are saved through the Save Object (SAVOBJ) or Save Library (SAVLIB) command. Authorization lists and private authority are saved through the Save Security Data (SAVSECDTA) or Save System (SAVSYS) command.

The following steps are required to restore resource security for an application:

1. Restore user profiles and authorization lists with the Restore User Profile (RSTUSRPRF) command, specifying USRPRF(*ALL). (Restoring individual user profiles will not restore authorization lists.)

2. Restore the application libraries with the Restore Library (RSTLIB) or Restore Object (RSTOBJ) command.

3. Restore private authority to objects with the Restore Authority (RSTAUT) command.

Security and the Unattended Workstation

The AS/400 provides a built-in global solution for unattended security through the QINACTITV system value. But, when you only want to secure individual workstations this method cannot be used. The following technique will solve this problem by allowing an intractive program to control the time-out function.

Let's say that you assign a value of 45 seconds to WAITRCD. This means the display will remain visible for 45 seconds before control is returned to the program which sent the file.

To detect inactive workstations from your RPG/400 programs, do the following:

1. Code the INVITE keyword in the DDS for the display file.

2. Supply a value for the display file's WAITRCD parameter.

3. Specify the INFDS data structure in your RPG program with the *STATUS special keyword included.

4. If a workstation time-out occurs, the *STATUS field will contain a value of 1331. Code a test for this value in your program following your installation standards.

5. If a time-out is detected, you may want to have your program call an installation standard program that signs off the workstation, alerts the system operator or takes some other corrective action.

The following sample code (not a complete working program) illustrates the concept. Indicator 50 and a status of 1331 indicates a workstation time-out in which case a program is called to deal with the potential security problem.

 ... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+.. A INVITE A R SCRN1 TEXT('MY SUBFILE RCD') ... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+.. FPROMPT CF E WORKSTN F KINFDS INFDS F KNUM 1 IINFDS DS I *STATUS STATUS . . . C WRITESCRN1 C READ PROMPT 50LR * C *IN50 IFEQ *ON C STATUS ANDEQ1331 C MOVE *ON *INLR C CALL 'QCMDEXC' C PARM 'SIGNOFF' CMD 7 C PARM 7 LEN 155 C ENDIF ... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+.. 

Password Management Made Easier

One of the most useful system values when it comes to password management is the Password Validation Program (QPWDVLDPGM). By specifying a program and its library in this parameter, you can allow a program to process the information entered in the Change Password (CHGPWD) command. This can be very useful in refining your security. I have written my own password validation program. It has two functions: it checks for certain words that you do not want used as passwords (e.g., user name), and it captures the password information at the time it is being changed. By capturing password information, a security administrator could inquire into passwords-something OS/400 doesn't normally allow you to do.

Once you assign a validation program to QPWDVLDPGM system value, every time the CHGPWD command is called (explicitly or automatically at password expiration time), the validation program is executed.

You should be aware of several considerations associated with this technique. Only passwords changed through the CHGPWD command will be processed, and passwords created by CRTUSRPRF or changed by CHGUSRPRF will not be processed. In addition, you must have special authority of *SECADM to update the QPWDVLDPGM system value.

Securing Individual Database Fields

The AS/400 database does not directly support field-level security for a file; that is, there's no direct way to protect an individual field from unauthorized access while leaving all others unprotected. At most, you can give users *READ authority (to read records), *ADD (to add records), *UPD (to update records) or *DLT (to delete records), but this is a blanket authority that covers the entire record-not a specific field.

What you want is a way for all users to read the nonsensitive part of a record, such as employee number, name and the department number. However, you don't want everyone to be able to read the rest of the fields, such as hourly pay rate and deductions.

There is a way to allow access to only certain fields in a physical file while protecting others: create a logical file that contains a subset of the fields. The physical file might look like this:

 ... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... A R EMREC A EMEMPL 5P 0 TEXT('Employee number') A EMNAME 30A TEXT('Employee name') A EMDEPT 4P 0 TEXT('Department number') A EMHPAY 5P 2 TEXT('Hourly pay rate') A K EMEMPL ... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 

The logical file created for selected field access would look like this:

 ... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... A R EMREC PFILE(EMPMST) A EMEMPL A EMNAME A EMDEPT A K EMEMPL ... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 

The logical file only "sees" the employee number, name and department number, and virtually ignores the rest of the confidential information.

Consider which users would be given access to the limited information. Give them all *OBJOPR authority to the logical file. This gives the users the authority to open the logical file and use the data authorities of the physical file on which the logical is based.

Then give the users the desired data rights to the physical file. If you want them capable of reading the data, give them *READ authority to the physical file. Don't give them *OBJOPR authority to the physical file, though. If they don't have *OBJOPR authority, they cannot open the physical file itself and the confidential fields remain protected.

You can use the same technique to allow some users to change certain fields but not others. Again, create a logical file with *OBJOPR authority to the users, and give *CHANGE authority (but not *OBJOPR) to the physical file.

Limiting Sign-on Attempts

In order to prevent unauthorized access to your AS/400, you need to limit the number of unsuccessful sign-on attempts to your system. This is done through two system values: maximum sign-on attempts allowed (QMAXSIGN), and action to take for failed sign-on attempts (QMAXSGNACN). QMAXSIGN sets the number of unsuccessful attempts allowed before taking some kind of action. I would suggest a maximum of three. If a user takes more than three attempts to sign on, someone needs to intervene.

QMAXSGNACN takes the action once QMAXSIGN has been met. The default value is a 1, meaning that the workstation is varied off. To reestablish contact with the AS/400, use the Vary Configuration (VRYCFG) command. A value of 2 will disable the user profile. A user with *SECADM and *ALLOBJ special authorities will then need to set the status of the user profile to *ENABLED.

A value of 3 will vary off the workstation and disable the profile.

Automatic Password Expiration

To ensure the continued secured usage of a user profile and keep users from obtaining other users' passwords, be sure to use PWDEXPITV value in the user profile. This will assure that passwords are being changed frequently. It can be set to a value of *SYSVAL, which incorporates the number of days from the system value QPWDEXPITV as an expiration time. Or you can put a number of days in that field from 1-366. *NOMAX is also a valid value, but you should be careful about how you use it. Once the number of days since the last password change has expired, the user is forced to change his password.

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$0.00 Raised:
$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: