Стратегия полного аудита доступа к сайту и отчетности - PullRequest
0 голосов
/ 01 июня 2011

Я ищу несколько указателей, чтобы улучшить решение для следующей проблемы.Несмотря на то, что я работаю с набором инструментов Unix, я больше придерживаюсь общего подхода, а не реализации.

Вот и мы:

Каждый доступ к веб-сайту должен быть зарегистрирован, и бизнес-пользователи должнывозможность сообщить об этом почти в реальном времени (допустима 5-минутная задержка).Отчетность будет отфильтрована по пользователю или периоду времени или их комбинации.

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

Я хочу регистрировать каждый доступ к странице (GET или POST) плюс любые параметры плюс отметка времени.

Требование о предоставлении отчетов: «Скажите, что сделал пользователь 1 с 11:15 до 11:18»

И ответ должен быть:

  • В 11:15:23 он зашел на домашнюю страницу.
  • В 11:15:49 он зашел на страницу о нас.
  • В 11:16:23 он зашел на страницу входа.
  • В 11:16:34 он попытался войти с именем пользователя "hacked".
  • В 11:16:38 запрос на вход не выполнен - ​​неверное имя пользователя / пароль
  • В 11:16:45 он вошел в систему с именем пользователя "myuser"
  • В 11:17:12 он перешел на страницу продуктов.

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

Чтобы не перегружать базу данных, подключите очередь сообщений между ними и отложите запись в базу данных.

Однако, учитывая количество данных в базе данных, создание отчетов может быстро замедлиться.

Мне известны такие решения, как woopra , однако я хотел бы хранить данные о посетителях внутри компании, а также мне нравится идея внутренней отчетности с внутренним доступом к данным на основе ролей и т. Д.

Редактировать : Как вы делали что-то подобное в прошлом или как бы вы поступили, если бы у вас был полный выбор вариантов?

1 Ответ

0 голосов
/ 01 июня 2011

Более простым подходом к немедленному выполнению некоторых из этих вещей было бы внедрение Google Analytics без особых затрат на сервер / приложение.

Недостатком использования было бы то, что события не так много, как в режиме реального времени ... это пара часов.

Другое решение состоит в том, чтобы внедрить решение обмена сообщениями в отдельную базу данных, а затем повторно

...