Securing Linux Production Systems
robyannetta writes "Securing Linux Production Systems: A Practical Guide to Basic Security in Linux Production Environments is a practical step-by-step guide for securing Linux production systems. It shows how to meet basic security requirements for Linux systems that need to pass security audits. If you have been assigned to come up with a corporate Linux Security Standard, then you should definitely read on."
If you'll read de above article maybe you'll find interesting this: http://www.securityfocus.com/tools
The package said "Windows XP or better. Pentium Class Processor or better"... So I got a Mac with OS X
yeah!
Why are some people so adamant that / and /boot be on different partitions? I'm not saying they're wrong, just that it's never been explained. With usr, var, tmp and home all on different partitions, there's not a hell of a lot left, so what conflicts with the miniscule amount of data in /boot? Is this just a holdover from the bad old days of kernel-under-1024-cylinders-or-bust?
This sig is part of your complete breakfast.
He talks about disabling unused accounts. Which sounds fine, but in modern Linux distributions, those `unused' system accounts are often used for a daemon to switch to after giving up permissions. Removing the account will break things -- something you don't want to do if you don't understand what you're doing. Yes, he does say `if you're sure', but provides little in the way of helping to determine which accounts could be removed.
As for all the password aging stuff, this is mostly needed to comply with poorly thought out corporate policies and the like. But password policies don't do much to increase security unless you educate your users about the reasons behind it -- otherwise, they'll just write today's password on their desk, or do whatever else they have to do to keep track of the password that you keep changing on them.
Restricting User Access Based on Time and Day? Does _anybody_ find this to be useful? Does anybody restrict logins based on the time of day?
Shared Accounts are bad (security-wise), no matter how you look at them. sudo and similar programs are your friends. (But the section about `Restricting su Access to System and Shared Accounts' is good.)
All in all, it's not a bad list, but he seems to spend a lot more time on passwords than they're worth, and less time on things like keeping patches up to date or educating your users.
I will not cover iptables in this paper. The reason is because most companies use hardware based firewalls to protect the servers in their production network. And this is usually being taken care of by another team and not by Linux systems administrators. If you are interested in a Linux Stateful Firewall using iptables, you might want to check out my instructions at Linux Stateful Firewall & IP Masquerading.
Werner made somewhat incorrect assumptions in that little paragraph.
iptables is an extra security measure I highly recommend - even on networks with hardware firewalls.
It is unwise to lock the security screen door but leave the front door unlocked when you are not home.
It's also intersting to note the following at the bottom of the page:
Copyright © Notice
This article may not be published, sold, reproduced or copied in whole or in part without obtaining permission first. But you are welcome to put links from your site to the article.
If Werner is going to claim copyright, he should state his sources - there is very little chance that he wrote every word. --Mike
LILO used to require the boot image be within the first 1024 cylinders I think. So /boot was /dev/hda1 and small enough to guarantee the entire partition was within the safe range. Otherwise, as you installed new versions of the kernel image, it would eventually migrate away from the safe range.
Infuriate left and right
Am I missing something here or does this paper totally ignore the fact that in the real world, what you can do to secure a system depends on what you want the system to do.
A secure system is great, but it is totally pointless if the server doesn't serve a function. Securing a system should always start with defining what exactly the system needs to do, so that you can know what exactly it doesn't need to do, as securing a system equates to eliminating possible security risks that aren't essential to system functionality.
For example, the paper's section on SUID/SGID binaries says that they can be dangerous, but doesn't inform the reader as to which SUID/SGID binaries are necessary to perform different tasks. This information is thus not very useful to kind of person that could potentially benefit from this paper, because the kind of person that doesn't know SUID/SGID bits can be dangerous will most likely not know which SUID/SGID bits can be safely removed.
he writes about "Securing Sendmail". and then launches into a howto. He got that wrong, as it should have read: "Install Postfix"
People who think they know everything are a great annoyance to those of us who do.
In addition to the guide above, remember to also look at the CERT security checklist for unix machines. http://www.cert.org/tech_tips/AUSCERT_checklist2.0 .html