1. Home
  2. Техническое
  3. Использование ImageMagick на серверах Zone
  1. Home
  2. Безопасность
  3. Использование ImageMagick на серверах Zone

Использование ImageMagick на серверах Zone

Это не изменение со стороны Zone, а изменение в поведении самого ImageMagick. Чтение файлов по URL всегда было запрещено стандартной политикой безопасности ImageMagick, однако из-за ошибки в программном обеспечении это ограничение применялось не ко всем возможным сценариям использования.
В версии ImageMagick 7.1.2-9 данная уязвимость была устранена с помощью незаметного изменения в коде, что вызвало проблемы у некоторых пользователей, которые использовали кодеки, на которые политика безопасности не распространялась в более ранних версиях.
Поскольку изменение глобальной конфигурации привело бы к ещё большему риску безопасности для всех пользователей, единственным решением является осторожное ослабление политики безопасности в контексте собственного виртуального сервера пользователя.

ImageMagick — это мощный инструмент для обработки изображений, однако вместе с его возможностями и сложностью возникают и определённые риски безопасности. Для снижения этих рисков ImageMagick использует политику безопасности, описанную в конфигурационном файле. Она устанавливает ограничения на использование памяти и размер файлов, определяет, какие файлы и откуда можно открывать, а также содержит другие меры защиты.

На платформе Zone ImageMagick установлен с политикой безопасности, основанной на варианте «limited», поставляемом вместе с программным обеспечением.

В некоторых случаях возникает необходимость ослабить отдельные ограничения, и это можно сделать в пользовательском контексте.

Однако следует учитывать, что:

  • не все настройки могут быть изменены пользователем, и правила со временем могут изменяться;

  • некоторые параметры можно изменить, установив минимальную пользовательскую конфигурацию.

magick: attempt to perform an operation not allowed by the security policy
`URL'

Чтобы обойти это конкретное ограничение, достаточно, чтобы пользователь виртуального сервера создал в своём домашнем каталоге файл ~/.config/ImageMagick/policy.xml со следующим содержимым:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policymap [
<!ELEMENT policymap (policy)*>
<!ATTLIST policymap xmlns CDATA #FIXED ''>
<!ELEMENT policy EMPTY>
<!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
]>
<policymap>
<policy domain="module" rights="read|write" pattern="URL"/>
</policymap>
  • Некоторые правила невозможно ослабить, если системная конфигурация уже была загружена, поскольку по умолчанию она читается первой. Эту проблему можно решить, изменив порядок загрузки конфигурационных файлов ImageMagick с помощью переменной окружения MAGICK_CONFIGURE_PATH, чтобы пользовательская конфигурация загружалась первой:
    MAGICK_CONFIGURE_PATH="$HOME/.config/ImageMagick:/usr/share/ImageMagick-7"

Ранее внесённые изменения политики вступят в силу в течение 5 минут после выполнения следующей команды:

touch ~/domeenid/*/phpini/global/php.ini
Updated on 4. Feb 2026
Was this article helpful?

Related Articles