Смекни!
smekni.com

Правила Безопасности

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

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

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

В современных условиях, когда информация имеет огромное значение, при­нятие мер для предотвращения несанкционированного доступа, предупрежде­ния потери или повреждения информации становятся неотъемлемой частью работы любой компании. По данным статистики, в США 80 % компаний, по­терявших информацию, прекращали свою деятельность в течение года. Среди оставшихся 20 % около половины просуществовало не более 4 лет.

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

Система управления базами данных Microsoft SQL Server 2000 имеет разно­образные средства обеспечения защиты данных. Эта глава посвящена детально­му знакомству с системой безопасности SQL Server 2000.

Общие правила разграничения доступа

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

После проектирования логической структуры базы данных, связей между таблицами, ограничений целостности и других структур необходимо определить круг пользователей, которые будут иметь доступ к базе данных. Чтобы разре­шить этим пользователям обращаться к серверу, создайте для них учетные за­писи в SQL Server либо предоставьте им доступ посредством учетных записей в домене, если вы используете систему безопасности Windows NT. Разрешение доступа к серверу не дает автоматически доступа к базе данных и ее объектам.

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

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

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

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

При создании паролей следуйте стандартным рекомендациям. Желательно, что­бы пароль включал в себя не только символы, но и цифры. Следите, чтобы пользо­ватели не применяли в качестве пароля год рождения, номер паспорта, машины или другие часто используемые данные. Установите ограниченный срок действия пароля, по истечении которого система потребует у пользователя сменить пароль. Для достижения максимальной степени безопасности используйте аутентифика­цию пользователей средствами Windows NT, поскольку операционные системы этого семейства предоставляют множество очень полезных средств защиты.

Архитектура системы безопасности SQL Server 2000

Система безопасности SQL Server 2000 базируется на пользователях и учетных записях. Пользователи проходят следующие два этапа проверки системой безо­пасности. На первом этапе пользователь идентифицируется по имени учетной записи и паролю, то есть проходит аутентификацию. Если данные введены пра­вильно, пользователь подключается к SQL Server. Подключение к SQL Server, или регистрация, не дает автоматического доступа к базам данных. Для каждой базы данных сервера регистрационное имя (или учетная запись — login) должно отображаться в имя пользователя базы данных (user). На втором этапе, на осно­ве прав, выданных пользователю как пользователю базы данных (user), его ре­гистрационное имя (login) получает доступ к соответствующей базе данных. В разных базах данных login одного и того же пользователя может иметь одинако­вые или разные имена user с разными правами доступа.

Для доступа приложений к базам данных им также понадобятся права. Чаще всего приложениям выдаются те же права, которые предоставлены пользовате­лям, запускающим эти приложения. Однако для работы некоторых приложе­ний необходимо иметь фиксированный набор прав доступа, не зависящих от прав доступа пользователя. SQL Server 2000 позволяет предоставить такие с применением специальных ролей приложения.

Итак, на уровне сервера система безопасности оперирует следующими поня­тиями:

О аутентификация (authentication);

О учетная запись (login);

О встроенные роли сервера (fixed server roles).

На уровне базы данных используются следующие понятия: О пользователь базы данных (database user); О фиксированная роль базы данных (fixed database role); О пользовательская роль базы данных (users database role); О роль приложения (application role).

Режимы аутентификации

SQL Server 2000 может использовать два режима аутентификации пользователей: О режим аутентификации средствами Windows NT/2000 (Windows NT Authentication);

О смешанный режим аутентификации (Windows NT Authentication and SQL

Server Authentication).

Смешанный режим позволяет пользователям регистрироваться как сред­ствами Windows NT, так и средствами SQL Server. Кроме того, этот режим предлагает некоторые удобства по сравнению с первым. В частности, при аутен­тификации только средствами домена Windows NT, если пользователь не име­ет учетной записи в домене Windows NT, то он не сможет получить доступа к серверу баз данных. Смешанный режим аутентификации позволяет избежать этой проблемы.