Clutching at Security Blankets

Lessons learned while working in Information Security.

moc.navat@ymerej

Tags: security linux 

What Makes a Linux Admin


13 August 2016

I’m sorry if the title of this post sounds like I’m going to get all philosophical and start discussing the skills and personal characteristics that make someone a true Linux administrator. That’s not what this is about. Instead, it’s a lot more prosaic. If you’re using endpoint management software to track servers, and you want to audit the list of accounts with administrative privileges on a system, how do you do it?

In both Windows and MacOS, the definition of an “administrator” account is fairly easy. Under Windows, you look at the Administrators group. On MacOS there are a few ways to enumerate admins, but it all boils down to the users who have the “Allow user to administer this computer” checkbox checked. Of course, as Unix systems, Macs also are subject to many of the criteria in the definition below. Under Linux, things aren’t so straightforward. How would one define a Linux admin account for purposes of inventory and monitoring? I started thinking about this recently and came up with the following definition, which is definitely a work in progress:

An administrator of a Linux server is any user that meets any of the following definitions: I know the oldschool UNIX admins are going to yell at me for the group names in (2). Sorry.

  1. Is UID 0
  2. Is a member of the group wheel or admin or administrators or root 3. Exists in the sudoers file with an ALL permission line
  3. Exists in a group that exists in the sudoers file with an ALL permission line
  4. Exists in the .k5login file of any user account meeting any of criteria 1-4

There are certainly other criteria which would be functionally equivalent to the above (for example, any user that can edit the sudoers file), but this seems like a good place to start for machines that are set up somewhat normally and not already compromised. I have BigFix relevance code for 1-4 on the list, which is complicated enough, and support for inspecting /root/.k5login, but haven’t yet implemented the full (5) successfully.

Tags: security development 

I figured out the mystery!


29 January 2016
  1. Find VB .NET source code, convert to step-by-step pseudocode.
  2. Reverse steps in the pseudocode.
  3. Generate RSA keypair.
  4. Build AES encryption tool using source above.
  5. Deliver encryption tool to secure workstation using management system.
  6. Invoke encryption tool, construct composite key.
  7. Encrypt private key.
  8. Embed private key in stored procedure in database on server.
  9. Update endpoint management scripts with public key.
  10. Test and verify functionality.
  11. (Most important) Document the hell out of everything.

It’s so simple!

Tags: organizations humor 

Stages of Maturity


9 November 2015
  1. We’re not a target.
  2. We’ve been breached - buy one of everything and fix it.
  3. What do we do with all this stuff?
  4. Profit!

Previous Page: 1 of 4