Open Source and IBM i Security

IBM i (OS/400, i5/OS)
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Don’t take your eye off the security ball when it comes to open source.

I’ve had a few conversations in the last few weeks about open-source solutions on IBM i. While I’m an advocate and even sometimes a cheerleader for open solutions, these conversations have left me with concern about IBM i security. Don’t get me wrong; progression toward the open-source world is needed in our community. It opens up doors to hire new people with new ideas and sets them up to become productive as developers very quickly. We’re given the opportunity now, at this point, to do arguably what we’ve not been able to do as a community with our traditional applications written in RPG: enforce rudimentary object-level controls and not give away the keys to the kingdom with special authorities.

I came upon a conversation in which a vendor required the ability to securely transfer files to an IBM i partition. A number of people advocated using SSH and a chroot jail to ensure that the vendor is accessing only the directory structure assigned to him.

Couple of issues here.

First, I guarantee that if you turn on the SSH server and allow a NAT rule through your firewall to your IBM i, it will be hit with brute force password dictionary attacks within a couple of hours and continue all day, every day. Congrats! You’ve just made your IBM i a target on the public Internet. If you do implement SSH, you must ensure that any source IP addresses are from trusted sources, even on your internal network. Ensure that your firewall is limiting this traffic as a matter of risk reduction. Or even better, don’t allow a vendor direct access to your IBM i at all! Have them put files on a meaningless Windows server instead and then transfer to your IBM i via a more secure, internal option that you can control. Otherwise it’s a free-for-all.

I propped up a dummy server with SSH running with access from the public Internet last week to prove a point. Within a couple hours the server was subject to a dictionary attack. How did I know? The audit journal can capture invalid password attempts.

Source IP

User

Timestamp

87.27.141.42

ROOT

7/2/20 12:32 PM

49.88.112.71

ROOT

7/2/20 12:33 PM

206.189.26.171

SERVER

7/2/20 12:33 PM

199.231.185.120

ELENA

7/2/20 12:33 PM

145.239.87.35

NICO

7/2/20 12:33 PM

151.80.41.64

DANIEL

7/2/20 12:33 PM

119.28.177.36

ROBIN

7/2/20 12:33 PM

94.103.94.203

TEST

7/2/20 12:33 PM

65.31.127.80

SAMBA

7/2/20 12:33 PM

1.202.76.226

COSMO

7/2/20 12:33 PM

51.83.74.203

ROOT

7/2/20 12:33 PM

103.242.56.174

ORACLE

7/2/20 12:33 PM

157.230.10.212

RAFAL

7/2/20 12:33 PM

60.30.98.194

Q12345

7/2/20 12:33 PM

167.71.86.88

THOMAS

7/2/20 12:34 PM

199.231.185.120

MOHAMED

7/2/20 12:34 PM

49.88.112.71

ROOT

7/2/20 12:34 PM

51.83.44.111

ROOT

7/2/20 12:34 PM

62.234.110.91

SII

7/2/20 12:34 PM

5.196.64.61

POSTGRES

7/2/20 12:34 PM

51.15.80.231

ROOT

7/2/20 12:34 PM

51.178.52.56

SHIPPING

7/2/20 12:34 PM

145.239.87.35

BOT

7/2/20 12:35 PM

199.231.185.120

TEMPORAL

7/2/20 12:35 PM

117.247.226.29

MINECRAFT

7/2/20 12:35 PM

37.187.113.144

ROOT

7/2/20 12:35 PM

119.28.177.36

ROOT

7/2/20 12:35 PM

49.88.112.71

ROOT

7/2/20 12:35 PM

138.197.222.141

QDP

7/2/20 12:35 PM

1.202.76.226

ROOT

7/2/20 12:36 PM

51.68.122.147

SUPPORT

7/2/20 12:36 PM

If you’re not watching for this stuff, your systems are getting probed and prodded all day long. Eventually, either valid accounts can be locked out that could potentially cripple a production process or a password attempt will succeed, especially if you allow *NOMAX for your QMAXSIGN system value.

Second, chroot is not a security measure. And yes, I’ll die on this hill. Chroot does not stop a user from interacting with QSYS, which means a chrooted user can call programs there. There are a number of documented methods on how to break chroot without needing root authority. Chroot can certainly help slow down an attacker, but it will not stop one. It’s a baby gate. It’ll work until someone learns how to climb over it.

Third, object authority must be taken seriously. I don’t care if you’re using file shares, FTP, FTPS, or SSH/SFTP. If a user interacts with the IFS, then object security on those directories will be your saving grace…or at least give you a fighting chance at minimizing damage. That means connected user profiles also get zero special authorities. If you condemn users to operate inside one directory structure by way of object security, then their potential damage is limited.

That leads me to the next issue: developers with *ALLOBJ.

By default, the ability to set up open-source solutions in the default directories on IBM i requires an IBM-recommended *ALLOBJ authority. Here’s where something like chroot can come in handy. You can load instances of IBM i open-source solutions into different chroot directory containers. With proper authority on those directories, your developers can work inside there and even update their OSS packages themselves.

Or you can just give developers *ALLOBJ authority.

I was privy to another conversation this past week in which an IT manager didn’t want to keep SSH running or have it auto-started via the job scheduler, but he was completely fine with a contract developer having *ALLOBJ special authority and the ability to start it whenever required. This stuff makes my head implode.

Security is all about risk reduction.

SSH is used to facilitate terminal shells (i.e., Bash, etc.) and is a preferred environment to work with open-source tools. There are no exit points associated with SSH, so monitoring and controlling what users do inside SSH is a problem. I already mentioned and demonstrated above that it’s a major attack vector.

Developers with *ALLOBJ own the entire system. Period. Full stop.

Not to say that developers are malicious. Of course not. But they’re human and are subject to human mistakes. It’s the equivalent to logging into a Linux distribution as root and then doing development.

I would argue that allowing developers the ability to start/stop TCP servers is a mistake. In my opinion, that’s not in their job description. Developers should be given rights to development libraries/directories only, and then code should be promoted to production by way of proper change-management procedures.

Developers with *ALLOBJ pose a far bigger risk than allowing SSH if you accept only connections from specific source IP addresses either on the system by way of packet rules or via the firewalls, where I would argue that type of rule really belongs.

Again, risk reduction is the name of the game. It’s a multipronged approach that needs attention now before there’s 32 years’ worth of open source security doors we need to close in addition to the ones we have now.

 

Steve Pitcher
Steve Pitcher works with iTech Solutions, an IBM Premier Business Partner. He is a specialist in IBM i and IBM Power Systems solutions since 2001. Feel free to contact him directly This email address is being protected from spambots. You need JavaScript enabled to view it..
BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  •  

  • 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.

  • 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

  • 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: