IT-Expert
  IT-Expert / Веблог / Подсчет трафика терминальных пользователей. Прозрачная авторизация и аутентификация.
Авторизация
Логин:
Пароль:


 
Поиск по записям:

Ключевые слова:
Записей в блоге
 за 2023 год
 за 2022 год
 за 2021 год
 за 2015 год
 за 2014 год
 за 2013 год
 за 2012 год
 за 2011 год

     за 2010 год

       за 2009 год
       за 2008 год
       за 2007 год
       за 2006 год
       за 2005 год
      RSS лента Лента новостей IT-Expert 

      Подсчет трафика терминальных пользователей. Прозрачная авторизация и аутентификация.

      12:03, 3 августа 2005 ( Administration Terminal systems Citrix FreeBSD Daily thoughts  )

      Все считает и на удивление даже работатет.

      Что было использовано:

      FreeBSD 4.11,
      squid 2.5.x,
      samba 3.0.x
      для авторизации в домене,
      самописный сайт для вывода статистики и досупа к ней пользователям.

      Модифицированный squid2mysql-1.0.0 Perl скрипт, который пишет в базу данных логи.

      Самый интимный момент:
      tail -f /home/logs/access.log | ./squid2mysql, который
      запускается в screen.



      Несколько подводных камней:

      Недостатком является то, что при отваливании squid необходимо перестартовать скрипт, пока приходится делать это руками.

      Присутствует следующая проблема: большой объем данных. В месяц на 60 человек при трафике около 20-30Гб  приходится порядка 3.000.000 записей в MySQL базу. Раз в месяц приходится обнулять и агрегировать значения трафика в отдельную таблицу, соотв. детализацию за прошлый месяц теряем.
      Да и просто при доступе пользователя статистики используются агрегированные значения, ибо если каждый раз проводить выдобку из табицы с чистыми логами нагрузка на базу будет неимоверной.

      Количество запущеных ntlm_auth должно быть оптимальным, иначе  сквид будет отказывать в авторизации  и в досупе к ресурсу. Эмпирическим путем было выставлено число 30.

      auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
      auth_param ntlm children 30
      auth_param ntlm max_challenge_reuses 0
      auth_param ntlm max_challenge_lifetime 2 minutes

      эта секция для базовой авторизации, в случае использования браузера не IE, к примеру в Опере или Мозилле будет спрашивать пароль каждый раз при новом запуске браузера и коннекте к ресурсам.

      auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic
      auth_param basic children 5
      auth_param basic realm Squid proxy-caching web server
      auth_param basic credentialsttl 2 hours


      Для доступа к сайту статистики используем тот же ntlm_auth, вызываем как внешний скрипт, передаем логин-пароль и сравниваем с результатом, если не NT_STATUS_OK не пускаем.

      В моем случае все осложнялось еще и наличием squidGuard и родительского кеша для экономии трафика.


      Оставить комментарий
      © Максим Прокопов 2005-2024 О сервере