Попытка внедрения php битрикс что это
1С-Битрикс: Безопасность
Веб-сайт является частью корпоративной инфраструктуры и не удивительно, что компании большое внимание уделяют вопросам безопасности. По данным компании Positive Technologies: доля атак на Веб составляет более 50%; ежедневно в Рунете регистрируются десятки взломов веб-сайтов.
По данным компании Positive Technologies: доля атак на Веб составляет более 50%; ежедневно в Рунете регистрируются десятки взломов веб-сайтов.
Но означает ли это, что сайты лучше не делать? Современный прогресс и конкурентная среда не оставляют выбора. Сайты будут создавать, будут делать больше и все более функциональными. Как защитить компанию от потенциальных неприятностей? Какое решение выбрать и как защитить свой веб-сайт от возможных проблем? Давайте обсудим.
Поможет в этом правильный выбор системы управления контентом сайта (CMS), надежного хостинга, серверного программного обеспечения и своевременное проведение мероприятий, направленных на снижение вероятности возникновения проблемных ситуаций на веб-проектах.
Одной из первостепенных задач для владельцев веб-проектов является качественная и надежная защита от хакерских атак, взлома и кражи хранящейся на сайте информации.
Для этого в системе «1С-Битрикс: Управление сайтом» предусмотрен модуль «Проактивная защита», с помощью которого реализуется целый комплекс защитных мероприятий для сайта и сторонних приложений.
Проактивная защита является существенным дополнением к стандартной политике безопасности продукта. Поэтому одноименный модуль включен во все редакции продукта «1С-Битрикс: Управления сайтом» (кроме Старта) и в продукт «1С-Битрикс: Корпоративный портал». Причем, что важно, и Проактивная защита, и Проактивный фильтр впервые в мире включены непосредственно в сам продукт!
Что представляет собой этот модуль? Это целый ряд технических решений по обеспечению безопасности продукта и разработанных веб-приложений. Несколько уровней защиты от большинства известных атак на веб-приложения включает этот модуль. И каждый уровень серьезно повышает безопасность разработанных вами интернет-проектов.
Проактивная защита – это целый комплекс технических и организационных мер, которые объединены общей концепцией безопасности и позволяют значительно расширить понятие защищенности и реакции веб-приложений на угрозы.
Вот какой комплекс по защите веб-приложений включает в себя модуль:
Проактивный фильтр (Web Application Firewall)
Веб-антивирус
Панель безопасности с уровнями защищенности
Журнал вторжений
Одноразовые пароли
Модуль «Проактивная защита» позволяет включить поддержку одноразовых паролей и использовать их выборочно для любых пользователей на сайте. Однако особо рекомендуется задействовать систему одноразовых паролей администраторам сайтов, поскольку это сильно повышает уровень безопасности пользовательской группы «Администраторы».
Система одноразовых паролей дополняет стандартную систему авторизации и позволяет значительно усилить систему безопасности интернет-проекта. Для включения системы необходимо использовать аппаратное устройство (например, Aladdin eToken PASS) или соответствующее программное обеспечение, реализующее OTP.
Что вам дает такая технология? Однозначную уверенность, что на сайте авторизуется именно тот пользователь, которому выдан брелок. При этом какое-то похищение и перехват паролей теряет всякий смысл, так как пароль одноразовый. Брелок же физический, дает уникальные одноразовые пароли и только при нажатии. А это значит, что владелец брелка не сможет передать пароль другому человеку, продолжая пользоваться входом на сайт.
Персональный генератор одноразовых паролей для сайта (OTP)
С помощью Bitrix OTP вы сможете самостоятельно включать или отключать использование на сайте системы одноразовых паролей для своей учетной записи. Это реализующее OTP программное обеспечение, разработанное компанией «1С-Битрикс», позволяет обойтись без покупки аппаратных устройств (например, Aladdin eToken PASS) или соответствующих программных аналогов.
Приложение Bitrix OTP для Android
Установите приложение от «1С-Битрикс» на ваш мобильный телефон и генерируйте одноразовые пароли для входа на сайт, поддерживающий авторизацию по OTP. Приложение поддерживает работу с несколькими сайтами одновременно.
Создание нового сайта | Получение пароля |
Вы можете включить на мобильном сайте поддержку одноразовых паролей и использовать их выборочно для любых пользователей. Особо рекомендуется задействовать систему одноразовых паролей администраторам сайтов, поскольку это сильно повышает уровень безопасности пользовательской группы «Администраторы». Для этого достаточно создать в генераторе паролей новый сайт, поддерживающий авторизацию по ОТП, и потом каждый раз, при входе на этот сайт, получать для него одноразовый пароль. Генератор позволяет создать множество записей для таких сайтов, и нужный сайт вы сможете выбрать из списка.
Двусторонняя TLS-аутентификация
Весь необходимый функционал TLS-аутентификации реализован с помощью специально разработанного для продуктов «1С-Битрикс» модуля TrustedBitrixLogin. Модуль позволяет безопасно передавать необходимую информацию (организуется защищенный канал с передачей данных по TLS-протоколу с использованием ГОСТ-алгоритмов шифрования) и автоматически обеспечить проверку подлинности как клиента, так и сервера.
Контроль целостности файлов
Проверка целостности скрипта контроля
Перед проверкой целостности системы необходимо проверить скрипт контроля на наличие изменений. При первом запуске скрипта введите в форму произвольный пароль (состоящий из латинских букв и цифр, длиной не менее 10 символов), а также произвольное кодовое (ключевое) слово (отличное от пароля), и нажмите на кнопку «Установить новый ключ».
Защита административного раздела
Защита сессий
Хранение данных сессий в таблице модуля позволяет избежать чтения этих данных через скрипты других сайтов на том же сервере, исключив ошибки конфигурирования виртуального хостинга, ошибки настройки прав доступа во временных каталогах и ряд других проблем настройки операционной среды. Кроме того, это разгружает файловую систему, перенося нагрузку на сервер базы данных.
Контроль активности
Контроль активности позволяет установить защиту от чрезмерно активных пользователей, программных роботов, некоторых категорий DDoS-атак, а также отсекать попытки подбора паролей перебором. В настройках можно установить максимальную активность пользователей для вашего сайта (например, число запросов в секунду, которые может выполнить пользователь).
* Контроль активности пользователей ведется на основе средств модуля Веб-аналитика и, следовательно, доступен только в тех редакция продукта, в которые входит этот модуль.
Стоп лист
Проактивная защита в Битрикс 24
Отправим материал вам на:
Проактивная защита – это целый комплекс технических и организационных мер, которые объединены общей концепцией безопасности и позволяют значительно расширить понятие защищенности и реакции веб-приложений на угрозы.
Комплекс по защите веб-приложений, включенный в модуль:
Проактивный фильтр (Web Application Firewall)
Возможности Проактивный фильтра:
Инструмент для аудита безопасности PHP-кода
Найти и опробовать этот инструмент можно в административной части сайта: Настройки > Инструменты > «Монитор качества» > тест «Предприняты меры по обеспечению безопасности проекта на уровне веб-разработки» в разделе «Безопасность». Запустив тест, вы сможете просмотреть подробный отчет о его работе (при условии наличия найденных проблем).
Подробнее о Мониторе качества можно прочитать в специальном разделе.
Система проверки «Монитор качества» также работает в каталоге веб-приложений Маркетплейс для сайтов и корпоративных порталов Битрикс 24.
Панель безопасности с уровнями защищенности
Любой проект, работающий под управлением продуктов от «1С-Битрикс», обязательно имеет начальный уровень защиты. Однако с помощью модуля «Проактивная защита» можно значительно повысить защищенность собственного проекта. Нужно всего лишь выбрать и настроить один из уровней безопасности модуля: стандартный; высокий; повышенный. При этом система подскажет – выдаст рекомендации – какое действие необходимо установить для каждого параметра на выбранном текущем уровне.
Веб-антивирус
Веб-антивирус встроен непосредственно в сам продукт – систему управления порталом. Этот компонент защиты полностью соответствует общей концепции безопасности системы и в разы повышает защищенность и скорость реакции веб-приложения на веб-угрозы.
Журнал вторжений
В Журнале регистрируются все события, происходящие в системе, в том числе необычные или злонамеренные. Оперативный режим регистрации этих событий позволяет просматривать соответствующие записи в Журнале сразу же после их генерации. В свою очередь, это позволяет обнаруживать атаки и попытки атак в момент их проведения. Это значит, у вас есть возможность немедленно принимать ответные меры, и, в некоторых случаях, даже предупреждать атаки.
Возможности журнала вторжений:
Одноразовые пароли
Модуль «Проактивная защита» позволяет включить поддержку одноразовых паролей и использовать их выборочно для любых пользователей на Портале. Однако особо рекомендуется задействовать систему одноразовых паролей администраторам Порталов, поскольку это сильно повышает уровень безопасности пользовательской группы «Администраторы».
Система одноразовых паролей дополняет стандартную систему авторизации и позволяет значительно усилить систему безопасности интранет-проекта. Для включения системы необходимо использовать аппаратное устройство (например, Aladdin eToken PASS) или соответствующее программное обеспечение, реализующее OTP.
Что вам дает такая технология? Однозначную уверенность, что на Портале авторизуется именно тот пользователь, которому выдан брелок. При этом какое-то похищение и перехват паролей теряет всякий смысл, так как пароль одноразовый. Брелок же физический, дает уникальные одноразовые пароли и только при нажатии. А это значит, что владелец брелка не сможет передать пароль другому человеку, продолжая пользоваться входом на Портал.
Особенности одноразовых паролей:
Персональный генератор одноразовых паролей для портала (OTP)
С помощью Bitrix OTP вы сможете самостоятельно включать или отключать использование на сайте системы одноразовых паролей для своей учетной записи. Это реализующее OTP программное обеспечение, разработанное компанией «1С-Битрикс», позволяет обойтись без покупки аппаратных устройств (например, Aladdin eToken PASS) или соответствующих программных аналогов.
Подробнее про генератор одноразовых паролей читайте в статье Двухэтапная авторизация
Контроль целостности файлов
Проверка целостности скрипта контроля
Перед проверкой целостности системы необходимо проверить скрипт контроля на наличие изменений. При первом запуске скрипта нужно будет ввести в форму произвольный пароль (состоящий из латинских букв и цифр, длиной не менее 10 символов), а также произвольное кодовое (ключевое) слово (отличное от пароля), и нажать на кнопку «Установить новый ключ».
Безопасная авторизация без SSL
С помощью методики безопасной аутентификации пароли с формы авторизации ваших сотрудников невозможно взломать, поскольку они шифруются по алгоритму RSA с ключом 1024 бит и в таком виде передаются на корпоративный портал. При этом не важно, какие соединения и протоколы используют пользователи вашего портала.
Защита административного раздела
Эта защита позволяет компаниям строго регламентировать сети, которые считаются безопасными и из которых разрешается сотрудникам администрировать Портал. Перед вами простой специальный интерфейс, в котором все это и делается – задается список или диапазоны IP адресов, из которых как раз и позволяется управление Порталом. Не бойтесь закрыть себе доступ в момент установки блокировки – этот момент проверяется системой.
Каков эффект от использования данной защиты? Любые XSS/CSS атаки на компьютер пользователя становятся неэффективными, а похищение перехваченных данных для авторизации с чужого компьютера – абсолютно бесполезным.
Защита сессий
Большинство атак на веб-приложения ставят целью получить данные об авторизованной сессии пользователя. Включение защиты сессий делает похищение авторизованной сессии неэффективным. И, если речь идет об авторизованной сессии администратора, то ее надежная защита с помощью данного механизма является особо важной задачей. Какие инструменты использует этот защитный механизм? В дополнение к стандартным инструментам защиты сессий, которые устанавливаются в настройках группы, механизм защиты сессий включает специальные – и в некотором роде уникальные.
Хранение данных сессий в таблице модуля позволяет избежать чтения этих данных через скрипты других проектов на том же сервере, исключив ошибки конфигурирования виртуального хостинга, ошибки настройки прав доступа во временных каталогах и ряд других проблем настройки операционной среды. Кроме того, это разгружает файловую систему, перенося нагрузку на сервер базы данных.
Стоп лист
Стоп-лист – таблица, содержащая параметры, используемые для ограничения доступа посетителей к содержимому Портала и перенаправлению на другие страницы. Все пользователи, которые попытаются зайти на Портал с IP адресами, включенными в стоп-лист, будут блокированы.
Контроль активности
Контроль активности позволяет установить защиту от чрезмерно активных пользователей, программных роботов, некоторых категорий DDoS-атак, а также отсекать попытки подбора паролей перебором. В настройках можно установить максимальную активность пользователей для вашего Портала (например, число запросов в секунду, которые может выполнить пользователь).
Установите дополнительные веб-приложения из Маркетплейса для расширения возможностей комплекса Проактивная защита.
Коллеги, в связи с выпуском бета-версии нового модуля Проактивной защиты, я решил подготовить технический анонс модуля для веб-разработчиков.
Заодно и своим расскажем, так как не все сотрудники еще видели этот модуль и понимают, что он делает Вчера прошла техническая презентация модуля для технической поддержки и отдела документирования и вопросов было много.
Я буду неторопливо рассказывать, так что наберитесь терпения Итак.
[spoiler]
Сначала несколько слов о том, как у нас устроен производственный цикл по выпуску нового функционала. Перед выпуском модуля идет обязательная процедура тестирования: включает в себя тестирование разработчиками на внутренних серверах с разными базами данных, операционных систем и версиями PHP, потом отдел тестирования проверят на соответствие бизнес-функциональности и наличие ошибок, потом отдел безопасности проверят на наличие уязвимостей, потом уже модуль может поступить в бета-тестирование клиентам и партнерам.
Большинство разработчиков работает в нашей компании уже по 5-8 лет и можно сказать, что ребята очень хорошо обучены и натренированы в вопросах безопасности специалисты. Т.е. как тезис я бы сказал, что мы располагаем наиболее квалифицированными веб-разработчиками с прекрасными знаниями вопросов безопасности.
Но, несмотря на это, отдел безопасности регулярно находит потенциальные уязвимости и возвращает модули на доработку.
Мы с Юрой Тушинским, техническим директором, как-то обсуждали эту ситуацию. Почему тезис «обучение веб-разработчиков безопасности» не дает полной уверенности в качестве разработки?
Юра рассказывал, что он сам после 3 недель работы по теме безопасности потом не может начать нормально программировать довольно долго, голова думает совсем не о разработке.
Получается, что обычный цикл производства программного продукта обязательно должен включать в себя специалиста по безопасности, который думает только о том, как сломать продукт и обойти защиту. На основании этого вывода начиная с версии 4.0 в нашей компании появился отдел безопасности и нам удалось поднять качество производства в вопросах безопасности на очень высокий уровень.
Но это у нас в компании, мы все же специализируемся на разработке продукта. А что же происходит в компаниях веб-разработчиков? Я знаю сегодня всего пару компаний у которых в штате есть специалист, частично разбирающийся в безопасности. Но при этом, он не работает как безопасник, а только изредка подключается к проектам для проверки безопасности, а основное время он работает обычным веб-разработчиком.
Следовательно, можно предположить, что в разработках на базе продукта теоретически должны быть потенциальные уязвимости. И это не потому, что веб-разработчики плохие или продукт дырявый. Это потому, что так устроена жизнь, отличается психология.
Учитывая положение вещей мы старались сделать Bitrix FrameWork максимально устойчивым и проверенным по безопасности.
API функции делались безопасными, стандартные инструменты по работе с переменными многократно проверялись и страховали разработчика от большинства типовых ошибок. Потенциально опасные действия собирались в классы и экранировали веб-разработчиков от необходимости думать о безопасности. Так работа с файлами, которая несет в себе массу угроз, собрана в отдельные классы, многократно контролируемые по безопасности. Политика безопасности групп пользователей защищала пароли и запоминанемые хэш функции от похищения. Привязки авторизованных сессии к IP, единая авторизация на всех проектах, трехуровневая система разграничения прав, CAPTCHA и масса других решений.
Все это было и есть в продукте. И я думаю, что нам удалось всеми этими действиями очень сильно поднять уровень защищенности и качество разработки приложений написанных на базе Bitrix Framework.
Но это не дает 100% защиты. Веб-разработчик теоретически может проигнорировать рекомендованные функции, взять переменную прямо из запроса, без обработки вставить в запрос к базе данных и получить одновременно и SQL Injection и эксплуатируемый XSS. И тогда все усилия оказываются напрасными, человеческий фактор сводит на нет усилия.
Стоит отметить, что веб-разработчику требуется очень много времени и системное обучение, чтобы стать хорошим специалистом по разработке безопасных веб-приложений. Причем достигает он высокого уровня, только если его приложения проходят критическое тестирование на безопасность.
А вот хакеру не требуется долгого обучения, чтобы воспользоваться классическими и самыми массовыми уязвимостями веб-приложений, такими как XSS, SQL Injection, PHP Including. И проверить свои знания он может с легкостью на любом сайте.
Более того, есть даже инструменты для автоматизированного поиска уязвимостей на сайтах.
Я бы охарактеризовал соотношение квалифицированных веб-разработчиков к хакерам как 1:100. Опять же, не поймите это как укор. Так получается, что рядовой веб-разработчик начинает глубоко вникать в вопросы безопасности только когда впервые сталкивается с проблемами.
Безусловно, к угрозам безопасности необходимо относить не только веб-приложений, но и угрозы безопасности Информационной среды. Но это уже за пределами этого сообщения. Подробнее я писал на нашем сайте: http://www.1c-bitrix.ru/products/cms/security/threats.php
Как вариант мы долгое время рассматривали направление платных аудитов безопасности.
Наш отдел безопасности выполнял аудит безопасности по запросам крупных клиентов и партнеров. Очень интересная практика и ценнейшие данные для анализа!
Но невозможно проверить такое большое количество сайтов, бизнес-логики и решений партнеров. На одном клиенте можно было застрят на 1-2 месяца и даже не проверить все, а параллельно разработчики выпускают новые модули и их опять нужно проверять
Мощности по проверке у нас незначительные, это не основная для нас деятельность. Наращивать объем оказания услуг нет возможности.
В итоге, услуга аудит-безопасности не получила широкого тиражирования и была снята с продажи.
Мы решили изменить направление развития по теме безопасности. И стали искать решения, которые могли бы помочь всем партнерам и клиентам в равной степени.
Такое длинное вступление я сделал, чтобы вы лучше поняли, почему мы выбрали направление по разработке модуля и какие мы ставим перед собой задачи, в чем мы надеемся помогать веб-разработчикам и клиентам.
Для себя мы определили модуль «Проактивной защиты» как комплекс технических решений по обеспечению безопасности продукта и разработанных веб-приложений, включающий несколько уровней защиты от большинства известных атак на веб-приложения, существенно повышающий уровень безопасности интернет-проектов.
«Проактивная защита» является важным дополнением к стандартной политике безопасности продукта. Модуль включается во все редакции Управления сайтом кроме Старта и в Корпоративный портал.
Модуль включает в себя комплекс систем по защите веб-приложений:
* Панель безопасности с оценкой уровнями безопасности
* Проактивный фильтр (Web Application FireWall)
* Технологию одноразовых паролей (OTP)
* Защиту авторизованных сессий
* Контроль активности
* Защиту редиректов от фишинга
* Шифрование канала передачи через SSL
* Журнал вторжений
* Защиту административных разделов по IP
* Стоп-листы
* Контроль целостности
* Рекомендации по настройке
* Защиту редиректов от фишинга (пока в разработке)
* Шифрование канала передачи через SSL (пока в разработке)
* Монитор обновлений (в разработке)
* Внешний контроль инфосреды (в разработке)
Сейчас я по порядку расскажу о возможностях модуля и какие задачи мы решаем тем или иным функционалом.
Проактивная защита: панель безопасности и оценка уровня безопасности
Несмотря на сложность темы безопасности, мы ставили перед собой задачу сделать функционал модуля доступным для работы обычными пользователям. Нам кажется важным, чтобы клиенты и партнеры понимали, что происходит на сайте и каким уровнем защищенности они располагают.
Мы реализовали панель безопасности на которой все функиции модуля сгруппированы в уровни: Начальный, Стандартный, Высокий, Повышенный
Начальный уровень безопасности получают проекты на базе Bitrix Framework без установленного модуля Проактивной защиты. Это был тема большой дискуссии внутри компании, почему так называть и почему такой уровень. И все же мы решили, что так как партнеры не проверяют свои разработки на безопасность, клиенты иногда не устанавливают обновления продукта, мы будем ставить Начальный уровень безопасности.
Стандартный уровень безопасности получают проекты с включенными элементами проактивной защиты:
Проактивный фильтр (Web Application FireWall) на весь сайт без исключений, включен Контроль активности, ведется журнал вторжений. Уровень безопасности для группы Администраторы должен быть установлен в Повышенный.
Напомню, какие параметры там устанавливаются:
* Время жизни сессии (минут)
* Маска сети для привязки сессии к IP
* Максимальное количество компьютеров на которых может быть одновременно быть запомнена авторизация
* Маска сети для привязки сохраненной авторизации
* Срок хранения авторизации, запомненной на компьютере пользователя (минут)
* Срок действия контрольного слова для восстановления пароля (минут)
* Минимальная длина пароля
* Пароль должен содержать латинские символы верхнего регистра (A-Z)
* Пароль должен содержать латинские символы нижнего регистра (a-z)
* Пароль должен содержать цифры (0-9)
* Пароль должен содержать знаки пунктуации (,.<>/?;:'»[]<>\|`
!@#$%^&*()-_+=)
* Количество попыток ввода пароля до показа CAPTCHA (защита от перебора)
Все эти правила устанавливаются в настройках группы пользователей и включаются в ядро продукта.
Мы так же посчитали важным, чтобы на сайте был включен параметр «Использовать CAPTCHA при регистрации». Режим вывода ошибок (error_reporting) был установлен в Только ошибки, чтобы не раскрывать информацию о конфигурации системы.
В дальнейшем мы планируем в уровне Стандартный добавить проверку на наличие рекомендованных и не установленных обновлений продукта, включенность защиты редиректов от фишинга,
Высокий уровень безопасности получают проекты выполнившие требования Стандартный плюс:
* включившие Журналирование событий главного модуля
* установившие Защиту административной части по IP
* включивших Хранение сессий в базе данных
* и Смену идентификатора сессий
В дальнейшем в уровень Высокий попадут проверки включенного SSL сертификата для авторизации и работы с продуктом.
Повышенный уровень безопасности можно будет получить включив в дополнение к Высокому уровню защиту одноразовыми пароля OTP для администраторов, Контроль целостности и еще ряд параметров (уточняются).
Начиная с версии 8.0 модуль Проактивной защиты будет по умолчанию включен в продукте. Все текущие клиенты загрузят и установят этот модуль по технологии SiteUpdate и он автоматически установит параметры соответствующие уровню безопасности Стандартный.
Теперь немного подробнее о функционале.
Проактивный фильтр (Web Application Firewall)
Проактивный фильтр (Web Application Firewall) – наиболее эффективный способ защиты от возможных ошибок безопасности, допущенных при реализации интернет-проекта (XSS, SQL Injection, PHP Including и ряда других).
По данной теме рекомендую посмотреть следующие ссылки:
Чаще всего такие решение разрабатываются и устанавливаются выше веб-приложения в виде аппаратных устройств или модулей для веб-сервера, как например ModSecurity. Но в большинстве своем это требует сложного администрирования, не позволяет работать на уровне приложения, зачастую делает само приложение неработоспособным.
Мы доработали концепцию и наши вариант включения Web Application Firewall непосредственно в продукт. Фактически, фильтр проверяет на каждом хите все данные, которые могут поступить на сайт через переменные GET, POST, куки, серверные переменные. Если происходит сработка, возможно несколько видов реакции на ситуацию:
1 Сделать данные безопасными
2 Очистить опасные данные
3 Добавить IP-адрес атакующего в стоп-лист на ХХ минут.
4 Занести попытку вторжения в журнал
Сделать данные безопасными означает, что данные будут модифицированы. Например «select» будет заменен на «sel ect», а «