Настройка удаленного ведения журнала SQL Server для Forefront Threat Management Gateway (TMG) 2010

Опубликовано: 7 Апреля, 2023

Введение

Forefront Threat Management Gateway (TMG) 2010 поддерживает ряд различных параметров ведения журналов для удовлетворения потребностей администраторов. По умолчанию TMG настроен на запись в локальную базу данных SQL Express, которая устанавливается вместе с TMG. Ведение журнала в этот локальный экземпляр SQL допустимо в большинстве случаев, но у него есть некоторые серьезные недостатки. С точки зрения производительности SQL Express может быть потенциально ограничивающим. Он потребляет значительное количество системных ресурсов брандмауэра TMG (ЦП, ОЗУ, дисковый ввод-вывод), что может снизить производительность. Кроме того, локальное хранение всех данных журнала TMG также создает некоторые проблемы. Например, если вы восстанавливаете моментальный снимок виртуальной машины (ВМ) или выполняете восстановление до последней известной работоспособности или до заводских настроек по умолчанию на устройстве, большая часть или все данные вашего журнала будут потеряны. Чтобы решить эти проблемы, я рекомендую настроить Forefront TMG для ведения журнала на удаленный сервер SQL. Ведение журнала на удаленном SQL-сервере снижает потребление ресурсов брандмауэром TMG, высвобождая ценные циклы ЦП и ОЗУ для обработки сетевых запросов. Если данные журнала хранятся удаленно, восстановление моментального снимка ВМ или сброс устройства не приведет к потере данных журнала. Кроме того, хранение данных журнала Forefront TMG в базе данных SQL обеспечивает более гибкую отчетность, а также более высокую доступность и улучшенную избыточность данных по сравнению с параметрами локального ведения журнала. В этом месяце я подробно расскажу, как подготовить SQL-сервер к приему данных журналов из Forefront TMG, и продемонстрирую, как настроить Forefront TMG 2010 для удаленного ведения журналов SQL-сервера.

Настроить SQL-сервер

Мы начнем с настройки сервера SQL для приема данных журнала от брандмауэра Forefront TMG. Для начала нам нужно сначала создать саму базу данных. Для этого откройте консоль SQL Server Management Studio, откройте новое окно запроса и выполните следующие команды:

создать базу данных [tmglogs] перейти использовать [tmglogs] перейти

Затем получите два сценария SQL для создания таблиц журналов TMG из брандмауэра TMG, расположенного в папке C:Program FilesMicrosoft Forefront Threat Management Gateway. Скопируйте файлы fwsrv.sql и w3proxy.sql на сервер SQL. В консоли SQL Server Management Studio нажмите CTRL+O и откройте каждый файл сценария SQL, а затем нажмите F5, чтобы выполнить их. Убедитесь, что вы выполняете эти скрипты в базе данных tmglogs ! Вы можете убедиться, что это произойдет, добавив use tmglogs в начале скриптов перед их выполнением. После завершения будут созданы таблицы для журналов веб-прокси и брандмауэра, созданных брандмауэром TMG.

Изображение 10476
фигура 1

Далее мы создадим логин SQL для брандмауэра TMG для доступа к новой базе данных. В обозревателе объектов консоли SQL Server Management Studio разверните Security, затем щелкните правой кнопкой мыши Logins и выберите New Login.

Изображение 10477
фигура 2

Выберите вариант использования аутентификации Windows и введите имя учетной записи службы TMG SQL в формате доменимя пользователя. В нижней части диалогового окна выберите tmglogs для базы данных по умолчанию.

Изображение 10478
Рисунок 3

Теперь выделите User Mapping, выберите базу данных tmglogs и выберите роли базы данных db_datareader и db_datawriter.

Изображение 10479
Рисунок 4

В обозревателе объектов консоли SQL Server Management Studio разверните Databases, разверните базу данных tmglogs и затем Security. Щелкните правой кнопкой мыши Роли и выберите Новая роль базы данных.

Изображение 10480
Рисунок 5

Введите db_batch_insert в качестве имени роли и добавьте учетную запись службы TMG SQL в качестве члена этой роли.

Изображение 10481
Рисунок 6

Наконец, откройте новое окно запроса в консоли SQL Server Management Studio и выполните следующие команды:

используйте [tmglogs] go, предоставьте выполнение на [dbo].

Настройка ведения журнала Forefront TMG SQL

Чтобы включить удаленное ведение журнала SQL-сервера в Forefront TMG 2010, необходимо включить правила системной политики, чтобы разрешить эту связь. Щелкните правой кнопкой мыши «Политика брандмауэра» в дереве навигации и выберите «Все задачи», «Системная политика», а затем «Редактировать системную политику». В папке «Ведение журнала» выделите «Удаленное ведение журнала (NetBIOS)» и выберите «Включить эту группу конфигурации».

Изображение 10482
Рисунок 7

Для обеспечения наивысшего уровня безопасности выберите вкладку «Кому», удалите пункт назначения «Внутренняя сеть» по умолчанию и создайте объект-компьютер для удаленного SQL-сервера. Повторите эти шаги для правила системной политики Remote Logging (SQL), затем сохраните и примените конфигурацию.

Изображение 10483
Рисунок 8

В консоли управления Forefront TMG 2010 выделите Журналы и отчеты в дереве навигации и щелкните Настроить ведение журнала брандмауэра на панели Задачи.

Изображение 10484
Рисунок 9

На вкладке «Журнал» выберите вариант использования базы данных SQL и нажмите «Параметры». Введите имя сервера SQL и имя базы данных. Я настоятельно рекомендую вам оставить выбранной по умолчанию опцию Принудительное шифрование данных, поскольку данные журнала TMG содержат потенциально конфиденциальную информацию и должны быть всегда защищены. Однако имейте в виду, что для включения шифрования может потребоваться дополнительная настройка вашего SQL-сервера. Выберите параметр Использовать аутентификацию Windows и введите имя пользователя и пароль для учетной записи службы TMG SQL. Щелкните Тест, чтобы проверить соединение с удаленной базой данных SQL-сервера.

Изображение 10485
Рисунок 10

После успешной проверки подключения к удаленному SQL-серверу нажмите «ОК». Вы получите предупреждение о том, что отчеты не могут быть созданы при использовании параметра ведения журнала удаленного SQL-сервера. Мы обсудим это более подробно позже.

Изображение 10486
Рисунок 11

После того, как вы завершили включение ведения журнала брандмауэра на удаленный сервер SQL, повторите описанные выше шаги для ведения журнала веб-прокси. Чтобы убедиться, что данные журнала Forefront TMG заполняются в базе данных удаленного сервера SQL, вы можете выполнить следующую команду SQL:

используйте [tmglogs] go select * from webproxylog orderby logtime desc go

Панель результатов должна отображать зарегистрированные данные в таблице. Обратите внимание, что поле ClientIP будет содержать данные, не похожие на типичный IPv4-адрес. Это связано с тем, что поле настроено для поддержки IPv6. Данные в поле на самом деле представляют собой IPv4-адрес, представленный в шестнадцатеричном формате и дополненный. Чтобы преобразовать эти данные в знакомую десятичную запись с точками, вы можете скачать SQL-скрипт здесь.

Изображение 10487
Рисунок 12

Очередь журналов

Хотя удаленное ведение журнала SQL-сервера поддерживалось в более ранних версиях ISA-сервера, это не было реальным вариантом из-за архитектуры ядра брандмауэра того времени. В ISA по умолчанию служба брандмауэра останавливалась, если не могла записать в источник журнала. Для локального текстового файла никогда не было проблем. Однако при работе с удаленным SQL-сервером существует множество факторов, которые могут помешать брандмауэру выполнять запись в базу данных. Это может быть вызвано занятостью SQL-сервера, что может произойти, когда SQL-сервер используется совместно многими ресурсами. Это также может быть вызвано сетевой задержкой и перегрузкой. В Forefront TMG была переработана вся инфраструктура ведения журналов и введена локальная очередь журналов. При локальной очереди журналов каждый раз, когда база данных журналов недоступна, данные журнала будут храниться в локальном временном файле и записываться обратно в базу данных, как только она снова станет доступной. При использовании удаленного SQL-сервера для ведения журналов рекомендуется просмотреть параметры очереди журналов, чтобы убедиться, что они настроены в соответствии с рекомендациями. По умолчанию локальная очередь журналов настроена на хранение данных в системном разделе, что является плохой идеей. В идеале очередь журналов должна быть сконфигурирована для записи в отдельный выделенный раздел с достаточным свободным пространством для поддержки длительных простоев сервера базы данных. Вы можете найти настройки локальной очереди журналов, выделив Журналы и отчеты в дереве навигации консоли управления TMG, а затем выбрав Настроить очередь журналов на панели Задачи.

Несколько слов об отчетности

Как вы заметили ранее, при настройке Forefront TMG 2010 для ведения журнала на удаленный сервер SQL вы теряете возможность создавать отчеты с помощью собственных средств создания отчетов TMG. Для большинства это не проблема, так как собственные инструменты отчетности оставляют желать лучшего. На самом деле, многие клиенты, для которых я внедряю удаленное ведение журнала SQL-сервера, делают это специально для создания собственных настраиваемых отчетов на основе зарегистрированных данных SQL. Если у вас есть навыки составления отчетов SQL, вы обнаружите, что создавать собственные отчеты не так уж и сложно. Если вы хотите воспользоваться преимуществами удаленного ведения журнала SQL-сервера, но не хотите создавать свои собственные отчеты, взгляните на TMG Reporter от Fastvue. Он предоставляет детализированные, очень подробные и интерактивные отчеты, а также интегрируется с конфигурациями удаленного ведения журнала SQL-сервера.

Резюме

Ведение журнала удаленного SQL-сервера для Forefront TMG 2010 обеспечивает ряд важных преимуществ по сравнению с параметрами локального ведения журнала по умолчанию. Ведение журнала на удаленном SQL-сервере потребляет меньше системных ресурсов на брандмауэре TMG и обеспечивает более высокую доступность регистрируемых данных при выполнении восстановления моментального снимка виртуальной машины или сброса устройства. Он также предоставляет более гибкие параметры отчетности, позволяя администраторам создавать настраиваемые отчеты по своему вкусу, а также поддерживает интеграцию с популярными сторонними инструментами отчетности. Если вы не используете ведение журнала удаленного SQL-сервера для развертывания брандмауэра Forefront TMG 2010, вы многое упускаете! Сделайте это сегодня… вы будете рады, что сделали это.