Контекст: В Debian при усилении защиты PHP я отключил и удалил несколько неиспользуемых модулей PHP: например, для wddx я удалил:
- /etc/php/7.3/*/conf.d/20-wddx.ini
- /etc/php/7.3/моды доступны/wddx.ini
- /usr/доля/php7.3-xml/xml/wddx.ini
- /usr/lib/php/*/wddx.so
Когда я обновился, модули PHP снова появились в /usr/share/php7.3-xml/xml/wddx.ini и /usr/lib/php/*/wddx.so, хотя dpkg правильно не добавил «включающую» конфигурацию в /etc (спасибо сопровождающему или dpkg за проверку!):
Не заменяет удаленный файл конфигурации /etc/php/7.3/mods-available/wddx.ini
ВНИМАНИЕ: ini-файл модуля wddx не существует в каталоге /etc/php/7.3/mods-available
Вопрос: Есть ли способ, возможно, с помощью dpkg-divert или локального триггера dpkg, указать dpkg не записывать снова некоторые файлы или удалять их после того, как они будут записаны?
P.S.
- несколько модулей PHP упакованы в php7.3-xml, и мне нужен один из них, поэтому удалить весь пакет Debian невозможно.
- поверхность атаки уже сильно снижена, учитывая, что модули PHP не включены, это усовершенствование, чтобы также удалить файл .so, препятствуя взломщику и, возможно, побеждая тупой автоматический вредоносный скрипт, даже с правами root — очевидно, это должно быть быть только частью глобальной обороны.
- можно удалить эти файлы вручную после обновления или использовать инструмент управления конфигурацией (Ansible, Puppet, Docker…), вопрос в интегрированном способе сделать это с помощью dpkg.