Защите себя от атак злоумышленников
Защите себя от атак злоумышленников
Очень часто мы сталкиваемся с проблемами, которые влияют на работу не только сайтов, но и системы в целом. Давайте рассмотрим самые распространенные из них и определим комплекс мероприятий для противодействия им.
Одной из самых распространенных является так называемая SQL инъекция. Она становится возможна из-за плохой фильтрации данных применяемых в SQL запросах. Именно по этой причине злоумышленник может выполнить любой запрос в вашу базу данных, тем самым, изменив или удалив информацию или стать там администратором. Для защиты от подобной атаки нужно приводить все значения к определенному типу, а строковые данные должны обрабатываться, например, mysql_escape_string и проводите контроль длинны данных.
Очень часто мы сталкиваемся с уязвимостью поступающей в виде внедрения в имя файла. Она появляется вследствие неполного контроля данных принятых от пользователей. Такой подход чаще всего используют для кражи паролей из файлов. Один из наиболее опасных вариантов это PHP инъекция. В этом случае возможно изменение имени файла таким образом, чтобы произошло выполнение специального PHP файла. Для предотвращения такой угрозы рекомендуется не использовать динамических имен, а в случае необходимости задать определенное множество символов, из которых и будет формироваться имя.
Также весьма успешно проводят внедрение в системные функции, например, system. Для этого злоумышленнику нужно изменить аргумент этой функции, и он с легкостью выполнит любой код. Чтобы предотвратить это, нужно проводить проверку параметров функции с заранее заданным множеством разрешенных значений.
Простой подбор паролей и идентификаторов доступа. Не используйте простые идентификаторы, а уж тем более пароли. Их легко подобрать простым перебором.
Ну и, конечно же, в коде могут встречаться логические ошибки, которые очень трудно найти диагностикой. Они проявляются в неправильной работе кода, когда он выполняет не запланированное действие. Для избежания подобного недоразумения рекомендуется четко сформулировать ТЗ и уже для него сформировать простой, ясные и четкий код.



