私はいくつかの人にnginx経由でアカウントをホスティングしているとしましょう。ホームディレクトリにある追加の設定ファイルを含む仮想ホスト設定ファイルに行を追加すると、これがセキュリティ違反につながる可能性がありますか?ここで ユーザーが自分のnginx仮想ホストファイルに追加できるようにするためのセキュリティ上のリスクはありますか?
は、ユーザーの仮想ホストのファイルです:server {
listen 80;
server_name user.example.com;
access_log /var/log/nginx/user.access.log;
location/{
root /home/user/htdocs;
index index.html index.htm index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/user/htdocs$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
# The important bit
include /home/user/extra_config;
}
理論的には、これは各extra_configのタイムスタンプをチェックするcronジョブと組み合わせることでしょう、そして必要に応じてリロードがnginxの。理想的には、ユーザーはこれを利用してプライベートファイル/ディレクトリへのアクセスを拒否したり、書き換えを作成したりすることができます。基本的に.htaccessの代わりになります。しかし、このアプローチにはどんな落とし穴がありますか?それを達成するためのより良い方法はありますか?
"include"ステートメントは実質的にファイルを構成、不要な中括弧などに挿入しますか?それが私がカスタムパーサーを使用するのに十分な理由です。助けてくれてありがとう。 – Fraxtil
セキュリティ上の問題がないと仮定しても、あなたが見張りをしなければならないもう一つのことは、構文が間違っていると思います。インクルードされた設定ファイルに致命的なsytaxエラーがある場合、nginxは起動しません。 –
私は悪い構文もチェックするパーサーを書いています。最悪の場合、reloadコマンドは失敗し、単にサーバーをそのまま残します。 – Fraxtil