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?



Последнее исправление: linux4ever (всего исправлений: 1)

Я не совсем понял вопрос. Если ли смысл в приведённых вами правилах 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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.