Что нового в 2.8?

------------------------------------------------------------------------------------------------
1. Почта.
Авторизация по почтовым адресам, SMTP/POP Relay.


Работа админу:
1. Для каждого пользователя необходимо заполнить список его е-майлов, по которым он будет авторизирован.
2. Для рассылки выбрать один из них в комбике.
3. В "Почте" установить номера портов POP и SMTP на которые нужно будет настроить учетные записи в клиентах.
4. В грид "Relay" добавить используемые пользователями сервера, имена хостов которых не соответствуют имени домена или используются нестандартные порты.
например:
mail.ru; smtp.mail.ru; 25; pop.mail.ru; 110
Для остальных серверов ничего сюда писать не надо, relay будет на имя домена в почтовом адресе:порты 25/110.

Все!

POP3
-------------
1. В общем виде поле User дожно выглядеть:
userid#e-mail
Пример: "sasha#sasha@mail.ru"
sasha- логин учетной записи на mail.ru
sasha@mail.ru- почтовый адрес
2. Поле Password должно содержать пароль на pop сервере

УГ, получив коннект на порт POP, имитирует ответ POP сервера отправляя
>>+OK POP3 server ready\r\n
и ждет имя пользователя.
получив
< авторизирует пользователя у себя по адресу "sasha@mail.ru"
отделяет домен "mail.ru"
просматривает таблицу Relay,
Если находит домен - читает хост= pop.mail.ru, порт=110
Иначе считает хост=mail.ru(имя домена), порт=110(дефолт)
резольвит и коннектится к этому хосту
ожидает приветствие сервера
отправляет ему
>>USER sasha\r\n
и переключается в тунельный режим.
Дальнейший обмен идет в тунельном режиме, пассивном для УГ.
Он только продолжает делать свое дело считать трафик, ограничивать итп.

SMTP
-------------
Никаких нестандартных полей от клиента не требуется.
УГ, получив коннект на порт SMTP, имитирует ответ SMTP сервера, пока не получит
>>mail from: \r\n
Далее все аналогично POP3

Настройка почты в визарде OE:
-------------
1. Введите имя- Иван Петров
2. Адрес электронной почты:sasha@mail.ru
3. Сервер входящих сообщений: 10.8.1.65 (Internal IP UG)
Сервер исходящих сообщений: 10.8.1.65 (Internal IP UG)
4. Имя для входа: по умолчанию выскакивает sasha
Дописываем e-mail: sasha#sasha@mail.ru
Пароль: ******** (пароль учетной записи на mail.ru)
Жмем готово. Все!!!

------------------------------------------------------------------------------------------------
2. Для всех гридов возможность сортировать по всем ( большинству ) столбцам, выбор - щелчек по заголовку таблиц.
Сортировка комбинированная- если парамерты в столбце равны, дополнительно сортируется по крайнему левому столбцу.
Строки предварительно сравниваются без учета регистра, если равны то с учетом регистра.
Короче- круть!

------------------------------------------------------------------------------------------------
3. "Пользователь".
Тулбар.
Кнопки:
"Статистика",
"Монитор скорости",
"E-Mail сообщение",
"Завершить сеанс",
"Запретить работу",
"Распоряжение(тикет)",
"Экспорт в Excel",
"Перерасчет затрат".

Интевал дат:
для форм "За месяц","За день" запоняется автоматически, с обновлением при
смене даты (new).
для формы "В интервале дат" можно пользоваться кнопками "Календарь" для указания даты.
"Рефреш"- как и раньше.
Радиобатоны: в каких единицах выводить трафик."Кб(Мб), байты, Кб, Мб. (Для любителей пересчитывать итоги на калькуляторе можно смотреть в байтах )
Отчеты "За месяц","За день", "По распоряжению", "В интервале дат" .
"По распоряжению" - выводятся данные сколько наработано в открытых распоряжениях.
Остальное- как раньше.

В попап меню добавлен пункт "Распоряжение".
Все пункты меню и кнопки тулбара активны если данная команда возможна для выбранного в
гриде юзера.

Все остальное интуитивно понятно
------------------------------------------------------------------------------------------------
4. Форма "Статистика".
Тулбар:
"Назад"
"Вперед"
"Экспорт в Excel",
"Добавить в фильтр" с промежуточным диалогом, для редактирования и выбором в какой фильтр (глобальный, группы, пользователя).

При открытии окна устанавливается фильтр на пользователя или для всех, если пришли со строчки "Итого" главного окна
Интевалы дат при открытии наследуются от главного окна, но их можно изменить в любой момент и сделать рефреш.
Радиобатоны: в каких единицах выводить трафик.
Возможны три вида статистики:
1. По дням/часам. Если статистика запрашивается за один день то она автоматически разворачивается по часам (крутая добава!). Выбираем день (час), двойной щелчек по строке грида или кнопка "Вперед"->
2. По хостам. Или по выбранному дню (часу) или, если со строки итого, по всему интервалу. Выводятся все(!!) хосты (никаких топ)- возможности нового грида безграничны! Ходим по строкам- в тулбаре в спец. поле (для наглядности и возможность Ctrl+C) видим имя хоста, которое легким движением кнопки тулбара можем отправить в фильтр. При этом будет выведен промежуточный диалог, где можно его отредактировать, выбрать тип и указать в какой собственно фильтр его закинуть.
Выбираем хост (или итого) двойной щелчек по строке грида или кнопка "Вперед"->
3. По URL. Все аналогично 2.

Замечания для статистике по часам.
УГ не может абсолютно точно посчитать статистику для каждого часа. Это касается сессий (соединений), которые по времени пересекают границу( границы) часов. Для распределения трафика таких сессий (соединений) по часам, UG делает линейную апроксимацию, считая что на всем протяжении сессии (соединения) данные получались (отправлялись) абсолютно равномерно. Однако для оценочного представления такая форма весьма полезна.

------------------------------------------------------------------------------------------------
5."Монитор".
Тулбар:
"Старт-стоп"
"Очистить"
"Добавить в фильтр"

Чек-боксы фильтров что выводить (протоколы+DNS тоже можно увидеть).
Монитор в гриде с возможностью выбора строки и горизонтальной линейкой скролинга.
Вертикальный скролинг делается автоматом только если активна самая нижняя строка.
Ходим по строкам- в тулбаре в спец. поле (для наглядности и возможность Ctrl+C) видим URL, которое нажатием кнопки тулбара можем отправить в фильтр. При этом будет выведен промежуточный диалог.
В попап меню добавлен пункт "Добавить в фильтр".

------------------------------------------------------------------------------------------------
6."Кэш"
Тулбар:
"Просмотр"
"Найти"
"Найти далее"
"Удалить"
"Рефреш"

Выводится реал-тайм статистика: "Кол-во объектов в кэш", "Суммарный размер кэш", "Пполучено из инет", "Получено из кэш", "эффективность".
Первые два параметра просчитывает утилита проверки целостности кэш, поэтому время обновления может быть несколько минут.
Последние три, накапливаются за время работы УГ (нигде не хранится) и их можно сбросить кнопкой "Сброс статистики".
В таблице колонка ID заменена колонкой "Длина".
Оцените скорость формирования таблицы! И это с учетом появившейся сортировки!

------------------------------------------------------------------------------------------------
7. Конфигурация пользователя
добавлено:
1. Чек "Разрешен" (тоже что п3 - "Запретить работу". Теперь это часть конфигурации юзера и сохраняется в его свойствах),
2. Радиогруппа "Тип авторизации": "логическая" и "по IP адресу" для явного указания типа авторизации.
Конфигурации прошлых версий автоматически импортируются, определяя вид конфигурации по старому алгоритму.
3. Если установлен тип "по IP адресу" активна кнопка "MAC-addr", жмем получает MAC и вписывает в "Password" таким образом можно авторизировать машину не только по IP но и делать дополнительную привязку к MAC.
Замечание: MAC адрес УГ получает из локальной таблицы ARP. Поэтому нет возможности определить этот адрес для локального IP. Вообщем то это вроде и не нужно.
4. лист E-Mails (см п.1)
5. Динамическое ограничение скорость. Можно указать лимит длины ресурса, по исчерпанию которого скорость уменьшится до указанного значения. Это ограничение будет действовать только том соединении, в котором произошло превышение лимита.
6. фильтры черные и белые (см п.13)
Закладка "Дополнительно"
7. "Разрешенные адреса" если список пустой- любые.
8. "Разрешенные протоколы" - очевидно
9. "Разрешить докачивать", - после превышения ограничений открытые соединения не рвуться
10. "Передача авторизации на каскад" - при соединении с парентом для авторизации на нем используется данные клиента.
11. "Работа по распоряжению" (см п.15)
12. "Учитывать трафик из кэш" во входящий трафик пользователя добавляется все данные из кэш УГ.

------------------------------------------------------------------------------------------------
8. HTTP
Можно указать несколько слушающих портов.
Ну уж сделал, не выбрасывать же...

------------------------------------------------------------------------------------------------
9. DNS
Можно указывать несколько серверов для форворда.
Порядок опроса определяется порядком их указания в конфигурации.
Мониторинг всех запросов/ответов.

------------------------------------------------------------------------------------------------
Добавлена группа конфигурации "Дополнительно"
Туда перенесен "Пароль на закладку настройка", и...

10. "Сохранить конфигурацию", "Загрузить конфигурацию".
Позволяет сохранить\загрузить альтернативные конфигурации УГ не выходя из программы.
Сохраняется далеко на все конфигурация.
Пока только:
- все данные о группах
- все данные о пользователях
те. все остальные системные установки сохранить/загрузить нельзя.
При загрузке, тоже есть тонкости - все существующие группы и пользователи не добавляются и не удаляются.
т.о:
- если в альтернативной конфигурации есть инфа о пользователе(группе) которых нет в текущей конфигурации эта инфа игнорируется
- если в альтернативной конфигурации нет инфы о пользователе(группе) которые есть в текущей конфигурации все данные по ним не изменяются.
В дистрибутив включена утилита LoadConf.exe.
Эту консольную малютку можно запускать из внешнего шедулера, указав параметром имя файла альтернативной конфигурации. Таким образом можно динамически менять настройки УГ на "горячую".
А это и тарифные планы, и ограничения, и фильтры, и расписание итд, итп.....

------------------------------------------------------------------------------------------------
11. "Коррекция трафика"
Есть возможность корректировки трафика для его приближения с трафиком провайдера. Дело в том, что провайдеры обычно считают все физические (Ethernet) байты, в то время как УГ может считать трафик только внутри TCP соединения. При этом в УГ не учитываются байты процедуры соединения, IP,TCP заголовки, АСКи итд. Трафик, посчитанный УГ может оказаться ~на 20% меньше того, что насчитает провайдер. Для минимизации этой разницы, в УГ можно указать, на сколько % увеличить посчитанный трафик.
Коррекция производится только при выводе результатов в таблицы и при проверки ограничений.
В логи честно пишется посчитанный трафик, без учета коррекции.

------------------------------------------------------------------------------------------------
12. "Расчетный день месяца"
Для удобства расчета затрат, есть возможность указать день условного начала месяца.

------------------------------------------------------------------------------------------------
13."Хранить логи (дней)"
Если указать не нулевое кол-во дней УГ будет подчищать каталог "Logging".
Функция по очистке запускается:
- при старте УГ
- при смене дня
- при изменении этого параметра

------------------------------------------------------------------------------------------------
14. Фоновый рисунок.
Ну наконец то!!! Админ может установить голую тетку на все гриды главного окна.
Если соответствующую библиотеку рисунков включить в дистрибутив, можно смело заявлять о выходе первого в мире порно-прокси! :)
А если серьезно, то для тех у кого слабые машины, отключение бакгроунда заметно разгрузит машину.

------------------------------------------------------------------------------------------------
15. Фильтры

Три группы фильтров:
- Глобальные
- Групповые
- Индивидуальные
В каждой группе можно установить независимо черные и белые списки.
УГ проводит проверку фильтров в сл. последовательности
-Индивидуальный белый: попал- разрешен
-Индивидуальный черный: попал- запрещен
-Групповой белый: попал- разрешен
-Групповой черный: попал- запрещен
-Глобальный белый: попал- разрешен
-Глобальный черный: попал- запрещен
-никуда не попал- разрешен
То. админ может в черных фильтрах что-то круто ограничить, а в белом сделать исключения для некоторых ресурсов.
Каждую строку фильтра можно оперативно отключить/включить.
Для сравнения соответствующей подстроки ресурса необходимо указать маску, в которой можно (и нужно) использовать символы '*' и '?'.
Т.е. возможно такое издевательсво на юзером:
"*porno*.gif*" - Ходить на эти сайты можно, а картинки не увидят..

------------------------------------------------------------------------------------------------
16. Измение алгоритма ограничения скорости.
Только одно это стоит новой версии!
Новый алгоритм работает по принципу установки лимита полученных\переданных байт для всех соединений внутри сессии за 100мсек интервал.
Отлично ограничивается мгновенная скорость для всех соединений сессии и абсолютно равномерное распределение по соединениям.
Есть возможность дополнительного ограничения внутри одного соединения.
Косвенное улучшение -этот алгоритм позволил оптимизировать размеры буферов приема-передачи, что увеличило возможную максимальную скорость до теоретических пределов!

------------------------------------------------------------------------------------------------
17. Реализация тикета (работа по распоряжению).
Наверно в зачаточном состоянии....
Для включения пользователю этого режима необходимо установить при его конфигурации соответствующий чек.
После этого его работа будет возможно не только при соблюдении общих ограничений, но и если для него будет выдано распоряжение.
В гриде такой пользователь отображается:
- серый - нет открытого распоряжения
- зеленый - есть распоряжение, работа
- красный - есть распоряжение, лимит выбран
Для выдачи распоряжения (добавления данных) необходимо щелкнуть соотвествующую кнопку или выбрать пункт попап-меню на закладке "пользователи".
В полученном диалоге можно увидеть
- Дата/время выдачи активного распоряжения
- Дата/время последнего изменения активного распоряжения
- Определенные админом лимиты и остатки по:
Исходящий трафик
Входящий трафик
Время
Деньги (у.е)
Деньги (руб)
Могут определятся один или несколько лимитов в полях "Добавить".
После выдачи распоряжения можно только добавить данные к лимитам (изменить нельзя!) или закрыть распоряжение.
При открытии нового распоряжения активна кнопка "Открыть"
При изменении существующего распоряжения активны кнопки "Добавить","Закрыть".

Все изменения по распоряжениям логинятся в UserGate.lgt. УГ его пока никак не использует.

------------------------------------------------------------------------------------------------
18. Принудительная логическая авторизация.

Если машина авторизирована на УГ по IP не было никакой возможности для обычного браузера произвести по HTTP
логическую авторизацию.
Для отключения на УГ авторизации по IP необходимо к URL дописать "%login%".
Например "http://www.rambler.ru/%login%".
При получении в конце URL такой подстроки, УГ игнорирует авторизацию по IP, а значит клиент сможет ввести логические свойства обычным образом.

------------------------------------------------------------------------------------------------
19. Для PortMapping возможность авторизации по IP, а не только прямым указанием юзера.

------------------------------------------------------------------------------------------------
20. Закрыта дыра в http-сервере.- возможность доступа к файловым ресурсам выше /wwwroot.

------------------------------------------------------------------------------------------------
21. Единая для всех протоколов процедура авторизации. Внутренние дела, но все должно быть лучше.
Например, если по Socks юзера можно авторизировать по IP, клиенту предлагают еще и ананимную авторизацию.
------------------------------------------------------------------------------------------------
Это все что вспомнил, но не все что сделано....