Инструменты безопасности с открытым исходным кодом

Установка NPI


Прежде чем приступать к установке NPI, необходимо располагать работающим сервером MySQL и web-сервером Apache с поддержкой PHP. Если они еще не установлены, то вернитесь назад к соответствующим разделам этой лекции и сделайте это. Когда серверы SQL и Web будут готовы к работе, выполните следующие действия по установке NPI.

  1. Возьмите файл с прилагаемого к книге компакт-диска, распакуйте и "растарьте" программу. Поместите содержимое в отдельный каталог, имя которого не имеет значения (если все файлы находятся в одном каталоге). Например, подойдет каталог /usr/local/nessus-php, если, конечно, у вас есть право на запись в него.
  2. Перейдите в этот каталог и отредактируйте файл nsr-php с помощью текстового редактора. Этот файл содержит переменные (строки, начинающиеся с $), которые позволяют программе контактировать с сервером MySQL. В табл. 8.5 перечислены переменные, которые необходимо отредактировать, и даны рекомендации для задания их значений.

Таблица 8.5. Переменные NPI для сервера MySQL

ПеременнаяОписание
$db_hostЗадается хост, на котором будет выполняться сервер MySQL. Если сервер MySQL выполняется на той же машине, что и web-север, укажите localhost. В противном случае введите IP-адрес или имя хоста машины MySQL
$db_userИмя пользователя, используемое для входа в базу данных MySQL. Может совпадать с именем, заданным при установке MySQL
$db_passПароль, соответствующий вышеуказанному пользователю
$db_databaseИмя базы данных, созданной для хранения данных NPI. По умолчанию NPI создает базу данных с именем nessus, но при желании его можно заменить другим
$db_suuserАдминистративный пользователь базы данных MySQL. Требуется для процедуры nsr-php. По умолчанию используется root, что годится для большинства установок. Отметим, что это не то же самое, что пользователь root операционной системы
$db_supassПароль пользователя root для mySQL, соответствующий вышеописанному счету $db_suuser
$your_domainСписок доменов, имена которых вы хотите вырезать из вывода. Это очистит отчеты, если вы хотите, чтобы в выдаче присутствовали только имена машин, а не полные имена хостов Интернета. Это необязательная переменная
<
ol>
  • Откройте файл nsr в текстовом редакторе и создайте в нем те же элементы, что и в шаге 2 (табл. 8.5). Проверьте, что маршрутное имя каталога встраиваемых модулей Nessus задано правильно. В большинстве установок эти модули должны находиться в подразумеваемом каталоге /usr/local/lib/nessus/plugins. Убедитесь, что это действительно так. В противном случае сделайте необходимые изменения в файле nsr.
  • Отредактируйте файл nessusphp.inc, изменяя переменные так же, как и в двух предыдущих шагах.
  • Создайте базу данных Nessus. Для этого нужно выполнить процедуру nsr-php: php nsr-php -b

    Для ваших данных сканирования будет создана база данных MySQL с именем nessus. Можно войти в нее и убедиться, что нужные таблицы созданы.

  • Проверьте, что база данных создана должным образом.
    • Войдите в MySQL с помощью команд, описанных выше в этой лекции, во врезке, посвященной MySQL.
    • Наберите show databases; (не забудьте точку с запятой) в командной строке MySQL. Будет выдан список всех баз данных, и среди них должна присутствовать вновь созданная база данных Nessus.
    • Перейдите в эту базу данных, используя команду use NESSUS;, а затем наберите команду show tables;. Вы должны получить результаты, показанные на рис. 8.9, - все три таблицы из базы данных nessus.


      Рис. 8.9.  Вывод команды show tables

  • Перенесите файлы из подкаталога www установочного каталога NPI во вновь созданный подкаталог корневого каталога документов web-сервера. Задайте правильные режимы доступа для файлов. В этом месте вы будете осуществлять доступ к базе данных Nessus. Выполните следующие команды из каталога nessus-php: mkdir /usr/local/apache2/htdocs/nessus-php mv ./www /usr/local/apache2/htdocs/nessus-php chown -R www:www /usr/local/apache2/htdocs/nessus-php chmod 755 /usr/local/apache2/htdocs/nessus-php/*

    Не забудьте изменить маршрутное имя корневого каталога документов Web, если оно не такое, как в примере. При желании можно изменить имя каталога, в котором находятся файлы nessus-php. В приведенном примере страница доступа NPI помещается в подкаталог nessus-php корневого каталога документов Web.Для пользователя и группы, которые будут осуществлять доступ к базе данных MySQL, в примере использовано одно системное имя (www). Для повышения безопасности заведите специального пользователя, которому будет разрешено только чтение данных. В этом случае необходимо заменить www:www на соответствующих пользователя и группу, которым разрешено только чтение. Необходимо сделать это и для аналогичного счета MySQL.



  • Программа NPI установлена.


    Содержание раздела