Идеи: Немного о безопасности

Список разделов Общие разделы О phpBBex

Описание: Обсуждение phpBBex в целом, всё что не подходит в другие разделы.
Модератор: Поддержка

Сообщение #1 Alexandr_ » 07.11.2013, 15:51

Лично я всегда безопасность сайта ставил в приоритет всем остальным показателям.

С недавних пор:
Я на своем сайте поставил возможность авторизации по ключу из $_SERVER["HTTP_USER_AGENT"]
Причем авторизация как бы проходит до момента установки cookies. А дальше страница ошибки и выйти можно, лишь удалить куки вручную.

Как это работает:
На всех страницах для пользователей определённых групп подгружается некий файл в котором описаны правила доступа. Причем можно указать правила отдельным пользователям и группам.

Для наглядности, часть лога:
Код: Выделить всё
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:12.0) Gecko/20093109 Firefox/12.0"

Я изменил Gecko/20093109 с виду всё нормально, движок/дата, но это только на первый взгляд, данная строка уникальна.

Собственно сам код.
Код: Выделить всё
if (strpos($user_agent, "20093109") == false)
die('");
20103109 это и есть тот идентификатор который я прописываю в своем браузере.

можно комбинировать || с языком браузера по умолчанию. который можно поставить в настройках своего браузера для входа под группой администратора, модератора. Разные настройки можно применять разным группам и пользователям.
проверка языка:
Код: Выделить всё
if (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 5) !== "ru-ru" && substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) !== "uk")die('");

То есть, если я зашел на сайт под админом и язык браузера и идентификатор не совпали. То делать на сайте, больше нечего.

В идеале браузер для своих сайтов лучше запускать с флешки.

Данную реализацию я сделал на своем сайте не на phpbb. Работает на 100%.
Alexandr_
Автор темы
Репутация: 5
С нами: 10 лет 9 месяцев

Сообщение #2 Sumanai » 07.11.2013, 15:55

Оригинально конечно, но такая уникальная строка будет выделяться при посещении других сайтов. То есть получается, что нужно иметь отдельный браузер для захода админом, например.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 5 месяцев

Сообщение #3 Alexandr_ » 07.11.2013, 15:58

Sumanai:То есть получается, что нужно иметь отдельный браузер для захода админом, например
В идеале браузер для своих сайтов лучше запускать с флешки.
Это лишь часть комплекса мер.

Добавлено спустя 2 минуты 39 секунд:
А вот с языком по умолчанию будут проблемы, если я использую фарси на пример )))

К стати такого рода фильтр (определяя масив из разрешенных языков) можно юзать и на страницу авторизации.

Добавлено спустя 14 минут 30 секунд:
Sumanai:Оригинально конечно, но такая уникальная строка будет выделяться при посещении других сайтов.

В конечном этапе в логах будет:
Код: Выделить всё
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:12.0) Gecko/20093109 Firefox/12.0"

Чем же оно будет выделяться?
Alexandr_
Автор темы
Репутация: 5
С нами: 10 лет 9 месяцев

Сообщение #4 Sumanai » 07.11.2013, 16:23

Alexandr_:В конечном этапе в логах будет:

Да ну вы сами написали- фейковой датой. Думаю диапазон дат весьма ограничен. Точнее даже у меня (фрагмент)
Код: Выделить всё
WOW64; rv:25.0) Gecko/20100101 Firefox/25.0
И строка 20100101 давно не менялась. Хотя может это я что так настроил- профиль старый.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 5 месяцев

Сообщение #5 Alexandr_ » 07.11.2013, 16:47

Ситуация:
взломщик получил все нужные пароли а при загрузки страницы получает ошибку вэб сервера. Или фейковую панель управления.
Так то на месте взломщика куча вопросов сразу появиться, и мысли, почему данные на сервер не отправляет.
И вообще, это же надо словить именно меня в логах и применить этот заветный идентификатор, который, к стати, без поддержки нужного языка не сработает.
плюс ко всему, есть ещё доступ по ip по header авторизации. В принципе, в моём случае идентификация всё равно будет не возможна. Из ряда принятых мер безопасности.
Alexandr_
Автор темы
Репутация: 5
С нами: 10 лет 9 месяцев

Сообщение #6 Alexandr_ » 08.11.2013, 18:37

Продолжаю тему
В общем про дополнительный браузер написано было наспех. есть User-Agent Switcher он идет как дополнение, ко всем популярным браузерам: opera, mozilla, Google chrome, Safari ...

Он очень простой и в установке, и в настройках.
Просто при заходе на сайт включаете нужную вам закладку.
Снимок-1.png

Снимок.png
Снимок.png (51.39 КБ) Просмотров: 21122


как вариант:
Я пошел немного дальше, теперь каждый пользователь может в своем профиле добавить свой ключ. Для этого в профиле я создал дополнительное поле и линк(pop-up) с небольшой инструкцией и ссылками на установку плагина, к тому, или иному браузеру, скрипт определяет браузер пользователя и выдает нужные ссылки автоматом. Всё что нужно пользователю, это прописать идентификатор в своём профиле, и добавить его в User-Agent Switcher. также в профиле, можно указать в выпадающем списке и язык браузера, для большей надежности, так как проверка будет ещё и по языку.

Как это работает сейчас:
Я зашел на phpbbex.com с настройками дефолтного юзерагента, потом зашел на свой сайт, под админом естественно, прохожу авторизацию и получаю ошибку так как юзерагент у меня по умолчанию. Далее я легким движением мыши переключаю (как показано на картинке) на нужную мне настройку агента и обновляю браузер. После чего все страницы сайта доступны только моему браузеру без исключения.

В данном примере, работа с базой данных, но можно и через инклюд в config файле. Для доступа отдельным группам по level. В общем тут вариантов комбинаций очень много.

Минусы: если забыл идентификатор после пере установки системы, браузера, не сделав бэкап. Войти не получиться.
Решение данной проблемы есть и не одно. Описывать не буду так как для себя сам решаю какой лучше выбрать.

В итоге, получается очень надежная и простая система идентификации.
Пофигу:
Фишинг
Брут
Не паримся о сложности пароля к сайту
Можно без привязки по ip

Боимся:
Перехват трафика (снифферы)
Решение: ssl решает проблему
Данные с браузера на прямую
Решение: Ставим мастер пароль, как вариант, такой же как и сам ключ :wink: (патчим вовремя)
Alexandr_
Автор темы
Репутация: 5
С нами: 10 лет 9 месяцев

Сообщение #7 Test » 16.04.2015, 11:33

zeeshan002 - тупой спам бот!!!!!!!!!!!!!!!!
А защита от спама не работает!!!
Test
Гость


Вернуться в О phpBBex