Лавина проблем, возникающих при использовании snort, объясняется тем фактом, что в большинстве выходящих руководств даются инструкции, начиная с того момента, что у вас уже есть большинство библиотек и, что самое важное, правильная их версия.
Я покажу вам, как полностью установить snort как NIDS, и начну изучать, как управлять им в системе на основе Debian (может быть как Ubuntu, так и Debian). Пожалуйста, постарайтесь на данный момент избегать использования Debian Buster, поскольку он по-прежнему содержит некоторые ошибки, и вы можете столкнуться с более поздними ошибками.
Любой Ubuntu Server или Debian Stretch будут просто великолепны. Просто загрузите образ из Интернета и установите его на свою поддержку (ноутбук / виртуальная машина).
При новой установке убедитесь, что все требования установлены в последней версии. Это список:
gcc
make
libpcre3-dev
zlib1g-dev
libluajit-5.1-dev
libpcap-dev
openssl
libssl-dev
libnghttp2-dev
libdumbnet-dev
bison
flex
libdnet
Это команда для их установки:
sudo apt-get install -y gcc make libpcre3-dev zlib1g-dev libluajit-5.1-dev libpcap-dev openssl libssl-dev libnghttp2-dev libdumbnet-dev bison flex libdnet
После того, как все будет установлено, я попрошу вас сделать папку, где будет работать процесс установки,Пример:
sudo mkdir working-direcotry
cd working-directory/
Теперь загрузите DAQ и Snort, следуя официальным рекомендациям Snort.org
В настоящее время вы можете вставить следующий код:
sudo wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz && sudo wget https://www.snort.org/downloads/snort/snort-2.9.15.tar.gz && sudo tar xvzf daq-2.0.6.tar.gz && sudo tar xvzf snort-2.9.15.tar.gz
Введите в своей папке daq:
cd daq-2.0.6
ПОЖАЛУЙСТА, НЕ ЗАПУСКАЙТЕ ./configure && make && sudo make install
Именно здесь большинство новых людей теряются в ошибках. Если что-то установлено неправильно, вы увидите не только первую ошибку, но и остальные ошибки, вызванные первой отсутствующей зависимостью.
Пожалуйста, запустите затем одну за другой, чтобы обеспечить правильное устранение ошибок:
sudo ./configure
sudo make
sudo make install
Теперь, пожалуйста, оставьте папку daq и перейдите к snort
cd..
cd snort-2.9.15
Здесь сделайте то же самое, что и при установке DAQ, и выполните каждое действие отдельно.
sudo ./configure --enable-sourcefire
sudo make
sudo make install
sudo ldconfig
sudo ln -s /usr/local/bin/snort /usr/sbin/snort
Пожалуйста, проверьтеВаша установка с:
which snort
snort --version
Теперь вы полностью установили Snort со всеми своими зависимостями. Осталось только выполнить настройку внутри системы, чтобы должным образом разрешить работу Snort.
По соображениям безопасности вы должны создать внутри вашей системы специального пользователя, который впоследствии можно будет использовать с базой данных или с чем угодно. иначе вы можете поэкспериментировать с:
sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort
Ваша ошибка со всеми ошибками заключалась в том, что Snort действительно ожидал определенной структуры папок внутри вашей системы, и до сих пор ничего не создавал. Так что сделайте это сами и не забудьте дать правильное разрешение пользователя для каждой папки:
sudo mkdir -p /etc/snort/rules
sudo mkdir /var/log/snort
sudo mkdir /usr/local/lib/snort_dynamicrules
sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules
Это еще не все, вам все еще не хватает важных файлов из вашей папки /etc/snort/
Теперь выпредположим, что он находится в папке snort-2.9.15
. Пожалуйста, введите ls
. Вы видите папку etc
внутри папки snort-2.9.15
? Зайдите внутрь.
В случае потери просто перейдите на ваш working-directory
, где вы загрузите исходные коды для DAQ и Snort и наберите
# Access the correct 'etc' folder
cd snort-2.9.15/etc/
# Copy all missing files to the correct position inside the system.
sudo cp *.conf /etc/snort
sudo cp *.config /etc/snort
sudo cp *.map /etc/snort
ALL DONE. Snort работает со всеми своими файлами в месте.
К сожалению, вы пока не можете проверить конфигурацию, потому что у вас нет никаких правил. Пожалуйста, установите правильный путь к правилам внутри вашего /etc/snort/snort.conf
файла
sudo nano /etc/snort/snort.conf
Перейдите в строку 104, нажав «CTRL» + «SHIFT» + «-» (undersocre). Вы найдете
# Path to your rules files (this can be a relative path)
# Note for Windows users: You are advised to make this an absolute path,
# such as: c:\snort\rules
var RULE_PATH .../rules
var SO_RULE_PATH .../so_rules
var PREPROC_RULE_PATH .../preproc_rules
# If you are using reputation preprocessor set these
# Currently there is a bug with relative paths, they are relative to where snort is
# not relative to snort.conf like the above variables
# This is completely inconsistent with how other vars work, BUG 89986
# Set the absolute path appropriately
var WHITE_LIST_PATH .../rules
var BLACK_LIST_PATH .../rules
Измените все, как показано ниже (вы можете заменить весь раздел из файла)
# Path to your rules files (this can be a relative path)
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
# Set the absolute path appropriately
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules
Сохранить и выйти.
Обратите внимание, что мы объявляем абсолютный путь к папкам. Теперь, пожалуйста, деактивируйте все правила из файла конфигурации. Для этого вставьте пароли в консоль:
# Make a backup with all the rules activated.
sudo cp /etc/snort/snort.conf /etc/snort/snort.original
sudo sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf
ПРОВЕРЬТЕ УСТАНОВКУ
sudo snort -T -c /etc/snort/snort.conf
Well Done. Snort 100% функционал. Но никаких правил. Отныне вам предстоит поиграть с правилами и добавить их в файл конфигурации. Если что-то не работает, просто создайте еще одну копию snort.original
и замените 'original' на 'conf'
. В качестве дополнения я создаю сценарий, который делает все описанное выше, а также добавляет полный набор правил, готовый кбыть провереннымУстановленные правила не соответствуют современным требованиям, но они прекрасно подойдут для обеспечения безопасности вашего дома или в учебных целях.
Чтобы использовать мой скрипт, пожалуйста, установите git
sudo apt install git
Теперь, клонируйте мой репо в ваш working-directory
, распакуйте архив и запустите скрипт SFDS
sudo apt install git
sudo mkdir your-folder
cd your-folder
sudo git clone https://github.com/WillyWeiss/SnortFastDeploymentScript.git
sudo tar xvfz sourcecode.tar.gz
sudo chmod +x SFDS
sudo ./SFDS
Пожалуйста, пройдитеинструкции для запуска вашего Snort.