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

Board index Общие разделы О phpBBex

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

Post #1by Alexandr_ » 07.11.2013, 15:51

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

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

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

Для наглядности, часть лога:
Code: Select all
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:12.0) Gecko/20093109 Firefox/12.0"

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

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

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

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

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

Данную реализацию я сделал на своем сайте не на phpbb. Работает на 100%.
Alexandr_
Topic author, Бывалый
Reputation: 4
With us: 3 yaers 4 months

Post #2by Sumanai » 07.11.2013, 15:55

Оригинально конечно, но такая уникальная строка будет выделяться при посещении других сайтов. То есть получается, что нужно иметь отдельный браузер для захода админом, например.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1502
With us: 4 yaers

Post #3by Alexandr_ » 07.11.2013, 15:58

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

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

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

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

В конечном этапе в логах будет:
Code: Select all
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:12.0) Gecko/20093109 Firefox/12.0"

Чем же оно будет выделяться?
Alexandr_
Topic author, Бывалый
Reputation: 4
With us: 3 yaers 4 months

Post #4by Sumanai » 07.11.2013, 16:23

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

Да ну вы сами написали- фейковой датой. Думаю диапазон дат весьма ограничен. Точнее даже у меня (фрагмент)
Code: Select all
WOW64; rv:25.0) Gecko/20100101 Firefox/25.0
И строка 20100101 давно не менялась. Хотя может это я что так настроил- профиль старый.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1502
With us: 4 yaers

Post #5by Alexandr_ » 07.11.2013, 16:47

Ситуация:
взломщик получил все нужные пароли а при загрузки страницы получает ошибку вэб сервера. Или фейковую панель управления.
Так то на месте взломщика куча вопросов сразу появиться, и мысли, почему данные на сервер не отправляет.
И вообще, это же надо словить именно меня в логах и применить этот заветный идентификатор, который, к стати, без поддержки нужного языка не сработает.
плюс ко всему, есть ещё доступ по ip по header авторизации. В принципе, в моём случае идентификация всё равно будет не возможна. Из ряда принятых мер безопасности.
Alexandr_
Topic author, Бывалый
Reputation: 4
With us: 3 yaers 4 months

Post #6by Alexandr_ » 08.11.2013, 18:37

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

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

Снимок.png
Снимок.png (51.39 KiB) Viewed 9681 times


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

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

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

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

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

Боимся:
Перехват трафика (снифферы)
Решение: ssl решает проблему
Данные с браузера на прямую
Решение: Ставим мастер пароль, как вариант, такой же как и сам ключ :wink: (патчим вовремя)
Alexandr_
Topic author, Бывалый
Reputation: 4
With us: 3 yaers 4 months

Post #7by Test » 16.04.2015, 11:33

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


Forum name: О phpBBex
Description: Обсуждение phpBBex в целом, всё что не подходит в предыдущие разделы.

Quick reply


Enter the code exactly as it appears. All letters are case insensitive.
Confirmation code
:hi: :smile: :wink: :twisted: :sad: :evil: :smoke: :eh: :eek: :fie: :silenced: :razz: :oops: :help: :spy: :insane: :biggrin: :toothless: :ill: :nervious: :weirdface: :pray: :clap: :think: :boxing: :cyclop: :rambo: :zombie: :cry: View more smilies

   

Return to О phpBBex