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

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

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 23. Jan 2026
Was this article helpful?

Related Articles