После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение? |
Средства анализа и управления
Настройка web-сервера Apache
Развитые средства анализа из данной лекции основаны на применении web-сервера в качестве как интерфейса конфигурирования, так и механизма вывода. Конечно, этот краткий раздел не претендует на исчерпывающее описание web-сервера; здесь рассмотрены только настройка и другие действия, требуемые для использования средств безопасности. Если вы намерены применять этот сервер для чего-то еще, помимо ACID и NCC, или в крупномасштабных средах, вам необходимо более глубоко ознакомиться с администрированием web-сервера. При использовании web-сервера следует учитывать вопросы безопасности - необходимо позаботиться о том, чтобы серверы были укреплены, выполняли минимум сервисов и по возможности быстро латались. Если вы желаете применять IIS или другой web-сервер, то он должен поддерживать PHP версии 4.0 или выше.
- Загрузите самую свежую версию сервера Apache с сайта http://www.apache.org. Если он есть на дистрибутивных дисках ОС или уже установлен в системе, проверьте, что его версия не ниже 1.3.
Примечание: Если сервер Apache версии 1.3 или более поздней уже установлен, перейдите к шагу 3.
- Распакуйте программу и выполните следующие команды:
./configure -prefix=/www -enable-so -activate-module= src/modules/php4/libphp4.a make make install
Эти команды задают подразумеваемый каталог /www и активизируют нужные модули.
- Запустите web-сервер, набрав в командной строке apachectl start. Эта команда запускает демон http и настраивает его для выполнения в качестве системного процесса.
Можно остановить Apache в любой момент, выполнив ту же команду с аргументом stop.
В других вариантах Linux и UNIX запуск и остановка могут осуществляться по-другому. Уточните в документации, как это делается.
- Проверьте установку web-сервера, открывая web-навигатор и вводя IP-адрес сервера или задавая localhost, если вы работаете прямо на серверной машине. Если будет выведена web-страница Apache, то web-сервер успешно установлен. Корневым каталогом web-сервера, в который помещают документы для публичного просмотра, в системе Mandrake Linux служит /usr/local/apache2/htdocs/; различные дистрибутивы могут немного различаться.
- Затем задайте автоматический запуск Apache при перезагрузке системы (вряд ли вы захотите перезапускать web-сервер вручную). Для этого перейдите в каталог, где находятся все стартовые командные файлы; в Mandrake Linux это /etc/rc.d. Каждый файл rc. представляет свой уровень выполнения. Добавьте следующие строки в файлы rc4.d и rc5.d:
../init.d/httpd S85httpd ../init.d/httpd K85httpd
Можно протестировать внесенные изменения, перезагрузив систему и проверив, что в выдаче команды ps -ax присутствует процесс httpd.
- Необходимо повысить защищенность Apache, чтобы предотвратить его ненадлежащее использование. web-серверы - одна из наиболее распространенных целей атакующих, поэтому если вы собираетесь разрешить доступ к этой машине извне вашей сети, требуется обеспечить ее безопасность. Ниже представлены некоторые основные рекомендации по обеспечению хорошей безопасности web-сервера:
- Выполните сканирование уязвимостей Web-сервера сразу после завершения установки и конфигурирования, чтобы убедиться, что все корректирующие заплаты наложены и отсутствуют какие-либо очевидные дыры в безопасности.
- Защитите все непубличные Web-каталоги с помощью какого-либо метода контроля доступа. Самым быстрым и легким способом является применение файлов .htaccess.
- Шифруйте коммуникации между клиентами и сервером с помощью SSL всякий раз, когда имеете дело с информацией ограниченного доступа (данные о безопасности явно попадают в эту категорию). Если вы обращаетесь к серверу извне своей локальной сети, то есть через Интернет, справьтесь в документации web-сервера или в Интернете о необходимых настройках.
Вышеизложенное не является исчерпывающим рассмотрением проблем безопасности web-серверов, но все это необходимо выполнить, прежде чем делать сервер общедоступным.
Настройка PHP
PHP является интерпретируемым языком, предназначенным для использования в web-страницах. Он не требует компиляции, поэтому можно просто поместить PHP-процедуру в каталог, который распознает PHP, и она будет выполняться при обращении. Это упрощает написание программ, встроенных в web-страницы. Большинство современных web-серверов распознают PHP, однако для этого может потребоваться дополнительная настройка при установке.
В силу перечисленных достоинств PHP стал предпочтительным языком реализации многих приложений на web-платформе. Он потребуется нам для трех оставшихся средств этой лекции (ACID, NPI и NCC). Установка PHP должна быть предусмотрена в директиве configure в описанной выше процедуре установки Apache. Чтобы проверить, что PHP установлен в вашей системе, и узнать, какова его версия, наберите в командной строке php -v. Если он присутствует, то должна появиться некоторая выдача с номером версии. Однако если вы не смогли установить его как часть Apache или хотите установить самую свежую версию, примените представленную ниже процедуру.
- Загрузите самую свежую версию PHP с сайта http://www.php.net или используйте RPM с установочных дисков операционной системы. В последнем случае проверьте, что у вас версия 4.0 или выше.
- Распакуйте дистрибутив.
- В каталоге установки выполните следующие команды компиляции:
./configure -prefix=/www/php -mysql=/usr/local/mysql \ -with-apxs2=/www/bin/apxs -with-zlib-dir=/usr/local (all on one line) -with-gd make make install
Инструкция configure включает несколько модулей, нужных средствам данной лекции.
- Отредактируйте конфигурационный файл web-сервера httpd.conf, как правило, находящийся в /www. Добавьте следующие строки, а затем сохраните файл:
LoadModule php4_module modules/libphp4.so AddType application/x-httpd-php.php
- Чтобы проверить, что PHP работает правильно, воспользуйтесь текстовым редактором для создания небольшой процедуры в файле с именем test.php. Наберите в файле следующий текст, а затем сохраните его:
<?php phpinfo(); ?>
При выполнении этой PHP-процедуры будет выдана некоторая базовая системная информация.
- Скопируйте тестовый файл в каталог /www/htdocs. Введите URL или IP-адрес машины, а затем наберите /test.php. Вы должны увидеть на web-странице номер версии PHP. Если все получилось, то web-сервер с поддержкой PHP готов к работе.
ACID (Консоль анализа для баз данных вторжений) |
---|
ACID Автор/основной контакт: Roman Danyliw Web-сайт: http://www.andrew.cmu.edu/~rdanyliw/snort/snortacid.html Платформы: Большинство UNIX Рассмотренная версия: .9.9b23 Список почтовой рассылки: Список пользователей Acidlab. Подпишитесь, послав сообщение со словом "subscribe" в теле письма по адресу acidlab-users@lists.sourceforge.net. |
Программа ACID (Analysis Console for Intrusion Databases - консоль анализа для баз данных вторжений) предназначена для более эффективного использования данных, генерируемых средствами обнаружения вторжений. Ее написал Роман Данылив с коллегами в рамках проекта AirCERT, выполняемого университетом Карнеги-Меллон. Это часть более крупной деятельности CERT (Computer Emergency Response Team - Группа реагирования на нарушения информационной безопасности). CERT в течение многих лет успешно применяет эту программу для защиты Интернета и организаций. CERT отслеживает компьютерные преступления и направляет извещения в списки почтовой рассылки, когда происходит крупный инцидент. Список почтовой рассылки CERT является разновидностью системы раннего предупреждения обо всех больших кризисах или атаках, происходящих в Интернете. Как таковой он может быть весьма полезен системным администраторам. Вы можете посетить сайт CERT http://www.cert.org и подписаться на почтовую рассылку.
В рамках проекта AirCERT сенсоры систем обнаружения вторжений были размещены в различных организациях с целью изучить общие тенденции вторжений. Чтобы облегчить анализ, была написана программа ACID. Поскольку исходные тексты этого проекта были сделаны открытыми, вы можете использовать их в собственных целях, не принимая участия в проекте AirCERT.
Положенная в основу ACID идея состоит в переносе всех данных об обнаруженных вторжениях в базу данных, где их можно отсортировать и организовать по приоритетам. ACID предоставляет панель управления на основе Web для сортировки, просмотра и манипулирования этими результатами.
ACID может использовать почти любую базу данных SQL и любой web-сервер и поддерживает множество сенсоров для ввода данных. Допускаются также необработанные сигналы Snort и файлы журналов в формате syslog. В настоящее время ACID работает напрямую только с одной системой обнаружения вторжений - Snort, но с помощью утилиты Logsnorter, которая доступна на web-сайте ACID, можно импортировать журналы в базу данных ACID из любого устройства, выводящего данные в формате syslog.
Для своей работы ACID требует наличия некоторых программ. Кроме базы данных, web-сервера и PHP, которые уже были рассмотрены в этой лекции, нужны также следующие библиотеки и подпрограммы.
ADOdb
Этот пакет обеспечивает уровень абстракции базы данных, позволяющий PHP использовать стандартный интерфейс для множества баз данных, включая MySQL. Возьмите его по адресу http://php.weblogs.com/adodb, распакуйте в /www/htdocs или подходящем корневом каталоге Web, и он должен быть готов к работе. Никакой дополнительной установки не требуется.
PHPLOT
Этот пакет позволяет создавать графики с помощью ACID. Если вы хотите использовать эту возможность, возьмите модуль с http://www.phplot.com. Распакуйте его в каталоге /www/htdocs и, так же как ADOdb, он должен быть готов к употреблению.
JpGraph
Эта программа позволяет PHP генерировать цветные графики. Она понадобится наряду с PHPLOT, если вы захотите представлять данные Snort в графическом виде. Возьмите ее по адресу http://www.aditus.nu/jpgraph/ и распакуйте в корневом каталоге Web (например, /www/htdocs). Она создаст собственный подкаталог и будет доступна, когда понадобится для ACID.
GD
Этот пакет содержит библиотеки манипуляции изображениями для PHP, которые нужны также для создания графиков. Если вы установили PHP согласно данным ранее в этой лекции инструкциям, то у вас уже должна иметься эта утилита. В противном случае возьмите ее по адресу http://www.boutell.com/gd/ и установите в каталоге /www/php. Если вы не компилировали PHP с помощью представленных выше команд, то следует также убедиться, что имеются следующие библиотеки, необходимые для GD.
- libpng. Предоставляет для GD поддержку формата PNG. Ее можно взять на http://www.libpng.org/pub/png/ или с дистрибутивных дисков вашей ОС.
- libjpeg-6b. Это библиотека jpeg для PHP. Можно взять ее на http://www.ijg.org/ или с дистрибутивных дисков вашей ОС.
- zlib. Эта библиотека предоставляет для GD поддержку сжатия. Можно взять ее на http://www.ijg.org/ или с дистрибутивных дисков вашей ОС.
Конфигурирование Snort для MySQL
-
ACID предполагает, что имеется один или несколько активных сенсоров Snort, поставляющих данные. Если вы еще не создали сенсоры Snort, вернитесь к
"Системы обнаружения вторжений"
. Сенсоры Snort необходимо сконфигурировать таким образом, чтобы они записывали данные в MySQL. Для этого выполните следующие действия при установке Snort:
- При первоначальной компиляции Snort используйте следующую инструкцию configure:
./configure - with-mysql=/usr/local/mysql
- Отредактируйте файл конфигурации snort.conf. Найдите закомментированную строку, которая начинается с #output database. Отредактируйте ее следующим образом:
output database: log,mysql,user=snort password=123456 dbname=snort host=localhost
Замените пользователя snort и пароль 123456 на правильные имя пользователя базы данных и его пароль, которые будут применяться для ACID. ACID создаст базу данных с именем "snort", хотя можно изменить это имя, редактируя файл конфигурации ACID. Если вы подключаетесь к локальной базе данных, то оставьте у переменной host значение localhost. Если вы подключаетесь к базе данных на другой машине, задайте здесь IP-адрес или имя хоста.
- При первоначальной компиляции Snort используйте следующую инструкцию configure:
- Не забудьте удалить символ комментария # в начале строки и затем сохраните файл.
В данной лекции предполагается, что ACID и сенсор Snort устанавливаются на разных машинах. Размещение их на одной машине неудачно не только с точки зрения безопасности; работа сенсора Snort замедлится до такой степени, что от окажется бесполезным. Компьютер с ACID предпочтительно расположить в сегменте сети, отличном от сегмента с сенсорами Snort - это затруднит взломщику доступ к журналам. На рис. 8.1 показаны элементы связки ACID-Snort.