Отправляет email-рассылки с помощью сервиса Sendsay

MS SQL Server

  Все выпуски  

MS SQL Server - дело тонкое...


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

#038<<#039

DBA и безопасность

8 марта 2001г., посредством специального бюллетеня Микрософт, к широкой аудитории обратились специалисты Национального Центра Защиты Инфраструктуры при ФБР (National Infrastructure Protection Center далее NIPC). Оригинальный текст их обращения можно найти тут:
http://www.nipc.gov/warnings/advisories/2001/01-003.htm

Суть обращения в том, что ещё 1 декабря 2000г. NIPC опубликовал консультационные материалы ADVISORY 00-060, посвящённые "E-Commerce Vulnerabilities". Мартовское обращение, фактически является модификацией NIPC ADVISORY 00-060. Всё это время ФБР продолжило отслеживать хакерскую активность, особенно направленную на сектор e-finance/banking. Во многих случаях, хакеры атаковали или контролировали сайты в течение нескольких месяцев прежде, чем жертва узнавала о вторжении. В связи с этим, NIPC настоятельно рекомендует всем администраторам проверить используемые системы и рассмотреть необходимость применения новых заплат, особенно для систем, связанных с электронной коммерцией или e-banking/financial бизнесом. Заплаты доступны на сайте Микрософт, соответствующие URL перечислены ниже. Далее приводятся уязвимости, которые, несмотря на наличие заплат и публикации соответствующих предупреждений и бюллетеней, все-таки продолжают использовать хакеры, пользуясь беспечностью администраторов:

Уже довольно давно известно об уязвимости: «Unauthorized Access to IIS Servers through Open Database Connectivity (ODBC) Data Access with Remote Data Service (RDS), которая предоставляла неправомочный доступ к IIS через ODBC и RDS.
http://www.microsoft.com/technet/security/bulletin/ms99-025.asp
http://www.nipc.gov/warnings/advisories/1999/99-027.htm
http://www.nipc.gov/cybernotes/cybernotes.htm
SQL Query Abuse Vulnerability, эта уязвимость позволяла удалённому хакеру создавать деструктивные запросы к SQL серверу.
http://www.microsoft.com/technet/security/bulletin/ms00-014.asp
http://www.nipc.gov/cybernotes/cybernotes.htm
Registry Permissions Vulnerability - уязвимость системного реестра могла позволить хакеру отключить защиту Windows NT
http://www.microsoft.com/technet/security/bulletin/ms00-008.asp
http://www.nipc.gov/cybernotes/cybernotes.htm
Web Server File Request Parsing – эта уязвимость могла позволить хакеру выполнять системные команды на сервере.
http://www.microsoft.com/technet/security/bulletin/ms00-014.asp
http://www.nipc.gov/cybernotes/cybernotes.htm

Новая Информация:

ФБР представило список файлов, нахождение которых в системных каталогах Windows NT может свидетельствовать о том, что на Ваш сервер было осуществлено вторжение. Присутствие любого из этих файлов в вашей системе должно быть тщательно проанализировано, потому что это может указывать на то, что ваша система была компрометирована:

Ntalert.exe
Sysloged.exe
Tapi.exe
20.exe
21.exe
25.exe
80.exe
139.exe
1433.exe
1520.exe
26405.exe
I.exe

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

Lomscan.exe
Mslom.exe
Lsaprivs.exe
Pwdump.exe
Serv.exe
Smmsniff.exe

ФБР просит всех, кто обнаружит у себя не легальные файлы из представленных выше списков, связаться с ними по телефонам (202) 323-3204/3205/3206, или заявить об этом интерактивно на http://www.nipc.gov/incident/cirr.htm

СОВЕТ

Немного о фиксированных ролях
По материалам статьи Энди Уоррен на SWYNK.COM «SQL Permissions: More about the Fixed Roles»

В предыдущих своих статьях Энди уже рассмотрел применимость ролей Public и DataReader/DataWriter, а также те сложности, которые могут у Вас возникнуть при их применении. В этой статье автор обсуждает фиксированные роли.

DB_AccessAdmin

Эта роль предоставляет права добавлять или удалить пользователей для определенной базы данных. Энди пишет, что члены этой роли не могут выполнять sp_adduser, но зато им доступна sp_dropuser. Хорошей практикой является использование sp_grantdbaccess и sp_revokedbaccess, которые прекрасно работают. Эта роль может воздействовать только на уже существующие логины, и не может создавать новые. Запуск sp_dbfixedrolepermission покажет список разрешений, которые установлены для этой роли:
Db_accessadmin      Sp_addalias
Db_accessadmin      Sp_dropalias
Db_accessadmin      Sp_dropuser <
Db_accessadmin      Sp_grantdbaccess
Db_accessadmin      Sp_revokedbaccess

DB_SecurityAdmin
Эта роль предоставляет право управлять разрешениями, владельцами, и ролями - но только для тех логинов, которым уже был предоставлен доступ к базе данных. Хотя Энди считает возможности этой роли полезными, но сам он предпочитает назначать группы NT в роли SQL сервера, а затем управлять разрешениями путём добавления/удаления пользователей в группы NT. Вот список разрешений от sp_dbfixedrolepermission:
Db_securityadmin      DENY
Db_securityadmin      GRANT
Db_securityadmin      REVOKE
Db_securityadmin      Sp_addapprole
Db_securityadmin      Sp_addgroup
Db_securityadmin      Sp_addrole
Db_securityadmin      Sp_addrolemember
Db_securityadmin      Sp_approlepassword
Db_securityadmin      Sp_changegroup
Db_securityadmin      Sp_changeobjectowner
Db_securityadmin      Sp_dropapprole
Db_securityadmin      Sp_dropgroup
Db_securityadmin      Sp_droprole
Db_securityadmin      Sp_droprolemember

DB_BackupOperator
В BOL говорится, что пользователи, которые являются членом этой роли, могут делать резервные копии, плюс DBCC и Checkpoint. Checkpoint работает, а DBCC автору статьи заставить работать под этой ролью не удалось. Если Вы посмотрите на результат работы sp_dbfixedpermission, представленный ниже, то увидите, что в этом списке на DBCC разрешения нет. Энди не уверен в том, что эта роль будет иметь широкое применение, так как большинство DBA выполняет резервирование через задания по расписанию. Для восстановления резервной копии Вам потребуются разрешения роли DB_RestoreOperator, хотя Энди считает, что восстанавливать удобнее под ролью DBCreator или SYSADMINS.
Db_backupoperator      BACKUP DATABASE
Db_backupoperator      BACKUP LOG
Db_backupoperator      CHECKPOINT

DB_DDLAdmin
Эта роль предоставляет разрешение своим членам только на запуск DDL. Это полезно для разработчиков, которые изменяют схемы или если Вы хотите разрешить пользователям иметь собственные объекты. Имейте только в виду, что эти объекты будут принадлежать им, а не DBO (если Вы не используете sp_changeobjectowner до запуска этих объектов в промышленную эксплуатацию). В BOL сказано, что члены этой роли не могут выполнять Grant, Deny, или Revoke, но Энди убедился, что члены этой роли МОГУТ управлять разрешениями для объектов, владельцами которые они являются.
Db_ddladmin      All DDL but GRANT, REVOKE, DENY
Db_ddladmin      Dbcc cleantable
Db_ddladmin      Dbcc show_statistics
Db_ddladmin      Dbcc showcontig
Db_ddladmin      REFERENCES permission on any table
Db_ddladmin      Sp_changeobjectowner
Db_ddladmin      Sp_fulltext_column
Db_ddladmin      Sp_fulltext_table
Db_ddladmin      Sp_recompile
Db_ddladmin      Sp_rename
Db_ddladmin      Sp_tableoption
Db_ddladmin      TRUNCATETABLE

DB_Owner
Члены этой роли имеют все разрешения в базе данных. Но необходимо помнить, что объекты, созданные членами этой роли, будут принадлежать создавшему их пользователю, а не DBO (например, andy.testtable, а не dbo.testtable) - если пользователь также не входит в роль sysadmins. Что бы поменять собственника, нужно выполнить:

sp_changeobjectowner 'объект', 'dbo'

причём, права на такую операцию имеет роль sysadmins.

ГОТОВИМСЯ К ТЕСТУ ПО 70-028

ШПАРГАЛКА #7> Продолжение (обзор официального курса Microsoft)
Архив шпаргалок Вы найдёте на следующих сайтах:
http://mssqlhelp.com.ru
http://subscribe.ru/archive/comp.soft.winsoft.sqlhelpyouself

Публикация в WEB

MS SQL Server имеет ещё одну замечательную возможность, это публикация данных в виде HTML страниц. Причём, у Вас есть возможность не только вывести на WEB страницу данные, аналогичные выдаваемым оператором SELECT, но и форматировать HTML страницу. Вам доступно: создание заголовков страницы; указание времени последнего обновления; форматирование рамок, шрифта и столбцов таблицы; задание максимального числа строк таблицы; задание числа строк таблицы для страницы; размещение гиперссылок и их описателей. Такие возможности вам предоставляет WEB Assistant Wizard и системная хранимая процедура sp_makewebtask. Принцип их работы достаточно прост. В базе создаётся хранимая процедура, которая публикует данные из этой базы. В таблице msdb..mswebtasks создаётся задание ( WEB Assistant Job), которое может единожды или по расписанию размещать эти публикации, и работу которого будет обеспечивать SQL Server Agent. Каждому заданию и процедуре присваивается логическое имя, которое, по возможности, должно быть достаточно описательным. Для использования указанного визарда и системной процедуры у Вас должны быть права на выполнение оператора SELECT и на исполнение CRAETE PROCEDURE в публикуемой базе данных. Необходимо также помнить, что ни визард ни sp_makewebtask не умеют определять, что ссылки, базы, таблицы или процедуры, которые задействованы в публикации, действительно существуют. Убедитесь в этом до их запуска. Для того, что бы установить, какие данные будут публиковаться, можно воспользоваться графическим интерфейсом WEB Assistant Wizard, написать соответствующий запрос средствами T-SQL и/или хранимых процедур, использовать существующие хранимые процедуры. Кроме этого, сервер баз данных должен получить информацию о том, куда он должен выложить сформированную страницу, т.е. каталог на диске, в сети или на FTP. По умолчанию всё выкладывается в MSSQL7\HTML. Для того, что бы это было возможно, учётная запись, от имени которой стартует MSSQLServer, должна иметь соответствующий набор прав, для размещения файла в указанном каталоге. Если Вы создаёте WEB страницу с помощью скрипта T-SQL, не забудьте его сохранить. Это позволит Вам многократно его использовать. Сформированная и размещённая в каталоге HTML страница будет доступна для дальнейшего её ручного или автоматического форматирования/редактирования.
Вы можете использовать шаблоны HTML для упрощения процесса создания красивых WEB страниц. Для шаблонов применяются специальные метки, которые указывают где и что размещать на странице. Например, метка <%insert_data_here%> указывает место размещения таблицы, которую сформирует сервер из публикуемых данных. Теги форматирования этой таблицы должны быть размещены между двумя метками: <%begindetail%> и <%enddetail%>.
Если Вы желаете, что бы данные WEB страницы, публикуемые из базы, автоматически обновлялись, задайте в визарде или в sp_makewebtask параметр @whentype. По умолчанию, задание выполниться только однажды и сразу удаляется. Разумеется, такое задание в Enterprise Manager Вы даже не увидите. Однако, вы можете определить нормальное задание, которое можно будет выполнять вручную, единожды в заданное время или по расписанию. Также, существует возможность задать выполнение задания при каждом изменении данных на сервере. В таком случае, SQL сервер сам создаст необходимые триггеры INSERT, UPDATE и DELETE, и в имя этого триггера будет включено имя задания, причём включая возможные пробелы. Если триггеры уже существуют, то в них автоматически добавится запуск sp_makewebtask. Следите только, что бы эти триггеры небыли созданы с параметром WITH ENCRYPTION. Синтаксис sp_makewebtask следующий:

sp_makewebtask имя хр. процедуры, [полное имя HTML файла с указание пути]

Удалит задание можно с помощью системной хранимой процедуры sp_dropwebtask, которая имеет такие же параметры, как и предыдущая процедура. Имена заданий и местоположения файлов можно получить из таблицы msdb..mswebtasks, расписание публикаций можно узнать из msdb..sysjobschedules, определения процедур и триггеров в таблице syscomments.

Вопросы для повторения.

ВОПРОС
Вы хотите создавать резервную копию журнала транзакций базы данных каждый час в основное рабочее время (с 8:00 до 18:00) и каждые три часа в остальное время (с 18:00 до 8:00). Как наиболее эффективно автоматизировать эти задачи?
ОТВЕТ
Определите одно задание для создания резервной копии журнала транзакций и составьте для него два расписания.

ВОПРОС
Руководитель отдела, обслуживающего счета заказчиков, попросил, чтобы его извещали о каждом изменении предельной суммы кредита заказчика (увеличении или уменьшении). Кроме того, необходимо знать имя сотрудника отдела, обновившего счет заказчика, а также получить все объяснения по этому поводу. Как выполнить эту задачу?
ОТВЕТ
Первое, что следует сделать, - это создать пользовательское сообщение об ошибке, в котором указано имя заказчика, предельная сумма кредита, примечания (в предположении, что соответствующий столбец в базе данных уже имеется) и имя сотрудника отдела, сделавшего изменение.
После этого в хранимую процедуру или триггер, выполняющий обновление предельных сумм кредитов заказчиков, необходимо включить оператор RAISERROR, генерирующий пользовательскую ошибку.
Затем назначьте руководителя отдела оператором.
Наконец, создайте на основе пользовательского сообщения об ошибке оповещение, которое будет отправлять назначенному оператору сообщение электронной почты.

ВОПРОС
Вы разрабатываете новое приложение базы данных и хотите проверить его рабочие характеристики. Именно, вы хотите знать, не превышает ли время ожидания блокировки интервал в 20 секунд. Как можно организовать автоматическое получение уведомлений о подобном событии?
ОТВЕТ
Создайте оповещение об изменении рабочего режима на сервере SQL Server для объекта Locks (Блокировки).

ВОПРОС
Когда наступает новое время года, поставщик изменяет цены на некоторые товары. Как с помощью мастера помощника по Вебу обновлять прейскурант на веб-странице?
ОТВЕТ
Создайте задание Веба, обновляющее веб-страницу при изменении цен в таблице. Это задание Веба автоматически создаст триггер для таблицы.

Конец шпаргалки №7

Продолжение следует.

ПОЛЕЗНОСТИ

Вышла книга Николаса Чейз «Active Server Pages 3.0 на примерах». Информацию, необходимую для изучения Active Server Pages (ASP), вполне можно найти в Web. Причем этого будет достаточно, чтобы понять основную суть технологии, а для действительного же освоения ASP лучше выполнить реальный проект. Именно это вам и предстоит сделать в процессе изучения материала данной книги. Вместо того чтобы заниматься отвлеченной теорией, вы создадите Web-узел для (воображаемого) журнала научной фантастики Primary Outpost. В ASP можно выполнять чрезвычайно сложные вещи, но это не значит, что настоящая книга охватывает абсолютно все. В процессе разработки проекта вы изучите основы электронной коммерции, получите основные сведения об объектах (в том числе встроенных объектах ASP), научитесь использовать компоненты ActiveX, узнаете, как получить доступ к базам данных, освоите язык VBScript и азы HTML, а также познакомитесь с cookies и другими не менее интересными технологиями. Книга предназначена для пользователей с различным уровнем подготовки.
И ещё одна книга: «SQL Server 2000 в подлиннике» (автор Мамаев). Основное внимание в книге уделено средствам администрирования сервера, разработке и сопровождению баз данных и таблиц, а также созданию хранимых процедур и функций. Подробно рассмотрены возможности использования индексов, управление данными, обмен и преобразование данных, работа с подсистемами репликации, резервного копирования, безопасности и многое другое.
http://www.mistral.ru/content/43427.shtml
Разработчикам WEB – приложений будет полезна книга: «Базы данных в Интернете» (+ CD, автор Фролов) Эта книга - практическое руководство по созданию приложений Web с базами данных для Интернета, а также для корпоративной интрасети. Здесь рассмотрены современные технологии, созданные Microsoft для работы с базами данных. К книге прилагается компакт-диск с примерами программ и другим ПО.
http://www.mistral.ru/content/43503.shtml
Для теоретиков вышла книга: «Анализ финансовых данных с помощью самоорганизующихся карт» ( + СD, автор Дебок). Книга является изложением одной из последних научных разработок, которая позволяет обобщать и делать простой для восприятия информацию любой сложности и объема. Методы, описанные в книге, широко используются Мировым банком и многими другими ведущими компаниями и банками.
http://www.mistral.ru/content/43458.shtml

Журнал SQL Server Magazine ONLINE #2 2001г. - Издательство «Открытые Системы», аннотации статей по разделам:
http://www.osp.ru/win2000/sql/2001/02/

СЕКРЕТЫ АДМИНИСТРИРОВАНИЯ
Запросы к распределенным секционированным представлениям. Кэлен Дилани, Ицик Бен-Ган. В обработке запросов к распределенным секционированным запросам самый тонкий момент - маршрутизация по соединенным серверам.
http://www.osp.ru/win2000/sql/2001/02/630.htm
Триггеры INSTEAD OF. Кэлен Дилани. Новый тип триггеров открывает дополнительные возможности контроля изменения данных.
http://www.osp.ru/win2000/sql/2001/02/635.htm
Доступ разрешен. Рик Добсон. Параметры входа в SQL Server можно задавать из проектов Access.
http://www.osp.ru/win2000/sql/2001/02/645.htm
МАСТЕРСТВО РАЗРАБОТКИ
ADO и XML. Дэн Фокс. Рассказано о том, как извлекать данные XML из хранимых процедур, выполнять шаблоны XML и обращаться с запросами XPath к представлениям XML.
http://www.osp.ru/win2000/sql/2001/02/650.htm
Экскурсия в рекурсию. Крис Биренс. Справиться с иерархиями поможет рекурсивное применение хранимых процедур.
http://www.osp.ru/win2000/sql/2001/02/655.htm
Динамические перекрестные запросы. Ицик Бен-Ган. Рассказ о том, как получить из нормализованных данных почти многомерный результат.
http://www.osp.ru/win2000/sql/2001/02/665.htm
ХРАНИЛИЩА ДАННЫХ И OLAP
Средства исследования данных в SQL Server 2000. Барри де Виль. Золотые прииски данных ждут своих старателей. Часть первая - истоки и основы подхода.
http://www.osp.ru/win2000/sql/2001/02/670.htm
Практическое применение средств DM из Analysis Services. Рас Уитни. Взгляд специалиста по OLAP на инструментарий исследования данных в SQL Server 2000.
http://www.osp.ru/win2000/sql/2001/02/677.htm
ТОНКОСТИ ПРОЕКТИРОВАНИЯ
Физическое проектирование. Мишель Пуле. Пятый этап реализации проекта базы данных - создание ряда спецификаций, необходимых для практического развертывания базы. http://www.osp.ru/win2000/sql/2001/02/680.htm
НОВЫЕ ВОЗМОЖНОСТИ
Функции на заказ. Роберт Виейра. В SQL Server 2000 появилась возможность создавать функции по желанию заказчика.
http://www.osp.ru/win2000/sql/2001/02/690.htm
Архитектура виртуального интерфейса. Джон Грин. Несколько слов об архитектурном основании для сетевых адаптеров, улучшающих работу SQL Server 2000.
http://www.osp.ru/win2000/sql/2001/02/695.htm
ДИАЛОГИ
Подсказки и советы. Брайан Моран. Что мешает обновлять строки, как лучше хранить трассы SQL Profiler и как обращаться к ним с запросами.
http://www.osp.ru/win2000/sql/2001/02/605.htm
Microsoft отвечает. Ричард Веймир. Перенос журналов транзакций и его использование для восстановления баз данных, и еще кое-что.
http://www.osp.ru/win2000/sql/2001/02/610.htm
Ответы на вопросы об XML. Рич Ролман. Про XML и ADO, про наполнение приложений без браузеров и про книжки для начинающих.
http://www.osp.ru/win2000/sql/2001/02/615.htm
Что новенького в T-SQL? Майкл Оти. Семь самых полезных новинок T-SQL, появившихся в SQL Server 2000.
http://www.osp.ru/win2000/sql/2001/02/620.htm
Отчет с расписанием заданий. Хосе Л. Амадо-Бланко, Джейсон Картер. Полезная хранимая процедура, предложенная читателем.
http://www.osp.ru/win2000/sql/2001/02/625.htm
Генерация описаний таблиц. Джо Бишоп. Читатель предлагает три варианта решения задачи.
http://www.osp.ru/win2000/sql/2001/02/627.htm

Новые технические статьи Microsoft:

Q196384 - () HOWTO: Perform Bulk Inserts Using SQLSetPos
Q270600 - PRB: Index Tuning Wizard May Not Recommend Indexes for SQL Statements in Triggers
Q276060 - FIX: SELECT with ORDER BY Does Not Maintain Sort Order if Run in Parallel
Q288577 - INF: Troubleshooting Database Maintenance Plan Failures
Q289287 - BUG: BOL Incorrectly States the Precedence of Bitwise Operators
Q281293 - FIX: SQL Mail 2000 Needs Microsoft Outlook 2000 Client
Q289886 - DOC: English Query 2000 Tutorials Errata
Q227662 - PRB: SQL Performance Monitor Counters Missing
Q242953 - SMS: "Table Corrupt" When Running DBCC Checkcatalog Against SMS Database
Q251004 - INF: How to Monitor SQL Server 7.0 Blocking
Q251175 - INF: How to Monitor SQL Server 6.5 Blocking
Q271509 - INF: How to Monitor SQL Server 2000 Blocking
Q274797 - INF: SQL Server 7.0 Service Pack 3 Fixlist
Q281409 - BUG: Bulk Insert Fails with BATCHSIZE=1, FIRE_TRIGGERS, and TABLOCK
Q287167 - BUG: Some Full-Text Search Failures Do Not Set @@ERROR
Q276583 - FIX: Error Message Occurs When You Open a DTS Package Saved with Characters that do not Exist in SQL Server Code Page

#038<<#039


Вопросы, предложения, коментарии, замечания, критику и т.п. присылайте Александру на адрес: MSSQLHelp@pisem.net
Хостинг рассылки:
Majordomo.ru - качественный хостинг от $9 в месяц: от 10 Мб,неограниченный трафик, от 10 РОР3, Cgi-bin, MySQL, PHP и секретный сервер, FTP & anonymous FTP, бесплатная регистрация домена,перекодировка кириллицы... http://www.majordomo.ru/hosting и самое главное - уникальное предложение : ДОМЕННОЕ ИМЯ в зоне .ru, .com, .net, .org БЕСПЛАТНО. Побробности http://www.majordomo.ru/hosting/specpr.html

MSSQLHELP
SQL.RU
ФОРУМ
Описание рассылки



http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное