Dateierweiterungsbeschränkung kann auf WebDAV-Server (Apache) nicht hinzugefügt werden

Dateierweiterungsbeschränkung kann auf WebDAV-Server (Apache) nicht hinzugefügt werden

Ich habe einen WebDAV-Server unter Ubuntu 22.04 mit Apache konfiguriert. Hier ist meine Konfigurationsdatei im Ordner sites-enabled, und sie funktioniert so:

<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>

Das Problem besteht darin, dass es das Hinzufügen von PHP-Dateien für Instanzen ermöglicht und diese Dateien durch Aufrufen oder Bearbeiten in WebDAV ausgeführt werden können. Dies ist eindeutig ein Sicherheitsproblem.

Ich habe versucht hinzuzufügen:

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

Sowohl innerhalb als auch außerhalb des Directory-Tags, aber nach einem Neustart von Apache oder sogar des gesamten Servers erhalte ich beim Verbindungsversuch mit Cadaver eine 403-Forbidden-Meldung:

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

Wenn ich hingegen das FileMatch-Tag entferne, erhalte ich keine Fehlermeldung und kann eine Verbindung herstellen.

Hier sind die Apache2-Fehlerprotokolle beim Neustart von Apache und nach Hinzufügen des FileMatch-Tags (ich habe diese Protokolle auch, wenn ich das FileMatch-Tag entferne):

[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'

Und hier sind die Protokolle, wenn ich versuche, eine Verbindung herzustellen (ich habe diese Protokolle nicht, wenn ich das FilesMatch-Tag entferne):

[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

verwandte Informationen