After my discovery that we hadn't been doing a great job of removing the network access rights of ex-employees, I looked deeper to see how we could improve things. First, we instituted a new process to compare the active employee list and termination requests to the user accounts configured in our in-house and software-as-a-service offerings.
As I explained last month, my team already does an account review every quarter to comply with SOX requirements, but we had only been comparing the active user accounts to the termination list to ensure that everyone who was supposed to be removed no longer had access. Now we are also doing a comparison of active user accounts to the list of active employees.
But in doing these comparisons, the focus has been on people -- the employees and contractors who are associated with each user account. I ignored accounts not associated with people. Now I'm going back and taking a closer look at those other accounts. They generally fall into four categories: service accounts, training accounts, test accounts and built-in administrator accounts.
Service accounts are used by software to connect to services with proper authentication and associate the correct set of rights with the software. I found two problems with these accounts. One is passwords, and the other is privileges.
Many of the service accounts I looked at have simple, easy-to-guess passwords assigned. For example, there is a service account called "oracle" that has a password that anyone could readily guess. But you wouldn't have to guess. The scripts our developers wrote for the oracle account have the password embedded in them, and that password is sent in the clear over the network when those scripts run.
And who knows how long that password has been around? I'd bet that several system administrators have come and gone since that password was assigned. And since the password is set to never expire, it will remain like it is until somebody like me comes along and forces it to be changed (our system administrators value convenience over security). For now, I've asked them to change the password to something less guessable, and to find a way to obscure it in the scripts and over the network. I'm also looking into off-the-shelf products that can do this in a more automated way.
The other problem with the service accounts is excessive rights. Many of the Windows service accounts are part of the Domain Admins group, which gives them far more access privileges than they need. And some of the Unix service accounts are root-equivalent, which is also excessive in some cases. This is not easy to fix. Developers have to research best practices and recommendations from the vendors, which are rarely helpful.
Sign up for CIO Asia eNewsletters.