Breaching Fort Apache.org - What went wrong?
Open-sourcers put locks on keys
Administrators at the Apache Software Foundation have pledged to restrict the use of Secure Shell keys for accessing servers over their network following a security breach on Monday that briefly forced the closure the popular open-source website.
In an detailed postmortem describing how hackers penetrated several heavily fortified machines, site admins identified their use of SSH keys as one of the flaws that made the attack possible. They went on to lay out concrete ways they plan to fix the problems, which also included faulty procedures for backing up data and methods for providing geographically localized servers for downloads.
"At no time were any Apache Software Foundation code repositories, downloads, or users put at risk by this intrusion," they wrote here. "However, we believe that providing a detailed account of what happened will make the internet a better place, by allowing others to learn from our mistakes."
The hack started with the compromise of apachecon.com, a website that's owned by the ApacheCon conference production company. Although logs confirming the exact cause were destroyed, investigators suspect it was the exploit of one or more local root vulnerabilities in the Linux kernel for which Red Hat issued a patch seven days earlier but had not yet been installed. They then used the SSH key for a backup account to access the server that runs people.apache.org.
With an unprivileged user account, the attackers added common gateway interface scripts to the document root folders for several Apache websites. Routine backup processes then copied the scripts to the foundation's production server, where they became visible to the outside world. Those scripts, which allowed the hackers to obtain remote shells, were aided by Apache's use of ExecCGI.
"The use of SSH keys facilitated this attack," the postmortem continued. "In hindsight, our implementation left a lot to be desired - we did not restrict SSH keys appropriately, and we were unaware of their misuse."
The admins have since recreated new SSH keys with minimum lengths of 4096 bits and mandated the use of a separate one for each host doing backups. Additionally, they now require the use of from="" and command="" strings and allow connections only from machines that are backing up data to prevent third party machines from being able to establish connections.
Other changes include the requirement that all users with elevated privileges use a one-time password for everything for sudo on certain machines. The foundation is also considering the disabling of CGI support on most website systems.
Apache deserves credit for the number of security-in-depth measures already in place that prevented the attack from penetrating more sensitive parts of the foundation's system.
For example, core servers on the network employed a variety of hardened operating systems, including CentOS, FreeBSD-7, and Solaris 10, creating a diverse target that made it hard to attackers to escalate privileges. What's more, the use of the ZFS filesystem and redundant services in two locations made it possible for admins to restore service quickly.
Even more commendable is the foundation's willingness to publicly lay out how its mistakes contributed to the breach. It's never a pleasant task to publicly lay out blunders in such painstaking detail - just ask Apple, which steadfastly refuses to discuss security missteps, however obvious they are to the rest of the world. But as the Apache postmortem shows, such disclosures can leave users feeling surprisingly reassured about the state of one's security. ®
root of the problem
> Other changes include the requirement that all users with elevated privileges use a one-time password for everything for sudo on certain machines.
running processes (inc a shell) as root == fail
requiring root as part of your workflow == fail
root is concentrated fail, wrapped in "how can you admin without it" ignorance
Wow a refreshing change for sure to see someone like Apache openly fess they've been hacked and not to how the fix the problem but how to they are preventing it happening again in the future.
Windows + IIS unless it's behind a freaking hardware firewall and for internal use only is FAIL..
Reminds me need to check my apache logs I'm sure they'll need truncating with all the "IIS overflow attempts" people try .....
Kudos to Apache
I'm impressed with this response from Apache - not only did they 'fess up' to being attacked, but they're also saying "this is how they did it" and "here's how we're closing the door". The latter two being particular valuable information to others (me included) in how to secure their systems (in case they're vulnerable to the same hit). I don't see anything here that'll convince me to stop using their products on Windows, Linux, Solaris, AIX, etc.
Re: "diversity...?" (by milo5) " Yep... Steering clear from "mono-culture" like Linux from now on."
Clear off back under your bridge MS-troll! You can't have it both ways, claiming Linux is "too disparate" (as Ballmer claims) and the opposite when it suits you. Oh, and an fyi - Solaris (mentioned in the platform list given) is _no_ form of Linux.
The point being made in the post "Diversity won over the hackers" is that following the Redmond corporate line and only having Windows (although I would have assumed that this would be Windows+IIS rather than Windows+Apache) servers is a bad idea. One gets pwned, then they all get pwned.