Это частный кейс, который, требует частного решения - правки конфигов под нужды проекта. Конфигурация виртуальной машины слишком общая, дабы делать какие-то хаки для конкретных third-party ресурсов. Тем более, что проверка referer'а в целом сомнительное решение.
Быть может лучшим решением было бы посмотреть в сторону CSP (Content Security Policy). Таким образом: 1. Оставляем "X-Frame-Options: SAMEORIGIN" в покое 2. Настраиваем CSP с учетом необходимостей вашего проекта. В том числе и frame-ancestors (Chrome 40+, FF 33+)
И как бонус, повысите безопасность проекта в целом. Разумеется, при условии адекватной настройки CSP
Считаю нужным добавить в сканер безопасности функционал поиска вредоносного кода, либо сделать отдельный компонент для этого. Битриксовский компонент "Поиск троянов" подобные функции не выполняет, а необходимость есть и острая.
Предлагаю разлогинивать или начинать отдельную сессию при показе сайта во фрейме. Пример - смотрю карту кликов в Яндекс.Метрике 2.0 параллельно с правкой сайта в админке. И вижу в карте кликов административный интерфейс своего сайта, что неудобно, а может и небезопасно. Хотелось бы, чтобы в обычной вкладке я оставался залогиненным, а во фрейме мне отображался сайт как для обычного пользователя.
В защите от фреймов предлагаю ввести исключение на основе того сайта, где находится этот включаемый фрейм. Пример - при включенной защите от фреймов перестают работать карты ссылок и кликов в Яндекс.Метрике 2.0. Хотелось бы, чтобы ее можно было добавить в исключения, а для всех остальных защита была включена. А лазить включать/выключать, конечно, можно, но весьма неудобно.
Стандартный монитор качества учитывает наличие страниц и разделов с именами вроде test.php но почему то бесстрастно относится к содержанию кода. В больших проектах иногда накапливается столько пользовательских шаблонов и компонентов, что нередко в этих самых компонентах забываются строки вроде console.log и echo <pre> arresult... Даже если они закомментированы, не хорошо такое оставлять.
Поэтому при сдаче проекта в мониторе качества мне хотелось бы видеть анализ папок /local/ и bitrix/components/* /bitrix/modules/* на наличие там подобных строк кода, и соответствующие предупреждения в случае обнаружения таковых.
* - все посторонние, за исключением родных директорий битрикса, папки и файлы
Предлагаю развивать сканер дальше - в сервис мониторинга безопасности. Сейчас сканер можно запускать только вручную, что на многих сайтах самими владельцами не делается. Потому было бы неплохо поставить под расписание сканирование сайта. Да, пусть внутреннее сканирование и зависит от обновлений платформы, но внешнее сканирование всегда ведь актуализируется без участия владельцев сайтов.
Пользователь может просто зарегистрироваться на сайте и авторизоваться через соц сеть
На сайте стоит проверка на уникальность email'a. В случае если такой email уже есть на сайте, а затем пользователь авторизуется/регистрируется через соц сеть, то спокойно создается второй аккаунт с такой же почтой.
Было бы не плохо избежать данного бага и при наличии пользователя с такое же почтой привязывать его к уже существующему аккаунту
- ну ты зарегайся, я тебе права админа дам * идет регается с паролем 111111 * - готово - права выдал
И система не ругнется, потому что пароль нам неизвестен. Соответственно, при изменении пароля (добавлении нового) надо смотреть его текущую политику - и информацию по этой политике сохранять. И если пользовательский пароль не попадает под новую группу - запрещать ставить группу.
Быть может лучшим решением было бы посмотреть в сторону CSP (Content Security Policy). Таким образом:
1. Оставляем "X-Frame-Options: SAMEORIGIN" в покое
2. Настраиваем CSP с учетом необходимостей вашего проекта. В том числе и
И как бонус, повысите безопасность проекта в целом. Разумеется, при условии адекватной настройки CSP