Меню Рубрики

Установка и настройка snort на freebsd

Установка и настройка snort на freebsd

Snort является системой предотвращения вторжений, способной работать в двух режимах “ Sniffer Mode ” и “ Packet Logger Mode ” . Snort может быть использован для выявления различных атак, как, например, переполнение буфера, скрытое сканирование портов, CGI attacks, SMB probes, OS fingerprinting attempts, и многое другое. В общем, сугубо полезная штука и распространяется по GNU GPL.
Что понадобиться:
• &nbsp MySQL
• &nbsp Libnet
• &nbsp Libpcap
• &nbsp BASE
• &nbsp Apache
• &nbsp Php5
• &nbsp php5-extensions
• &nbsp snort-2.8.4.1
• &nbsp FreeBSD 7.0
• &nbsp oinkmaster-2.0_1

Установка MySQL:
Первым ставим MySQL, дабы в нем хранить логи. И создадим в ней базу и пользователя “ snort ”

После ставим сам snort. Естественно порты должны быть в актуальном состоянии.

Выбираем поддержку
MySQL [X] MYSQL Enable MySQL support
SNORTSAM [X] SNORTSAM Enable output plugin to SnortSam

Если в системе хватает всех библиотек, встать должно без проблем. Иначе качаем и ставим те библиотеки, которые попросит.

Правила можно написать самому, иногда это действительно требуется, либо же взять у snort.org. Как получить эти правила? Тут у нас есть три пути:
1.Зарегиться на сайте (https://www.snort.org/signup). Получать обновления каждые 30 дней.
2.Подписать на рассылку, обновления будут приходить в реальном времени, как только они становятся доступными.
3.Незарегистрированные пользователи получают статичные правила во время каждого крупного Snort-релиза
Как добывать, дело ваше, вообще не дорого подписаться, для одной машины 30 баков всего. Но зная русскую натуру и реалии жизни, думаю, первый вариант всех устроит :).
После регистрации:

Успокоившись, что почти 90. метров (после распаковки 500 mb) скачались без ошибки. В архиве находятся
doc
etc
rules
so_rules
распаковываем и кладем в папку /usr/local/etc/snort/

Добыча правил посредством oinkmaster(update Snort signatures)

Ставим из портов, благо есть. Убрал поддержку ipv6 до 12 года еще далеко, а там может еще обновлюсь

Видим большой конфиг, но не пугаемся это в основном коменты :). Скажу сразу свой смотрим на сайте snort’a в разделе My Account->Subscriptions and Oinkcodes->Oinkcodes
Мой конфиг:

Забегая вперед, скажу что потребуется makesidex.pl который почему то с портами не встал или я не нашел куда он делся, нужен для создания карты сигнатур с измененными настройками.
Поэтому пришлось качать с сайта

лежит в папке contrib
запуск

Должно выдать

oinkmaster -o snort/rules -C oinkmaster.conf -C autodisable.conf
Loading /usr/local/etc/oinkmaster.conf
Loading /usr/local/etc/autodisable.conf
Downloading file from http://www.snort.org/pub-bin/oinkmaster.cgi/*oinkcode*/snortrules-snapshot-2.8.tar.gz. done.
Archive successfully downloaded, unpacking. done.
Setting up rules structures. done.
Processing downloaded rules. disabled 1, enabled 0, modified 0, total=8179
Setting up rules structures. done.
Comparing new files to the old ones. done.

Теперь переходим к конфигурированию

Начнем:
Куски конфига, т.е. те в которых были изменения.
Шаг первый, самый важный:

Сразу к 4му шагу настройка выводов

5й пропускаем, а на последнем, 6ом шаге, выбираем сигнатуры которые будем использовать.
После выбора нужных, можно сказать что первоначальное конфигурирование завершено.
Далее, таблицы для snort ручками делать бессмысленно, делаем так:

(вместо le0 можно указать любой другой прослушиваемый интерфейс), использованные опции означают:

-o — сменить порядок применения правил с Alert -» Pass -» Log order на Pass -»Alert -» Log order, это ускоряет несколько работу.
-i le0 — слушать указанный интерфейс. Можно опустить, если интерфейс один в системе (интерфейс vmwar так называется).
-d — выводить содержимое уровня приложения в пакетах, если стоит режим избыточности вывода или ведения учёта пакетов (дополнительная информация нам не помешает).
-с /etc/snort/snort.conf — использовать указанный конфигурационный файл.

При первом запуске выдал ошибку на dos.rules, типа не знает переменной ORACLE_PORTS, оракла у мну нет, смело комментирую в правилах эту строчку и все что связанно с oracle. Вот тут то нам и понадобиться makesidex.pl, что бы при обновлении коменты не слетали.

После этого успешно стартануло :). Ставим запуск при загрузке:

Анализ логов посредством BASE

И естественно поддержку мускула
[X] MYSQL Enable MySQL support
Выдал каку
Fatal error: Call to undefined function preg_match() in /usr/local/share/pear/PEAR/Frontend/CLI.php on line 57
лечиться
The fix: edit the pecl script (usually /usr/local/bin/pecl) and remove the ‘-n’ from the command line arguments.
По нашенски, надо убрать ключ “ -n ” из /usr/local/bin/pecl из строки в строке запуска (exec $PHP…)

Читайте также:  Установка даты и времени на весах

Добавляем алиас в конфик апача

Раскоменнтируем
error_reporting = E_ALL &

E_NOTICE
коментим error_reporting = E_ALL

Ставим разрешения на изменения конфигурационных файлов в директории BASE (по умолчанию /usr/local/www/base)

Перезапускаем апач и конфигурим BASE
Заходим через любимый браузер на http://your_server/base и видим

Последний слеш не ставим
Далее вводим данные mysql

Далее вводим данные аутентификации, можно использовать системную учетку но лучше свою

Красный пугает, могли бы и эргономичней поступить(зеленым например)
Ну вот и все

Дальше будет куча проблем с ложными срабатываниями, но это уже другая тема

SnortSam — это плагин, может работать с многими фаерами (даже с isa), но нас интересует ipfw и это ipfw2
(поддержка таблиц), для ранних версий bsd придется пересобрать ядро.

Что менял в конфиге, вообще очень гибкий инструмент, можно показать явно что ни когда не блочить, например
корневые днс и т.д и подгружать это из файла (include) или указать в самом конфиге.

В конфиг snort.conf добовляем

размещено: 2009-08-02,
последнее обновление: 2009-09-03,
автор: Zemskov

flexbert, 2009-08-31 в 11:12:41

не хватает
#echo ‘snortsam_enable=»YES»‘ >> /etc/rc.conf

Zemskov, 2009-08-31 в 13:48:18

да, точно пропустил.
спасибо, добавил

Перед сборкой snort’а нужно добавить поддержку snortsam
[X] SNORTSAM Enable output plugin to SnortSam

Чтобы snortsam запускался демоном
echo «daemon» >> /usr/local/etc/snortsam/snortsam.conf

flexbert, 2009-09-03 в 8:14:19

На 64-битной системе не соединяются snort и snortsam. Ошибка:
snortsam.log
2009/09/02, 15:50:31, 127.0.0.1, 3, snortsam, Accepted connection from 127.0.0.1.
2009/09/02, 15:50:31, 127.0.0.1, 3, snortsam, Adding sensor 127.0.0.1 to list.
2009/09/02, 15:50:31, 127.0.0.1, 3, snortsam, Had to use initial key!
2009/09/02, 15:50:31, 127.0.0.1, 1, snortsam, Snort station 127.0.0.1 using wrong password, trying to re-sync.
snort: [Alert_FWsam](FWsamCheckIn) Password mismatch! Ignoring host

Можно считать что Гугель ответов не знает.
Итак: как установить snort и snortsam на 64-битную FreeBSD.
1) обновляем порты. Получились версии: snort-2.8.4.1_1, snortsam-2.60.
2) качаем snortsam-2.57 с сайта разработчика: http://www.snortsam.net/files/oldfiles/snortsam/snortsam-src-2.57.tar.gz
3) # cd /usr/ports/security/snort
# make config — выбираем какие нам надо галочки
# make fetch extract patch
теперь лезем в snortsam-src-2.57.tar.gz, находим там два файла src/twofish.c/.h и заменяем такие же файлы в /usr/ports/security/snort/work/snort-2.8.4.1/src/
# make build install clean
Snort установили. Едем дальше:
4) # cd /usr/ports/security/snortsam
# make config — выбираем какие нам надо галочки
# make fetch extract
в папке /usr/ports/security/snortsam/work/snortsam/ удаляем все кроме CVS, копируем туда содержимое snortsam-src-2.57.tar.gz
# make build install

Собственно после ошибка с паролем при коннекте snort и snortsam пропадает. У меня все заработало.

Zemskov, 2009-09-03 в 14:50:34

Raiser абсолютно верно. поправил

# На сколько блочить
keyinterval 10 minutes

— на самом деле из описания седует, что
# Это заставит агента просить / создать новый ключ шифрования каждый .
# Если опущено эту линию, ключевые умолчанию жизни до 4 часов. Вы можете использовать
# ‘Часы’, ‘дней’, ‘месяца’, ‘недели’, ‘год’ в срок.

и вообще создается впечатление, что это все работать (у меня не заработало) не будет — для того чтобы работало требуется изменять правила и ддобавлять к кждой строчке в правилах fwsam: who[how],time;
так написано здесь http://doc.emergingthreats.net/bin/view/Main/SnortSamFAQ#Q_How_do_I_configure_Snort

решение такое и в статье про это не написано, вот что нужно сделать чтобы работало, вот ссылка http://www.e1.ru/talk/forum/read.php?f=125&i=23242&t=23242

Теперь нужно родить файл банов. Делаем пока по простому, дальше понятно будет
Я ленивый, поэтому скрипты не точил до блеску 🙂
Исходник:
cd /etc/snort
cat sid-msg.map | cut -f 1 -d » » > sidb
делаем файлик sid.sh
Исходник:
cat sidb | while read file
do
echo $file: src, 15 min
done
запускаем его ./sid.sh > sid-block.map
sid-block.map — это файлик с сидами, тобиш номерами атак и временем блокировки.

при сборки Snort просьба поставить галочку на пункте — Dynamic , иначе при попытке запуска не будет найдена библиотека libsf_endine.so

irokez_v, 2010-07-12 в 9:13:29

Долго бился запуская snortsam, перечитал все что нашел в сети, патчил его, но он все никак не хотел мои таблицы воспринимать в ipfw (FreeBSD 7.3). Уже и отложил в сторонку это дело, пока не довелось через пару месяцев сервак перезагрузить — и оно заработало.
Может кому поможет.

Читайте также:  Установка ts3 server linux

Phanthom, 2010-10-18 в 0:40:07

Кошмар. В тексте статьи кучи ошибок, половина не объясняется что куда и откуда. Если автор писал статью для себя — нафаг тут выкладывать было, если сюда метил — то статья недоработана.
1. Чтобы внести ясность — надо бы добавить что правила можно скачать 2-мя способами. Первый напрямую с сайта второй посредством oinkmaster
2. Что за makesidex.pl откуда он взялся и зачем нужен вообще??
Добавьте чтоли строчки
cd /usr/ports/security/oinkmaster/work/oinkmaster-2.0/contrib/ перед
cp makesidex.pl /usr/local/etc/snort/
и cd /usr/local/etc/snort/
перед ./makesidex.pl rules >/usr/local/etc/autodisable.conf
И кстати в последней строчке поправьте путь к autodisable.conf
3.Структура ссылки на файл снэпшота изменилась. Теперь это
snortrules-snapshot-2860.tar.gz где 2860 — версия 2.8.6.0
4. Про конфигурирование — ничо не понятно. Порядок шагов изменился. Теперь база в 6 шаге. А руллсет в 7. И что и как конфигурировать тоже хотелось бы чтобы присутствовало хотя бы ваш конфиг в качестве примера.
5. Опции -o при запуске снорта больше нет.
Дальше делать не стал ибо после запуска снорт вывалил ошибок море на отсутствие динамических либ. Плюнул на мануал автора и пошол курить нормальные маны.
Автору незачёт.

%) статье год, версия хрюнделя сменилась до 2.8.6.1 только в портах зарелизили 2.9 ))))
все подряд объяснять это уже совсем не серьезно
1. представлен рабочий вариант на дату опубликования, с опубликованным по
2. про makesidex.pl, а это что?
Забегая вперед, скажу что потребуется makesidex.pl который почему то с портами не встал или я не нашел куда он делся, нужен для создания карты сигнатур с измененными настройками.
Поэтому пришлось качать с сайта.
далее по тексту %)
3. ну и версия поменялась
4. см выше
5. см. выше
%)


2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов. 2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540 2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма 2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
вверх

Статистика сайта
Сейчас на сайте находится: 29 чел.
За последние 30 мин было: 89 человек
За сегодня было
13220 показов,
1544 уникальных IP

Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

источник

Snort on FreeBSD 10

Dec 16, 2014 / Karim Elatov / freebsd, snort, pkgng

I decided to try out installing snort on FreeBSD since the snort package was part of the pkgng repos (and part of ports as well). The install was pretty easy:

There were some notes after the install:

After snort is installed let’s configure it. First let’s remove all the includes for the rules:

Then edit the /usr/local/etc/snort/snort.conf file and make the following changes:

That should be enough, now let’s get the definitions/rules using pulledpork.

Configure PulledPork

First let’s copy the template into place:

Then let’s create the missing directories:

Then go ahead and configure the pulledpork install like so:

Now let’s go ahead and grab all the rules:

Then go ahead and run snort to test it out:

At this point we can enable the services by adding the following to /etc/rc.conf:

and then starting the service:

And at this point you should see the merged.log under /var/log/snort:

We can setup a cronjob to pull the rules on a nightly basis:

Setting up the MySQL DB

I already had mysql server installed:

Make sure the service is enabled:

Then go ahead and start the service:

If this is a brand new installation run sudo mysql_secure_installation to set the root password and secure the installation. Then login as root and create the snorby database:

Configure Barnyard2

As I started to configure barnyard2 I realized the binary version (from pkgng) didn’t come built with mysql support:

So I went back to ports. First I updated my ports sources:

Then I searched for the package in ports:

After that I configured the package to enable MySQL support:

Then remove the old version install with pkgng:

Then install the new package

Now checking the package information, I saw MySQL enabled:

Lastly go ahead and make sure pkgng doesn’t update it later by locking the package:

Now let’s configure barnyard2 by editing the /usr/local/etc/barnyard2.conf file an making the following changes:

Then enable the service to start on boot:

Before starting the service create the missing files:

After sometime you should see the event table get populated in the snorby database:

Lastly if you want to move the snort and barnyard2 logs to a specific file (so it doesn’t clutter the /var/log/messages file) we can add the following to the top of the /etc/syslog.conf file:

And then restart the syslogd service:

Then add the following to automatically rotate the logs:

Also we can add the following cron job to clean up old archived merge.log files under /var/log/snort/archive (these are created by barnyard2), just to make sure it doesn’t keep adding up:

Installing Snorby

I wanted to see how the passenger plugin for apache would work out. So let’s install that. Snorby only works with ruby1.9 so let’s install that version of ruby:

Now let’s get the root-ssl-CA certs so that the gem install command can use ssl to download the necessary packages:

Now let’s install then bundler gem:

Now let’s get the passenger gem:

Now before we install the apache module let’s install apache first:

After we can install the apache module:

For a quick test let’s then create the following configuration file to load the passenger plugin:

Then make sure apache is enabled:

And now let’s make sure the configuration for apache is okay:

Now let’s get the prereqs as well:

Let’s configure the MySQL connection settings:

Now edit the snorby/config/database.yml file and modify it to look like this:

Now let’s configure the production configuration of snorby:

Then modify the snorby/config/snorby_config.yml file to have the following:

Now let’s setup the snorby install

Then config the snorby rails app:

If you get the following error:

It could be because you have two versions of ruby (in my case I also had ruby 2.0 installed). To fix that error, just set the default one to be 1.9 and you will be okay:

Now if you try to launch the app you will see the following:

At this point if you visit http://IP:3000 you should see the snorby login page and you can login with:

To go through the passenger plugin, I ended up creating the following config file:

This way I could use the snorby setup as a sub URL. If you want you can just make it the default page for apache on a specific port. The config will look like this if you want to take the latter approach:

Both examples are covered in the following pages:

With snorby ran into the issue described here. Looks like I had modify the ps line to look like this:

After that the dashboard looked good and it didn’t show me that the worker is not running:

Lastly I ran into a pretty cool script which automates the above install, it’s located here. It’s written for FreeBSD 9, but with minor tweaks I am sure it will work for FreeBSD 10.

источник

Добавить комментарий

Adblock
detector