Итак, наконец стал доступен широкой аудитории наш модуль безопасности DLsecure. Модуль включает в себя утилиты для контроля передаваемой Вашему скрипту информации, файловый антивирус (у многих не заработает из-за нагрузки), логгер, хуиз. Модуль детекта атак позволит качественно (может быть даже слишком) защитить Ваш скрипт от попыток SQL инъекций, инклюдинга и XSS. Все что Вам нужно - настроить конфиг, приинклюдить скрипт и запустить инсталлятор. Все переменные и качество их фильтрования можно настроить в файле переменных. Удобные массивы исключений и подозрений на атаки можно отредактировать в variables.php (внимательно отнеситесь к конфигурированию этого файла). В файле base.dat можно отконфигурировать сигнатуры антивируса. Вообщем про тонкости настроек Вас могут посвятить Онлайн консультанты проекта. Домашняя страничка программы http://damagelab.org/dlsecure/
Впечатляет! Но вот только не оч понравилось что при защите от SQL ругаеться есле в строке найдено какоето из ключевых слов: union select from Ведь это могут данные передоваемые из формы, которую заполнил юзер без задних мыслей. Да и на ковычко просто ругаеться1 так ктото напишет 'фраза' и все!
Там если нало залочить выражения для личного использования, нужно поправить конфиг с переменными и где нужно их разрешить, например в постах.
Поковырялся, вот мои выводы: проект рульный, но мыслей насчет того, что можно было бы доделать еще много) К примеру, неплохо бы для фильтрации переменных заюзать phpInputFilter, от инклудов и скулей не спасет, зато от XSS ИМХО лучшей зашиты нету. Еще, опять же, ИМХО лучше прогонять не все переменные за один раз, а по вызову пользователя, к примеру: класс JRequest из Joomla Framework. В нем есть методы getVar и setVar, в которых происходит проверка и занесение переменных во внутренний кэш, дабы не проверять 2 раза. Таким образом, можно без лишнего неудобства все переменные в движке получать методом: PHP: $var = JRequest::getVar('varname', 'defaultValue', 'INT', $_REQUEST); ИМХО удобно)
Ps: еще хотелось бы увидеть настраиваемую политику реагирования на обнаруженную атаку. Ну, это так, для умиротворения души=)
Смешно конечно там обнаруживается php include) И слова не нужно вырезать и запрос блокировать, нужно допустим в каждом слове делать замену одну английскую букву на русскую например union заменить на uniоn Если запрос не был злоумышленным, то в принципе смысл текста переданного не изменится, а если был, то надо просто записать в лог и отловить ошибку базы данных. А вообще по фильтруемым переменным можно сказать скрипт похож на работу мод секьюрити, запрещает все необходимые символы и сидишь потом вручную правишь так чтобы прошло.
DLsecure beta 0.0.1.2 Вышла новая версия бесплатного модуля безопасности DLsecure. (Что это такое?) Изменения: - [fix] - XSS and php include - [fix] - Antivirus detection - [fix] - Проблемы с настройками - [new] - DebuG MoD позволит быстро настроить скрипт (переменные) - [new] - Что-то еще К группе разработчиков присоединился NuR. Домашняя страница программы | Страничка закачки | Версия 0.0.1.1
Выпущена новая версия модуля: 0.0.1.3 Список изменений: - [new] функция просмотра логов доступа по фтп и ссш протоколам - [new] Настраиваемые критерии поиска для антивируса - [new] Возможность отключения логирования атак и активности скриптов - [fix] фиксы антивируса, более подробная информация о файлах, поиск только в в файлах с определёнными расширениями - [fix] При очистке папки с логами из неё не удаляеться файл .htaccess - [fix] возможность проведения хсс атаки - [fix] небольшие изменения для независимости модуля от установленого каталога+ - [new] и много прочих мелочей http://dlsecure.damagelab.org/download.htm