No se puede agregar restricción de extensión de archivo en el servidor webdav (apache)

No se puede agregar restricción de extensión de archivo en el servidor webdav (apache)

He configurado un servidor webdav en Ubuntu 22.04 usando Apache. Aquí está mi archivo de configuración en la carpeta habilitada para sitios y funciona así:

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin %%EMAIL%%
        ServerName %%DOMAIN%%
        DocumentRoot %%PATH%%
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        Alias /webdav /var/www/webdav

        <Directory /var/www/webdav>
            DAV On

AuthType Digest
AuthName "webdav"
AuthUserFile /usr/local/apache/var/users.password
Require valid-user
    SetHandler None
    Options None
    AllowOverride None


        </Directory>


SSLCertificateFile /etc/letsencrypt/live/%%DOMAIN%%/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/%%DOMAIN%%/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

El problema es que permite agregar archivos php por instancias, y esos archivos se pueden ejecutar llamándolos o editándolos en webdav. Este es un claro problema de seguridad.

He intentado agregar:

<FilesMatch "\.(php|jsp|cgi|pl|py)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

Tanto dentro como fuera de la etiqueta Directorio, pero, después de reiniciar Apache o incluso todo el servidor, aparece un 403 Prohibido al intentar conectarme con cadaver:

cadaver %%URL%%
Authentication required for webdav on server `%%URL%%':
Username: %%USERNAME%%
Password: %%PASSWORD%%
Could not open collection:
403 Forbidden
dav:/webdav/?

Mientras que cuando elimino la etiqueta FileMatch no aparece un error y puedo conectarme.

Aquí están los registros de errores de Apache2 al reiniciar Apache y agregar la etiqueta FileMatch (tengo estos registros si también elimino la etiqueta FileMatch):

[Sun Sep 03 20:14:01.728312 2023] [mpm_prefork:notice] [pid 1259] AH00169: caught SIGTERM, shutting down
[Sun Sep 03 20:14:01.821721 2023] [mpm_prefork:notice] [pid 1465] AH00163: Apache/2.4.41 (Ubuntu) OpenSSL/1.1.1f configured -- resuming normal operations
[Sun Sep 03 20:14:01.821792 2023] [core:notice] [pid 1465] AH00094: Command line: '/usr/sbin/apache2'

Y aquí están los registros cuando intento conectarme (no tengo estos registros si elimino la etiqueta FilesMatch):

[Sun Sep 03 20:15:40.271797 2023] [access_compat:error] [pid 1467] [client %%IP%%:44836] AH01797: client denied by server configuration: /var/www/webdav/index.cgi
[Sun Sep 03 20:15:40.271967 2023] [access_compat:error] [pid 1467] [client %%IP%%:44836] AH01797: client denied by server configuration: /var/www/webdav/index.pl
[Sun Sep 03 20:15:40.272037 2023] [access_compat:error] [pid 1467] [client %%IP%%:44836] AH01797: client denied by server configuration: /var/www/webdav/index.php

información relacionada