13
votes

message de sécurité après la mise à niveau vers 9.5.17

après la mise à niveau vers 9.5.17, je reçois dans les rapports les messages de sécurité suivants:

Réponse du serveur sur les fichiers statiques:

www.mydomain.de/typo3temp/assets/43cd7f07.tmp/2500f854.html.wrong
   unexpected content-type text/html
www.mydomain.de/typo3temp/assets/43cd7f07.tmp/2500f854.1.svg.wrong
   unexpected content-type image/svg+xml
www.mydomain.de/typo3temp/assets/43cd7f07.tmp/2500f854.php.wrong
   unexpected content PHP content
www.mydomain.de/typo3temp/assets/43cd7f07.tmp/2500f854.php.txt
   unexpected content PHP content

Qu'est-ce que ça veut dire?

J'ai inspecté le dossier / typo3temp / assets / - il n'y a pas de dossier 43cd7f07.tmp

Merci!


2 commentaires

Peut-être quelque chose avec la clé de cryptage ou quelque chose (juste une supposition), pas sûr


Ces fichiers sont créés temporairement et sont supprimés une fois les vérifications dans le module de rapports (et l'outil d'installation) terminées - c'est pourquoi vous ne les trouvez plus dans le système de fichiers ...


5 Réponses :


34
votes

Les messages d'erreur que vous recevez font partie d'une fonction de sécurité qui a été intégrée dans les versions récentes de TYPO3 v9.5.17 et v10.4.2, voir https://docs.typo3.org/c/typo3/cms-core/master/en -us / Changelog / 9.5.x / Feature-91354-IntegrateServerResponseSecurityChecks.html

Fondamentalement, cela signifie que votre système de serveur actuel

  • évalue des fichiers comme test.php.txt ( .php pas à la fin du nom de fichier) toujours en tant que contenu PHP - cela peut entraîner une faille de sécurité au cas où quelqu'un parviendrait à télécharger un fichier similaire (qui pourrait être considéré comme text/plain fichier text/plain , mais est en fait du code PHP exécutable)
    • exécution de code potentiellement à distance
  • sert des fichiers comme test.html.wrong ( .html pas à la fin du nom de fichier) toujours sous forme de text/html ce qui déclenche le navigateur pour exécuter des balises HTML et des balises <script> potentiellement dangereuses
    • script potentiellement intersite

Appel à l'action

Dans le cas où il s'agit d'un serveur en direct et en production, vous devez ajuster la configuration de votre serveur Web.

Le correctif est de limiter ces mappages de type mime de serveur Web uniquement aux fichiers ayant par exemple .html à la toute fin, comme indiqué dans cet exemple pour le serveur Web HTTP Apache

$_SERVER['REDIRECT_HANDLER'] php-fcgid

Trouvez plus de détails et d'explications dans les directives de sécurité TYPO3 pour les administrateurs de serveur à https://docs.typo3.org/m/typo3/reference-coreapi/10.4/en-us/Security/GuidelinesAdministrators/Index.html#file-extension- manipulation


Mise à jour le 17 mai 2020

https://gist.github.com/ohader/11d737de95895f8ca16495a8b7001c45 contient des exemples comment ajuster un fichier .htaccess au cas où les paramètres ne peuvent pas être modifiés sur un environnement d'hébergement (partagé).

<IfModule mod_mime.c>
    RemoveType .html .htm
    <FilesMatch ".+\.html?$">
        AddType text/html .html
        AddType text/html .htm
    </FilesMatch>

    RemoveType .svg .svgz
    <FilesMatch ".+\.svgz?$">
        AddType image/svg+xml .svg
        AddType image/svg+xml .svgz
    </FilesMatch>

    RemoveHandler .php
    <FilesMatch ".+\.php$">
        # IMPORTANT: `php-fcgid` is using in THIS example
        # Most probably is different for each individual configuration
        SetHandler php-fcgid
        # SetHandler php-script
        # SetHandler application/x-httpd-php
    </FilesMatch>
</IfModule>

L'identifiant actuel du gestionnaire php-fcgid été identifié pour l'exemple ci-dessus en utilisant un phpinfo(); et recherche de $_SERVER[REDIRECT_HANDLER] :

<FilesMatch ".+\.html?$">
    AddType text/html .html .htm
</FilesMatch>


5 commentaires

whow, quelle réponse !! Merci beaucoup!


Les 2 premiers blocs (.html, .svg) n'ont-ils pas pu être ajoutés à ./src/public/typo3/sysext/install/Resources/Private/FolderSt‌ ructureTemplateFiles‌ / root-htaccess? De cette façon, les sites nouvellement créés seraient OK.


Probablement ... mais veuillez utiliser forge.typo3.org/projects/typo3cms-core/issues pour signaler les bogues et les demandes de changement.


Avec cette configuration, une dernière erreur persiste pour les fichiers *.php.wrong qui sont encore analysés par PHP. J'ai ajouté <FilesMatch ".+\.php\.+"> RemoveHandler .php ForceType text/plain</FilesMatch> pour le corriger.


RegExp ne correspond pas, il devrait l'être .+\.php\..+ ( . Avant dernier + )



-2
votes

salut je l'ai ajouté aussi

/typo3temp/assets/39b0efab.tmp/fd35fce3.php.wrong
unexpected content PHP content

mais il en reste encore un

    RemoveType .html .htm
<FilesMatch ".+\.html?$">
    AddType text/html .html
    AddType text/html .htm
</FilesMatch>

RemoveType .svg .svgz
<FilesMatch ".+\.svgz?$">
    AddType image/svg+xml .svg
    AddType image/svg+xml .svgz
</FilesMatch>

RemoveHandler .php
<FilesMatch ".+\.php$">
    SetHandler php72-cgi
</FilesMatch>

Le gestionnaire venait de phpinfo ()


0 commentaires

1
votes

Voici une spécialité de Domainfactory.

Attention à la directive ForceType (définissez votre version PHP spécifique ici). S'il n'est pas utilisé, son serveur Web utilisera toujours le reniflage de type mime.

À utiliser en bas du dernier modèle .htaccess ( 10.4 , 9.5 ) qui inclut déjà la gestion stricte pour .svg[z] / .htm[l]

# DomainFactory-special:
# 1) remove mimetype-sniffing anything for PHP
# 2) force PHP 7.3 mimetype on .php files
<IfModule mod_mime.c>
    RemoveType .php
    <FilesMatch ".+\.php$">
        ForceType application/x-httpd-php73
    </FilesMatch>
</IfModule>


0 commentaires

2
votes

Pour l'hébergement mutualisé, il peut être assez difficile de trouver le bon gestionnaire pour php.

une spécialité pour 1 & 1 Ionos, pourrait même être spéciale pour ce package d'hébergement partagé particulier:

hébergement partagé avec php 7.3 (confirmé dans phpinfo), mais $ _SERVER ['REDIRECT_HANDLER'] donne "x-mapp-php5" (je ne sais pas pourquoi, peut-être que l'hébergement fonctionne depuis de nombreuses années et a été mis à niveau vers php 7 et ils en quelque sorte l'alias pour une raison quelconque)

La solution de travail pour moi était:

<IfModule mod_mime.c>

    ....

    RemoveHandler .php
    RemoveType .php
    <FilesMatch ".+\.php$">
        # only this handler seems to work
        AddType application/x-httpd-php .php
        AddHandler application/x-httpd-php .php
    </FilesMatch>
</IfModule>

J'ai dû supprimer à la fois le gestionnaire / type et les ajouter à nouveau dans le fichier. Il m'a fallu un certain temps pour que cela fonctionne, j'espère que cela vous aidera.

Pour l'hôte-europe $ _SERVER ['REDIRECT_HANDLER'] était vide, php7.4:

<IfModule mod_mime.c>
    RemoveType .html .htm
    <FilesMatch ".+\.html?$">
        AddType text/html .html
        AddType text/html .htm
    </FilesMatch>

    RemoveType .svg .svgz
    <FilesMatch ".+\.svgz?$">
        AddType image/svg+xml .svg
        AddType image/svg+xml .svgz
    </FilesMatch>

    RemoveHandler .php
    RemoveType .php
    <FilesMatch ".+\.php$">
        AddType x-mapp-php5 .php
        AddHandler x-mapp-php5 .php
    </FilesMatch>
</IfModule>


0 commentaires

0
votes

La solution suivante m'a été recommandée par l'équipe de support de ALL-INKL.COM. J'ai dû les contacter, car les instructions de suppression (RemoveHandler .php) ne fonctionnaient pas.

<FilesMatch "\.(php[0-9,x]*|phtml)\.">
  SetHandler text/plain
</FilesMatch>

Merci à l'équipe de support ALL-INKL.COM


0 commentaires