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


Платформы для NCC


С самого начала мы решили, что будем писать программу для ряда платформ, называемого LAMP (Linux, Apache, MySQL и Perl).

  • Linux: По очевидным причинам Linux предлагает наибольшую мобильность и наименьшую стоимость использования. Однако нет причин, которые препятствуют системе выполняться на других разновидностях UNIX с небольшими модификациями. Ее можно также перенести на платформу на базе Windows, такую как Perl for Windows.
  • Apache: Сервер Apache был также выбран в связи с открытостью исходных текстов и потому, что он является одним из наиболее популярных web-серверов. Он явился самым логичным выбором, поскольку web-сервер должен использоваться и для других средств. Кроме него, эта система будет выполняться на любом поддерживающем PHP web-сервере, включая IIS.
  • MySQL: Имеется несколько хороших баз данных с открытыми исходными текстами, включая Postgresql и другие. Мы выбрали MySQL, потому что были лучше всего с ней знакомы, а требования в лицензии были самыми простыми. Как и Apache, мы уже применяли MySQL для своих баз данных ACID.
  • Perl: Конечно, существует множество интерпретируемых языков, но мы выбрали Perl потому, что он один из самых мобильных, не требует компиляции и легко модифицируем для третьих сторон.

Основываясь на архитектуре LAMP, мы начали создавать средство, удовлетворяющее нашим потребностям. Сначала мы написали план проекта, детализировавший задуманную работу. Затем мы разбили задачу на подзадачи с учетом имеющихся у нас навыков. Мы определили программные элементы, которые потребуются для нашей системы, включая процедуры Perl, PHP и MySQL, командные файлы, а также текстовые файлы документации. Табл. 8.6 содержит список всех необходимых элементов проекта вместе с описанием их назначения.

Таблица 8.6. Элементы проекта NCC

ТипЭлементОписание
Процедура Perlncc.plЗапускается с помощью cron и выстраивает очередь сканирований, готовых к выполнению
Процедура Perl ncc-client.plУдаляет запланированные сканирования из очереди, вызывает команду для их выполнения, а затем осуществляет преобразование для переноса файлов .nbe (по мере их получения) в базу данных MySQL
Процедура Perlncc-daily.plПосылает ежедневные итоговые электронные сообщения и очищает очередь
Процедура PHPMain.php и другие вспомогательные php-файлыИнтерфейс для ввода данных в таблицу расписания; состоит из нескольких файлов
Процедура PHPReports.phpИнтерфейс для просмотра базы данных MySQL, модификация версий NPI; состоит из нескольких файлов
База данных MySQLБаза данных NCCМодель базы данных сканирований, внутренняя для программы базы данных MySQL
Процедура MySQLncc.mysqlСоздает начальную базу данных
Вспомогательная процедураinstall.plПроцедура для создания элемента для cron, вызов процедуры MySQL, копирование исполнимых файлов в /bin и файла php в Web
Текстовый файлncc.iniПеременные окружения для процедур Perl и PHP, имена баз данных, расположение файлов, адреса электронной почты для уведомлений и т.д.
Текстовый файлINSTALL, README и т.д.Несколько файлов с инструкциями по установке, эксплуатационными инструкциями и другими полезными данными




Начало  Назад  Вперед



Книжный магазин