The Problems with Gods

  • Comments posted to this topic are about the item The Problems with Gods

  • Fully agree with these sentiments. Omnipotence on its own is not enough to become a "god", you need omniscience and foreknowledge also.

  • In a previous position infrastructure was spun up in the cloud with a guid password generated at the time of creation.  Once the configuration of the hardware was finished the account was disabled.  The process of spinning up hardware was entirely automated so at no time was the password known to any individual.
    For any piece of hardware we had to define what that hardware configuration should be using templates and Puppet scripts.  If you got the scripts wrong then you weren't allowed to stumble around on the box until you got it right, you had to correct your scripts so the action was entirely repeatable.  This approach made for an extremely robust and secure system.

    When I started my career on an HP3000 mini-computer the "God" account was only available from the physical console attached to port 20 of the mini-computer itself.  Yes, with sufficient privileges you could elevate yourself to a sysadmin but that wouldn't give you everything that the physical console could do.....until someone released a utility that provided three commands that allowed you to do so.

    • god - Emulate the console logged in as sysadmin

    • mortal - Drop your privileges back to normal

    • tit - Emulate a normal user


    This was in the time before political correctness was invented.

  • Agreed, however current mainstream Operating Systems such as Microsoft Windows just are not up to the task of such finely grained administrative level access. This is largely due to the legacy where Windows evolved from a stand alone system where the single user had full administrative access to everything. Legacy practices and configuration continue from this base and it would take a rewrite from scratch to fix this and in general good security is built in from the start, it cannot be usefully and reliably retrospectively patched on top.

    It's not helped that I still deal with idiot developers who think adding a hard coded account into a system for administrative purposes is a good thing, or whose solutions to application security "problems" is to either disable security or to insist that the application can only be run with administrative level access to a system or database.

  • n.ryan - Tuesday, September 26, 2017 2:07 AM

    Agreed, however current mainstream Operating Systems such as Microsoft Windows just are not up to the task of such finely grained administrative level access. This is largely due to the legacy where Windows evolved from a stand alone system where the single user had full administrative access to everything. Legacy practices and configuration continue from this base and it would take a rewrite from scratch to fix this and in general good security is built in from the start, it cannot be usefully and reliably retrospectively patched on top.

    It's not helped that I still deal with idiot developers who think adding a hard coded account into a system for administrative purposes is a good thing, or whose solutions to application security "problems" is to either disable security or to insist that the application can only be run with administrative level access to a system or database.

    I'm going to have to post my doubts about the above assertion. While the windows branch culminating with "millennium edition" were in fact evolved from a stand alone system that gave full administrative access to everything to the user, the NT branch really WAS this rewrite from scratch that you're talking about that windows needs. I'll indeed grant that the APPLICATION writers didn't fully catch on for a while, but windows itself has plenty of security bits built in from the start.

    What else should windows get that you don't think it has currently? I admit the culture around windows administration could be at fault, but I don't know if I'd blame the software (for the most part). I'll not mind being proven wrong however so have at it!

  • At previous companies we were assigned an admin account and a regular account.  Only used the admin account when necessary.  Even on my home machine I do most things from a standard account.  It would drive me crazy when my sons would need me to type in the admin password just so they could play games.  I couldn't understand why the game program needed admin access to the computer.

  • David.Poole - Tuesday, September 26, 2017 1:37 AM

    In a previous position infrastructure was spun up in the cloud with a guid password generated at the time of creation.  Once the configuration of the hardware was finished the account was disabled.  The process of spinning up hardware was entirely automated so at no time was the password known to any individual.
    For any piece of hardware we had to define what that hardware configuration should be using templates and Puppet scripts.  If you got the scripts wrong then you weren't allowed to stumble around on the box until you got it right, you had to correct your scripts so the action was entirely repeatable.  This approach made for an extremely robust and secure system.

    I like that. In quite a few companies we've set long, random passwords for service accounts, without saving them beyond needing to configure a service. With group managed accounts now, I'd think we'd not bother, but I like the idea of forcing all systems through scripting, cloud or not.

  • patrickmcginnis59 10839 - Tuesday, September 26, 2017 6:39 AM

    I'm going to have to post my doubts about the above assertion. While the windows branch culminating with "millennium edition" were in fact evolved from a stand alone system that gave full administrative access to everything to the user, the NT branch really WAS this rewrite from scratch that you're talking about that windows needs. I'll indeed grant that the APPLICATION writers didn't fully catch on for a while, but windows itself has plenty of security bits built in from the start.

    What else should windows get that you don't think it has currently? I admit the culture around windows administration could be at fault, but I don't know if I'd blame the software (for the most part). I'll not mind being proven wrong however so have at it!

    Windows doesn't have good separation for auditing and security from administration. Certainly there are issues with application developers and their code, but the hierarchial nature of Windows and AD includes accounts that are above everything else. Same with sa/sysadmin in SQL, though they've done a good job with RLS and some encryption to take the admin out of the loop. However, there are still plenty of ways for an admin (or hacked admin account) to cover their tracks and bypass security.

    Even the sudo access on Linux systems still allows God account access, rather than more fine grained access, perhaps requiring 2-3 accounts to complete all actions.

    We havne't done a good job of protecting ourselves from the knowledgeable people that control systems. Two phased access to systems, which many military systems have for extremely sensitive areas (nuclear, large scale attacks, etc.) are something we should have adopted at some point.

  • RonKyle - Tuesday, September 26, 2017 7:23 AM

    At previous companies we were assigned an admin account and a regular account.  Only used the admin account when necessary.  Even on my home machine I do most things from a standard account.  It would drive me crazy when my sons would need me to type in the admin password just so they could play games.  I couldn't understand why the game program needed admin access to the computer.

    Poor developers, and poorly documented security, or poor separation of duties. I thought the same thing for Great Plains accounting years ago needing SA. Why? Only one thing, adding new logins and users. Even allowing securityadmin seemed crazy. At that time, we ended up giving dbo (SQL 2000) in the db, and creating the logins manually. The app could add a user mapped to a login, so we required a ticket for new users. More secure, a few times a year work for DBAs.

  • Steve Jones - SSC Editor - Tuesday, September 26, 2017 7:51 AM

    patrickmcginnis59 10839 - Tuesday, September 26, 2017 6:39 AM

    I'm going to have to post my doubts about the above assertion. While the windows branch culminating with "millennium edition" were in fact evolved from a stand alone system that gave full administrative access to everything to the user, the NT branch really WAS this rewrite from scratch that you're talking about that windows needs. I'll indeed grant that the APPLICATION writers didn't fully catch on for a while, but windows itself has plenty of security bits built in from the start.

    What else should windows get that you don't think it has currently? I admit the culture around windows administration could be at fault, but I don't know if I'd blame the software (for the most part). I'll not mind being proven wrong however so have at it!

    Windows doesn't have good separation for auditing and security from administration. Certainly there are issues with application developers and their code, but the hierarchial nature of Windows and AD includes accounts that are above everything else. Same with sa/sysadmin in SQL, though they've done a good job with RLS and some encryption to take the admin out of the loop. However, there are still plenty of ways for an admin (or hacked admin account) to cover their tracks and bypass security.

    Even the sudo access on Linux systems still allows God account access, rather than more fine grained access, perhaps requiring 2-3 accounts to complete all actions.

    We havne't done a good job of protecting ourselves from the knowledgeable people that control systems. Two phased access to systems, which many military systems have for extremely sensitive areas (nuclear, large scale attacks, etc.) are something we should have adopted at some point.

    What are some examples of security that isn't of a hierarchial nature for instance? Can you name a valid security scheme that a less privileged account can grant privileges to a more privileged account? Or is that not what you are talking about?

  • ...Humans make mistakes. We make inadvertent ones when we're tired or distracted. We make malicious mistakes we regret; we make emotional mistakes by overreacting to a situation. We make mistakes based on incorrect information. If we have all the power over a shared system, then we may easily make mistakes that could cause an extraordinary amount of damage...

    If IT sysadmins are to be thought of as "gods", then we're petty and fallible Greek gods, more like characters from a Neil Gaiman novel who often times fail to live up to the common standards of mankind. We're certainly not an omniscient and eternally benevolent true God. 

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho

  • Not allowing less privileged to change more privileged, but more side by side. A user that can do X, but not Y, even though X and Y are related. Can I create a new audit? Yes, but perhaps I shouldn't be able to alter an existing audit or stop it, or view it. Quite a few of our systems assume that a more privileged user should have a bucket of privileges that go together, but that's not the case. I might want a low privileged user to do one thing, but not many others. I might want a high privileged user to do many things, but not all.

  • Steve Jones - SSC Editor - Tuesday, September 26, 2017 8:56 AM

    Not allowing less privileged to change more privileged, but more side by side. A user that can do X, but not Y, even though X and Y are related. Can I create a new audit? Yes, but perhaps I shouldn't be able to alter an existing audit or stop it, or view it. Quite a few of our systems assume that a more privileged user should have a bucket of privileges that go together, but that's not the case. I might want a low privileged user to do one thing, but not many others. I might want a high privileged user to do many things, but not all.

    Why not go ahead and set your system up then lock out the administrator account then? In this case, don't give anyone the complete set of administrative privileges? I'm guessing what you really want is a computer system that guarantees that no adverse actions can ever happen without an entity knowing about it, ie., you want a server running in a company that, for the set of employees that can be trusted, this set is empty.

    If your company has no trusted employees at all, you should probably not be running servers locally, instead, run them on Azure 🙂

  • TDE and encryption of personal identifying columns should be standard database design practice today, and the keys held only by a handful of need to know executives. A sysadmin, even the resident God Of Data, doesn't need to read credit card numbers to perform daily maintenance operations on the Customer database and keep it running.
    Likewise, the NSA doesn't need to read our email and eavesdrop on phone conversation without a warrant just to keep us protected from terrorists.

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho

  • patrickmcginnis59 10839 - Tuesday, September 26, 2017 9:28 AM

    Why not go ahead and set your system up then lock out the administrator account then? In this case, don't give anyone the complete set of administrative privileges? I'm guessing what you really want is a computer system that guarantees that no adverse actions can ever happen without an entity knowing about it, ie., you want a server running in a company that, for the set of employees that can be trusted, this set is empty.

    If your company has no trusted employees at all, you should probably not be running servers locally, instead, run them on Azure 🙂

    I need some administrator. I also need some separation of duties. It's not a panacea to separate duties, but temptation and circumstances often create issues when there aren't checks and balances. Even if you trust someone today, that doesn't mean they are worthy of total trust.

    Be careful of pinging the needle that we trust no one or everyone. Or that we trust them to do nothing or everything. There are a lot of spaces between there.

    I don't  expect any security system to prevent all issues. I do expect that I have the ability to account for some issues and track back on others. An administrator that owns everything also can erase and prevent us from understanding what happened. The military has to trust people, and they do have issues. They also put in controls that let them prevent future issues by tracking who did something, and controls that try to ensure that in critical situations, it's not easy for one person to go rogue.

Viewing 15 posts - 1 through 15 (of 30 total)

You must be logged in to reply to this topic. Login to reply