Asp программа ведения журнала


Содержание

Структура ведения журнала для приложения ASP.NET

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

2 — Блок регистрации протоколов

Каково ваше мнение об этих инструментах журнала? Какая хорошая структура (или способ реализации) регистрируется в моем приложении?

* После обсуждения с менеджером проекта, регистрационный блок приложений будет наш выбор, но, давайте прокомментировать это =)

Оба log4net и Application Application Block являются допустимыми. Я думаю, что ELMAH в основном сосредоточен на регистрации ошибок, поэтому, вероятно, вы не хотите (единственное).

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

Я бы, вероятно, регистрировался с помощью log4net и журнальных исключений с помощью ELMAH. Он может регистрировать необработанные исключения вручную, и любое исключение, которое вы поймаете и обрабатываете в своем приложении, может быть зарегистрировано с помощью одного вызова ELMAH. Это может показаться двойной регистрацией (и это:-)). Но очень важно иметь журнал ELMAH, когда что-то неожиданное провалилось в вашем приложении.

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

Мои мнения о различных рамках:

Log4Net — Полюбите его. Это система регистрации, которую я использую чаще всего. Все довольно легко начать. Он также очень гибкий и позволяет вам записывать практически все.

Журнал регистрации приложений — также хороший вариант. Я по-прежнему предпочитаю Log4Net (но причины в основном личные).

Elman — отлично подходит для входа в приложение ASP.NET для регистрации исключений. Тем не менее, для общего ведения сообщений я все равно поеду с Log4Net.

И я предполагаю, основываясь на своих мнениях, что я предлагаю вам сделать.

И если нет, используйте Log4Net и создайте адаптер, который вы можете использовать в своем приложении, чтобы сделать запись простой.

Аппаратные журналы

Log4Win — аппаратный журнал любительской радиостанции

10-10-2020

Новая версия программы 19.10.0.0

  • Исправлен импорт АДИФ на сервер eQsl.cc (моды FT4 и PSK63)
  • Добавлена поддержка работы с программой WSJT-X новыми модами.
  • Дополнены фильтры по модуциям в телнет кластере
  • Добавлена мода FT4
  • Обновлена CW engine
  • Исправлена работа с ClubLog сервисом
  • Обновлена база QSL manages и адресов
  • Исправлены ошибки программы

Новая версия LogHX v.15

Обновление аппаратного журнала LogHX. Очень много нового. Более подробная информация на сайте.

Modern Hamradio Log — Log4WinNet

Начата с апреля, разработка нового лога пока только под Windows — Log4WinNet В данный момент лог находится в состоянии разработки . Новизна лога в том, что он использует: Во-первых это Docking Windows (Tabbed Windows Interface) — которые позволяют сохранять свое положение автоматически. То, что называется персистент окна. Во-вторых это использование LINQ технологии для доступа к базе данных, что значительно упрощает многие операции. Данный лог использует новые технологии такие как .NET Framework 3.5 SP1 + Firebird database embed server и при желании может быть легко спортирован на платформу Mono под Linux. В этом главное преимущество.

Основные возможности:

          • Учет и сортировка радиосвязей по различным критериям
            Автоматическое определение QTH локатора DXCC префикса, WAZ, ITU зон,
            расчет расстояния до коррепондента, азимута антенны прямого и обратного
            (SP, LP)
          • Проверка позывного на повторы (по диапазонам,режимам работы)
          • Возможность составлять итоговую статистику по DXCC, Callsign при вводе позывного
          • Отображение связи корреспондента на карте
    • Одна база для контестов и повседневной работы разделенная по номерам логов
    • Поддержка VF — SOFT RAC Callbook, RIC Callbook, QRZ CD Callbook
    • Загрузка фотографий корреспондентов с QRZ.COM, QRZ.RU, RIC сайтов
    • Возможность гибко перестраивать некоторые функции с помощью «Setup — Dialog Window»
    • Возможность импорта QSO из ADIF формата

    • Экспорт лога в ADIF формат
    • Встроенная база данных QSL менеджеров
    • Возможность работы в режиме BPSK, MFSK,RTTY и другими цифровыми видами связи (используется MMVARI.OCX от Мако Mori JE3HHT) ;
    • Широкий выбор в настройке макросов (Окно «Цифровой Интерфейс» — Правка Макросов)
    • Работа в ДХ Кластерах
  • Поддержка Web DX Clusters
  • и многое другое в процессе развития программы .

Обновление программы

  • Исправлена ошибка создания лога и импорта АДИФ (Open ADIF) (TNX RW3DY)
  • Исправлена ошибка при импорте АДИФ (Save to DB) (TNX RW3DY)
  • CheckLog Free Trial Version

    Специальная сборка бесплатной пробной версии CheckLog — анализатора журналов радиолюбительской радиостанции:

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

    Программа CheckLog предназначена для статистического анализа данных, накопленных в аппаратных журналах любительской радиостанции. Позволяет наглядно ранжировать страны и территории по показателям «подтверждаемости связей» и выводить эту информацию в компактной и наглядной форме. Формирует списки исходящих QSL, позволяя из общего массива связей выбрать те и только те, которые уже подтверждены корреспондентами (традиционными QSL-карточками или в электронном виде на серверах ARRL Logbook of the World и eQSL.cc).

    • загрузка журналов из файлов формата ADIF (стандартного для выгрузки из любых лог-программ);
    • формирование внутреннего справочника позывных (коллбука) на основании информации, содержащейся в загруженных журналах;
    • сверка внутреннего справочника с внешними источниками информации (базой пользователей eQSL, LoTW, списком членов СРР и пользующихся услугами бюро СРР, и т.п);
    • формирование списка связей, ожидающих подтверждения — в будущем с передачей на печать карточек, адресную индивидуальную отсылку email-qsl, и т.п.;
    • анализ статистики по журналам в разрезе стран и территорий: проведенные QSO, полученные подтверждения, ранжирование территорий по показателям подтверждаемости связей.

    CheckLog — анализатор журналов любительской радиостанции

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

    • загрузка журналов (сейчас реализована загрузка из файлов формата ADIF — стандартного для выгрузки из любых лог-программ)
    • формирование внутреннего справочника позывных (коллбука) на основании информации, содержащейся в загруженных журналах
    • сверка внутреннего справочника с внешними источниками информации (базой пользователей eQSL, LotW, списком членов СРР и пользующихся услугами бюро СРР, и т.п)
    • формирование списка связей, ожидающих подтверждения — в будущем с передачей на печать карточек, адресную индивидуальную отсылку email-qsl, и т.п.
    • анализ статистики по журналам в разрезе стран и территорий: проведенные QSO, полученные подтверждения, ранжирование территорий по показателям подтверждаемости связей.

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

    Проект развивающийся. временные ключи активации выдаются бета-тестерам (на время проведения тестирования) Постоянные (бессрочные) ключи активации выдаются операторам, внесшим пожертвования на дальнейшую разработку (размер и условия — на официальном сайте программы, http://checklog.jimdo.com).

    LoggerXP

    Проект более не поддерживается

    Приложение » LoggerXP» обладает следующими базовыми возможностями (без учёта плагинов):

    • Ведение нескольких журналов;
    • Объединение одного журнала с другим;
    • Встроенная база данных префиксов, QSL-бюро, QSL-менеджеров;
    • Возможность обновления базы данных QSL-менеджеров, их адресов и адресов QSL-бюро из dbf-файлов от приложения «UR5EQF LOG»;
    • Проверка на повторные QSO по позывному, по континенту и по стране (по списку DXCC);
    • Проверка на повторные QSO во всех журналах;
    • Определение расстояния до корреспондента, долготы, широты, ITU, CQ-зон, континента, территории, азимута;
    • Определение местного времени у корреспондента (для разных часовых поясов без учёта лето/зима);
    • Очередь печати QSL-карточек;
    • Определение QTH-локатора корреспондента;
    • Определение координат и QTH-локатора пользователя по GPS-навигатору;
    • Редактирование одновременно нескольких записей;
    • Сортировка записей;
    • Фильтрация записей;
    • Импорт и экспорт данных ADIF-формата;
    • Резервное копирование данных;
    • Работа с внешними базами данных позывных (колбуками) и их редактирование;
    • Редактирование внутренних баз данных;
    • Создание архивов журналов и работа с ними;
    • Работа на различные дипломные программы;
    • Автоматическое обновление записей в дипломах при их редактировании в журналах;
    • Автоматическое заполнение дипломных программ, в том числе и RDA (при установленном плагине «RDA автоматизация»);
    • Статистика (кол-во QSO, кол-во подтверждённых QSO и др.) по дипломам;
    • Статистика по странам с возможностью настройки и печати данных;
    • Создание отчётов, отчётов на дипломы;
    • Отправка отчётов по электронной почте;
    • Экспорт отчётов в текстовый файл;
    • Печать данных (журналов, отчётов), заполненных QSL-карточек;
    • Отправка QSO на сервер eQSL и подтверждение QSO с этого сервера с загрузкой изображений QSL-карточек;
    • Подтверждение с LoTw;
    • Автоматическая трансляция Ru/En — символов везде, где это необходимо (например, при вводе позывного);
    • Карта мира;
    • Работа с DX-кластерами по протоколу Telnet;
    • Карта диапазона (BandMap);
    • Работа телеграфом с выводом CW-посылки в COM-порт компьютера;
    • Быстрый переход между окнами при нажатии F11 с возможностью настраивать список переходов;
    • Магнитофон с неограниченным количеством записываемых аудиофайлов;
    • Анализатор спектра с полосой обзора 4 кГц;
    • Управление антенным коммутатором;
    • Управление поворотным устройством (самодельным, YAESU, AlfaSpid);
    • Автоматический поворот антенны на корреспондента (по азимуту);
    • Управление трансивером (без специального плагина доступен только PTT-интерфейс);
    • Многопользовательский режим работы на одном компьютере;
    • Настраиваемые меню, панели инструментов, таблицы;
    • Возможность скрывать некоторые окна без потери их функциональности;
    • Сохранение открытых ранее окон;
    • Мастер переноса данных и параметров;
    • Поддержка модулей расширения (плагинов);
    • Возможность запуска внешних программ;
    • Органайзер;
    • Управление трансивером по CAT, автоопределение района RDA, прогноз погоды и многое другое.

    BBLogger

    Удобный бесплатный аппаратный журнал от итальянского радиоклуба секции Бусто Арсицио IQ2VA. Имеет весь необходимый набор функционала для управления QSO/SWL:

    • создание записей журнала с запросами в Callbook: RAC / Worldcall / Radamato / QRZ.com (только для подписчиков) / HamQTH (бесплатно)
    • поддержка нескольких пользователей и нескольких журналов
    • импорт и экспорт файлов ADIF
    • интегрированный пакетный кластер
    • поддержка терминала BBTerm для работы цифровыми видами связи RTTY, PSK31/63/125, FSK, MFSK16, GMSK
    • поддержка языков: итальянский, английский, немецкий, французский, испанский
    • управление более чем 150 дипломными программами
    • полностью автоматический обновления программы и карт


    UR5EQF Log 3

    UR5EQF_log v.3 — это программа для ведения аппаратного журнала любительской радиостанции. Имеет удобный интерфейс и большой набор инструментов.

    Основные функции:

    • Работа с DX-кластером
    • Работа цифровыми видами связи
    • Управление трансивером
    • Хранение нескольких логов для одной станции как единого лога. Для примера, можно вести один лог для повседневной работы, и несколько логов для различных контестов.
    • Хранение логов разных радиостанций с описанием каждого лога. Если в Вашей семье больше одного радиолюбителя, или программа используется в клубе, то UR5EQF_log позволит каждому из пользователей вести статистику по дипломам, независимо друг от друга

    QSL — studio 2011

    Программа «QSL — studio 2011» предназначена для разработки и печати заполненных QSL-карточек и наклеек. При помощи «QSL — studio 2011» вы можете создавать красочные QSL-карточки и наклейки буквально за несколько минут. Программа работает на операционной системе Windows 2003/XP/Vista/7/2008/8/9/10 и т.д.. Программа имеет русский и английский пользовательский интерфейс.

    • Современный и удобный пользовательский интерфейс;
    • Полная совместимость с ОС Windows Vista и старше ;
    • Простота и удобство в работе;
    • Возможность создавать к расочные QSL- карточки или наклейки любого размера;
    • Наличие сетки с изменяемым шагом;
    • Встроенная коллекция рисунков (клипартов) радиолюбительской тематике;
    • Масштабирование во время разработки
    • Печать на одном листе нескольких QSL- карточек или наклеек;
    • Сохранение QSL- карточек в виде рисунков различных форматов;
    • Возможность пропускать «посадочные» места QSL- карточек и наклеек с указанным номерами (например, при печати на стандартных листах наклеек);
    • Установка интервала между наклейками;
    • Печать номеров QSL- карточек (наклеек);
    • Масштабирование при печати.
    • Наличие репозитория для хранения ранее созданных компонентов с целью их повторного использования;
    • Наличие списка компонентов для быстрого доступа к ним;
    • Печать заполненных QSL-карточек из ADIF-файла или на основе QSO введённых вручную;
    • Печать заполненных QSL-карточек на основе данных очереди печати UR5EQF Log;
    • Печать заполненных QSL-карточек на основе данных очереди печати HRD Logbook;
    • Печать заполненных QSL-карточек на основе данных очереди печати AALog;
    • Печать заполненных QSL-карточек на основе выбранных QSO LogHX
    • Подготовка QSO для печати включающая в себя: редактирование, сортировку по территориям DXCC и другим признакам;
    • Печать QSO из ADIF-файла;
    • Экспорт созданной карточки в формат для типографской печати;
    • Русский и английский пользовательский интерфейс.

    Простой радиолюбительский журнал c функцией отправки QSL по электронной почте

    Э лектронный журнала радиолюбителя RV6AMZ. Простой, не требует установки на компьютере, нужен только доступ в Интернет. Работает в любой операционной системе, даже на Андроиде.

    • Работает в любом браузере — IE, Opera, Chrome, Mozilla и т.д.;
    • Журнал защищен паролем, т.е. работа возможна после ввода логина и пароля;
    • Выбор часового пояса (местное время или UTC) или ввод даты и времени вручную;
    • Возможность добавлять комментарии к QSO;
    • Поиск QSO по дате и времени, позывному или другому условию;
    • Функция вывода данных радиолюбителя «на лету», т.е. не дожидаясь нажатия кнопки «Ввести»;
    • Резервирование (выгрузка и загрузка) лога в собственном формате или формате .adif;
    • Есть возможность ведения отдельного журнала для контестов.
    • Возможность редактирования или удаления записи в журнале.
    • Просмотр всего лога журнала и вывода его на принтер.
    • Отправки QSL-карточек по электронной почте.
    • Личный кабинет для изменения собственных данных.

    RU3DKV Log

    Простой аппаратный журнал. Не требует инсталяции. Запускается экзешным файлом. Возможности в командной строке.

    SWL Contest Logger

    Программа предназначена для ведения лога соревнований радиолюбителями-наблюдателями.

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

    Ничего лишнего. Простая в использовании, интуитивно понятная программа. Легко и быстро осваивается, после первой тренировки, вы уже готовы к работе с ней в соревнованиях! C помощью данного логгера ведется учет связей (наблюдений) как односторонних, так и двухсторонних с последующей выгрузкой отчета в файлы форматов «ЕРМАК» и «CABRILLO v.3.0». Ведется автоподсчет очков. Для обмена с другими логгерами или загрузке на E-QSL, LoTW и других целей, предусмотрена выгрузка в формат «ADIF».

    LogVHF

    Программа LogVHF представляет собой аппаратный журнал участника УКВ соревнований. Поводом для её создания явилось желание облегчить процессы участия в самих соревнованиях и составления отчётов. Так же хотелось иметь интуитивно понятный интерфейс самого журнала, содержащего в себе только необходимые поля ввода и кнопки управления.

    LogVHF это:

    • простота установки и настройки;
    • интуитивно понятный интерфейс;
    • поддержка соревнований с турами;
    • возможность добавления тестов в базу;
    • отслеживание повторов и по турам;
    • автозаполнение при повторных связях;
    • определение азимута и расстояния;
    • отображение текущего результата;
    • составление отчёта одним кликом;
    • бесплатная регистрация для СНГ.

    Программа работает в оболочках операционных систем Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1 Blue.

    MacLoggerDX

    Автор программы Don Agro — VE3VRW, Канада, Онтарио, Торонто.

    Программа для MACINTOSH — 33,3 mB Программа платная 95 — USD

    IHR — Аппаратный журнал радиолюбителя

    Описание: В новой версии 8.1 исправлены ошибки и добавлен расширенный режим статистики проведенных QSO. Добавлено отдельное статистическое окно для более наглядной информации. ВНИМАНИЕ!! !Перед использованием новой версии необходимо удалить старую версию программы Аппаратный журнал радиолюбителя IHR 8.0 Программа полность бесплатная, пользуйтесь без каких либо ограничений. Инсталляция программы не требуется, распакуйте архив и запускайте файл RadioJurnal . Целью при создании данной программы ставилось — доступность и простота в использовании. Программа расчитана как на продвинутого пользователя так и на пользователя не профессионально владеющего компьютером и проводящиго связи в основном телефоном и телеграфом. Программа обладает всеми основными необходимыми возможностями для ведения журнала проведенных QSO. Есть возможность работы на дипломы, создание описания дипломов, условий выполнения и т.д. (подсчет очков и занесения данных автоматизированы). Имеются базы данных по Именам, QTH, RDA районам, все они пополняются вашими данными и сохраняются при дальнейшей работе. Ввод данных, автозаполнение полей и показ информации по последнему проведенному QSO максимально облегчен за счет возможности использовать при работате экранную клавиатуру, что значительно упрощает внесение данных не отвлекаясь на работу с помощью обычной клавиатуры, достаточно манипулировать одной рукой с помощью мышки. Есть возможность редактирования данных непосредственно в журнале записей. Процесс редактирования схож с работой в распространенных текстовых редакторах, что упрощает работу в режиме редактирования. Возможен показ повторений при совпадении позывных (можно автоматически), есть режим выборки данных на странице по любому заданному параметру. Возможны настройки цветовой схемы журнала под «себя»- позволяет подобрать цвета с которыми Вам приятно работать. Справка по работе с программой (F1) и всплывающие подсказки помогут быстро освоить как и что делать. Сохранение страниц журнала, и дополнений осуществляется напрямую в файл с собственными расширениями ,в текстовом формате и возможен экспорт/импорт в Excel формат. Возможна отправка сообщений по электронной почте файлов непосредственно из программы (используется программа установленная в системе по умолчанию).Добавлена возможность работы с режимом «увеличительное стекло» для людей с плохим зрением. Все Ваши предложения присылайте по Email указанному в программе (смотрите «О программе!»). В последней версии программы добавлена возможность при постоянном подключении интернета просматривать данные о корреспонденте из базы QRZ.RU и встроен минибраузер, появились некоторые сервесные функции облегчающие работу, добавлено положение Земля/Луна/Солнце на дополнительной карте в режиме реального времени, появилась функция дублирования базы данных на случай отказа системы, а в основном программа осталась простой и доступной.

    Исправлены ошибки сценария минибраузера при выполнении запросов

    Для обновления программы необходимо: В папке IHR на диске ( C:IHR ) удалить файл Nastroiki.ihrN, далее распаковать архив в удобное для Вас место и запускать файл RadioJurnal из этой папки. 73! До встречи на Banda’x.

    SLog + Logsearch

    Logsearch 1.0 (от 05.01.2006, 11 килобайт) Java-апплет для доступа к аппаратным журналам и результатам соревнований, размещенным в сети Интернет Технология установки апплета на web-странице для поиска в логах.

    SLog v4.20 (от 04.12.2005) · Исправлено проставление частот на карте диапазона 10 МГц при открытии окна карты (при включенном опросе трансивера) · Упрощено отображение статистики отработанных территорий — выделение цветом (желтый — wkd, зеленый — cfm) · Мастер экспорта данных в файлы форматов ADIF, TEXT, QRZ COM (письмо-запрос на сервер) · Мастер импорта данных из файлов формата ADIF, N6TR, QRZ COM (ответное письмо с сервера). · Время опроса трансивера увеличено до 500 мс · Перетаскивание мышкой: окна «Трансивер» на панель в нижней части, окна «Карта диапазона» на панель в левой части, окна «DX Cluster» на панель в верхней части основного окна.

    «AALog» А. Анипкина (RZ4AG)

    • ПОДРОБНЕЕ

    Ведение множества аппаратных журналов с разными позывными с описанием каждого лога. Работа с несколькими аппаратными журналами как с одним. Онлайновый и оффлайновый режимы ввода QSO. Подробный список префиксов. Проверка базы данных на повторные QSO. Редактирование данных о QSO. Вычисление направления антенны и расчет расстояния до корреспондента. Сортировка связей внутри лога по времени, позывному, диапазону и виду излучения. Экспорт аппаратного журнала в текстовый файл и в формат ADIF. Экспорт наклеек на QSL-карточки в текстовый файл и печать из программы. Сбор файла с данными о связях из нескольких логов. Импорт данных из логгера OH1AA, любого текстового файла с жестко заданными позициями для каждой характеристики связи. Использование внешних радиолюбительских баз данных QMGR, QSL Routes, QRZ CD-ROM. Контекстная помощь. Печать аппаратного журнала. Учет стран по списку DXCC, учет зон по WAZ. Поддержка телеграфа с помощью программы CWType by Sergey Podstrigaylo. Наложения сложных фильтров на записи в аппаратном журнале. Данная версия программы для Российских радиолюбителей распространяется бесплатно.

    XLog от AGW labs

    • ПОДРОБНЕЕ

    Ведение журнала регистрации QSO. Возможность редактирования и удаления регистрационной записи; Записная книжка с автоматической вставкой времени и даты; Автоматическая регистрация времени и даты (UTC); Запоминание всех введенных имен, QTH и возможность последующего быстрого их ввода по первым буквам (имеется возможность редактирования этих списков); Отображение по префиксу названия страны, расстояния до нее, номеров CQ- и ITU-зон; Виртуальная панель трансивера позволяет выставить частоту, режим работы и при работе на одной частоте избавляет от необходимости каждый раз вводить эти параметры; Возможность сортировки записей по нескольким полям; Поддержка двух баз данных позывных «QRZ!» и «R&R Visual (1997)» с автоматической подстановкой в журнал имени и QTH корреспондента, и многое другое.

    CQLog О. Силкина (RA3DCT)

    • ПОДРОБНЕЕ

    CQLog — аппаратный журнал радиолюбителя который поможет вести учет радиосвязей, рассылать QSL почту, вести статистику по многим радиолюбительским дипломам (возможет учет статистики для LoTW и eQSL). Каждый раз при вводе позывного Вы быстро узнаете инициалы корреспондента из баз данных QRZ, RAC и RIC, получите сообщение о повторной радиосвязи, будут отображены территория мира, зоны, QTH локатор, координаты, расстояние и направление антенны. При вводе имени и QTH предлагается список предполагаемых значений (имеется возможность его редакции).
    Поддержка RAC, QRZ, GOLIST и Russian Internet Callbook (RIC) с возможностью автоматического заполнения полей имени и QTH. Внутренняя база данных по менеджерам (более 13 тыс.).
    DX-Календарь, с возможность поиска спотов в базе данных DX-Summit, поможет отследить каких DX’ов можно «сегодня» услышать, а DX-Submit позволит отправить DX-информацию в кластер.
    При проведении SSTV QSO имеется возможность сохранения принятой картинки, обмен картинками с SSTV программами через Clipboard.
    Имеется двусторонний обмен данными с MixW2 и DigiPan; прием данных из CwGet и TrueTTY; интеграция с DX Atlas и экспорт данных на eQSLcc в реальном времени.
    Программа позволяет производить различные сортировки и упорядочивания для чего достаточно подвести указатель мыши на заголовок таблицы и нажать левую или правую кнопку. Имеется хорошая система поиска данных в журнале с помощью соответствующего окна.
    Учет выполнения дипломов DLD, DXCC, HOLYLAND, IOTA, RRA, P-100-O, RDA, WAS и WAZ по диапазонам и видам излучения CW, SSB и DIGITAL, а также два вида излучения на выбор (печать заявок). Ведется учет QSOs с членами клубов DIG и VETERAN.
    Печать заявок, списков, отчетов, наклеек на QSL – карточки и конверты, а также пересылка данных для печати QSL – карточек в Microsoft Word. Дополнение базы по QSL-менеджерам из файлов «425 DX News».
    Работа в соревнованиях (печать отчета), с помощью переключателей можно настроить журнал практически на любые соревнования. Виртуальная панель приемника и цифровой магнитофон. Поддержка CAT системы для YAESU, ICOM, KENWOOD и Ten-Tec.
    Программа имеет контекстно-зависимый Help, т.е. установив курсор на поле ввода, кнопку или иной элемент активного окна и, нажав клавишу F1 — на экран будет выведена справка по интересующему элементу.

    Операционная среда Windows 9x, 2000, ME, NT, XP. Для выполнения программы с нормальной скоростью требуется, по крайней мере, 486-й процессор и наличие как минимум 16 Мбайт памяти. Для установки программы требуется около 19 Мбайт памяти на жестком диске.
    Отвечу на все вопросы только при наличии SASE или по E-mail: support@cqlog.com Часто бываю на частоте 3.733.00

    Адрес автора: 140501, Московская обл., г.Луховицы-1, а.я. 73 Силкин Олег

    Правильный/профессиональный способ ведения журнала в приложениях ASP.NET на сервере IIS

    Мы разрабатываем приложение ASP.NET и настроили сервер IIS в нашей сети для тестирования развертывания. Сервер IIS управляется нашей ИТ-службой, и у нас есть только необходимые разрешения для публикации приложения ASP.NET.

    Уже используя log4net в других .NET-проектах, я хотел использовать его здесь, чтобы получить информацию об отладке, что-то не так на этом сервере. Поэтому я попросил группу ИТ-специалистов настроить каталог на сервере, который:

    • Пользователь IIS (IIS APPPOOL) имеет права на запись для
    • У разработчиков есть права на чтение для
    • не находится в каталоге приложения

    Это привело к тому, что разработчики (мы) и команда ИТ-специалистов ответили «назад и вперед», заявив, что «это не правильный или профессиональный способ ведения журнала», и мы должны входить в журнал IIS вместо этого ,

    Я нашел один вопрос о StackOverflow , который вдохновил нас на внедрение Appender, который вызывает Response .AppendToLog и зарегистрированные в журнале сообщения отображаются в журнале IIS, но со всеми пробелами, замененными на «+», что делает такие вещи, как трассировки стека, в основном нечитаемыми.

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

    Поэтому мой вопрос:


    Правильно ли наша ИТ-служба, и что мы делаем, «непрофессионально»? И если да, то что является более профессиональным способом ведения журнала для приложений, работающих на сервере IIS.

    Структура ведения журнала для приложения ASP.NET

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

    2 — Logging Application Block

    Что вы думаете об этих бревенчатых инструментов? Какая хорошая структура (или способ реализации) регистрируется в моем приложении?

    * После обсуждения с руководителем проекта, Logging Application Block будет наш выбор, но позволяет комментарий об этом =)

    Создан 20 дек. 10 2010-12-20 17:46:16 Ewerton

    6 ответов

    Как log4net, так и регистрационный блок регистрации являются допустимыми. Я думаю, что ELMAH в основном сосредоточен на ошибках, так что это, вероятно, не (единственное), что вы хотите.

    На работе я использую log4net по нескольким проектам. Он стабилен, совершенен и расширяем, и у нас никогда не было никаких проблем с ним.

    Я бы, вероятно, сделал регистрацию с log4net и журнальными исключениями с ELMAH. Он может регистрировать необработанные исключения вручную, и любое исключение, которое вы поймаете и обрабатываете в своем приложении, может быть зарегистрировано с помощью одного вызова ELMAH. Это может показаться двойной регистрацией (и это :-)). Но очень важно иметь журнал ELMAH, когда что-то неожиданное провалилось в вашем приложении.

    Я слышал хорошие вещи о NLog project, но не использовал его сам. Кажется, что это немного сложнее, чем log4net, но имеет дополнительное преимущество, заключающееся в возможности добавлять контекстуальную информацию для автоматической регистрации сообщений (немного как ELMAH).

    Создан 20 дек. 10 2010-12-20 17:52:26 driis

    Нет причин, по которым OP не может использовать ELMAH для регистрации ошибок и, скажем, log4net для регистрации информации, не связанной с ошибкой. – Scott Mitchell 20 дек. 10 2010-12-20 17:54:39

    @ Scott, конечно, нет, и это на самом деле тоже то, что я делаю сам. Добавил это к ответу, чтобы избежать путаницы. – driis 20 дек. 10 2010-12-20 17:56:23

    Мое мнение о различных рамок:

    Log4Net — Любить это. Это система регистрации, которую я использую чаще всего. Все довольно легко начать. Он также очень гибкий и позволяет вам записывать практически все.

    Регистрационный блок приложений — также хороший вариант. Я по-прежнему предпочитаю Log4Net (но причины в основном личные).

    Elman — Отлично подходит для входа в приложение ASP.NET для регистрации Исключения. Тем не менее, для общего ведения сообщений я все равно поеду с Log4Net.

    И я предполагаю, что на основе моих взглядов, что я хотел бы предложить вам сделать .

    И если нет, то используйте Log4Net и создать адаптер можно использовать в приложении, чтобы сделать вход простым.

    Создан 20 дек. 10 2010-12-20 17:51:41 Justin Niessner

    Спасибо Джастин. Мне нравится log4Net тоже, блок приложения тоже кажется хорошим. – Ewerton 20 дек. 10 2010-12-20 18:08:33

    Мне лично нравится BitFactory.Logging , потому что он легкий и использует нужное количество абстракций, чтобы сделать код вызова легко проверяемым.

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

    Я лично всегда создаю оболочку в любом случае, поэтому у меня есть собственная реализация ILog, которая работает с тем, что вы выбираете. Это упрощает замену или реализацию.

    Я пробовал # 2, но это было вроде боль; # 1 бы хорошо сработал для нас, но мы не пошли на это, просто пошли простые пользовательские протоколирования. Все, что я знаю о № 3, это то, что я знаю, что у кого-то есть проблемы с его внедрением в своей организации. Не знаю почему, но на самом деле выглядит довольно интересно. Я не думаю, что вы можете пойти не так, как с кем-либо лично. Это частично зависит от API, который вам нравится.

    Создан 20 дек. 10 2010-12-20 17:53:25 Brian Mains

    Log4net очень тихий, это в основном версия log4j. Elmah также хорош, особенно если вы найдете (как я), что вы не можете писать файлы в производственной среде, так как вместо этого он записывается в БД. Кроме того, Elmah больше подходит для регистрации исключений, и это классно, потому что позволяет вести журнал на основе событий. В моих проектах я нормально развертываю как log4net, так и Elmah

    Создан 20 дек. 10 2010-12-20 17:54:06 Bruno Teixeira

    Если вы проверяете изменения данных в db, вы можете использовать триггеры в соответствующей таблице.

    Для входа в приложение dotNet используйте TraceSource для записи информации о протоколировании и пользовательского TraceListener для записи в db. На самом деле не нужна инфраструктура за пределами библиотеки базового класса.

    Создан 20 дек. 10 2010-12-20 17:54:44 Kristen

    Спасибо Кристен, но нам нужно зарегистрировать какое-то деловое действие, например: «Цена продукта os установлена ​​на 10%». – Ewerton 20 дек. 10 2010-12-20 18:07:09

    Реализация программы по ведению журнала безопасности и мониторингу базы данных (часть 2)

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

    Сертификация GIAC (GCIA) Gold

    Автор: Джим Хорват (Jim Horwath), jim.horwath@rcn.com

    Консультант: Родни Кодл (Rodney Caudle)


    Предыдущие части статьи:

    4.2 Использование централизованных агентов

    При покупке базы данных обычно поставщик предлагает два решения для мониторинга: централизованные (host-based) агенты и сетевой мониторинг. Агенты баз находятся на сервере и мониторят память и таблицы транзакций SQL. Некоторым агентам требуются отдельные функции собственного аудита, так что они могут получать данные аудита. Как говорилось ранее, включение некоторых или всех функций собственного аудита ухудшает производительность базы данных.

    Агенты – программы, установленные на севере базы данных, которые запускаются в привилегированном режиме как служба или демон (в зависимости от платформы). У агентов обычно есть хуки внутри ядра, что позволяет им перехватывать SQL-трафик и пересылать его в программу мониторинга. Поскольку агенты работают на сервере базы, они могут фиксировать все действия, совершаемые с базой, включая деятельность со стороны пользователей, которые подключены напрямую к серверу. Большинству агентов необходимо установить правила, в которых отражены объекты, необходимые для отслеживания, что позволяет производить гибкую настройку политик, соответствующих нуждам бизнеса.

    Решения для сетевого мониторинга могут сообщать только об активности, исходящей из сети. К тому же, если коммуникация происходит через зашифрованный канал, и у программы мониторинга нет секретного ключа, она не сможет расшифровать трафик и, соответственно, отследить активность. Централизованные же агенты могут отслеживать все процессы, происходящие в базе данных, поскольку являются резидентными программами, запущенными на сервере. На первых взгляд, кажется, что централизованные агенты – идеальное решение, однако и у них есть некоторые недостатки. Так как подобные агенты работают в привилегированном режиме и взаимодействуют напрямую с ресурсами ядра, из-за возможного наличия в агентах уязвимостей возникает дополнительный риск для сервера. Если у программы, запущенной в привилегированном режиме, имеются логические ошибки или ошибки в коде, работа сервера может быть нарушена при помощи DOS-атаки от приложения, защищающего ресурс. Звучит немного иронично. Централизованные агенты позволяют закрывать соединения, имеющие вредоносную природу, функционируя как централизованная IPS-система (Intrusion Prevention System, система предотвращения вторжений) для баз данных. Хотя возможность остановки вредоносного трафика, на первый взгляд, может казаться привлекательной, также существует вероятность закрытия легитимных соединений и превращение базы в систему, действующую против интересов бизнеса.

    Логи, сгенерированные централизованным агентом, уступают по ценности логам сетевого мониторинга из-за отсутствия в них ответов на запросы. Такая информация плохо организована, поскольку все записи находятся в одном месте и могут быть трудны для восприятия. Главная проблема у агентов баз данных – требуется непрерывная их профилактика. Поскольку агенты завязаны на ядро и версию базы, изменения версии базы или операционной системы может потребовать и обновление агента. Если инфраструктура баз данных большая – может потребоваться много времени на обновление агентов на каждом сервере. Хотя некоторые решения позволяют обновлять агентов централизованно, однако для этого необходимо иметь расширенные привилегии на сервере из другого ресурса, что вносит дополнительный риск, поскольку добавляются дополнительные точки доступа к серверу базы данных. Команда администраторов может не согласиться с тем, что со стороннего ресурса можно получить доступ к базе с расширенными привилегиями. Обязанности по поддержки агента базы могут быть разделены на три группы, у каждой из которых свои компетенции и уровень ответственности. Группы, отвечающие за сервера, будут ответственны за поддержку, обновление и администрирование операционной системы. Администраторы базы данных будут ответственны за поддержку, обновление и администрирование программного обеспечения, связанного с базой. Группа безопасности будет ответственна за соответствие версии агента релизу операционной системы, разрядности ОС (32 или 64 бита), а также версии платформы базы данных. При таком разделении обязанностей необходимо более четкое взаимодействие и слаженность между командами. Если, к примеру, версия операционной системы или базы данных конфликтует с версией агента, то в лучшем случае сам агент может работать не корректно или, что еще хуже, могут возникнуть проблемы со стабильностью работы службы базы данных. Также агенты будут больше нагружать сервер, хотя эта нагрузка значительно меньше, чем при использовании собственного аудита. Если с сервером или базой данных возникают проблемы, агенты базы данных будут первыми подозреваемыми. Если ваш бизнес нуждается в использовании подобных агентов, критически важно провести стресс-тестирование и проверку на совместимость с используемыми технологиями.

    4.3 Сетевой мониторинг

    Мониторингу базы данных из сети (короткое название: DAM, Database Activity Monitoring) уже около десяти лет. Подобное решение позволяет корпорациям улучшить анализ трафика базы данных без создания дополнительной нагрузки на сервер. Для сетевого мониторинга необходимо использовать либо специальное оборудование, либо функцию SPAN (Switched Port Analyzer, анализатор коммутируемых портов) на коммутаторе. При использовании SPAN происходит отзеркаливание всего трафика на определенный порт, который затем можно проанализировать. Для сетевого мониторинга также можно использовать специальные устройства (например, от компании Gigamon), которые позволяют агрегировать, коммутировать, реплицировать и фильтровать сетевой трафик. Такой подход позволяет анализировать трафик без дополнительной нагрузки на сеть и влияния на работу пользователя. Существует множество преимуществ при использовании сетевого мониторинга. К примеру, мониторинг трафика позволяет находить новые (или злонамеренные) подключения к базе, что дает более тесную интеграцию с управлением корпоративными изменениями и политиками безопасности. Детектирование мошеннических соединений без использования сетевого мониторинга – довольно трудная задача. Весьма вероятно, что централизованный мониторинг с этой задачей не справится.

    Анализ сетевых коммуникаций может выявить проблемы с использованием простых паролей и потребителей конфиденциальных данных. Информация о том, кто и где использует ваши данные поможет при расследовании инцидентов. Сетевой мониторинг дает уникальную возможность узнать источник запроса и результаты выполнения запроса, позволяя детектировать огромные объемы информации, покидающие сервер. Если корпоративная политика не позволяет передавать или использовать производственные данные в непроизводственной системе, сетевой мониторинг позволяет обнаружить перемещение данных из производственной в непроизводственную среду. Злоумышленник, пытающийся использовать SQL-инъекцию, может посылать информацию очень маленького объема, тем самым пытаясь оставаться незаметным. Используя собственный аудит и централизованных агентов, весьма трудно обнаружить подобные виды деятельности, поскольку информация об этом теряется в журналах, и, к тому же, отсутствует отчетность об источнике запроса и информации, выдаваемой по результатам запроса. Для обнаружения подобной деятельности идеально подходит сетевой мониторинг.

    Большинство функций сетевого мониторинга могут выполняться в защищенном режиме, тем самым работая как IPS-система (Intrusion Protection System, система защиты от вторжений) для баз данных, хотя это довольно рискованно. Все дело в том, что в такой системе может сработать защитный механизм при обнаружении подозрительной активности, а затем послана соответствующая команда на отключение клиента по протоколу TCP. Если в приложении есть ошибки в архитектуре, это может спровоцировать DOS-атаку против пользователей этого приложения и создать проблемы при движении по карьерной лестнице. Однако существует одна проблема, которая может ограничить мониторинг и ведение журнала безопасности базы данных. В случае подключения к серверу посредством протоколов SSH и RDP происходит шифрование трафика. В этом случае сетевой мониторинг бесполезен, поскольку нельзя проанализировать содержимое трафика, если отсутствует копия секретного ключа.

    Специалистам по безопасности следует порекомендовать сотрудникам компании использовать протоколы шифрования, хотя тогда сетевой мониторинг будет бесполезен. Для решения задач может понадобиться подключение напрямую к серверу. В этом случае может помочь политика безопасности и дополнительные механизмы управления. Если протокол шифрования использует сертификат, вполне возможно использование секретного ключа совместно с приложением по мониторингу и расшифровка трафика, проходящего через сеть (Natan, 2005, см. Раздел Ссылки).

    4.4 Краткие выводы

    Существует три метода мониторинга, о которых упоминалось выше: собственный, централизованный и сетевой. Собственный аудит возможен без использования сторонних приложений, потерь производительности и дополнительных требований к ресурсам (процессор/диск). Объем информации, доступный в логах, оправдывает использование собственного аудита при реализации программы по безопасности. Централизованные агенты – решение получше, хотя они более требовательны к ресурсам, что делает их использование менее предпочтительным. Бывают случаи, когда данные настолько важные, что использование централизованного агента и сетевого мониторинга крайне необходимо. Примером тому могут служить конфиденциальные финансовые транзакции (сделки с акциями или денежные перечисления). В большинстве организаций используется сетевой мониторинг. Этот вид мониторинга наиболее приемлем с точки зрения стоимости, затрат на обслуживание и соответствия стандартам. В качестве примера, предположим, что в гипотетической компании решили реализовать комплекс мер по сетевому мониторингу.

    5. Рекомендации для Microsoft SQL Server

    Microsoft SQL Server – наиболее популярная платформа баз данных для решения бизнес-задач. Эта платформа легка в развертывании, мощна и прекрасно подходит для многих компаний, использующих продукты от компании Microsoft. Кроме того, помимо использования SQL-серверов для нужд бизнеса, многие приложения в ОС Windows используют Microsoft SQL Server для хранения данных. Понимание принципов работы Microsoft SQL Server – знание, востребованное рынком. С этой технологией многие специалисты по безопасности будут сталкиваться постоянно. Нижеследующие рекомендации – передовые методы, которые помогут реализовать компенсирующие элементы контроля в средах, где установлен SQL Server.

    5.1 Мониторинг журналов событий в Windows

    Регулярный просмотр журналов событий в Windows должен дополнять мониторинг и ведение журнала баз данных на SQL Server. Необходимо регулярно просматривать и мониторить журнал событий той операционной системы, где установлена база данных. Отслеживание журнала событий поможет выявить проблемы, связанные с наиболее распространенными угрозами: уязвимостями платформы баз данных, слабым аудитом, DOS-атаками, уязвимостями коммуникационных протоколов баз данных и слабой аутентификацией. Вывод таков: мониторинг журналов событий поможет определить следы атак на основе вышеперечисленных угроз. Для наиболее критических систем баз данных следует рассмотреть возможность мониторинга важных системных директорий, конфигурационных файлов баз данных, реестра и директорий с резервными копиями. Политика аудита операционной системы должна удовлетворять корпоративной политике и обеспечивать надлежащий аудит на сервере. Одна из настроек, которую следует включать с особой осторожностью, – «Аудит: немедленное отключение системы, если невозможно внести в журнал записи об аудите безопасности (Shut down system immediately if unable to log security audits)». Эта настройка позволяет пользователям реализовать DOS-атаку при помощи политики аудита. Перед изменениями настроек рабочей среды следует провести тщательное исследование и тестирование (Microsoft, 2005, см. Раздел Ссылки).

    Прекрасный ресурс для исследования кодов событий в Windows и значений этих кодов – веб-сайт http://www.ultimatewindowssecurity.com/securitylog/encyclopedia/default.aspx?i=j. Этот веб-сайт содержит полный список кодов событий для различный версий ОС Windows вместе с тем, когда они появляются в журнале событий. Подобный список кодов событий очень важен для программы мониторинга, поскольку позволяет определить уровень важности каждого происходящего события.

    5.2 Конфигурирование SQL Server для ведения журнала успешных и неуспешных авторизаций

    По умолчанию SQL Server настроен для записи в журнал событий только неуспешных авторизаций. Добавление в этот журнал еще и успешных авторизаций поможет лучше понять, кто использует базу данных. Используя рекомендацию из предыдущего раздела по регулярному отслеживанию журналов событий, вы сможете проводить аудит и мониторинг локального доступа к базе данных. Если не изменить стандартную настройку, когда отмечаются только неуспешные авторизации, это приведет к тому, что не будут отмечаться те пользователи, которые соединяются с сервером напрямую при помощи утилит Dameware и RDP, а затем используют утилиту на сервере для доступа к базе данных. Инструменты типа Dameware и RDP используют протоколы шифрования при соединении пользователя с сервером, что делает использование сетевых снифферов бесполезным. Простое изменение этой настройки позволит отслеживать локальные события авторизации к базе данных, когда пользователи присоединяются с сервера посредством зашифрованного канала. Важно отметить, если не используется агент или дополнительные средства по ведению журнала, будет отслеживаться только сам факт авторизации. Без дополнительных компенсирующих элементов контроля совершаемые с базой действия останутся скрытыми. Ниже показан скриншот конфигурации SQL Server и журналы событий Windows, где показаны успешные и неуспешные авторизации (Chapman, 2011, см. Раздел Ссылки).

    Конфигурация SQL Server для отслеживания успешных и неуспешных авторизаций

    Событие успешной авторизации:

    Event Source: MSSQLSERVER
    Event Code: 18453
    Type: Audit Success (4)
    User Name: corporation\gooduser
    String[%1]: corporation\gooduser
    String[%2]: [CLIENT: 10.10.10.10]

    Login Success:
    Computer Name: SQLPROD
    Event Source: MSSQLSERVER
    Event Code: 18454
    Type: Audit Success (4)
    User Name: N/A
    String[%1]: companylogs
    String[%2]: [CLIENT: 10.10.10.20]

    Успешная авторизация к SQL Server – журнал событий Windows

    Событие неуспешной авторизации:

    Computer Name: sqlserver1p.goodcompany.com
    Event Source: MSSQLSERVER
    Event Code: 18456
    Type: Audit Success (4)
    User Name: corporation\sqlagent
    String[%1]: corporation\sqlagent
    String[%2]: Reason: Failed to open the explicitly specified
    database.
    String[%3]: [CLIENT: ]

    Неуспешная авторизация к SQL Server – журнал событий Windows

    5.3 Отслеживайте аутентификации Active Directory и запросы служб

    Наилучшая практика по безопасности – мониторинг текущих событий в журналах событий Windows, а также событий от систем безопасности. Многие компании недооценивают ценность мониторинга аутентификаций и запросов билетов по протоколу Kerberos службы Active Directory. Эти события могли быть весьма полезными при отслеживании активности на SQL Server и аутентификации к базе данных. В среде, где производится мониторинг SQL Server посредством сетевого сниффера и трафик зашифрован, отслеживание запросов Kerberos может помочь в аудите учетных записей и процессов, которые пытаются подсоединиться к SQL Server. Если есть проблемы с зашифрованными соединениями из-за использования аутентификации Kerberos, в этом случае для доступа к SQL Server при помощи Windows-аутентификации могут помочь выданные билеты Kerberos.

    Выданные билеты аутентификации

    Билеты аутентификации полезны для отслеживания первоначальных учетных записей. Эти события в ОС Windows возникают в результате взаимодействия пользователей с контроллером домена и запроса билета для получения билета (Ticket GrantingTicket, TGT). Если учетные записи в контроллере домена корректны и нет никаких ограничений, контроллер домена выдает билет для получения билета (TGT) и фиксирует событие 672 в журнале событий. В поле Пользователь всегда отражается имя SYSTEM, так что администратору необходимо сопоставлять IP-адреса и пользователя. Если после имени учетной записи компьютера стоит символ «$», это означает, что событие сгенерировано компьютером. Подобные события могут помочь в отслеживании пользователей, когда системы мониторинга не могут расшифровать пакеты при авторизации (login packets) из-за использования аутентификации Kerberos.

    Jul 16 06:59:59 domaindc1p EvntSLog: Security,672,Mon Jul 16 13:59:59
    2012,NT AUTHORITY\SYSTEM,9,MY_SERVER;FOOBAR;% 794050694-931750244-17949>;krbtgt;% 931750244-502>;0x40810010;-;0x17;2;10.10.10.10;;;;;;

    Запрос билета службы

    События, связанные с запросами билета службы (Service Ticket Request), — возникают, когда пользователь или компьютер получает доступ к серверу через сеть (код события 673). Это событие доступно только для контроллеров доменов, однако очень полезно в отслеживании тех, кто пытается получить доступ к серверу. Если злоумышленник пытается смонтировать накопитель, запрос к операционной системе доступен с этим билетом.

    Jul 16 09:59:58 domaindc4p EvntSLog: Security,673,Mon Jul 16 13:59:58
    2012,NT AUTHORITY\SYSTEM,9 ,jim@foobar.com; FOOBAR.COM;servername$; % 1-5-21-2130074997-794050694-931750244-62310>;0x40810000;
    0x17;10.10.10.20;-;;-;;;;;;

    Выданные обновленные билеты

    Этот билет может быть полезен лишь в небольшом количестве ситуаций и рабочих сред. У Kerberos есть ограничение на билет, который необходимо обновлять после истечения срока действия. В версиях Windows, идущих после Windows 2000, сервер автоматически соединяется с контроллером домена и обновляет билет, после чего создается запись (код события 674) в журнале событий.

    Jul 16 09:59:44 domaindc2p EvntSLog: Security,674,Mon Jul 16 13:59:44
    2012,NT AUTHORITY\SYSTEM,9 ,jim@foobar.com; foobar.com;krbtgt;% 21-755119451-1620593998-612134452-502>;0x2;0x17;10.10.10.10;;;;;;;;;


    Неудачная попытка аутентификации

    Сообщения о неудачной попытке аутентификации интересны в каждой рабочей среде. Если пользователь пытается соединиться с сервером, используя корректное имя пользователя и некорректный пароль, в журнале контроллера домена появится запись о событии с кодом 675. Эта запись содержит имя пользователя, домен и IP-адрес, где попытка оказалась неудачной. При помощи этого события можно отлеживать злоумышленников, которые пытаются подсоединиться к SQL Server при помощи брутфорса после того, как заполучили корректное имя пользователя.

    Jul 16 09:59:54 domaindc3p EvntSLog: Security,675,Mon Jul 16 13:59:54
    2012,NT AUTHORITY\SYSTEM,9,jim;% 931750244-90060>;krbtgt/foobar;0x0;0x19;10.10.10.10;;;;;;;;;;

    (Microsoft, 2000, см. Раздел Ссылки)

    5.4 Используйте сертификаты на SQL-серверах

    На SQL-серверах, использующие Windows-аутентификацию, будут зашифрованы все пакеты, передаваемые при авторизации из-за наличия протокола Kerberos. Если мониторить базу данных через сеть, будет упущено большинство авторизаций, возникающих на сервере. Как правило, система мониторинга будет сообщать об огромном количестве завершений сеансов на SQL Server и лишь небольшом количестве авторизаций. Установка самоподписанных, либо PKI-сертификатов и совместное их использование с приложением, которое занимается мониторингом базы данных, может помочь в отслеживании пользовательских аутентификаций и расшифровке всего SQL-трафика. Перед началом работы SQL Server генерирует сертификат и разделяет публичный ключ со всеми контроллерами доменов. Приложения, использующие интегрированную Windows-аутентификацию, во время авторизации посылают зашифрованные пакеты из-за использования запросов Kerberos. Шифрование пакетов во время авторизации усиливает безопасность, однако создает проблемы при реализации программы по ведению журнала и мониторинга из-за невозможности отслеживать учетные записи во время авторизации. Ниже показан пример отчета об активности за день на SQL Server, который сформирован программой мониторинга базы данных.

    Отчет об интенсивной ежедневной активности на SQL Server

    В этом примере показано 906 завершений сеансов работы и не показаны попытки авторизации на сервер из-за того, что при сетевом мониторинге не учитываются шифрованные пакеты (Microsoft, 2010, см. Раздел Ссылки).

    5.5 Используйте политику для ограничения привилегий администраторов баз данных

    Создайте такую политику, которая будет отвечать требованиям бизнеса и соответствовать корпоративной политике. Пользователей и администраторов баз данных следует наделять минимально необходимыми привилегиями для выполнения работы. Администраторы базы данных никогда не должны обладать привилегиями администратора системы Windows для хоста. Рассмотрите возможность создания двух учетных записей для каждого администратора базы: первая – привилегированная учетная запись, вторая – для выполнения ежедневных обязанностей. Следующий шаг контролю над доступом к конфиденциальной информации — когда привилегированные учетные записи используются только в случае крайней необходимости, и требуется билет или запрос в каждом случае использования такой учетной записи. Конечно, это создаст определенные неудобства для администраторов. Однако компания сможет получить отчет об использовании привилегированных учетных записей по сравнению с непривилегированными. К тому же, такой механизм заставит персонал использовать привилегированные учетные записи только в случае необходимости. Политика использования баз данных может привить дисциплину в части доступа данных и использования привилегированных учетных записей.

    5.6 Используйте политику для ограничения RDP-доступа к хосту

    Если использование RDP не отрегулировано политикой, то аудит может быть неполноценным. Желательно ограничить прямой доступ к SQL Server при помощи утилит наподобие Dameware или RDP. Также необходимо постоянно мониторить попытки RDP-доступа при помощи журналов событий Windows. Если администратору базы данных необходим прямой доступ к Windows-серверу, их следует наделить минимально необходимыми правами для выполнения обязанностей. Администраторов баз данных никогда не следует наделять полномочиями системных администраторов. Возможность подключения к серверу при помощи RDP следует дать только тем сотрудникам, которым это необходимо. RDP создает шифрованный туннель для безопасного доступа на сервер. Хотя использование RPD – хорошая тема для повышения безопасности, однако это может создать пробелы в аудите, когда пользователи соединяются напрямую с хостом и получают доступ к SQL Server. Если в базе есть строго конфиденциальная информация, возможно, потребуется установка агента базы данных. Дополнительные затраты на обслуживание и стоимость содержания агентов часто делает их использование невозможным. Мониторинг RDP-доступа через журнал событий в совокупности с концепцией запросов и выдачи RDP-доступа только в случае крайней необходимости может помочь оградить сервер от ненужных подключений и создаст лучшее представление о том, кто использует RDP.

    5.7 Создайте политику для регулирования доступа к базе данных

    Создайте политику, при которой администрирование и доступ к базе данных будет осуществляться через сеть, и разрешите прямой доступ к серверу только в случае крайней необходимости. Такой подход, когда администраторам баз данных рекомендуется использовать только сетевые утилиты, поможет лучше отслеживать действия, связанные с базой. Случаи, требующие прямого доступа к базе, — установка обновлений и профилактические работы. Ситуации, когда будет использоваться прямой доступ, будут связаны с изменением билета и созданием записи в журнале регистрации событий для данного вида деятельности. Если персонал будет использовать сетевые утилиты, может быть снята необходимость в дополнительных расходах и поддержке агентов баз данных. Это поможет обеспечить мониторинг SQL-активности приложением с использованием сетевых следов без помощи централизованных агентов. RDP использует зашифрованный канал, и приложение не может отслеживать SQL-активность. Кроме того, мониторинг журналов событий Windows на предмет RDP-доступа следует проводить на регулярной основе, что поможет увидеть нарушения политики и отразит разрешенные попытки RDP-доступа для выполнения особых заданий.

    5.8 Избегайте использовать агентов баз данных

    Как говорилось ранее, использование централизованных агентов увеличивает стоимость реализации программы по ведению журнала безопасности и мониторингу баз данных. Агенты должны соответствовать версии операционной системы (32/64 бита), версиям баз данных и, возможно, уровням патчей. Вдобавок к этому, агенты увеличивают ресурсозатраты на сервере базы и отнимают время на установку патчей в случае выхода нового обновления. Добавление агентов на сервер увеличивает потребление ресурсов, стоимость сервера и затраты на дополнительное администрирование сервера. Многие компании нуждаются в дополнительных агентах для решения бизнес-задач: текущий мониторинг, создание резервных копий, отчет о производительности сервера. По этому поводу некоторые администраторы начинают шутить, когда на сервере используется больше агентов, чем программ для бизнеса. Однако существуют особо критические ситуации, когда на сервере баз данных требуется использование агентов. В этих случаях компаниям следует провести анализ стоимости, рисков и оценить все за и против от использования агентов (Ottman, 2010, см. Раздел Ссылки).

    5.9 Усиление безопасности баз данных и сохраненные процедуры

    Усиление безопасности базы данных в совокупности с разумным использованием сохраненных процедур может защитить и смягчить последствия от атак при помощи SQL-инъекций. Приложениям, которые взаимодействуют с базой данных, при аутентификации следует использовать учетные записи с наименее необходимым уровнем привилегий. Также следует удалить стандартные учетные записи, являющиеся частью базовой версии продукта, но ненужные для решения задач бизнеса. Сюда же следует включать удаление ненужных сохраненных процедур, которые могут содержать дополнительные бреши и потенциально уязвимый код. Более подробные руководства по укреплению защиты доступны в интернете (например, на сайте организации The Center for Internet Security) (Chapman, 2005, см. Раздел Ссылки).

    Сохраненные процедуры могут помочь в смягчении и уменьшении последствий от использования SQL-инъекций. Сохраненные процедуры представляют собой подпрограммы, используемые приложениями и хранимые в базе данных. С точки зрения безопасности преимущество сохраненных процедур в том, что приложения могут исполнять код (т.е. сами сохраненные процедуры) и оперировать данными в таблице без возможности доступа к самим таблицам. Такой механизм увеличивает уровень безопасности базы, и если злоумышленник выполняет атаку посредством SQL-инъекции внутри кода сохраненной процедуры, у него нет доступа к таблицам. Все это смягчает последствия атаки. При разработке сохраненных процедур разработчика следует избегать динамических SQL-выражений. Использование динамического SQL позволяет проводить конкатенацию строк, что увеличивает шансы на проведение атаки посредством SQL-инъекции. При правильной реализации сохраненные процедуры корректно обрабатывают специальные символы, конвертируя их в обычный текст (Clarke, 2009, см. Раздел Ссылки).

    5. Шифрование базы данных

    Существует два диаметрально противоположных взгляда относительно использования шифрования базы данных. Одни говорят, что это наилучший способ защиты конфиденциальных данных, другие же видят в нем источник дополнительной нагрузки. И та и другая сторона по своему правы. При использовании шифрования увеличивается потребление ресурсов сервера (процессорное время и дисковое пространство). К тому же, надлежащее управление ключами имеет решающее значение для успешной реализации этого механизма. Большинство поставщиков поставляют решения с уже встроенной функцией шифрования, поскольку это оговорено на законодательном уровне. На первый взгляд, решение об использовании шифрования базы может показаться простым, однако часто игра не стоит свеч, если более подробно проанализировать стоимость внедрения этого метода. Падение производительности в результате использования шифрования вместе с управлением программами шифрования очень быстро может стать настоящим кошмаром для службы поддержки, особенно, если шифрование используется по всему предприятию. Из-за этого во многих случаях использовать шифрование баз данных будет не обосновано (Ottman, 2010, см. Раздел Ссылки).

    6.1 Шифрование хранилища в сравнении с транспортным шифрованием

    Важно понимать отличия между шифрованием хранилища и транспортным шифрованием. В зависимости от способа реализации шифрования может быть обеспечена конфиденциальность и целостность данных, как во время передачи, так и во время хранения. К примеру, протокол SSL обеспечивает конфиденциальность при передаче информации, но не защищает во время ее хранения. Многие люди ошибочно полагают, что SSL защищает данные и во время передачи и во время хранения. Однако это не так. Шифрование данных при помощи SSL происходит на стороне приложения, в то время как механизм шифрования у базы данных защищает информацию перед тем, как передать ее конечному пользователю. Шифрование диска защищает от несанкционированного доступа и позволяет сохранить целостность данных. Цель шифрования базы данных – защитить хранимые данные. Шифрование базы не защищает данные от компрометирования или злоупотребления внутри приложения. Без использования шифрования, хранимые данные уязвимы к атакам, эксплоитам и злоупотреблениям привилегиями. Кроме того, злоумышленник, используя эксплоиты, может скомпрометировать службы, запущенные с высокими привилегиями, и, соответственно, получить доступ конфиденциальной информации, которая хранится на сервере. С другой стороны, при помощи эксплоитов может быть совершена атака на непривилегированные учетные записи, после чего будут повышены привилегии и также будет получен доступ к конфиденциальной информации. Еще одна угроза: злоупотребление привилегиями со стороны сотрудников, которые могут получить доступ к данным в злонамеренных целях. Подводя итоги, следует отметить, что шифрование, как во время передачи данных, так и во время их хранения не гарантирует стопроцентную защиту (Natan, 2005).

    Encryption Hierarchy. (n.d.). MSDN – Explore Windows, Web, Cloud, and Windows Phone Software Development. Retrieved July 1, 2012, from http://msdn.microsoft.com/en-us/library/ms189586%28v=sql.100%29

    Ashford, W. (2012, July 26). SQL injection attacks rise sharply in second quarter of

    2012. ComputerWeekly.com | Information Technology (IT) News, UK IT Jobs,

    Industry News. Retrieved August 1, 2012, from http://www.computerweekly.com/news/2240160266/SQL-injection-attacks-risesharply-in-second-quarter-of-2012

    Auditing Security Events Best practices: Auditing. (2005, January 25). Resources and Tools for IT Professionals | TechNet. Retrieved July 15, 2012, from http://technet.microsoft.com/en-us/library/cc778162%28v=ws.10%29.aspx

    Auditing Security Events Best practices: Auditing. (2005, January 25). Resources and Tools for IT Professionals | TechNet. Retrieved July 15, 2012, from http://technet.microsoft.com/en-us/library/cc778162%28v=ws.10%29.aspx

    B, D. (2012, March 14). â€oeThe SQL Guy†Post #20: Using Cell Level Encryption in SQL Server — Canadian IT Professionals — Site Home – TechNet Blogs. TechNet Blogs — TechNet Blogs. Retrieved July 1, 2012, from http://blogs.technet.com/b/canitpro/archive/2012/03/14/the-sql-guy-post-20-using-cell-level-encryption-in-sql-server.aspx

    Chapman, T. (n.d.). Center for Internet Security :: Security Benchmarks Division :: CIS SQL Server 2005 Benchmark v2.0.0. Center for Internet Security :: Security Benchmarks Division :: Home. Retrieved June 27, 2012, from http://benchmarks.cisecurity.org/enus/?route=downloads.show.single.sql2005.200

    Choose an Authentication Mode. (n.d.). MSDN. Retrieved May 20, 2012, from msdn.microsoft.com/en-us/library/ms144284.aspx

    Clarke, J. (2009). SQL injection attacks and defense. Burlington, MA: Syngress Pub..

    Cristofor, L. (2007, October 3). SQL Server 2008: Transparent data encryption feature — a quick overview — Laurentiu Cristofor’s blog @microsoft.com – Site Home — MSDN Blogs. MSDN Blogs — MSDN Blogs. Retrieved July 2, 2012, from http://blogs.msdn.com/b/lcris/archive/2007/10/03/sql-server-2008-transparent-data-encryption-feature-a-quick-overview.aspx

    Kerberos Explained. (n.d.). Resources and Tools for IT Professionals | TechNet. Retrieved July 15, 2012, from http://technet.microsoft.com/enus/library/bb742516.aspx

    Kiely, D. (n.d.). Protect Sensitive Data Using Encryption in SQL Server 2005. SQL Encryption — Microsoft. Retrieved June 22, 2012, from download.microsoft.com/download/4/7/a/. /SQLEncryption.doc

    McKendrick, J. (n.d.). Cost of a data breach: $194 per record | SmartPlanet. SmartPlanet- Innovative Ideas That Impact Your World. Retrieved June 8, 2012, from

    McKendrick, J. (n.d.). Cost of a data breach: $194 per record | SmartPlanet. SmartPlanet


    Northcutt, S. (2010). Management 404 — Fundamentals of Information Security Policy. Bethesda, Maryland: The SANS Institute.

    SQL Injection Prevention Cheat Sheet. (2012, July 9). OWASP The Open Web Application Security Project. Retrieved September 1, 2012, from https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet

    SQL Injecttion. (2012, July 8). OWASP The Open Web Application Security Project. Retrieved September 1, 2012, fromhttps://www.owasp.org/index.php/SQL_Injection success, a., & category, f. e. (n.d.).

    Auditing Security Events Best practices: Auditing. Resources and Tools for IT Professionals | TechNet. Retrieved July 15, 2012, from http://technet.microsoft.com/en-us/library/cc778162%28v=ws.10%29.aspx

    Требования к ведению журнала и мониторингу базы данных от 20 мая 2012 года

    Город, Штат XXXX-XXXX

    Корпоративная безопасность Компании Х

    Политика: Ведение журнала и мониторинг базы данных

    Требования к ведению журнала и мониторингу базы данных

    Аудитоспособность относится к функциям приложения, при помощи которых осуществляется отслеживание активности. Аудит должен предоставлять достоверную информацию для расследования случаев несанкционированных действий, из-за которых возник инцидент в системе безопасности. Полученная информация позволит персоналу предпринять необходимые мероприятия по ликвидации инцидента. На данный момент в компании Х имеются общие стандарты и руководства для аудитоспособности приложения. Эти стандарты и руководства, относятся к ведению журналов, и их следует рассматривать как справочник для базовых требований по ведению журнала для баз данных. Более подробную информацию можно узнать в разделе 3.4 «Ведение журнала» в корпоративной политике компании.

    Поскольку в системах управления базами данных (СУБД) вполне вероятно могут храниться конфиденциальные данных, в этом руководстве изложены дополнительные требования по ведению журнала для того, чтобы аудит и мониторинг выполнялся на должном уровне. Главная цель – сделать так, чтобы эти правила были применены ко всем СУБД вне зависимости от выполняемых ими бизнес-задач и вообще ко всем системам, где хранятся «конфиденциальные» и «регламентированные» данные. На внедрение указанных руководств потребуется определенное время. Перед передачей на сторону любых функций по администрированию баз данных, следует внедрить следующие функциональные элементы контроля по ведению журнала и мониторингу событий.

    Ведение журнала базы данных должно осуществляться по следующим видам деятельности:

    • Добавление, изменение, приостановка действия и удаление учетных записей пользователей
    • Изменение прав у учетных записей пользователей (права доступа учетной записи)
    • Повышение привилегий
    • Изменения владельца объектов
    • Начало/окончание сеанса, неудачные попытки авторизации под учетными записями администратора (учетными записями администраторов баз данных), учетными записями приложений и учетными записями, используемыми для прямого доступа к базе
    • Изменение паролей
    • Изменение политики безопасности базы данных / изменение настроек
      • i. Режимы аутентификации
      • ii. Управление паролями
      • iii. Запрет/разрешение удаленного доступа
      • iv. Запрет/разрешение собственного аудита
    • Изменение настоек системы аудита и попытки изменения или удаления логов аудита или логов баз данных
    • Транзакции, связанные с конфиденциальными данными, на основе требований владельца данных
    • Санкционированный доступ к конфиденциальным ресурсам, на основе требований владельца ресурсов
    • Неудачные попытки доступа к конфиденциальным ресурсам, на основе требований владельца ресурсов
    • Неудачное выполнение SQL-запросов (из-за отсутствия объекта или недостаточности привилегий)
    • Внесение изменений в схему базы данных (Команды DDL (Data Definition Language, язык описания данных))
    • Создание/восстановление резервных копий
    • Запуск/остановка базы данных
    • Попытки использования средств операционной системе через базу данных (выполнение команд, чтение/изменение файлов и настроек)
    • В журнале должно быть достаточно информации для того, чтобы была возможность выяснить, какие произошли события, и кто был их инициатором:
      • i. Тип события
      • ii. Когда произошло событие
      • iii. Учетная запись, связанная с событием
      • iv. Программа или команда, ставшая инициатором события (точное SQL-выражение)
      • v. Имена таблиц, к которым осуществлялся доступ (если возможно)
      • vi. Имя хоста или IP-адрес, с которого произошло соединение пользователя
      • vii. Статус попытки (успех/неудача)

    Команды, зависимые от платформы:

    • ORACLE: команды прослушивателя журнала (log listener): SERVICE, STATUS, VERSION, STOP
    • MS SQL: команды DBCC

    Мониторинг должен сработать при наступлении следующих событий:

    • Несогласованные добавления и изменения учетных записей пользователей
    • Случаи многократных неудачных попыток ввода паролей по множеству учетных записей за короткий промежуток времени (что может свидетельствовать о реализации хакерских намерений)
    • Случаи попыток неудачного доступа к базе данных от имени учетной записи, у которой нет прав доступа
    • Попытки получить список пользователей и паролей
    • Все попытки прямого доступа к базе данных от имени учетных записей, доступ которым разрешен только из приложения
    • Использование нестандартных утилит (например, Excel, Access) для прямого доступа к СУБД
    • Использование «служебных программ» (например, Toad) для прямого доступа к СУБД
    • Использование Application ID (ApplID) из источника отличного от того, который закреплен за владельцем приложения (на основе имени хоста или IP-адреса)
    • Неудачные входы в систему, попытки остановить ведение журнала и уничтожить логи
    • Попытки доступа к средствам ОС через базу данных
    • Обнаружение известных видов атак (например, переполнение буфера, отказ в обслуживании, SQL-инъекция)

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

    Подписывайтесь на каналы «SecurityLab» в Telegram и Яндекс.Дзен, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.

    Asp программа ведения журнала

    Я имею в виду руководство this по настройке мониторинга работоспособности.

    В конце руководства будет кнопка Default.aspx и кнопка on_Click, новая запись будет вставлена ​​в мою таблицу SQL.

    Однако, когда моя кнопка нажата, в таблицу не вставляется запись.


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

    Постскриптум Я не могу скомпилировать библиотеку классов MyWebEvents, потому что нет вывода. В моем основном веб-приложении я добавил справочную dll из папки bin моего файла проекта MyWebEvents. DLL, на которую я ссылаюсь, действительна для использования, или я пропустил шаг при компиляции?

    Ниже приведены коды, которые я запустил со ссылкой на веб-сайт Microsoft:

    MyCriticalEvent.cs в библиотеке классов MyWebEvents:

    Default.aspx.cs в главном веб-приложении:

    Web.config в главном веб-приложении:

    Таблица в моей базе данных:

    Ошибка в журнале событий, если соединение с SQL нарушено:

    Следующее исключение было сгенерировано поставщиком веб-событий «MySqlWebEventProvider» в приложении «/ TestLogSite» (во время жизни приложения в каждом экземпляре провайдера регистрируется максимум одно исключение):

    Сводка проблемы: При нажатии кнопки 1 в файле Default.aspx.cs записи журнала не вставляются в таблицу aspnet_WebEvent_Event.

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

    Это должно остановить задержку, вызванную буферизацией, и вы должны увидеть, что строки появляются сразу.

    Кроме того, вы можете уменьшить значение minInterval в профилях, например «00:00:01» ��

    Вы можете прочитать больше о буферизации здесь:

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

    Я обнаружил, что могу заставить его сохранить в журнале:

    1: начать свой проект в визуальной студии
    2: нажмите кнопку
    3: Остановите проект и запустите его снова
    4: проверьте в базе данных, вы должны увидеть событие в журнале

    Централизованный сбор и обработка журналов печати Windows

    В небольших офисах далеко не всегда используются сетевые принтеры и МФУ, поэтому получить статистику использования печатающих устройств получить достаточно сложно. Тем более, если это требуется произвести с минимальными затратами. Такие данные смогут помочь определить наиболее активно используемые устройства, оценить нагрузку на них и принять своевременные решения по закупке расходных материалов, техническом обслуживании или даже замене на более экономичные и производительные. Данную задачу возможно решить без дополнительного ПО используя встроенные средства управления журналами Windows и скриптом на Powershell.

    Используя поисковые системы можно найти готовые программные продукты для аудита печати в офисе, например:

    • www.papercut.com/products/free_software/print_logger
    • www.printaudit.com/print-audit-6.asp

    Такие системы далеко не всегда подходят, так как они требуют покупки, бесплатные версии имеют ограниченную функциональность, необходима установка как центрального ПО на сервер, так и агентов на клиентские компьютеры, некоторые программы работают только с принт-сервером и так далее. Предлагаю использовать для решения задачи встроенные средства операционной системы Windows 7/2008R2 и скрипты на Powershell.

    Итак, примем за исходные данные следующую информацию:

    • В организации есть домен Active Directory
    • В организации используются компьютеры c операционной системой не ниже Windows 7, сервера – с ОС не ниже Windows Server 2008R2
    • Есть как сетевые, так и локальные принтеры и МФУ.
    • Существует необходимость централизовано обрабатывать журналы печати с принтеров и иметь статистику использования и нагрузки на печатающие устройства.

    Подготовка инфраструктуры

    Первым делом необходимо подготовить инфраструктуру для централизованного сбора журналов событий с клиентских компьютеров.
    Для работы подписки на события Windows на компьютере-источнике необходимы следующие настройки:

    1. Наличие пользователя в группе Читатели журнала событий (Event Log Readers), от имени которого будет читаться журнал
    2. Доступ по удаленному управлению (Windows Remote Management с сервера-коллектора
    3. Настроенное разрешение на пересылку событий на сервер-коллектор логов.
    4. Включенный журнал событий печати (выключен по умолчанию)

    Создаем в оснастке Пользователи и Компьютеры нового пользователя, в качестве полного имени и логина указываем EventCollectorUser. Назначаем сложный пароль и ставим галочки «Запретить смену пароля пользователем» и «Срок действия пароля неограничен».

    Далее создаем на контроллер домена новую групповую политику и называем ее, например, GPO-EventCollector.
    В политике задаем следующие параметры:

    1. В разделе «Конфигурация компьютера — Настройка — Параметры панели управления — Службы» создаем запись службы «Автозагрузка: Автоматически (отложенный запуск)», «Имя службы — Служба удаленного управления Windows (MS-Management) (WinRM)», «Действие службы: Запуск службы»
    2. В разделе «Конфигурация компьютера — Политики — Административные шаблоны — Компоненты Windows — Удаленное управление Windows — Служба удаленного управления Windows» задать параметр «Разрешить автоматическую настройку прослушивателей: Включить» и разделе параметра «Фильтр IPv4″ поставить значение «*».
    3. В разделе «Конфигурация компьютера – Политики – Конфигурация Windows – Параметры безопасности – Брандмауэр Windows в режиме повышенной безопасности – Брандмауэр Windows в режиме повышенной безопасности – Правила для входящих подключений» создаем новое правило. Выбираем пункт «Предопределенные правила» и в списке выбираем «Удаленное управление Windows (HTTP — входящий трафик)»
    4. В разделе «Конфигурация компьютера — Политики — Административные шаблоны — Компоненты Windows — Пересылка событий» задать параметр «Настроить конечный диспетчер подписки» и в разделе параметра «SubscriptionManagers» вписать полный FQDN путь до сервера–коллектора.
    5. В разделе «Конфигурация компьютера – Политики – Конфигурация Windows – Параметры безопасности – Группы с ограниченным доступом» добавляем новую группу «Читатели журнала событий». В члены группы добавляем созданного нами пользователя EventCollectorUser.

    После создания групповой политики необходимо перезагрузить целевые компьютеры или выполнить на них команду gpupdate /force.

    Включить журнал печати на целевом компьютере можно через оснастку MMC «Просмотр событий» по пути «Журналы приложений и служб – Microsoft – Windows – PrintService – Работает» (кликнуть правой кнопкой мыши на журнале и выбрать «включить»). Этот вариант подходит, если компьютеров не так много.
    В случае, если требуется включить журнал на большой группе ПК, то можно воспользоваться следующим способом:

    1. Подготовить текстовый файл со списком имен компьютеров. Например, d:\temp\computers.txt
    2. Запустить следующую команду от имени пользователя с правами администратора домена:
      For /F %i in (d:\temp\computers.txt) do wevtutil sl Microsoft-Windows-PrintService/Operational /e:true /r:%i

    Update: Также, как верно заметил NeSvist, можно установить ключ реестра:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-PrintService/Operational — Enabled равным 1.
    Данный параметр можно раздать в групповой политике, которую мы создали выше.
    Для справки: О работе с реестром в GPO

    Создание подписки на события

    Скрипт обработки собранных событий

    Собранные события можно выгрузить в формате CSV средствами оснастки «Просмотр событий», но полученные данные будут не очень информативны и не позволят на их основе получить интересную статистику, которую можно показать руководству. Поэтому я предлагаю вариант обработки полученных событий средствами Powershell для удобства их дальнейшего использования.
    Поиском на просторах Интернета был найден скрипт анализа журналов печати для Windows Server 2003. (http://trevorsullivan.net/2009/11/06/windows-2003-print-log-parsing-script-powershell/) Так как есть определенные различия в командлетах Powershell новых версий, и способ получения событий отличается от предложенного в статье, то скрипт был мной переработан.
    Общую структуру скрипта я менять не стал, он разбит по функциям, которые легко модифицировать (в случае локализации, например). Логика работы скрипта следующая:

    1. Получаем список событий из журнала
    2. Парсим свойство Message каждого события и записываем поля в объект PrintJob
    3. Сохраняем полученный список объектов в формате CSV

    Получаем список событий из журнала «Перенаправленные события» по коду 307 (на случай, если в указанный журнал пересылаются еще какие-либо события).

    Создаем новый объект PrintJob. Добавляем в него требуемые поля.

    Основная функция. Получаем список событий и в цикле превращаем его в объект PrintJob. Потом делаем экспорт полученного списка объектов в указанный файл. Ставим кодировку UTF8 для корректного отображения кириллицы и разделитель «;» для читаемого открытия файла в Excel. Каждые 100 событий пишем лог, это удобно при отладке.

    При подготовке регулярных выражений для скрипта использовался сайт Regex101.com. Сайт понятный, с краткой документацией, подсветкой результата поиска в исходной строке, расшифровкой смысла регулярного выражения на лету. Очень информативно и удобно, рекомендуется к употреблению.
    Полученный скрипт можно применять по требованию, запуская в командной оболочке PowerShell, а можно назначить в качестве задания в Планировщике заданий.
    Для этого необходимо:

    1. Открыть Планировщик заданий (Пуск – Администрирование – Планировщик заданий)
    2. Выбрать пункт «Создать простую задачу…»
    3. Ввести имя задачи, описание, выбрать интервал выполнения
    4. Выбрать действие «запустить программу». В качестве программы выбрать «C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe», а в качестве аргумента – путь к скрипту.
    5. Открыть свойства задачи и выставить переключатель «Выполнять вне зависимости от регистрации пользователя», выбрать пользователя, от имени которого должна выполняться задача и ввести пароль от него.



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

    Решение проблем

    Невозможно загрузить файл D:\PrintReports\PrintInfo.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных
    сведений см. about_Execution_Policies по адресу go.microsoft.com/fwlink/?Link > + CategoryInfo: Ошибка безопасности: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId: UnauthorizedAccess

    Что можно улучшить

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

    • Выборка событий по времени (за день, неделю, месяц) и запись их в соответствующие отдельные листы электронной таблицы или выходные CSV-файлы. Можно предусмотреть задание диапазона дат при помощи входных параметров скрипта.
    • Добавление графического представления данных с использованием сводных таблиц по пользователям и печатающим устройствам и графиков. Такой отчет можно сразу класть на стол руководителю.
    • Настроить архивирование и ротацию журнала «Перенаправленные события», добавить функцию анализа соответствующих архивных файлов. Это будет разумно при работе с достаточно большим числом компьютеров (более 50).

    Итак, в этой статье я постарался показать принцип централизованного сбора событий с журналов Windows и их дальнейшей обработки средствами Powershell. Данный способ подходит для решения задачи в небольших организациях. Разумеется, специализированное программное обеспечение справляется с поставленными целями более эффективно, но оно дорого, более громоздко, его установка приносит IT-специалисту меньше новых знаний и навыков, понимания работы обслуживаемого им программного обеспечения.

    Update: Как заметили NeSvist и selenite, привязка к конкретной локализации и разбор ее регулярными выражениями — не самое эффективное решение. В связи с этим, привожу вариант обработки собранных событий с использованием их представления в XML. Решение получилось более аккуратным и понятным.

    5 лучших приложений для ведения дневника в 2020

    Большинство экспертов по продуктивности согласятся, что ведение дневника — это одна из наиболее эффективных привычек

    Иногда такое ведение записей называют журналированием.

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

    Эти приложения помогают вести дневники или журналы различными способами — от легких напоминаний, до жесткой мотивации деньгами если вы пропускаете дедлайн. Так или иначе, здесь вы научитесь искусству ведения дневников.

    1. Life Calendar (Android, iOS): Еженедельное журналирование с помощью цветовой схемы. Подходит начинающим.

    Ежедневное журналирование — это привычка, которую непросто выработать, особенно если у вас хватает ежедневных забот. Life Calendar предлагает отмечать недели цветом по их результатам. В итоге вы получаете наглядную пунктирную визуализацию вашей жизни.

    В конце каждой недели, присвойте ей цвет, в зависимости из того, как прошла неделя. Используйте зеленый цвет для счастливых недель, красный для сердитых, синий для грустных и так далее.

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

    Когда вы начнете добавлять события и настроение в каждую неделю, вы увидите моментальный снимок своей жизни. Внезапно обнаружите, что например летом вы счастливее, а зимой — в унынии. Этот анализ поможет вам принять соответствующие меры.

    Скачать: Life Calendar для Android (бесплатно) | iOS (бесплатно)

    2. Journal Jerk (веб-версия, емайл): Забирает деньги, если пропускаете записи в журнал.

    Иногда, чтобы заставить нас что-то сделать, может понадобиться пинок. Journal Jerk — это сервис, который даст вам денежную мотивацию никогда не пропускать ведение журнала.

    Вот как это работает. Вы подписываетесь на подписку в 5 долларов США в неделю. Каждый день Journal Jerk присылает вам емайл. Ответ на это письмо и будет записью в журнал.

    При завершении периода (например неделя или как часто вы хотите вести журнал), цена падает на 50 процентов. Так что не пропускайте записи и она снизится до каких-то 0,09$ в неделю. Пропустите крайний срок и вернетесь к 5 долларам в неделю. Это и есть дополнительная мотивация для продолжения.

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

    3. Journaly (Android, iOS, macOS): Упрощает ведения журнала путем автоматического сбора данных о вас.

    Journaly является одним из лучших полнофункциональных приложений для ведения журналов, из всех, что мы видели. Оно может потеснить даже тяжеловесов типа Day One и не будет стоить вам ни копейки.

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

    Надо заметить, что Journaly — это умное приложение, которое автоматически получает много данных о вашей жизни. Оно отслеживает время, дату, место, активность, сон и погоду, что в итоге позволяет получить полную визуализацию вашей жизни.

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

    Все, что вам нужно делать — это время от времени вносить свои комментарии.

    Скачать: Journaly для Android (бесплатно) | iOS (бесплатно) | macOS (бесплатно)

    4. Gratefulness (веб-версия, емайл): Ежедневный журнал благодарности.

    Ведение журнала благодарности — одна из лучших практик для поддержания психического здоровья, которую вы можете использовать. Она помогает больше ценить окружающий мир и подавляет склонность человеческого ума к негативу. Чтобы начать, попробуйте Gratefulness. В статье «Сделайте эти 4 вещи перед тем как лечь спать» есть пример, для чего использовать журнал благодарности.

    Приложение работает через SMS (только в США) или по электронной почте. После регистрации вы начнете получать ежедневное напоминание утром или вечером, с вопросом, за что вы благодарны сегодняшнему дню. Ответьте на письмо и забудьте.

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

    Простота использования — вот что отличает Gratefulness. Единственное, что вам нужно делать — это написать 5-10 слов о том за что вы благодарны этому дню в ответ на сообщение. Вы можете даже не открывать приложение в течение нескольких месяцев. Простой ответ на текстовое сообщение выполнит всю работу.

    Трюк здесь заключается в том, что журнал легко вести каждый день. Именно этим приложение закрепляет полезную привычку.

    5. Dream Journal Ultimate (Android, iOS): Отслеживайте свои сновидения.

    Вы помните, что вам вчера снилось? Большинство из нас забывают свой сон, сразу после пробуждения. Но что, если вы могли бы запомнить все свои сны?

    Представьте как интересно это было-бы почитать через год, два. Dream Journal Ultimate поможет вам вести журнал ваших снов. С помощью таких записей вам откроется удивительная возможность взглянуть на события жизни с иной перспективы.

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

    Dream Journal Ultimate также имеет встроенную социальную сеть, где вы можете опубликовать свои сновидения на «Стене мечты» и прочитать сны других людей.

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

    Скачать: Dream Journal Ultimate для Android (бесплатно) | iOS (бесплатно)

    Цифровой журнал или бумажный?

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

    А как считаете вы? Журналы должны быть цифровыми или бумажными? Или это не имеет значения, если вы регулярно ведете записи?

    Правильный/профессиональный способ ведения журнала в приложениях ASP.NET на сервере IIS

    Мы разрабатываем приложение ASP.NET и настроили сервер IIS в нашей сети для тестирования развертывания. Сервер IIS управляется нашей ИТ-службой, и у нас есть только необходимые разрешения для публикации приложения ASP.NET.

    Уже используя log4net в других .NET-проектах, я хотел использовать его здесь, чтобы получить информацию об отладке, что-то не так на этом сервере. Поэтому я попросил группу ИТ-специалистов настроить каталог на сервере, который:

    • Пользователь IIS (IIS APPPOOL) имеет права на запись для
    • У разработчиков есть права на чтение для
    • не находится в каталоге приложения

    Это привело к тому, что разработчики (мы) и команда ИТ-специалистов ответили «назад и вперед», заявив, что «это не правильный или профессиональный способ ведения журнала», и мы должны входить в журнал IIS вместо этого ,

    Я нашел один вопрос о StackOverflow , который вдохновил нас на внедрение Appender, который вызывает Response .AppendToLog и зарегистрированные в журнале сообщения отображаются в журнале IIS, но со всеми пробелами, замененными на «+», что делает такие вещи, как трассировки стека, в основном нечитаемыми.

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

    Поэтому мой вопрос:

    Правильно ли наша ИТ-служба, и что мы делаем, «непрофессионально»? И если да, то что является более профессиональным способом ведения журнала для приложений, работающих на сервере IIS.

    Каркас ведения журнала для приложения ASP.NET

    Моему приложению нужно регистрировать информацию о действиях пользователя (вставках, обновлениях, удалениях и т. Д.) И исключениях, и я хочу сохранить журнал в Oracle10, поэтому я ищу какую-то инфраструктуру журналов для использования. Я прочитал немного о:

    2 — Блокировка приложения

    Что вы думаете об этих инструментах? Что такое хороший фреймворк (или способ реализации) журнала в моем приложении?

    * После обсуждения с руководителем проекта, Logging Application Block будет нашим выбором, но, давайте прокомментируем это =)

    6 ответов

    И log4net, и Logging Application Block являются допустимыми вариантами. Я думаю, что ELMAH в основном сосредоточен на регистрации ошибок, так что это, вероятно, не единственное, что вы хотите.

    На работе я использую log4net на нескольких проектах. Он стабильный, производительный и расширяемый, и у нас никогда не было проблем с ним.

    Я, вероятно, сделал бы вход в систему с log4net и журнал исключений также с ELMAH. Он может регистрировать необработанные исключения вручную, а любое исключение, которое вы ловите и обрабатываете в своем приложении, может быть зарегистрировано с помощью одного вызова ELMAH. Это может показаться двойной регистрацией (и это так:-)). Но очень важно иметь журнал ELMAH, когда что-то неожиданное не удалось в вашем приложении.

    Я слышал хорошие вещи о проекте NLog, но сам не использовал его. Кажется, он немного сложнее, чем log4net, но имеет дополнительное преимущество, заключающееся в возможности автоматического добавления контекстной информации для регистрации сообщений (немного похоже на ELMAH).

    Мои мнения о различных рамках:

    Log4Net — люблю это. Это система регистрации, которую я использую чаще всего. Все довольно легко начать. Он также очень гибкий и позволяет вам регистрировать практически все.

    Блок регистрации приложений — тоже хороший вариант. Я все еще предпочитаю Log4Net (но причины в основном личные).

    Elman — отлично подходит для входа в приложение ASP.NET для регистрации исключений. Для общей регистрации сообщений, хотя, я все равно пошел бы с Log4Net.

    И я думаю, исходя из моих мнений, что я бы посоветовал вам сделать.

    А если нет, используйте Log4Net и создайте адаптер, который вы можете использовать в своем приложении, чтобы упростить ведение журнала.

    Илон Маск рекомендует:  Классы ansistring и set
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL