Обзор RSFirewall (часть 1). Защита от SQL инъекций
- Тип – компонент для комплексной защиты и защиты от SQL инъекций.
- Купить RSFirewall. Обновление и техническая поддержка на 12 месяцев для одного сайта.
- Купить RSFirewall. Обновление и техническая поддержка на 6 месяцев для нескольких сайтов.
- Купить RSFirewall. Обновление и техническая поддержка на 12 месяцев для нескольких сайтов.
- Обзор системы.
- Проверка системы.
- Проверка базы данных.
- Системный журнал.
- Блокировка системы.
- Русификатор RSFirewall.
В статье «Защита Joomla (часть 6). Файл configuration.php» был рассмотрен вопрос повышения защищённости сайта Joomla от взлома при помощи специальных расширений. В статьях «Защита Joomla (10, 11, 12)» были кратко рассмотрены различные расширения по обеспечению безопасности. В данной статье мы детальнее познакомимся с многофункциональным расширением (компонент, модуль, плагин) для защиты сайта от взлома Joomla RSFirewall. К его основным возможностям относится:
- защита от SQL инъекций, PHP, LFI и XSS инъекций и атак в режиме реального времени.
- Анализатор сайта по двадцати четырём параметрам, влияющим на безопасность Joomla.
- Расширенный системный журнал.
- Защита административной зоны сайта при помощи пароля и дополнительных контуров безопасности. Помимо этого рекомендую ознакомиться с описанием компонента защиты админки Joomla jSecure Authentication.
- Блокировка сайта от изменений.
- Анализатор базы данных сайта.
- Блокировка доступа к настройкам самого RSFirewall при помощи пароля.
- Чёрный список IP адресов, которым запрещён доступ к сайту.
- Разграничения прав доступа администраторам сайта к административной зоне и к отдельным компонентам.
- Базовая защита от DoS атак.
- Фильтрация загружаемых на сайт файлов.
- Защита от сканирования сайта на наличие уязвимостей.
- Защита учётной записи администратора от любых изменений.
- И многое другое.
Обзор будет производиться в последней на момент написания статьи (28.01.2012) стабильной версии Joomla 2.5.0. RSFirewall версии 1.0.0.34. О возможностях новой версии 2.11.20 можно прочесть в статье «Обзор RSFirewall. Компонент безопасности и антивирус для Joomla».
RSFirewall переведён на 11 языков: Русский, Английский, Датский, Испанский, Итальянский, Немецкий, Нидерландский, Норвежский, Французский, Чешский, Шведский. Поддерживается Joomla версий 1.5, 1.6, 1.7, 2.5. Изначально перевод на русский язык сделан не мной. Но по ходу обзора были внесены смысловые, грамматические и стилистические исправления. Исправленный языковой файл отправлен разработчикам RSFirewall. На рисунках в статье Вы увидите не исправленный перевод.
На сайте Jeffchannell.com есть статья (на английском языке) за 20 декабря 2010 года 2010 Joomla! Security Extension Comparison.
В ней сравниваются девять расширений по обеспечению безопасности в режиме реального времени по десяти критериям (например, защиты от SQL инъекции, PHP, LFI и XSS инъекций и атак).
- Admin Tools Pro (есть бесплатная версия). Заблокировано 3 из 10 атак.
- Anti-Hacker. Заблокировано 4 из 10 атак.
- Biziant Sentry. Заблокировано 4 из 10 атак.
- jFireWall. Заблокировано 2 из 10 атак.
- jHackGuard. Заблокировано 4 из 10 атак.
- Mighty Defender. Заблокировано 3 из 10 атак.
- NinjaSecurity. Заблокировано 1 из 10 атак.
- RSFirewall! Заблокировано 6 из 10 атак.
- SecureLive. Заблокировано 3 из 10 атак.
Безусловно, сейчас этот тест устарел из-за того, что и расширения улучшили свою функциональность и атаки стали несколько другими. Но тем ни менее RSFirewall заблокировал 6 из 10 атак. Это лучший результат в этом тесте.
А теперь приступим к непосредственному рассмотрению RSFirewall.
Обзор системы
На рисунке ниже показана вкладка Обзор системы – это стартовая вкладка расширения.
На ней, помимо панели инструментов и сведений о самом Joomla RSFirewall (версия, сайт автора, лицензия и так далее), есть таблица Последние сообщения с системного журнала. В ней отображены сведения о последних системных событиях. Например, о входах в RSFirewall. Указывается уровень опасности (Низкий, Средний, Высокий, Критический), дата и время, IP пользователя совершившего то или иное действие, имя его учётной записи, адрес страницы, описание самого события (например: вошел в админ панель с правильным админ паролем) и ссылка на страницу сайта с детальным описанием события на сайте RSjoomla (не для всех событий). При нажатии на IP адрес Вы будете перенаправлены на сайт Domaintools.com. Где будет дан подробный отчёт о данном IP адресе (рисунок ниже).
Проверка системы
Считаю, что данная функциональная возможность, проверка сайта на наличие уязвимостей в системе безопасности с возможностью их устранения, является весьма полезной. RSFirewall анализирует сайт по двадцати четырём параметрам.
- Проверка актуальности версии Joomla.
- Проверка актуальности версии RSFirewall.
- Проверка целостности файлов Joomla. RSFirewall знает хэш всех файлов Joomla и сравнивает файлы на вашем сайте с эталоном. Если найдены отклонения, то он обязательно их выведет в результатах проверки и даст возможность отметить эти файлы как доверенные, если это Вы их изменили. Это может очень сильно помочь при поиске вредоносного кода на сайте.
- Проверка прав доступа к папкам. RSFirewall проверяет наличие папок с правами доступа выше чем 755. Если такие найдены, то при помощи одного нажатия кнопки можно исправить эту уязвимость. Возможность исправления прав доступа к папкам зависит от серверного окружения и настроек.
- Проверка прав доступа к файлам. RSFirewall проверяет наличие файлов с правами доступа выше чем 644. Если такие найдены, то при помощи одного нажатия кнопки можно исправить эту уязвимость. Возможность исправления прав доступа к файлам зависит от серверного окружения и настроек.
- Проверка вредоносных программ и скриптов. Данная проверка отслеживает вредоносный код в PHP файлах.
- Проверка, не находится ли папка tmp за пределами public_html.
- Проверка, не находится ли папка logs за пределами public_html.
- Проверка на наличие каких-либо файлов в папке tmp.
- Проверка на целостность файла configuration.php.
- Проверка, не находится ли файл configuration.php за пределами public_html. В файле configuration.php хранится критическая, с точки зрения безопасности сайта, информация. Лучше хранить его за пределами директории сайта для снижения риска несанкционированного доступа к нему. В статье «Обзор RSFirewall (часть 2). Защита от SQL инъекций» будет рассмотрен способ вынести файл configuration.php за пределами public_html.
- Проверка опции register_globals. Она должна быть отключена. Register_globals может позволить хакеру взять контроль над скрытыми переменными при помощи плохо написанных компонентов Joomla.
- Проверка настройки режима safe_mode. Он должен быть отключён. Safe_mode увеличивает вероятность взлома сайта. Изначально он разрабатывался как дополнительная защита для PHP, но в последствии стал причиной многих ошибок.
- Проверка настройки опции allow_url_fopen. Она должна быть отключена. Allow_url_fopen позволяет хакеру загрузить свои собственные PHP скрипты на сервер. В итоге он сможет получить полный доступ к серверу. Если Вы отключите данную опцию, то лишитесь возможности автоматической проверки версии Joomla и расширений.
- Проверка настройки опции allow_url_include. Она должна быть отключена. Allow_url_include позволяет хакеру загрузить свои собственные PHP скрипты на сервер. В итоге он сможет получить полный доступ к серверу.
- Проверка настройки опции disable_functions. Рекомендуется отключить следующие PHP функции: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open. Однако отключение данных функций может привести к потере функциональности некоторых расширений. Например, отключив shell_exec, Вы не сможете использовать YUI Compressor для сжатия JavaScript файлов (при оптимизации сайта).
- Проверка настройки опции open_basedir. open_basedir ограничивает доступ только к определённым папкам. В статье «Обзор RSFirewall (часть 2). Защита от SQL инъекций» будут рассмотрены особенности работы с данной настройкой. Так как при неправильной настройке можно нарушить работу сайта или вывести его полностью из строя. Также неверно настроенная open_basedir лишит Вас возможности нормальной установки расширений на сайт.
- Проверка логина администратора. При использовании распространённых логинов для учётной записи администратора (admin, Root, test, guest, info, adm, mysql, user, administrator, oracle и так далее) Вы повышаете риск получения несанкционированного доступа к административной зоне сайта при помощи подбора логина и пароля.
- Проверка на наличие небезопасных паролей. Проверка на наличие пользователей, пароль доступа к учётной базе которых является не безопасным. Например, 123456, password, 1234, 12345, passwd, 123, test, 1 и так далее.
- Проверка установленной на сайте версии Jumi. Если у Вас на сайте установлено расширение Jumi, то RSFirewall выполнит проверку его версии и укажет на необходимость обновления до самой последней.
- Проверка, включена ли поддержка ЧПУ. Включив ЧПУ (SEF) на своём сайте, Вы повышаете защищённость от анализа хакерами уязвимых компонентов на Вашем сайте при помощи Google (например, option=com_dummy).
- Проверка наличия файла .htaccess на сайте. Поместив файл .htaccess в корневую папку сайта, у вас появляется базовая защита против общих атак
- Проверка продолжительности сессии. Если Вы устанавливаете большое время длительности сессии, то Вы повышаете вероятность взлома Вашего сайта. Рекомендованное время сессии не более 15 минут.
- Проверка, есть ли у вас пароль на FTP. Если Вы храните пароль доступа к FTP в файле configuration.php, тем самым Вы существенно снижаете защищённость сайта. Любой, кто сможет получить доступ к файлу configuration.php, сможет без труда заполучить полный доступ к Вашему хостингу (FTP).
Более того, почти по всем параметрам есть расширенные подсказки и объяснения. Большинство найденных ошибок RSFirewall может устранить «самостоятельно». В итоге Вашему сайту будет присвоена оценка безопасности. От 1 до 100. Оценка более 80-85 является хорошим результатом. Учтите, что даже при отсутствии найденных проблем, максимальная оценка – 96. Это связанно с тем, что никакие средства и меры по обеспечению безопасности не могут гарантировать абсолютной защиты от взлома.
На рисунке ниже приведён пример отчёта по безопасности сайта.
Проверка базы данных
RSFirewall позволяет выполнить проверку, анализ и оптимизацию базы данных Вашего сайта (рисунок ниже). При проверке Вы сможете получить следующие данные: имя таблицы, тип, кодировка, количество строк, размер таблицы (в килобайтах), размер индекса (в килобайтах), превышение размера (в килобайтах) и результат проверки\оптимизации.
Если будут найдены повреждённые таблицы, то Joomla RSFirewall попытается их восстановить без потери данных.
Оптимизация будет производиться только в тех случаях, когда в таблице находится большое количество данных. RSFirewall проверяет целостность рядов и индекса таблицы. Если проверка выявила ошибки, возможны два действия: восстановление индекса или структуры таблицы.
Системный журнал
На вкладке Системный журнал отображается таблица событий, касающихся RSFirewall (рисунок ниже). В ней все события делятся на 4 уровня опасности.
- Низкий. Например, доступ к RSFirewall с правильным паролем.
- Средний. Например, доступ к RSFirewall с неправильным паролем.
- Высокий. Например, отключение блокировки системы.
- Критический. Например, изменения файла configuration.php.
Для удобства в таблице предусмотрена возможность сортировки и фильтрации. По каждому из событий Вам будет доступна следующая информация: уровень опасности; дата и время (с точностью до секунды); IP адрес пользователя (при нажатии на IP адрес Вы будете перенаправлены на сайт Domaintools.com. Где будет дан подробный отчёт о данном IP адресе); ID пользователя; логин; адрес страницы, на которой сделаны изменения; краткое описание. Также Вы сможете перейти на сайт RSFirewall для получения расширенной справки по тому или иному событию.
Блокировка системы
Блокировка системы (рисунок ниже) позволяет Вам закрыть доступ к установке, обновлению и\или удалению расширений. То есть закрыть доступ к com_installer. Более того, если включена блокировка системы, то любой созданный пользователь с правами администратора будет тут же удалён.
Для создания пользователей с правами администратора, для установки, обновления и\или удаления расширений сначала необходимо зайти в Joomla RSFirewall и отключить блокировку.
Блокировка не влияет на регистрацию пользователей, добавления, изменения и удаления материалов, пунктов меню, модулей, категорий, изменения основных настроек Joomla и так далее.
Русификатор RSFirewall
В следующей статье «Обзор RSFirewall (часть 2). Защита от SQL инъекций» мы продолжим рассмотрение возможностей RSFirewall.
Похожие материалы |
---|
Автор статьи – Хорошевский Алексей |
---|
Примерно с 2008 года и по сегодняшний день создаю сайты «под ключ» на Joomla и WebSite X5. Также занимаюсь их доработкой, SEO-продвижением, контекстной рекламой, защитой от взлома и оптимизацией скорости загрузки сайта. Кандидат технических наук по специальности «Информационные технологии». На этом сайте есть контакты и информация обо мне. На нём Вы найдёте примеры моих работ, а также перечень и цены предоставляемых услуг. |
Полезные ссылки:
- Купить RSFirewall. Обновление и техническая поддержка на 12 месяцев для одного сайта.
- Купить RSFirewall. Обновление и техническая поддержка на 6 месяцев для нескольких сайтов.
- Купить RSFirewall. Обновление и техническая поддержка на 12 месяцев для нескольких сайтов.
- Официальный сайт программы.
- Тест нескольких расширений по обеспечению безопасности за 20 декабря 2010 года (на английском).