Why There’s No Security Log in Linux Like There is in Windows
Linux security is all about file security. That’s because configuration in Linux is stored in files directly accessible to root. Mis-edit a file and you can be in a lot of trouble. You may not be in the habit of configuring Linux through direct file editing but that’s because many distros have built GUI or command line tools to help you avoid the aforementioned trouble. But the key point here is that you aren’t forced to go through those utilities.
This is very different than Windows. In Windows the actual bits of configuration are far more isolated and you never touch them even if you are an administrator. You are pretty much forced to go through Win32 APIs for everything. This allows Windows to enforce both privilege and validation rules.
In Linux, since you aren’t going through an API, you only get validation if you use the appropriate utility to make the configuration change instead of directly editing the file. As an example, in Linux you can create a user by either directly editing the etc/passwd and related files or it’s safer to use the useradd program instead which edits the files for you based on the command line arguments you provide.
Want to learn more? Join me in my upcoming webinar on November 30th. This is real FREE training, with CPE credits, that you won't want to miss – Good Linux Security Needs File Integrity Monitoring. Register now
Why is this such a big deal? It has some big implications.
Let’s say you want to implement least privilege and allow some IT folks authority to change only a subset of properties on accounts. Maybe you want them to be able to change home directory on user accounts but nothing else. You can’t allow them to edit the whole etc/passwd file because they could change anything or even create new users, delete users or corrupt the file. And the usermod program likely doesn’t have any least privilege functionality of its own. That’s why I’ve done so many webinars in the past about sudo. If you are willing to do the work in your sudoers file you could grant them the ability to run usermod but only with the -d switch.
The other big issue is your audit trail. If security changes are always executed through the appropriate utility (like usermod or useradd) and with sudo then it’s possible to get a decent audit trail. But what’s to stop someone from directly editing the /etc/passwd file using VI or something else? Where’s your audit trail then? The reason I’ve never created a Linux Security Log Encyclopedia (like my Windows Security Log Encyclopedia) is basically because of this. There’s no single choke point in Linux where you are forced to go to make different configuration changes. Therefore, there’s no way for Linux to generate the kind of audit log that Windows does with hundreds of unique event IDs for each security action.
Linux security is all about file security.
That’s why file integrity monitoring is of paramount importance to compliance and security for your Linux systems. If you aren’t closely monitoring changes to key security configuration files you have no way to detect major changes to your security policy.
Monitoring Windows security is primarily a matter of monitoring the security log. Monitoring Linux security requires your sudo logs and file integrity monitoring. FIM is a much, much bigger deal in Linux than in Windows.
Join me for a real training for FREE on November 10th, where we’ll look at file integrity monitoring in Linux and identify the most important files that need to be monitored. BeyondTrust has kindly sponsored my series of webinars on Linux security including this one, and product manager Paul Harper will briefly show you the file integrity monitoring capabilities being introduced to PowerBroker for Unix & Linux.