~ruther/guix-local

cbc14b3baea457cf2718b85f767d39ff3911ce91 — Bruno Victal 3 years ago 849f31d
services: nginx: Harden php-location settings.

* gnu/services/web.scm (nginx-php-location): Only pass existing PHP files
to the back end.  Mitigate httpoxy vulnerability.
1 files changed, 8 insertions(+), 0 deletions(-)

M gnu/services/web.scm
M gnu/services/web.scm => gnu/services/web.scm +8 -0
@@ 1144,6 1144,14 @@ a webserver.")
   (uri "~ \\.php$")
   (body (list
          "fastcgi_split_path_info ^(.+\\.php)(/.+)$;"

          ;; Include some upstream recommendations from
          ;; https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi
          ;; Mitigate https://httpoxy.org/ vulnerabilities
          "fastcgi_param HTTP_PROXY \"\";"
          ;; Only pass existing php files to the backend.
          "if (!-f $document_root$fastcgi_script_name) { return 404; }"

          (string-append "fastcgi_pass unix:" socket ";")
          "fastcgi_index index.php;"
          (list "include " nginx-package "/share/nginx/conf/fastcgi.conf;")))))