How to maintain PCI compliance on a LAMP server when repositories don't keep up with versions

Jared Green asked:

We run Ubuntu Lucid 10.0.4 as the foundation of our LAMP environment. We are trying to become PCI compliant so that we can pass CC info through our server. We have run some third-party scans on our servers to begin the certification process and have run into errors regarding PHP 5 versions and Apache versions. The latest PHP version hosted in our official lucid repository is about 10 versions lower than what PCI compliance requires.

How do we upgrade to stay current with PCI compliance requirements?

We need to get from php 5.3.2 to php 5.3.15

As well as up to apache 2.2.23

I’ve searched far and wide for an answer and haven’t come up with a realistic answer. Some recommend compiling manually – which sounds like a nightmare, and others recommend a PPA – which sounds insecure. What should we do?

My answer:

Enterprise Linux distributions deal with this by backporting security fixes from the new version to the original version to which your distribution is locked. You install the updated system packages containing the backported security fixes, and note this in your report to the compliance vendor.

Each report you receive of a potential security vulnerability should include a CVE number. Look up this number in Ubuntu Security Notices (see also Red Hat CVE for RHEL/CentOS) to determine the updates that your system needs.

As a side note, if you are running a PHP-based web site, you often want bug fix updates in addition to security fixes. The distros almost never distribute bug fix updates unless they cause crashes or security problems, and sometimes not even then. In this case it’s often wiser to use a PPA that tracks your desired PHP version (e.g. 5.3 or 5.4) instead of the system packages.

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.