- •10.03.01 Информационная безопасность
- •Индивидуальная тема:
- •Ход выполнения практического задания:
- •В данной работе была разработана система защиты баз данных на предприятии мку «Администрация города Пскова». Внедрение системы производилось комплексно, как на аппаратном, так и на программном уровне.
- •Санкт-Петербург
МИНИСТРЕСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
10.03.01 Информационная безопасность
(код и наименование направления/специальности
Предмет Основы управления информационной безопасности
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №14
«Изучение методов построения комплексной защиты сетевых приложений и баз данных»
(тема отчета)
Выполнил:
(Ф.И.О., № группы) (подпись)
Проверил:
_Бирих Э.В.____________
(уч. степень, уч. звание, Ф.И.О.) (подпись)
Цель работы:
Изучить методы построения комплексной защиты сетевых приложений и баз данных.
Индивидуальная тема:
№28 Администрация города
Ход выполнения практического задания:
Разработать проект системы защиты базы данных в соответствии с закрепленным предприятием.
Введение
Для современного этапа развития общества характерен непрерывный процесс информатизации и совершенствования информационных технологий. Сфера внедрения телекоммуникационных и вычислительных систем постоянно расширяется, затрагивая все новые стороны жизни общества. В связи с этим важной задачей является обеспечение достаточной степени защищенности этих систем для их эффективного функционирования в условиях проявления информационных угроз, для чего в свою очередь необходимо наличие адекватной методологии анализа и управления информационными рисками.
Для упорядочения представлений об информационных угрозах предпринимались неоднократные попытки их классификации в соответствии с признаками, приведенными выше, а также по другим признакам. В результате в литературе фигурирует множество различных классификационных схем, как правило, предназначенных для различных практических целей.
Большинство распределенных сетей функционируют и проектируются с учетом использования в них технологии межсетевого взаимодействия, реализованной в Internet. При этом, как правило, информационно-телекоммуникационная система базируется на применении стека протоколов межсетевого взаимодействия TCP/IP. В связи с этим в распределенных сетях могут реализовываться большинство атак, характерных для Internet.
Структура распределенной ИСПДн
Сервера распределенной ИСПДн могут выносятся в центр обработки данных (ЦОД). В большинстве случаев он находится в административном центре предприятия в выделенном серверном помещении, либо же выносится в отдельное строение, предназначенное исключительно для ЦОД и осуществляющих его поддержку структур.
К одной из главных особенностей распределенной ИСПДн относится передача ПДн по неконтролируемому каналу, чаще всего представляющему из себя сеть связи общего пользования (ССОП) или Интернет. Эта особенность влияет на множество характеристик безопасности ИСПДн. В том числе появляется необходимость криптографической защиты передаваемых данных, ввиду распределенности и разнородности средств информатизации и средств защиты, остро становится вопрос централизации механизмов мониторинга и управления. Это значительно усложняет структуру СЗПДн, взаимосвязи её компонент с внешней средой системы.
Выделяются следующие категории ПДн в рамках ИСПДн:
категория 1 - ПДн, касающиеся расовой, национальной принадлежности, политических взглядов, религиозных и философских убеждений, состояния здоровья, интимной жизни;
категория 2 - ПДн, позволяющие идентифицировать субъекта персональных данных и получить о нем дополнительную информацию, за исключением персональных данных, относящихся к категории 1;
категория 3 - ПДн, позволяющие идентифицировать субъекта персональных данных;
категория 4 - обезличенные и (или) общедоступные ПДн.
Анализ атак и уязвимостей баз данных
В 2010 году число утечек данных достигло рекордно высокого уровня, причем в 47 процентах атак злоумышленникам потребовалось лишь пара часов, а то и минут, чтобы проникнуть в систему и получить доступ к данным. В 44 процентах случаев для этого потребовалось несколько дней, согласно данным опубликованного в 2011 году совместного отчета компании Verizon и Секретной службы США о расследовании утечек данных. Итак, преступники проникают в систему -- причем быстро. А ответные действия часто оказывается запоздалыми. Время между взломом обороны и его обнаружением порой измерялось неделями (в 38 процентах случаев), а то и месяцами (в 36 процентах случаев).
Последовательный подход к вопросу нападения на СУБД является довольно разумным и именно его я буду рассматривать, поэтому начну рассматривать ситуацию, когда у злоумышленника нет никакой информации о системе, к которой он пытается получить доступ, равно как и никаких логических прав.
Для проникновения в СУБД, злоумышленнику придется пройти через межсетевой экран, который преграждает ему путь в СУБД.
Межсетевой экран - программный или программно-аппаратный элемент компьютерной сети, осуществляющий контроль и фильтрацию проходящего через него сетевого трафика в соответствии с заданными правилами.
Абсолютное большинство межсетевых экранов построено на классических моделях разграничения доступа, разработанных в 70-х, 80-х годах прошлого столетия в военных ведомствах. Согласно этим моделям субъекту (пользователю, программе, процессу или сетевому пакету) разрешается или запрещается доступ к какому-либо объекту (например, файлу или узлу сети) при предъявлении некоторого уникального, присущего только этому субъекту, элемента. В 80% случаев этим элементом является пароль. В других случаях таким уникальным элементом является таблетка Touch Memory, Smart или Proximity Card, биометрические характеристики пользователя и т.д. Для сетевого пакета таким элементом являются адреса или флаги, находящиеся в заголовке пакета, а также некоторые другие параметры.
Можно заметить, что самым слабым звеном этой схемы является уникальный элемент. Если нарушитель каким-либо образом получил этот самый элемент и предъявил межсетевому экрану, то он воспринимает его, как «своего» и разрешает действовать в рамках прав того субъекта, секретным элементом которого несанкционированно воспользовались. При современных темпах развития технологий получить доступ к такому секретному элементу не составляет большого труда. Его можно "подслушать" при передаче по сети при помощи анализаторов протоколов, в том числе и встроенных в операционные системы (например, Network Monitor в Windows NT 4.0). Его можно подобрать при помощи специальных программ, доступных в Internet, например, при помощи L0phtCrack для Windows или Crack для Unix.
Таким образом даже самый мощный и надежный межсетевой экран не защитит от проникновения в корпоративную сеть нарушителя, если последний смог подобрать или украсть пароль авторизованного пользователя. Мало того, межсетевой экран даже не зафиксирует нарушения, так как для него нарушитель, укравший пароль, является авторизованным пользователем.
VPN (Virtual Private Network -- виртуальная частная сеть) -- обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет). Несмотря на то, что коммуникации осуществляются по сетям с меньшим или неизвестным уровнем доверия (например, по публичным сетям), уровень доверия к построенной логической сети не зависит от уровня доверия к базовым сетям благодаря использованию средств криптографии (шифрования, аутентификации, инфраструктуры открытых ключей, средств для защиты от повторов и изменений, передаваемых по логической сети сообщений).
Единственное, за что он можем «зацепиться» в таком случае, это открытые порты сервера, на котором функционирует СУБД. Oracle обладает как минимум одним сетевым сервисом, который обеспечивает сетевое функционирование СУБД и, как правило, всегда запущен, - это сетевая служба TNS Listener (далее - Листенер). Разумеется, возможна ситуация, когда на сервере установлены дополнительные компоненты системы, такие как Oracle Application Server и прочие сервисы, но сейчас нас интересует самая типичная ситуация. И первое, с чем нужно ознакомиться злоумышленнику, так и администратору, имеющим дело с Oracle, это с Листенером. Листенер Oracle - компонент сетевого доступа к СУБД Oracle. Это отдельный процесс, который принимает по своему протоколу клиентские запросы на соединение и направляет их для обработки в соответствующий серверный процесс СУБД. Листенер поддерживает соединения по протоколам SNMP и SSL. Обычно атаки на Листенер рассматриваются как первый этап цепочки атак на СУБД. Со ответственно, вероятность компрометации СУБД в большой степени зависит от правильной конфигурации Листенера. Незащищенный (неправильно сконфигурированный с точки зрения безопасности) Листенер предоставляет нарушителю возможность осуществления огромного спектра атак, включая удаленное выполнение команд и атаки типа «отказ в обслуживании».
Сетевая служба TNS Listener - достаточно мощный инструмент, почти полностью контролирующий доступ к СУБД и предоставляющий возможность доступа к командам ОС. Листенер состоит из двух исполняемых и нескольких конфигурационных файлов. Исполняемые файлы tnslsnr и lsnrctl расположены в директории $ORACLE_ HOME/bin (переменная $ORACLE_HOME отображает путь к директории, в которую установлена СУБД). Конфигурационные файлы расположены в директории $ORACLE_HOME/network/admin. Рассмотрим подробнее назначение этих файлов.
Tnslsnr - отвечает за весь основной функционал службы - процесс tnslsnr, который выполняет роль прокси-сервера и перенаправляет запросы от клиента непосредственно к СУБД. Процесс tnslsnr по умолчанию запускается с привилегиями пользователя Oracle в ОС UNIX и с привилегиями пользователя Local System в ОС Windows NT/2000/2003. Так как учетная запись «oracle», создаваемая при установке СУБД на UNIXсистемах, не имеет административных привилегий, риск поставить под угрозу весь сервер при компрометации Листене ра в UNIXсистемах по умолчанию ниже.
Lsnrctl - является консольной утилитой, используемой для администрирования Листенера. С ее помощью можно управлять Листенером как локально, так и удаленно. Команды управления включают в себя возможность настройки протоколирования событий, смены пароля или удаленного перезапуска Листенера.
Sqlnet.ora - этот конфигурационный файл отвечает за сетевые настройки Листенера. В нем нас прежде всего интересуют опции, связанные с безопасностью - это настройки шифрования передачи данных, аутентификации и разграничения прав доступа к Листенеру по IP адресам (Valid Node Checking).
Listener.ora - этот конфигурационный файл отвечает за связь Листенера с СУБД. Для нас важнейшим моментом является хранимая в нем строка подключения, которая со держит такие параметры подключения, как системный идентификатор (SID) и порт, на который будут приниматься запросы для данного SID
Tnsnames.ora - этом файле хранится соответствие кратких имен (Net Service Names) длинным дескрипторам соединений для упрощения межсетевого взаимодействия. Нам это файл интересен тем, что в нем может находиться информация о SSL сертификатах, используемых для аутентификации. В нем также могут храниться данные для подключения к другим серверам СУБД, в том числе и SID.
Для версий СУБД Oracle ниже 10g по умолчанию возможно неавторизированное подключение к службе Листенера и осуществление удаленного управления сервисом. В общем случае злоумышленник может выполнить следующие действия:
- получить детальную информацию об атакуемой системе:
имена сервисов (SERVICE_NAME) и системные идентификаторы (SID); - версию СУБД;
пути к журналам регистрации событий;
версию ОС, на которой установлена СУБД;
переменные окружения (ORACLE_HOME и т.п.);
- произвести атаку на отказ в обслуживании;
- выполнить SQL команды от имени администратора БД (DBA);
- получить удаленный доступ к системе.
Для получения детальной информации о системе используется стандартная утилита lsnrctl, входящая в набор устанавливаемых с клиентом для СУБД Oracle утилит. Для получения информации о конфигурации службы Листенера можно воспользоваться командой status.
Ответ сервера содержит много интересной информации:
- SID базы данных;
- версия СУБД;
- пути к log файлу;
- операционная система, на которой установлена СУБД;
- переменная окружения ORACLE_HOME;
- дополнительные приложения, установленные на сервере.
Через захват службы Листенера злоумышленник может выполнить атаки типа:
- Отказ в обслуживании;
- Добавление пользователя с правами DBA;
- Получение административных прав на сервере;
- Удаленная остановка Листенера;
- Возможна смена пароля на Листенер и как следствие закрытие администратору доступа.
После захвата службы Листенер злоумышленник попытается подключиться к СУБД, если целью атаки было захват информации.
Для подключения к СУБД Oracle необходимо знание пяти параметров:
- IP адрес сервера;
- порт службы TNS Listener;
- системный идентификатор (System Identifier [SID]) или имя сервиса (Ser vice Name);
- имя пользователя;
- пароль.
Далее мы рассмотрим, как в БД Oracle получить эти данные.
SID Каждый экземпляр базы данных идентифицируется с помощью SID (System IDentifier - системный идентификатор). Экземпляр - это понятие, логически включающее все те компоненты, которые необходимы для доступа к информации в БД. SID состоит из алфавитно-цифровых символов, хранится в переменной среды ORACLE_SID и используется утилитами и сетевыми компонентами для доступа к СУБД. SERVICE NAME Имя сервиса - это сравнительно новое понятие, введенное начиная с СУБД Oracle 8i. SERVICE_NAMES определяют одно или ряд имен для подключения к одному экземпляру базы данных, то есть можно указать несколько имен сервиса, ссылающихся на один экземпляр, с различными настройками. Знание того и другого значения поможет нам подключиться к СУБД.
Получение IP адреса и порта не вызывают каких-либо затруднений. Что касается SID базы данных или SERVICE_NAME, то в старых версиях их можно получить при помощи утилиты lsnrctl.
В выводе команды мы можем видеть имя сервиса и экземпляр базы данных, он же - SID. Для того чтобы подключиться к СУБД, зная имя сервиса, а также имя пользователя и пароль можно воспользоваться утилитой sqlplus,
Таким образом, нашей первостепенной целью является получение SID или SERVICE_NAME базы данных.
Как уже было сказано выше, получить SID можно при помощи утилиты lsnrctl, точнее, можно было в старых версиях СУБД. В случае если мы имеем дело с версией СУБД Oracle 10g R1 и выше, то в ней по умолчанию включена опция LOCAL_OS_AUTHENTICATION, и командой services или status получить SID не удастся, тем самым доступ к СУБД будет осложнен.
Аналогичная ситуация произойдет в случае установки пароля на Листенер версии 10g R2 и выше, там команды services или status также не выдают SID (точнее, эти команды запрещены вообще). Но даже в случае защиты службы Листенера в новых версиях существует множество способов получения имени базы данных. Вопрос альтернативных подходов к определению SID базы данных является весьма актуальным и может стать первым шагом на пути к получению административного доступа ко всей СУБД. В связи с этим, мной были проведены исследования в этой области в результате чего были изучены существующие методы и найдено несколько новых, которые будут представлены в этой главе. Рассмотрим, какие способы получения SID существуют на данный момент и насколько вероятно использование этих способов на практике. Все существующие способы можно разбить на три группы:
- подбор SID;
- утечки информации из сторонних приложений;
- комбинированные методы с использованием Data Mining.
Первое, что приходит на ум в случае, если нам нужно узнать какое-нибудь не известное значение, это попытаться подобрать его. Подбирать SID можно тремя способами:
- проверкой на стандартные значения SID;
- перебором SID по словарю;
- подбором SID методом полного перебора (Brute force).
Проверки рекомендуется выполнять в очередности, указанной выше.
Рекомендации по защите базы данных.
Описание защиты сайта с личным кабинетом абонента.
Для защиты проникновения через демилитаризованную зону в корпоративную сеть используются межсетевые экраны. Существуют программные и аппаратные экраны. Для программных требуется машина, работающая под UNIX или Windows NT/2000. Для установки аппаратного брандмауэра нужно лишь подключить его в сеть и выполнить минимальное конфигурирование. Обычно программные экраны используются для защиты небольших сетей, где нет необходимости производить много настроек, связанных с гибким распределением полосы пропускания и ограничения трафика по протоколам для пользователей. Если сеть большая и требуется высокая производительность -- выгоднее становится использовать аппаратные межсетевые экраны. Во многих случаях используют не один, а два межсетевых экрана - один защищает демилитаризованную зону от внешнего воздействия, второй отделяет ее от внутренней части корпоративной сети.
DMZ с двумя межсетевыми экранами
Но кроме того, что вынесение публичных серверов в демилитаризованную зону в определенной степени защищает корпоративную сеть, необходимо продумать и обеспечить защиту и самой DMZ. При этом необходимо решить такие вопросы, как:
– защита от атак на серверы и сетевое оборудование;
– защита отдельных серверов;
– контроль почтового и иного контента;
– аудит действий пользователей.
Каким образом могут решаться эти вопросы? Почтовый сервер, который используется как для внешней переписки, так и для внутрикорпоративной, желательно "разделить" на две составляющие -- публичную, которая фактически будет сервером-ретранслятором и будет размещаться в DMZ, и основную, размещенную внутри корпоративной сети. Основная составляющая обеспечивает обращение внутренней почты, принимает с ретранслятора и отправляет на него внешнюю корреспонденцию.
Одной из основных проблем является обеспечение безопасного доступа к публичным ресурсам и приложениям из корпоративной внутренней сети. Хотя между нею и демилитаризованной зоной устанавливают межсетевой экран, но он должен быть "прозрачен" для работы. Есть несколько вариантов предоставления такой возможности пользователям. Первый -- использование терминального доступа. При такой организации взаимодействия клиента и сервера через установленное соединение не передается какой-либо программный код, среди которого могли бы быть и вирусы и иные вредоносные включения. От терминального клиента к серверу следует поток кодов нажатых клавиш клавиатуры и состояний мыши пользователя, а обратно, от сервера клиенту, поступают бинарные образы экранов серверной сессии браузера или почтового клиента пользователя. Другой вариант -- использование VPN (Virtual Private Network). Благодаря контролю доступа и криптозащите информации VPN обладает защищенностью частной сети, и в то же время использует все преимущества сети общего пользования.
Для защиты от атак на серверы и сетевое оборудование используют специальные системы обнаружения вторжения (Intrusion Detection). Компьютер, на котором устанавливают такую систему, становится первым на пути информационного потока из Интернета в DMZ. Системы настраивают таким образом, чтобы при обнаружении атак они могли выполнить переконфигурирование межсетевого экрана вплоть до полного блокирования доступа. С целью дополнительного, но не постоянного контроля, используют специальное программное обеспечение -- сканеры безопасности, проверяющие защищенность сети, серверов и сервисов, баз данных. Для защиты от вирусов в демилитаризованной зоне устанавливается антивирусное ПО, а также средства контроля контента.
Межсетевой экран - это система межсетевой защиты, позволяющая разделить каждую сеть на две и более части и реализовать набор правил, определяющих условия прохождения пакетов с данными через границу из одной части общей сети в другую. Как правило, эта граница проводится между корпоративной (локальной) сетью предприятия и глобальной сетью Интернет, хотя ее можно провести и внутри корпоративной сети предприятия. Использование межсетевых экранов позволяет организовать внутреннюю политику безопасности сети предприятия, разделив всю сеть на сегменты.
В качестве межсетевых экранов будут рассматриваться последние разработки следующих компаний-производителей аппаратных средств защиты периметра:
– IBM;
– D-link;
– Cisco.
В результате выбора среди продуктов от каждой фирмы можно выделить продукты D-linkDFL-260, IBMProventiaNetworkIPS и Cisco 1801/K9.
Защита канала 1С.
Самое основное правило: компьютер с системой «клиент-банк» должен использоваться только для работы с этой системой. Ни чтение новостей или любой другой интернет-серфинг, ни получение электронной почты, ни подключение переносных дисков, ни пользование интернет-пейджерами, ни работа с любыми другими программами кроме «клиент-банка» не должны быть доступны пользователям.
Для защиты клиент банка пользовательские права на рабочей станции должны быть максимально ограничены. Заражение компьютера происходит в основном из-за невнимательности или неосторожности, а ограниченный пользователь не сможет запустить вирус.
На рабочем месте должны быть установлены самые свежие обновления операционной системы и антивируса. Большинство вирусов используют уязвимости системы, которые и закрываются обновлениями.
На компьютере необходимо установить и настроить сетевой экран так, чтобы был запрещен любой сетевой трафик кроме связи с банком, обновлений системы и антивируса. Это позволит предотвратить отсылку информации злоумышленникам даже в случае заражения. А для предотвращения заражения по локальной сети, рабочее место необходимо поместить в отдельную виртуальную сеть (VLAN).
Также стоит помнить, что безопасность необходимо поддерживать постоянно. Поэтому необходимо организовать регулярные регламентные операции по проверке компьютера на уязвимости и соответствия защиты выбранным критериям безопасности.
Для защиты от недобросовестных сотрудников, рекомендуется расположить рабочее место в отдельном помещении, которое контролируется системой видеонаблюдения и СКУД.
Заключение.