- •1.1 Система обнаружения вторжений snort
- •1.1. Файл конфигурации snort.Conf
- •1.2. Структура правил
- •1.2.1. Действия правил
- •1.2.2. Протокол
- •1.2.4. Порты
- •1.2.5. Опции
- •1.2.6. Логические операции
- •1.2.7. Примеры правил сов Snort
- •2. Лабораторный практикум
- •2.1. Описание лабораторного стенда
- •2.1.1. Назначение виртуальных машин и устанавливаемое на них по
- •2.1.2. Краткое описание компонентов сов
- •2.2. Порядок выполнения работы
- •2.2.1. Установка и настройка сов Snort
- •2.2.1.1. Установка сов Snort, библиотеки daq и по barnyard2
- •2.2.1.2. Настройка субд MySql
- •2.2.1.3. Установка сигнатур сов Snort
- •2.2.1.4. Настройка сов Snort
- •2.2.1.5. Проверка корректности конфигурационного файла сов Snort
- •2.2.1.6 Установка и настройка по barnyard2
- •2.2.2. Установка и настройка утилиты Basic Analysis and Security Engine
- •2.2.3. Тестирование решения
СПИСОК СОКРАЩЕНИЙ
СУБД – система управления базами данных
ИС – информационная система
НСД – несанкционированный доступ
ОС – операционная система
ПО – программное обеспечение
СОВ – система обнаружения вторжений
СУБД – система управления базами данных
BASE – Basic Analysis and Security Engine
CGI – Common Gateway Interface
DDoS – Distributed Denial of Service
DNS – Domain Name System
DoS – Denial of Service
FTP – File Transfer Protocol
ICMP – Internet Control Message Protocol
IP – Internet Protocol
IDS – Intrusion Detection System
IMAP – Internet Message Access Protocol
ISS – Internet Information Services
NetBios – Network Basic Input/Output System
NIDS – Network-Based IDS
POP – Post Office Protocol
PPP – Point-to-Point Protocol
SLIP – Serial Line Internet Protocol
SNMP – Simple Network Management Protocol
SQL – Structured Query Language
TCP – Transmission Control Protocol
UDP – User Datagram Protocol
ОСНОВНЫЕ ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
Атака – это действие, предпринимаемое злоумышленником, которое заключается в поиске и использовании той или иной уязвимости.
Защита информации – деятельность по предотвращению утечки защищаемой информации, несанкционированных и непреднамеренных воздействий на защищаемую информацию.
Защищаемая информация – информация, являющаяся предметом собственности и подлежащая защите в соответствии с требованиями правовых документов или требованиями, устанавливаемыми собственником информации.
Информационная система – совокупность содержащейся в базах данных информации и обеспечивающих ее обработку информационных технологий и технических средств.
Информация – сведения (сообщения, данные) о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы их представления.
Файл журнала – специальный файл, в котором протоколируются все действия пользователей или программ.
Несанкционированный доступ – доступ, осуществленный с нарушением установленных правил.
Система обнаружения вторжений – программное или аппаратное средство, предназначенное для выявления фактов неавторизованного доступа в компьютерную систему или сеть либо несанкционированного управления ими.
Уязвимость – недостатки в операционной системе или прикладном программном обеспечении, которые могут привести к нарушению безопасности.
Exploit – программное обеспечение, позволяющее за счет уязвимости в операционной системе или прикладном программном обеспечении, провести атаку.
Shellcode – (англ., код запуска оболочки) – это двоичный исполняемый код, который обычно передаёт управление командному процессору в операционных системах. Shellcode может быть использован как полезная нагрузка эксплойта, обеспечивающая взломщику доступ к командной оболочке (англ. shell) в компьютерной системе.
ВВЕДЕНИЕ
Компьютерные сети за несколько десятилетий из чисто технического решения превратились в глобально явление, оказывающие значительное влияние на подавляющее большинство сфер жизнедеятельности человека. С увеличением количества соединений систем в сети и, особенно, с глобальной сетью Интернет все больше из них становятся объектами для атаки со стороны нарушителей. Эти попытки взлома систем нередко проводятся с использованием существующих «дыр безопасности» операционных систем (ОС) и пользовательских приложений.
Использование систем обнаружения вторжений (СОВ, англ. – Intrusion Detection System (IDS)) способно уменьшить вероятность реализации угроз и повысить существующий уровень защищенности компьютерной сети, достигаемый использованием как «стандартных» средств (соответствующая настройка ОС), так и дополнительных ( межсетевое экранирование, использование скредств криптографической защиты информации, серверов аутентификации и т.д.)
СОВ является комплексом аппаратных и программных средств, политик и процедур.
В рамках данной лабораторной работы предлагается познакомиться с работой СОВ Snort для организации обнаружения несанкционированного доступа к защищаемым сетевым информационным ресурсам, организованного через эксплуатации уязвимостей тех или иных компонентов ИС. Данная СОВ относится к типу NIDS – сетевых систем обнаружения вторжений.
1.1 Система обнаружения вторжений snort
СОВ Snort – это сетевая СОВ с открытым исходным кодом, распространяемая по лицензии GNU General Public License, способная выполнять в режиме реального времени анализ трафика, передаваемого на контролируемых интерфейсах, с целью обнаружения попыток вторжения или попыток поиска уязвимостей (таких, как переполнение буфера, сканирование портов, CGI-атаки, идентификация операционной системы, идентификация версий используемых сетевых сервисов и др.). Данная СОВ относится к типу сетевых СОВ (Network-Based IDS – NIDS). Гибкость и удобство Snort основываются на следующем:
- языке правил, используемый для описания свойств подозрительного и потенциально опасного трафика;
- механизме оповещения об обнаружении атаки;
- модульной архитектуре кода, анализирующего трафик, основанной на концепции подключаемых модулей.
СОВ Snort позволяет выявлять:
- использование эксплоитов (выявление Shellcode);
- сканирование портов ОС;
- атаки на сетевые службы (Telnet, FTP, DNS, и т.д.);
- атаки типа DoS/DDoS;
- атаки, связанные с web-серверами (CGI, PHP, Frontpage, ISS и т.д.);
- атаки на СУБД (SQL, Oracle и т.д.);
- атаки по протоколам SNMP, NetBios, ICMP, SMTP, IMAP, POP2, POP3;
- обращение к различным web-ресурсам (потенциально опасные и нежелательные web-ресурсы);
- вирусы.
Следует отметить, что процедуры, декодирующие сетевой трафик, работают начиная с канального и заканчивая прикладным уровнем. В настоящее время Snort поддерживает декодирование для интерфейсов Ethernet, SLIP и PPP.
СОВ Snort может работать на многих операционных системах Linux, Windows, SunOS, *BSD и др.
1.1. Файл конфигурации snort.Conf
В дистрибутиве СОВ Snort уже имеется готовый шаблон файла конфигурации. В файле используются переменные, в том числе встречающиеся в правилах. Это довольно удобно: при смене какого-либо параметра затем не придется его переписывать несколько раз. Кроме того, некоторые опции вынесены во внешние файлы, которые подключаются директивой include с именем файла. Все параметры снабжены комментариями, начинающимися традиционно со знака решетки. Для удобства восприятия файл разбит на шесть частей:
- установка переменных;
- указание динамически подгружаемых библиотек;
- настройка препроцессоров;
- настройка вывода информации;
- установка дополнительных директив;
- модификация правил.
Параметр HOME_NET определяет IP-адреса, которые СОВ Snort будет считать «домашними» (то есть защищаемыми). Возможно задание отдельного адреса или диапазона. Если требуется указать несколько адресов, то они перечисляются через запятую. Ключевое слово ANY означает любой адрес. Например:
var HOME_NET 192.168.1.0/24;
var HOME_NET [10.1.1.0/24,192.168.1.0/24].
Параметр EXTERNAL_NET указывает на внешние узлы. По умолчанию значение данного параметра установлено в ANY. Вместо данного значения можно указать, что все, не являющееся домашними IP-адресами, будет внешним:
var EXTERNAL_NET !$HOME_NET.
Далее в конфигурационном файле идет список серверов (DNS, SMTP, web, SQL, Telnet и SNMP), используемых в сети. Можно оставить без изменений, то есть $HOME_NET, или указать конкретный IP-адрес(а).
Далее задаются номера портов, используемых серверами. Это позволяет СОВ Snort не распылять ресурсы, а искать атаку более конкретно (прицельно). Необходимо обратить внимание, что номер порта может быть задан как единичный (80) и как непрерывный (80:8080). Поэтому, если web-сервер использует два порта, то писать необходимо так:
var HTTP_PORTS 80;
var HTTP_PORTS 8080.
