Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Замечание. После выхода очередной версии Snort серии 2.1.x при попытке загрузить новые правила мной была обнаружена несовместимость правил от Snort 2.1.x со SnortCenter. Возникла следующая ошибка в процессе загрузки.
Рисунок 4. Ошибка в процессе загрузки
Покопавшись в PHP-файлах SnortCenter, я раскомментировал 293-ю строку:
//echo "$sql<BR>";
которая находится перед:
$result = $db->acidExecute($sql);
$result_a = $db->acidExecute("SELECT max(id) FROM preprocessor");
$myrow = $result_a->acidFetchRow();
$update_rule_count[1] = 'add-spp';
$update_rule_count[2] = $myrow[0];
В результате была получена следующая картинка после запуска.
Рисунок 5. Ошибка, строка даёт понять причину ошибки
После этого, глядя на «global », возникла мысль, что проблема, скорее всего, связана с переносом длинных строк в файлах конфигурации. В разборщике правил для SnortCenter, видимо, забыли учесть, что, начиная со Snort v.1.8, правила не обязательно должны писаться в одну строчку, и что теперь они могут переноситься с помощью указания обратного слеша «» в конце строки.
После того как стала ясна причина ошибки, можно попытаться её исправить, для этого пишем небольшой скрипт на perl, который будет перенесённые строки собирать в одну строку.
Создадим файл /var/www/html/snortcenter/convert_ru-les.pl следующего содержания:
#!/usr/bin/perl
while ($temp=<STDIN>){
if ($temp=~/^[^#].*\ $/) { chomp $temp;
chop $temp; }
print $temp;
}