fix(docker): hadolint einführen, TLS-Prüfung beim pecl-Fallback wiederherstellen #58
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/hadolint"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
hadolint ersetzt dockerfilelint: letzteres liest
FROM --platform=... image:tagnicht und hat seit 2018 kein Release mehr. DL3008 und DL3018 bleiben aus, weil gepinnte Paketversionen den regelmäßigen Neubau gegen Sicherheitslücken aushebeln würden.Der wichtigste Fund:
Beide pecl-Fallbacks luden ohne Zertifikatsprüfung.
wget --no-check-certificate https://pecl.php.net/get/redisund dasselbe für imagick. Damit war der Pfad, der eine PHP-Erweiterung in das Shop-Image installiert, gegen einen Man-in-the-Middle offen. Das Flag ist raus, undca-certificatessteht jetzt ausdrücklich in der Paketliste, statt sich auf das Basisimage zu verlassen.Dockerfile.php, für hadolint:
$PHP_INI_DIRund elf$(nproc)gequotetawk -vstattecho | awk)php -r 'ini_get("extension_dir")'stattphp -i | grep | head | awkDockerfile.apache:
ADDzuCOPYGeprüft: beide Images gebaut (PHP 8.4). Apache meldet
Syntax OK, die 50 geladenen Module sind identisch zum Altstand. Im PHP-Image sind redis, imagick, gd, intl, OPcache und der ionCube Loader v15.5.1 geladen; dass ionCube lädt, belegt nebenbei den umgebautenextension_dir-Aufruf, und dass OPcache installiert wurde, den umgebauten Versionsvergleich. Der Fallback-Download ohne das Flag ist im fertigen Image ausgeführt worden und liefert beide Archive korrekt.