PHP-FPM в chroot окружении.

Одна из «фич» PHP-FPM — возможность запуска дочерних процессов в chroot окружении. В теории, это должно значительно увеличить безопасность системы засчет изоляции процесса исполняющего скрипт, т. е. если злоумышленник получит контроль над системой используя уязвимость PHP, то он выше той папки, в которой запущен процесс PHP-FPM, он не уйдет.

На практике, к сожалению, все далеко не столь радужно.
Continue reading «PHP-FPM в chroot окружении.»

HTTPS @ NGINX. Небольшие самодельные грабли.

Наткнулся на небольшие грабли в nginx при установке https. В целом, сказанное здесь относится не только к nginx, но и к любому серверу занимающемуся терминацией SSL (TLS) и кешированием динамического контента.

Кеш NGINX, как и любой кеш, представляет собой key-value базу данных. NGINX при поступлении запроса ищет в нем нужный ресурс используя в качестве ключа хеш от неких параметров, указанных директивой proxy_cache_key.

По умолчанию она принимает следующее значение:
proxy_cache_key $scheme$proxy_host$request_uri;
Чем меньше переменных в ней указано, тем (незначительно) выше производительность, поэтому есть соблазн удалить первую переменную ($scheme — схема URL, принимает значения «http://» или «https://»).

Continue reading «HTTPS @ NGINX. Небольшие самодельные грабли.»

Разбиение haproxy.cnf на файлы

Любому администратору известно, что намного удобнее работать с конфигами логически разделенными на файлы. Это позволяет облегчить процесс автоматизации, да и найти нужную информацию так легче.

Увы, но с конфигурационным файлом HAProxy так не получится. В нем нет директивы include ни в каком виде.

Continue reading «Разбиение haproxy.cnf на файлы»

.htaccess не нужен!

Да, именно так. Он не нужен. Вообще. Давно пора отказаться от его использования (особенно если сайт размещается на VPS или выделенном сервере). К сожалению, существует масса CMS, не работающих без него.

Данный файл позволяет переопределить настройки веб-сервера Apache для директории в которой он находится без перезагрузки веб-сервера.

Почему следует от него отказаться?

Continue reading «.htaccess не нужен!»

Почему нельзя делать редирект на https в .htaccess

В сети можно найти множество советов добавить в файлик .htaccess строки вида:

RewriteEngine On 
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]

и, якобы пользователь зашедший на сайт по http будет автоматом перекидываться на защищенную SSL-ем версию сайта.

Но на практике это все выливается в бесконечный редирект всех посетителей (и http и https) на всех страницах.

Почему так происходит?

Continue reading «Почему нельзя делать редирект на https в .htaccess»