ImageMagick on võimas tööriist pildifailide töötlemiseks, kuid selle võimsuse ja keerukusega kaasnevad ka turvariskid. Nende riskide maandamiseks kasutab ImageMagick konfiguratsioonifailis kirjeldatavat turvapoliitikat – piirangud mälukasutusele ja failide suurusele, kust ja milliseid faile võib avada jne. Zone platvormil olev ImageMagick on paigaldatud turvapoliitikaga, mis baseerub tarkvaraga kaasa tuleval “limited” variandil.
Mõnikord on vaja siiski reegleid leevendada ning seda on võimalik kasutaja kontekstis teha.
Silmas tuleb aga pidada, et …
- Kõik seaded ei pruugi olla kasutaja poolt leevendatavad ning reeglid võivad ajas muutuda.
- Mõned seaded on muudetavad lihtsa minimaalse konfi paigaldusega. Näiteks ei luba vaikepoliitika URL-ilt faile lugeda ja kasutaja saab veateate:
magick: attempt to perform an operation not allowed by the security policy `URL'
Sellest konkreetsest piirangust mööda saamiseks piisab, kui virtuaalserveri kasutaja tekitab enda kodukataloogi
~/.config/ImageMagick/policy.xmlfaili sisuga:<?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>
- Mõned reeglid ei ole leevendatavad, kui süsteemi konfiguratsioon on juba sisse loetud ning see loetakse vaikimisi esimesena. Sellest saab üle, kui muuta ImageMagick konfifailide lugemise järjekorda keskonnamuutuja
MAGICK_CONFIGURE_PATHabil nii, et kasutaja konfiguratsioon esimesena sisse loetaks:MAGICK_CONFIGURE_PATH="$HOME/.config/ImageMagick:/usr/share/ImageMagick-7"
Eelnevalt tehtud reeglimuudatus jõustub 5 minuti jooksul peale järgmise käsu käivitamist:
touch ~/domeenid/*/phpini/global/php.ini