PHP Security · 1 min read · Oct 25, 2025
Mandriva 2007 SpringでSuhosinを使用してPHP5を強化する方法
Mandriva 2007 SpringでSuhosinを使用してPHP5を強化する方法
Version 1.0
Author: Falko Timme
このチュートリアルでは、Mandriva 2007 SpringサーバーでSuhosinを使用してPHP5を強化する方法を示します。Suhosinプロジェクトページからの引用: “Suhosinは、PHPアプリケーションとPHPコアの既知および未知の欠陥からサーバーとユーザーを保護するために設計されたPHPインストール用の高度な保護システムです。Suhosinは、別々にまたは組み合わせて使用できる2つの独立した部分で構成されています。最初の部分は、バッファオーバーフローやフォーマット文字列の脆弱性に対するいくつかの低レベルの保護を実装するPHPコアに対する小さなパッチであり、2番目の部分は、他のすべての保護を実装する強力なPHP拡張です。”
この文書には、いかなる種類の保証もありません!これがあなたにとって機能するという保証はありません!
1 予備ノート
私は、IPアドレス192.168.0.100のMandriva 2007 Springサーバーでこれをテストしました。
このチュートリアルは少し典型的ではありません。なぜなら、PHP5がインストールされている場合、Mandriva 2007 SpringにSuhosinをインストールするために何もする必要がないからです。なぜなら、MandrivaのPHP5にはデフォルトでSuhosinが含まれているからです。それでも、私はこのチュートリアルを書く価値があると思います。なぜなら、「Suhosinをインストールするために何をすればよいですか?」という質問に答えるからです - 何も、PHP5がすでにインストールされている場合は。
2 Apache2とPHP5のインストール(オプション)
(この章は、すでにApache2とPHP5がインストールされている場合はオプションです - PHP5でSuhosinが有効かどうかを確認するには、次の章に進んでください。)
まず、Mandrivaのオンラインリポジトリを使用してパッケージをインストールする場合(Mandriva DVDではなく)、パッケージデータベースを更新する必要があります:
urpmi.update -aサーバーにApache2とPHP5がインストールされていない場合は、今すぐインストールしてください:
urpmi apache-mod_php libphp5_common5他の多くのパッケージが、これら2つのパッケージと一緒に依存関係としてインストールされることがわかります:
[root@server1 ~]# urpmi apache-mod_php libphp5_common5
依存関係を満たすために、次のパッケージがインストールされます:
apache-base-2.2.4-6.2mdv2007.1.i586
apache-conf-2.2.4-4mdv2007.1.i586
apache-mod_php-5.2.1-4mdv2007.1.i586
apache-modules-2.2.4-6.2mdv2007.1.i586
apache-mpm-prefork-2.2.4-6.2mdv2007.1.i586
ccp-0.4.1-1mdk.noarch
libmm14-1.4.2-1mdv2007.1.i586
libphp5_common5-5.2.1-4.2mdv2007.1.i586
php-ctype-5.2.1-1mdv2007.1.i586
php-filter-5.2.1-0.1mdv2007.1.i586
php-ftp-5.2.1-1.1mdv2007.1.i586
php-gettext-5.2.1-1mdv2007.1.i586
php-hash-5.2.1-1mdv2007.1.i586
php-ini-5.2.1-2mdv2007.1.i586
php-json-1.2.1-3mdv2007.1.i586
php-openssl-5.2.1-4.2mdv2007.1.i586
php-posix-5.2.1-1mdv2007.1.i586
php-session-5.2.1-1mdv2007.1.i586
php-simplexml-5.2.1-1mdv2007.1.i586
php-suhosin-0.9.18-4mdv2007.1.i586
php-sysvsem-5.2.1-1mdv2007.1.i586
php-sysvshm-5.2.1-1mdv2007.1.i586
php-timezonedb-2007.3-1mdv2007.1.i586
php-tokenizer-5.2.1-1mdv2007.1.i586
php-xmlreader-5.2.1-1mdv2007.1.i586
php-xmlwriter-5.2.1-1mdv2007.1.i586
php-zlib-5.2.1-4.2mdv2007.1.i586
27パッケージのインストールを続行しますか? (6 MB) (Y/n)
[…]
ご覧の通り、php-suhosinパッケージが自動的にインストールされるため、PHP5はデフォルトでSuhosinによって強化されます。
次に、Apache2を起動します:
/etc/init.d/httpd restartこれで、サーバーに基本機能を持つPHP5がインストールされました。特別なPHP5モジュールが必要な場合は、次のように検索できます:
urpmi --fuzzy php出力から必要なモジュールを選択し、次のようにインストールしてApache2を再起動します:
urpmi php-bz2 php-calendar php-ctype php-curl php-dio php-dom php-eaccelerator php-enchant php-esmtp php-event php-exif php-fam php-ffmpeg php-fileinfo php-filepro php-ftp php-gd php-gettext php-gmp php-iconv php-id3 php-idn php-imap php-imlib2 php-mailparse php-mbstring php-mcache php-mcrypt php-mhash php-ming php-mysql php-mysqli php-ncurses php-newt php-odbc php-oggvorbis php-pam_auth php-pcntl php-pcre php-pear-Net_IDNA php-posix php-pspell php-readline php-recode php-session php-shmop php-simplexml php-snmp php-soap php-sockets php-sqlite php-ssh2 php-sysvmsg php-sysvsem php-sysvshm php-tclink php-tcpwrap php-tidy php-xml php-xmlrpc php-zip php5-ini/etc/init.d/httpd restart3 PHP5インストールの詳細を取得する
Apacheインストールで仮想ホストをすでに作成していない限り、デフォルトのウェブサイトのドキュメントルートは/var/www/htmlです。これから、そのディレクトリに小さなPHPファイル(info.php)を作成し(仮想ホストを作成している場合は、PHPが有効な任意の仮想ホストに配置してください)、ブラウザで呼び出します。このファイルは、インストールされているPHPバージョンなど、PHPインストールに関する多くの有用な詳細を表示します。
vi /var/www/html/info.php| |
今、ブラウザでそのファイルを呼び出します(例: http://192.168.0.100/info.php):

ご覧の通り、私たちのPHPバージョンは5.2.1です。
すべてがうまくいった場合、ページの2か所にSuhosinが表示されるはずです:


それで終わりです。Suhosinを構成することもできます(http://www.hardened-php.net/suhosin/configuration.htmlを参照)、ただしSuhosinはデフォルトの設定で動作するため、何をしているのかを理解していることを確認してください。
4 リンク
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。