There’s tremendous value in isolating your bastion (Internet-accessible) hosts in a DMZ network, protected by a well-designed firewall and other external controls. And just as a good DMZ is designed assuming that sooner or later, even firewall-protected hosts may be compromised, good bastion server design dictates that each host should be hardened as though there were no firewall at all.
Obviously, the bastion-host services to which your firewall allows access must be configured as securely as possible and kept up-to-date with security patches. But that isn’t enough: you must also secure the bastion host’s operating-system configuration, disable unnecessary services — in short, “bastionize” or “harden” it as much as possible.
If you don’t do this, you won’t have a bastion server: you’ll simply have a server behind a firewall — one that’s at the mercy of the firewall and of the effectiveness of its own applications’ security features. But if you do bastionize it, your server can defend itself should some other host in the DMZ be compromised and used to attack it. (As you can see, pessimism is an important element in risk management!)
Hardening a Linux system is not a trivial task: it’s as much work to bastionize Linux as Solaris, Windows, and other popular operating systems. This is a natural result of having so many different types of software available for these OSes, and at least as much variation between the types of people who use them.
Unlike many other ...