当 OS X 10.5.7 PHP 和 Kerberos 版本被视为“漏洞”时,如何让 OS X 10.5 盒式机符合 PCI 标准

当 OS X 10.5.7 PHP 和 Kerberos 版本被视为“漏洞”时,如何让 OS X 10.5 盒式机符合 PCI 标准

我刚刚将服务器升级到最新的 OS X 版本 10.5.7,合规性扫描显示这些操作系统安装的组件会导致漏洞。我找不到可以下载更高版本的位置,甚至不知道是否存在更高版本!

Kerberos 5 被列为具有“多个漏洞”,但据我所知,Mac OS X 没有可用的更高版本。

5.2.9 之前的 PHP 版本也被列为存在“多个漏洞”,我可以看到 5.2.9 版本被广泛使用,但似乎无法在任何地方下载。甚至 Apple 网站上的下载链接也失效了。

MySQL 也被列为漏洞,他们表示 5.1.9 之前的版本存在漏洞,但只有 5.1.35 可作为稳定版本下载。

有人知道如何回答这些看似无法回答的问题吗?我只有几台服务器,运行着 40-50 个网站。全部在 Mac OS 上。谢谢

答案1

依赖第三方(Apple 甚至 MacPorts)来保持软件堆栈符合 PCI 规范是有风险的。了解如何自行编译组件,并将其安装在 Apple 之外:这将保护您免受编写不当的软件更新(如最近的 Apple Perl/CPAN 更新错误)损坏或恢复您的安装。禁用 Apple 的 Apache 和 MySQL 并启用您自己的。

请查看 opensource.apple.com 和 www.macports.org 上的版本以获取指导。使用操作系统防火墙和网络防火墙阻止您无法/不应升级的软件(例如 Kerberos)。

考虑:

cd /usr/local/src/

tar -xf mysql-5.0.83.tar
cd mysql-5.0.83
./configure --prefix=/usr/local/mysql --enable-local-infile --enable-shared --enable-thread-safe-client --with-extra-charsets=complex
make clean     
make && make install

tar -xf httpd-2.2.11.tar
cd httpd-2.2.11
./configure --prefix=/usr/local/apache2 --enable-mods-shared=all 
make clean
make && make install

tar -xf php-5.2.10.tar
cd php-5.2.10
./configure --prefix=/usr/local/php-x --enable-dbase --enable-ftp --enable-mbstring --enable-xml --enable-zip --with-apxs2=/usr/local/apache2/bin/apxs

...

/Library/LaunchDaemons/com.your.httpd.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>DYLD_LIBRARY_PATH</key>
<string>/usr/local/apache2/lib</string>
</dict>
<key>Label</key>
<string>com.you.httpd</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/usr/local/apache2/bin/httpd</string>
<string>-D</string>
<string>FOREGROUND</string>
</array>
</dict>
</plist>

/Library/LaunchDaemons/com.your.mysqld.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.your.mysqld</string>
<key>Program</key>
<string>/usr/local/mysql/bin/mysqld_safe</string>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>_mysql</string>
<key>WorkingDirectory</key>
<string>/usr/local/mysql</string>
</dict>
</plist>

答案2

您可以从此处从 MacPorts 下载 PHP 5.2.9:http://www.macports.org/ports.php?by=name&substr=php(这是第三个),并且可以直接从 MySQL 下载 MySQL 5.1.35(比 5.1.9 新 26 个小版本):http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg

我无法说出 10.5.7 中包含的 Kerberos 5 的确切版本号,但 MIT 直接提供的最新版本是 1.7。您必须从源代码进行编译,我不知道它会对 Apple 的内置版本做什么,因此请确保在升级生产机箱之前在实验室/测试服务器上尝试上述任何操作。

相关内容