LINUX.ORG.RU

iptables -m string --algo kmp --string


0

0

Есть сервер с PHP сайтом и MySQL.

Есть идея привязать апач жестко к 80-му порту, а также отфильтровать запросы вида:

iptables -I INPUT -p tcp --dport 80 -m string --algo kmp --string «INSERT INTO» -j DROP

iptables -I INPUT -p tcp --dport 80 -m string --algo kmp --string «WHERE id» -j DROP и т.д.

Но на текущем OpenVZ это невозможно. Есть смысл ради этого переезжать на KVM/XEN?

Я не совсем понял вопрос. Если ли смысл в приведённых вами правилах iptables? Или нужно ли вам переезжать на KVM/XEN? Относительно KVM не знаю, это вам решать.

А по поводу string, если я правильно помню, то он смотрел содержимое пакета, а не вышестоящего протокола, то есть можно включить сжатие трафика в http, можно подобрать MSS, так что искомая строка пойдет в разных пакетах, а можно просто добавить пробелов между «INSERT» и «INTO».

В общем, как дополнительное осложнение взлома вашего сайта это рассматривать можно, но ИМХО, лучше крутить PHP и права доступа в базе данных.

mky ★★★★★ ()
Ответ на: комментарий от mky

Насчет виртуальной машины, просто в текущей не загружен модуль для string, а в OpenVZ нельзя их грузить.

Сжатые алгоритмом gzip пакеты прекрасно проверяются.

можно подобрать MSS, так что искомая строка пойдет в разных пакетах, а можно просто добавить пробелов между «INSERT» и «INTO».


А понял, там же плевать на количество пробелов. А скажем если имена таблиц отфильтровать? Они все равно уникальные и форуму мешать не будут. Плюс состоят из одного слова, значит если я правильно понял, через mss их не обойти.

В общем, как дополнительное осложнение взлома вашего сайта это рассматривать можно, но ИМХО, лучше крутить PHP и права доступа в базе данных.


Движок не наш и там очень много кода.

linux4ever ()

> iptables -I INPUT -p tcp --dport 80 -m string --algo kmp --string «INSERT INTO» -j DROP

Выстави права на базу

Lumi ★★★★★ ()

проще и лучше на вебсервере какой-нить mod_security поставить.

true_admin ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.