![PHP がディレクトリにアクセスしないようにするにはどうすればよいですか?](https://rvso.com/image/697036/PHP%20%E3%81%8C%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%97%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
基本的な LAMP をインストールしていますが、PHP が /var/www ディレクトリの外部にアクセスできないように保護したいと考えています。どうすればいいでしょうか? 「アクセス」とは、ファイルの読み取りやディレクトリの一覧表示も意味します。
セキュリティ上の理由でこれをお願いしています。私は自分のサーバーで WordPress を実行していますが、誰かが管理者アカウントにアクセスすると、システム内のどこにでもアクセスできるテンプレート コードを編集できます。
ありがとう!
答え1
LAMP セットアップを保護するための重要な手順は次のとおりです。
- すべてのウェブサイトが独自のユーザーで実行されるようにします。これは、Apache mod_itk/mod_php または PHP-FPM (通常は Apache または Nginx) で実現できます。
- ルートがファイルを所有し、グループがWebサーバーのユーザーであることを確認します(またはその逆)。
- アクセス権がファイルの場合は 640、ディレクトリの場合は 750 であることを確認します。Wordpress アップロード フォルダーのみが 660/770 です。
- プラグインをアップグレードまたはインストールする場合にのみ、PHP ファイルのアクセス権を変更します。
PHP ファイルが画像フォルダ内で実行できないことを確認します。
<FilesMatch "/uploads/\.(asp|php|php5|pl)$"> Deny from all </FilesMatch>
この手法はWordpressではうまく機能しません。プラグインがphpファイルをそのフォルダにインストールするからです。uploads/2017などのフォルダを保護する方が良いかもしれません。
- インストールを最新の状態に保つ
- サーバーソフトウェアを最新の状態に保つ
- 定期的なログレビューを実行する
- バックアップを用意する
- 迅速に再建できる