621
Тулегенова М.К., Турым А.Ш.
Применение технологии Cisco самозащищающейся сети
Резюме. Рассмотрены структура и принцип работы технологии самозащищающейся сети. Представлены
сведения по основным компонентам самозащищающейся сети Cisco и их применении. Рассмотрены решения
Cisco Secure Network Foundation и Network Admission Control.
Ключевые слова: самозащищающаяся сеть, безопасность, маршрутизатор, коммутатор, атака, защита
информации.
Tulegenova M.K., Turym А.Sh.
Application of self-defending network Cisco technology
Summary. The structure, the principle of work and the program of technology of the self-protected network are
considered. Are presented given on the main components of the self-protected Cisco network and their application.
Cisco Secure Network Foundation and Network Admission Control solutions are considered
Key words: self-defending network, security, router, switch, attack technology.
УДК 004.65
Туриканов Т.С. студент, Айтхожаева Е.Ж.
Казахский национальный технический университет им. К.И.Сатпаева,
г. Алматы, Республика Казахстан
ait_djam@mail.ru
ОРГАНИЗАЦИЯ АУДИТА И МОНИТОРИНГА В MS SQL SERVER
Аннотация. Данная работа посвящена проблеме выявления преступлений и злоупотреблений при
организации защиты баз данных в MS SQL Server, являющимся одним из самых распространенных и
востребованных серверов баз данных. Рассматривается вопрос организации аудита и мониторинга тестовой
базы данных «Книжный магазин», спроектированной в CASE-средстве проектирования БД - ERWin. Показана
технология использования в MS SQL Server 2008 графической утилиты SQL Profiler, предназначенной для
мониторинга активности сервера и БД. Рассмотрено создание шаблонов профиля трассировки, создание
профиля трассировки, запуск профиля трассировки для аудита и мониторинга событий в сервере БД. На
примерах продемонстрированы результаты выполнения трассировки для регистрации событий категории
Security Audit.
Ключевые слова: безопасность баз данных, аудит, мониторинг, трассировка
На сегодняшний день защита баз данных является одной из самых актуальных и сложных задач
в проблеме обеспечения информационной безопасности. Согласно последним оценкам ведущих
аналитических агентств, большая часть современных атак нацелена на информацию из баз данных,
так как именно в базах данных содержится ценная для организаций информация [1]. Угрозы
хранящейся в базах данных информации возникают не только извне, но и изнутри со стороны
легальных пользователей. Средства учета и наблюдения (auditing) - обеспечивают возможность
обнаружить и зафиксировать важные события, связанные с безопасностью, или любые попытки
создать, получить доступ или удалить системные ресурсы.
Контрольное
слежение
за
выполняемыми
действиями
в
системе
при
работе
с
конфиденциальными данными или при выполнении критических операций называется аудитом.
Контрольный след используется для обнаружения нарушителя, если противоречивость данных
приводит к подозрению, что совершено несанкционированное вмешательство в базу данных.
Очень близким к понятию аудита является понятие мониторинга. Для наблюдения за работой ОС, ее
служб, служб сервера баз данных, хранимых процедур, времени нахождения пользователя в системе и
т.д., вводится мониторинг. Результаты мониторинга используются для оптимизации работы сервера баз
данных, для оптимизации работы пользователей, для отслеживания тенденций роста или снижения
производительности и выявления их причин (в том числе и злонамеренных действий).
Аудит и мониторинг критических (в плане безопасности) действий пользователей снижает риск
внутренних угроз. Реализация аудита и мониторинга в различных SQL – серверах выполняется
своими встроенными механизмами.
Для сохранения контрольного следа обычно используется особый файл, в который система
автоматически записывает все выполненные пользователем операции при работе с обычной базой
данных. Файлы контрольного слежения являются системными. Их часто называют журналами аудита.
622
В сервере БД MS SQL Server 2008 существует несколько разных методов настройки аудита, но
по умолчанию аудит не активизирован. Лучшим решением является использование комбинаций
данных методов в зависимости от решаемых задач.
Аудит аутентификации сервера позволяет отслеживать попытки аутентификации на сервере
SQL. Включить его можно через SQL Server Management Studio или путем модификации параметра
реестра HKLM\Software\Microsoft\MSSQLServer\MSSQLServer \Audit Level, которому можно
присвоить значения от 0 до 3. Нулевое значение параметра означает отключение аудита, 1 — запись
удачных попыток аутентификации, 2 — неудачных. При значении параметра 3 включается аудит всех
попыток аутентификации.
События сохраняются в журнале Application операционной системы. Дополнительные настройки
позволяют сохранять события в журнале ошибок SQL Server. Настройка данного типа аудита
предполагает включение отслеживания неудачных попыток аутентификации (значение 2) с последующим
анализом на предмет выявления попыток несанкционированного доступа или подбора паролей.
Аудит событий сервера баз данных. Настраивать и отслеживать их можно при помощи
утилиты SQL Profiler. Это инструмент с графическим интерфейсом, предназначенный для
мониторинга активности сервера и БД. Например, для аудита пользователей и обнаружения запросов
с наихудшей производительностью.
SQL Server Profiler отслеживает события обработки ядра, например, начало пакета или
транзакции, и регистрирует данные об этих событиях в таблице SQL Server или в файле, тем самым
давая возможность осуществлять аудит (и мониторинг) операций серверов и баз данных. Включение
любой из категорий событий аудита приведет к сохранению следующей информации о событиях:
- дата и время события;
- учетная запись пользователя;
- тип события;
- результат выполнения действия (успешно или нет);
- место события (к примеру, имя компьютера);
- имя объекта, к которому осуществлялся доступ;
- текст SQL-запроса (за исключением паролей).
SQL Profiler позволяет фиксировать фактически все события, которые имеют место в SQL
Server, включая [2]:
- действия конечных пользователей (все SQL команды, вход/выход из системы, использование
ролей приложений);
- действия DBA (действия отличные от Grant/Revoke/Deny, а также события безопасности и
конфигурирования (БД или сервера));
- события безопасности (Grant/Revoke/Deny, добавление/удаление /изменение логина
пользователя/роли);
- сервисные события (резервирование/восстановление/bulk insert/bcp/ DBCC команды);
- события сервера (завершение, пауза, запуск);
- события аудита (добавление, изменение, отключение аудита).
Эта информация является очень полезной, если нужно установить, кто, что и когда делал в базе данных.
При аудите и мониторинге SQL Profiler разделяет регистрируемую информацию на категории по
типу событий. Набор зарегистрированных событий называется профилем трассировки (trace). Файл,
содержащий профиль трассировки называется трассировочным файлом, а таблица с профилем
трассировки – трассировочной таблицей. Подлежащие трассировке (регистрации) данные можно
определить в шаблоне профиля трассировки.
В системе имеются встроенные шаблоны SQL Profiler, но пользователь может изменить любой
из существующих шаблонов или создать собственный.
В данной работе представлена организация аудита и мониторинга тестовой базы данных
«Книжный магазин» в сервере БД MS SQL Server. При проектировании базы данных были
использованы ER-метод проектирования и CASE-средство проектирования БД - ERWin. Были
разработаны инфологическая и даталогическая модели БД, выполнена генерация SQL- скриптов и
реализация БД с именем «Books» в MS SQL Server 2008.
В данной модели присутствуют следующие сущности: Книги, Авторы, Издательства, Покупатели,
Поставщики, Заказы, Разделы.
Сущность книги содержит общую информацию о книгах. Сущность Авторы содержит информацию
об авторах книг. Информация о покупателях магазина заносится в сущность Покупатели. Данные о
поставщиках хранятся в сущности Поставщики. В сущности Издательства содержится информация об
623
издательствах книг. Заказы сохраняются в сущности Заказы. В сущности Разделы хранится информация о
книжных разделах магазина. Сущности связанны между собой связями 1:1 и 1:М.
У каждой сущности имеются свои атрибуты. Например: сущность Авторы имеет атрибуты: код
автора, имя, фамилия, отчество, дата рождения. Первичным ключом данной сущности является
атрибут код автора.
Трассировка создается на основе шаблона, встроенного в систему, или созданного
пользователем. Создадим новый пользовательский шаблон в SQL Profiler для аудита. Для этого
откроем окно SQL Profiler и выберем File – Templates – New Template... Появится окно Свойства
шаблона трассировки с двумя вкладками (рисунок 1). На вкладке Общие заполним имя шаблона –
new и выберем в качестве основы для нашего шаблона встроенный стандартный шаблон Standart.
Рисунок 1– Создание шаблона трассировки
На вкладке Выбор событий выбираются события (Events), которые будет отслеживать SQL
Profiler. События сгруппированы по категориям: Security Audit, Sessions, Stored Procedures, TSQL и
др. (см. рисунок 2).
Рисунок 2– Выбор категорий событий для шаблона трассировки
Раскрыв ту или иную категорию событий можно увидеть все события этой категории. На этой
же вкладке имеются столбцы – возможные регистрируемые параметры событий: TextData (текст
запроса), CPU (процессорное время), Duration (продолжительность) и т.д. Для указания
необходимости регистрации какого-либо параметра, его необходимо отметить щелчком мыши.
Сохраним шаблон для последующего использования.
Последовательность действий для создания файла трассировки аналогичная, так же как и окно
создания файла трассировки аналогично окну создания шаблона трассировки. Создадим трассировку
624
для регистрации событий категории Security Audit на основе созданного шаблона. Для этого выберем
File->New Trace, появится окно Свойства трассировки (Trace Properties). На вкладке Общие (General)
задаем имя трассировки и в качестве профиля для трассировки выбираем созданный шаблон.
На рисунке 3 показана вкладка Выбор события (Events Selection) окна создания трассировки с
выбранными для регистрации событиями и параметрами.
Рисунок 3 – Выбор событий и регистрируемых параметров трассировки
Запустим созданную трассировку нажатием кнопки Запустить на вкладке Общие (General) окна
Свойства трассировки (Trace Properties) и перейдем в Management Studio.. Далее, в таблице Avtory
создадим атрибут Zhanr, а затем изменим его название на Zhanry.
Ниже приведены SQL-скрипты по выполнению переименования атрибута Zhanr:
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
EXECUTE sp_rename N'dbo.avtory.zhanr', N'Tmp_zhanry', 'COLUMN'
GO
EXECUTE sp_rename N'dbo.avtory.Tmp_zhanry', N'zhanry', 'COLUMN'
GO
ALTER TABLE dbo.avtory SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
В окне трассировки видно, что для выполнения изменений система выполнила ряд команд,
обращалась к базам данных Master и Books (см. рисунок 4).
Рисунок 4 – Регистрация событий выполнения изменений
625
Далее попробуем подключиться к серверу с помощью несуществующего логина Lol - в доступе
будет отказано (см. рисунок 5).
Рисунок 5 – Отказ доступа
Неудачная попытка подключения отразится в трассировке. На рисунке 6 видно, что логину lol
соответствует значение 0 в столбце Success. Значение в этом столбце показывает успешность
выполнения операции. При успешном выполнении значение равно 1, в противном случае – 0.
Существует множество возможностей, доступных для аудита и мониторинга базы данных с
использованием утилиты SQL Profiler. Основное правило настройки аудита - это предварительное
определение событий и их параметров для регистрации. С помощью простых отчетов можно выявить
нарушения среди действий, зафиксированных в журнале аудита.
Рисунок 6 – Регистрация событий неудачной аутентификации
При организации аудита и мониторинга следует учесть, что при этом потребуются
дополнительные ресурсы. Поэтому нужно выполнять аудит и детальный мониторинг только тех
операций и объектов, информация о которых действительно необходима. Для рационального и
оптимального использования ресурсов сервера SQL Profiler позволяет выбрать определенную группу
событий для отслеживания. Это существенно снижает нагрузку на систему.
626
ЛИТЕРАТУРА
1. Анализ угроз информационной безопасности http://ypn.ru/106/analysis-of-threats-to-information-security/4/
2.
Работа
с
приложением
SQL
Server
Profiler
//https://msdn.microsoft.com/ru-
ru/library/ms187929(v=sql.105).aspx
REFERENCES
1. Analiz ugroz informacionnoy bezopasnosti //http://ypn.ru/106/analysis-of-threats-to-information-security/4/
2. Rabota s prilojeniem SQL Server Profiler //https://msdn.microsoft.com/ru-ru/library/ms187929(v=sql.105).aspx
Туриканов Т.С., Айтхожаева Е.Ж.
MS SQL SERVER-де аудит және мониторинг ұйымдастыру
Түйіндеме. Бұл мақалада MS SQL SERVER-де аудит және мониторинг ұйымдастыру қарастырылады.
SQL Profiler графикалық құралын пайдалану технологиясын көрсетіледі. Трассирлеу, трассирлеуді бастау және
трассирлеу үлгісін құру қарастырылады,.
Түйін сөздер: дерекқорлардың қауіпсіздігі, аудит, мониторинг, трассировка.
Turikanov T.S., Aitkhozhaeva Y.Zh.
Organization of audit and monitoring in MS SQL SERVER
Summary. The article describes the organization of audit and monitoring in MS SQL SERVER. Shows the
technology of using the graphic utility SQL Profile for monitoring the activity of the server and the database. Consider
creating of template trace, trace, run the trace. The trace in the examples shown.
Key words: database security, audit, monitoring, trace.
ӘОЖ 004.65
Шалабаев Қ.М. студент, Баймағамбетова А.Р. студент, Сағымбекова А.О.
Қ.И.Сәтбаев атындағы Қазақ ұлттық техникалық университеті,
Алматы қ., Қазақстан Республикасы
sagymbekova@mail.ru
WEB-ҚОЛДАНБАЛАР ҚОРҒАНЫСЫН ЖҮЗЕГЕ АСЫРУ
Аңдатпа. Менеджерлер, бухгалтерлер секілді, дереқор қолданушылардың көбісі ақпараттық технологияларға
қатысы жоқ адамдар, сондықтан олар үшін дерекқормен жұмыс жасауға арналған бағдарламалар әзірленеді.
Осындай қосымшалардың бір түрі ретінде, қолданушыларға ыңғайлы әрі қол жетімді интерфейс ұсынатын веб-
қосымшалар болып табылады. Барлық заманауи веб-сайттар интерактивті әрі қолданушылармен әрекеттесу үшін
ақпаратты енгізуге арналған енгізу формалары болады. Мысал ретінде логин мен авторизациялауға арналған енгізу
өрістері, кері байланыс формасы арқылы мәтіндік хабарламаларды жіберу өрістері және т.б. Веб-сайтта енгізу өрісі
болған жағдайда, сервердегі өңдеуші скрипт қолданушылардан қандай да бір ақпаратты күтіп тұрады. Оны
өңдегеннен кейін, скрипт бағдарламаланған әрекеттер орындайды, ал авторизация жағдайында, қолданушы сайттың
жабық бөліктеріне қатынас құруға рұқсат алады. Ол үшін php скрипттің жұмыс алгоритміне сәйкес тексеру енгізу
қажет, нәтижесінде ақпарат сұрыпталып, қолданушылар қате енгізу туралы мәлімет алады.
Мақалада web-қолданбаларға төнетін кеңінен таралған қатерлердің түрлері мен олардың алдын алу және
қорғау шаралары туралы мәліметтер қарастырылған. Төнетін қатерлер арасынан қолданушы енгізетін
мәліметтерді сүзгілеуден өткізу қорғау шаралары жүзеге асырылған.
Түйін сөздер: web-қолданба, сервер, PHP, форма, қауіп, қорғаныш, мәліметтерді қорғау.
Web-қолданбалардың қауіпсіздігін қамтамасыз ету бұл көптеген аспектілерге ие, комплексті көп
деңгейлi мәселе.Бұл мәселелер жеке web – қолданбаларға ғана емес, сонымен қатар жалпы желілік
қызметтерге де тән. Web – қолданбалар қауіпсіздігіне web-сервер және оның баптауларының
қауіпсіздігі,негізгі функционалдық қызметті іске асыратын арнайы скриптар қауіпсіздігі кіреді. Желілік
қызметтер қауіпсіздігіне желілік инфроқұрылымның қауіпсіздігі (бағдарлауыш, желіаралық экран, DNS
сервер және т.б.), web-сервер және деректер қоры орналасқан физикалық серверлер қауіпсіздігі, TCP/IP
хаттамалар стегінің қауіпсіздігін іске асыру, басқа да іске қосулы web-серверлер қауіпсіздігі және т.б [1].
Потенциалды қауіптер:
1. Қолданбалар қызметін бұзу немесе DoS (Denial of Service) шабуылдар
2. Деректер қорынан рұқсатсыз мәліметтер оқу
3. Деректер қорында рұқсатсыз мәліметтерді өзгерту
4. Серверден файлдар оқу
627
5. Сервердегі файлдарды өзгерту немесе бөгде үрдістерді іске қосу
4 және 5 қауіптер қолданушылардың қатынау құқығына байланысты. Web-қолданбалардағы
көптеген шабуылдарды басу скрипты арнайы баптау арқылы жүзеге асады.Негізгі қорғаныш әдісі
бағдарламаны қолдану алдында қолданушы енгізген бүкіл мәліметтерді мұқият тенксеруден өткізу. 1
және 2 қауіптерді жүзеге асыратын көп таралған әдіс «SQL injection», яғни скрипке автор
тағайындамаған арнайы мақсатты орындауға негізделген SQL сұраныс жіберу.
Кең таралған жағдайдың бірі, қолданушыға басқа қолданушы енгізген ақпаратты көрсету
қажеттілігі. Каскүнем енгізген мәлімет (мысалы, JavaScript тілінде жазылған арнайы бағдарлама)
сайттың басқа қолданушыларына теріс әсерін тигезбеу қажет.
Бұзу каупін төмендету үшін төмендегі арнайы қорғаныш шараларын орындау қажет:
1. Сервер құрылғыларының жоғары сапалылығы және өнімділігі. Сервер мықты болған сайын
салмақты DOS шабуылдарға төзімді болады.
2. Мәліметтерді толық сүзгілеуден өткізу.Бүкіл енгізілген мәліметтерді өңдеп, толық сүзгілеуден
өткізіп,қауіпсіз қалыпқа келтіру.
3. Бүкіл жүйелік қателер жайлы хабарламалар өшірулі болуы тиіс, оның орнына арнайы
құжатталған CMS хабарламалар болуы тиіс.Өйткені жүйелік қателер жайлы хабарламалар
каскүнемге жүйе кемшіліктерін сараптауға мүмкіндік береді.
4. CMS-ті үнемі жаңарту.Сайтты басқару жүйесін әзірлеушілер өз өнімдерінің кемшіліктерін
анықтап,оларды жоятын шаралармен толықтырады.
5. Сервер ғана қорғаныста болмай,сайт құрушының дербес компьютерінде қорғаныш шаралары
іске асырылуы қажет.
6. Сервердегі мәліметтерді үнемі резервті көшіру.Бұл көшірмелер өзге серверде болуы қажет.
Қазіргі уақытта кең таралған серверлі технологиялардың бірі PHP болып табылады. Ең
алдымен серверлі және клиенттік бола алатын ,қолданушы енгізген мәліметтер сенбеу қажет.Өйткені
олар зиянкесті скрипт болуы мүмкін [2].
Мысалы, біздің сайтымыздағы автомобильді жалға алуға тапсырыс беру үшін толтырылатын
формалар.Аты-жөнді,электронды почтаны және жеке хабар енгізетін өрістер. PHP скрипт
формалардан алынған мәліметтерді арнайы файлда сақтацды.Осы файлдан әрі қарай мәліметтер
оқылады.Алғашқы көзге ешқандай қатер жоқ сияқты болып көрінеді,алайда каскүнем бұл
формаларды өз мақсаттарында қолдана алады.
Ең алдымен аты-жөн және e-mail мекен-жайды енгізітін формада енгізілетін символдар
ұзындығына шектеу қою.Бұл қорғаныштың көптеген әдістерінің бірі.Ол үшін енгізу формаларында
мысалы ретінде maxlength=15 кодын жазайық.Мысалы:
...
...
Енгізілетін мәліметтер ұзындығына шектеу қоятын код 1- суретте,ал ұзындықты шектеу
нәтижесі 2- суретте келтірілген.
Cурет 1 - Енгізілетін мәліметтер ұзындығына шектеу қоятын код
628
Сонымен мәлімет енгізу өрісінде 15 символдан артық енгізуге болмайды.
PHP скрипт басында келесі кодты жазамыз :
$fam=$_POST['fam'];
$imya=$_POST['imya'];
$surname=$_POST['surname']
$user_email=$_POST['user_email'];...
Өңдейтін PHP файлға POST массив ретінде формадан жіберілетін мәліметтер айнымалылары 3-
суретте келтірілген.
Cурет 2 - Ұзындықты шектеу кодының нәтижесі
Cурет 3 - Өңдейтін PHP файлға POST массив ретінде формадан жіберілетін
мәліметтер айнымалыларының коды
Яғни айнымалылардың мәні POST массивке сай өрістерден тікелей аламыз . Код барлық
айнымалыларға әсер етеді.. Бұл жағдайда хабар жіберетін форманың мәлімет беру әдісін
method="post" – қа өзгертеміз, мысалы [3] :
630
Сурет 5 - Енгізілген мәліметтерді анықталған ұзындықта кесетін код.
Қолданушы серверге қате хабар жіберер алдында ,оны алдын-ала ескерткенм жөн.Бұл мәселені
шешу үшін JavaScript тілінің қолданушы скриптары қажет. Ол үшін енгізілген мәліметтерді жіберу
алдында тексеріп, қателіктер анықталған жағдайда арнайы хабар жіберу.Мұны электронды мекен-
жайды дұрыс енгізу үшін қолдануға болады [4] :
...
Достарыңызбен бөлісу: |