Chroot を使用して PHP の運用セキュリティ問題を解決する

Chroot を使用して PHP の運用セキュリティ問題を解決する

最近、Xiao Jiang のブログ投稿が多くのホスティング プロバイダーの注目を集めています。その理由は、Xiao Jiang氏が運営するChuangzhiホストの脆弱性がWuyun.comに報告されたためです。この記事で、Xiao Jiang氏は、機能を無効にする方法を使用してサーバー環境のセキュリティを確保するという解決策を示しました。

しかし、機能を無効にすることが本当に最善の選択肢なのでしょうか?いいえ!

AMH パネルの開発者である Amysql は、より良い選択肢は Chroot だと言っています。

AMH パネルは LNMP パネルです。バージョンアップに便利な一方で、パネルは 1 人の開発者によって開発されています。そのため、AMH は kangle、WDCP、LUM、webmin などのプラットフォーム環境を実装するためにバイナリ ファイルを使用しません。代わりに、AMP ベースの PHP プログラムを使用してプラットフォームを制御します。このように、PHP のセキュリティ問題を考慮する必要があります。プログラムは PHP で記述されているため、パネルとシステム間の情報交換を実装するには、exec と shell_exec の 2 つの関数を多用する必要があります。明らかに、Xiao Jiang によって示された機能制限の方法は、AMH のようなパネルには適していません。では、Amysql は PHP の運用上のセキュリティ問題をどのように解決するのでしょうか?

Amysql はこのアプローチを使用します。 AMH の仮想ホストでは、セキュリティを確保するために Chroot が常に有効になっていますが、コンソール PHP はパネルの正常な動作を確保するために chroot をオフにします。

ここまで述べてきましたが、Chroot とは何でしょうか?

Wikipedia のエントリによると、Chroot はもともと Unix のコマンドでしたが、この機能は PHP-FPM でも導入されました。

Wikipedia エントリ: chroot は、現在のプログラムとその子プロセスの実際のディスク ルート ディレクトリを変更するために使用される Unix システムの操作です。

Chroot はどのように機能しますか?

LNMP 環境では、PHP-FPM と Nginx 間の通信は CGI 経由でのみ実現できるため、FPM 設定でファイルのルート ディレクトリを変更すると、PHP プログラムはこの指定されたルート ディレクトリを通過できなくなります。パネルが配置されている仮想ホストでは Chroot が有効になっていないため、使用されるルートディレクトリは依然としてシステムルートディレクトリです。

詳しく説明していただけますか?

AMH パネルのコンソールと私が使用する通常の仮想ホストを例に挙げます。コンソール ファイルは /home/Wwwroot/Index/Web フォルダーに配置され、通常のホストのファイルは /home/wwwroot/Domain/web フォルダーに配置されます。コンソール プログラムの場合、Chroot が有効になっていないため、PHP ファイルの実際の場所は実行場所と同じ /home/wwwroot/Index/web/ であり、ルート ディレクトリは / です。通常の仮想ホストの場合、Chroot が有効になっていると、実行ファイルの場所は /home/wwwroot/domain/web/index.php ですが、Chroot によって誘導された後、PHP プログラム内の実際のファイル アドレスは /web/index.php になります。同時に、/home/wwwroot/domain/ では、侵入者がルート システムに入ったと思わせるために、PHP プログラム用のサンドボックスを作成するのと同じように、Unix フォルダーの命名規則に従って etc、usr、tmp、lib などのフォルダーが作成されます。したがって、Chroot を使用するユーザーは、Chinese Sabre を恐れる必要はありません。これはサンドボックス内でのみ機能し、メイン システムに影響を与えて経済的損失を引き起こすことはないからです。

サンドボックス (英: sandbox) は、信頼できないソースからのプログラム、破壊力を持つプログラム、または意図を判断できないプログラムをテストするための環境です。ただし、サンドボックスで行われたすべての変更によってオペレーティング システムに損失が発生することはありません。一般的に、この技術はコンピュータ技術者、特にコンピュータウイルス対策ソフトウェア業界で広く使用されています。サンドボックスは、コンピュータウイルスを観察するための重要な環境です。

ご存知のとおり、Unix 系システムでは、すべてのプログラム、さらにはデバイスもファイルで表されます。使用する ls コマンドと wget コマンドは、実際には特定の実行可能ファイルに対応しています。ただし、Chroot を使用した後、/home/wwwwroot/domain/usr 下に対応するファイルがないため、対応するコマンドは実行できません。これにより、システム情報のセキュリティが確保されます。

機能を無効にすることに比べて chroot を使用する利点は何ですか?

無効化された関数は PHP プログラム全体に適用されます。PHP プログラムで解析する必要があるすべてのファイルは、無効化された関数の設定の影響を受けます。異なる Web サイト プログラムでは異なる機能が必要になる場合があり、異なる仮想ホストを個別に設定することはできません。 Chroot はさまざまな仮想ホストに応じてカスタマイズできます。特別な機能を使用する必要があるプログラムの場合、Chroot をオフにして、Web サイト プログラムの正常な動作を確保できます。プログラムが特別なプログラムを呼び出す必要がない場合は、Chroot モードをオンにできます。特定のプログラムを 1 つまたは 2 つだけ有効にする場合は、次のプロセスを模倣して機能を追加できます。たとえば、Chroot を有効にすると、PHP プログラムは sendmail() 関数を使用してメールを送信できなくなります。送信の問題を解決するには、sendmail の代わりに mini_sendmail を使用します。

cd /home/wwwroot/www.ixiqin.com/

元のタイトル: Chroot を使用して PHP の運用セキュリティ問題を解決する

キーワード: PHP

<<:  Google検索ランキングアルゴリズムの更新を追跡および予測するための無料プラットフォームがいくつかある

>>:  ペットウェブサイトの運営は、ユーザーを結びつける重要なポイントを合理的に把握する必要があります

推薦する

企業がWeibo活動を計画する際に注意すべきことは何ですか?

企業が公式Weiboアカウントを開設し、マーケティング宣伝を行うことは、非常に重要なマーケティングプ...

justg: 50% 割引、南アフリカ (3 つのネットワーク) cn2 gia vps、500Mbps 帯域幅、月額 5.99 ドル、512M メモリ/1 コア/10g SSD/500g トラフィック

7 月に、justg は南アフリカのヨハネスブルグ データ センターで、すべての VPS 構成をサポ...

META タグを使用してウェブサイトを検索エンジン向けに最適化する方法

META タグは、HTML 言語のヘッダー領域にある補助タグです。作成者、日時、Web ページの説明...

戦ってから勝つというのは賢明ではない。減量が引き起こす戦略的思考

有名な作家、畢樹民のエッセイ「最も重いコンサルタント」には、心理コンサルタントである彼女と「最も重い...

クラウド サービスから抽出されたデータからユーザーの位置をどのように推測できますか?

地理位置情報データは、さまざまな政府機関に必要な情報を提供することができ、法執行機関は位置データを使...

なぜ Baidu は 20 日以上経ってもウェブサイトの 3 ページしかインデックスしなかったのでしょうか?

多くの初心者は、検索エンジンに含まれない問題に悩まされています。誰もが初心者の頃にこの状況を経験した...

早速始めましょう。この記事では、クラウドネイティブ時代のコンテナセキュリティについて理解を深めていきます。

国内需要はセキュリティに配慮するどころか、コンテナ化にはまだまだ遠いと言われている。音は大きいですが...

iniz-6モデル販売中/128Mメモリ/KVM/年額15.5ドル

iniz は 6 つの特別価格 VPS をリリースしました。その中で、128M メモリと年間支払いを...

Baiduのいいねボタンは、Baidu Shareを追加してから24時間以内に表示されます。

Baidu の「いいね!」ボタンは小規模なテストではありません。百度の「いいね!」ボタンは小規模なテ...

SEOチャット

SEO Chat は強力なキーワード ツールです。Google キーワード サジェスト ツールは、G...

クラシック: Prometeus - $3.8/KVM/512m メモリ/15g SSD/2T トラフィック

イタリアのデータセンターにある Prometeus のクラシック KVM VPS が、SSD ハード...

「6月22日と6月28日の事件に対する百度の対応」についての考察

「6月22日と6月28日の事件に対する百度の対応」についての考察6月22日と6月28日の事件以来、百...

Lenovo が BlackBerry の買収を検討していると噂されていますが、これは何をもたらすのでしょうか?

レノボが携帯電話メーカーのブラックベリーを買収すると噂されている。レノボの幹部がメディアに対しブラッ...

百度指数≠検索ボリューム、「百度指数」を本当に理解していますか?

現在、Baidu Index はほとんどのウェブマスター、特に Taobao ウェブマスターに知られ...