Ажурирајте, надоградите и поново покрените
Конфигурација пре инсталације
Инсталирање библиотеке за прикупљање података (ДАК)
Инсталирање Снорт-а
Ун-роотинг Снорт
Снорт је бесплатан систем за откривање упада у мрежу (ИДС). Мање званичним речима, омогућава вам да надгледате своју мрежу у потрази за сумњивим активностима у реалном времену . Тренутно, Снорт има пакете за Федора, ЦентОС, ФрееБСД и Виндовс системе. Тачан начин инсталације варира између ОС-а. У овом водичу ћемо инсталирати директно из изворних датотека за Снорт. Овај водич је написан за Дебиан.
Ажурирајте, надоградите и поново покрените
Пре него што се заиста дочепамо извора Снорт-а, морамо да се уверимо да је наш систем ажуриран. То можемо да урадимо издавањем наредби испод.
sudo apt-get update
sudo apt-get upgrade -y
sudo reboot
Конфигурација пре инсталације
Када се ваш систем поново покрене, морамо да инсталирамо неколико пакета да бисмо били сигурни да можемо да инсталирамо СБПП. Успео сам да схватим да је неколико пакета било потребно, тако да је основна команда испод.
sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y
Када се инсталирају сви пакети, мораћете да креирате привремени директоријум за своје изворне датотеке – оне могу бити где год желите. Ја ћу користити /usr/src/snort_src. Да бисте креирали ову фасциклу, мораћете да будете пријављени као rootкорисник или да имате sudoдозволе - rootсамо то олакшава.
sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src
Инсталирање библиотеке за прикупљање података (ДАК)
Пре него што добијемо извор за Снорт, морамо да инсталирамо ДК. Прилично је једноставан за инсталацију.
wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz
Извуците датотеке из тарбалл-а.
tar xvfz daq-2.0.6.tar.gz
Пређите у ДАК директоријум.
cd daq-2.0.6
Конфигуришите и инсталирајте ДАК.
./configure; make; sudo make install
Тај последњи ред ће се ./configureпрви извршити . Затим ће се извршити make. На крају, извршиће се make install. Овде користимо краћу синтаксу само да бисмо уштедели мало на куцању.
Инсталирање Снорт-а
Желимо да будемо сигурни да смо поново у /usr/src/snort_srcдиректоријуму, па се обавезно пребаците у тај директоријум са:
cd /usr/src/snort_src
Сада када смо у директоријуму за изворе, ми ћемо преузети tar.gzдатотеку за извор. У време писања овог текста, најновија верзија Снорт-а је 2.9.8.0.
wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz
Команде за стварно инсталирање снорт-а су веома сличне онима које се користе за ДК, али имају различите опције.
Извуците изворне датотеке Снорт-а.
tar xvfz snort-2.9.8.0.tar.gz
Пређите у изворни директоријум.
cd snort-2.9.8.0
Конфигуришите и инсталирајте изворе.
./configure --enable-sourcefire; make; sudo make install
Након инсталације Снорт-а
Када инсталирамо Снорт, морамо да се уверимо да су наше заједничке библиотеке ажурне. То можемо урадити помоћу команде:
sudo ldconfig
Након што то урадимо, тестирајте своју Снорт инсталацију:
snort --version
Ако ова команда не ради, мораћете да креирате симболичку везу. То можете да урадите тако што ћете откуцати:
sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version
Резултат ће бити сличан следећем:
,,_ -*> Snort! <*-
o" )~ Version 2.9.7.5 GRE (Build 262)
'''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
Copyright (C) 1998-2013 Sourcefire, Inc., et al.
Using libpcap version 1.6.2
Using PCRE version: 8.35 2014-04-04
Using ZLIB version: 1.2.8
Ун-роотинг Снорт
Сада када смо инсталирали снорт, не желимо да ради као root, тако да морамо да креирамо snortкорисника и групу. Да бисмо креирали новог корисника и групу, можемо користити ове две команде:
sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort
Пошто смо програм инсталирали користећи изворни код, потребно је да креирамо конфигурационе датотеке и правила за снорт.
sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.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
Подешавање конфигурационих датотека
Да бисте уштедели гомилу времена и да не морате све да копирате и налепите, дозволите само да копирате све датотеке у конфигурациони директоријум.
sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort
Сада када су конфигурационе датотеке ту, можете да урадите једну од две ствари:
- Можете омогућити Барниард2
- Или можете једноставно оставити конфигурационе датотеке на миру и селективно омогућити жељена правила.
У сваком случају, и даље ћете желети да промените неколико ствари. Настави да читаш.
Конфигурација
У /etc/snort/snort.confдатотеци ћете морати да промените променљиву HOME_NET. Требало би да буде подешен на ИП блок ваше интерне мреже тако да неће евидентирати покушаје ваше сопствене мреже да се пријави на сервер. Ово може бити 10.0.0.0/24или 192.168.0.0/16. У реду 45 /etc/snort/snort.confпромените променљиву HOME_NETна ту вредност ИП блока ваше мреже.
На мојој мрежи то изгледа овако:
ipvar HOME_NET 192.168.0.0/16
Затим ћете морати да подесите EXTERNAL_NETпроменљиву на:
any
Што се само претвара EXERNAL_NETу оно што HOME_NETнисте.
Постављање правила
Сада када је велика већина система постављена, морамо да конфигуришемо наша правила за ово мало прасе. Негде око линија 104 у својој /etc/snort/snort.confдатотеци, требало би да видите "вар" декларација и променљиве RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, и BLACK_LIST_PATH. Њихове вредности треба да буду постављене на путање које смо користили у Un-rooting Snort.
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules
Када се те вредности поставе, избришите или коментаришите тренутна правила почевши од реда 548.
Сада, хајде да проверимо да ли је ваша конфигурација исправна. Можете то проверити са snort.
# snort -T -c /etc/snort/snort.conf
Видећете излаз сличан следећем (скраћен ради краткоће).
Running in Test mode
--== Initializing Snort ==--
Initializing Output Plugins!
Initializing Preprocessors!
Initializing Plug-ins!
.....
Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
Verifying Preprocessor Configurations!
--== Initialization Complete ==--
,,_ -*> Snort! <*-
o" )~ Version 2.9.8.0 GRE (Build 229)
'''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
Copyright (C) 1998-2013 Sourcefire, Inc., et al.
Using libpcap version 1.7.4
Using PCRE version: 8.35 2014-04-04
Using ZLIB version: 1.2.8
Rules Engine: SF_SNORT_DETECTION_ENGINE Version 2.4 <Build 1>
Preprocessor Object: SF_IMAP Version 1.0 <Build 1>
Preprocessor Object: SF_FTPTELNET Version 1.2 <Build 13>
Preprocessor Object: SF_SIP Version 1.1 <Build 1>
Preprocessor Object: SF_REPUTATION Version 1.1 <Build 1>
Preprocessor Object: SF_POP Version 1.0 <Build 1>
Preprocessor Object: SF_DCERPC2 Version 1.0 <Build 3>
Preprocessor Object: SF_SDF Version 1.1 <Build 1>
Preprocessor Object: SF_GTP Version 1.1 <Build 1>
Preprocessor Object: SF_DNS Version 1.1 <Build 4>
Preprocessor Object: SF_SSH Version 1.1 <Build 3>
Preprocessor Object: SF_DNP3 Version 1.1 <Build 1>
Preprocessor Object: SF_SSLPP Version 1.1 <Build 4>
Preprocessor Object: SF_SMTP Version 1.1 <Build 9>
Preprocessor Object: SF_MODBUS Version 1.1 <Build 1>
Snort successfully validated the configuration!
Snort exiting
Сада када је све конфигурисано без грешака, спремни смо да почнемо да тестирамо Снорт.
Тестинг Снорт
Најлакши начин да тестирате Снорт је омогућавање local.rules. Ово је датотека која садржи ваша прилагођена правила.
Ако сте приметили у snort.confдатотеци, негде око реда 546, постоји овај ред:
include $RULE_PATH/local.rules
Ако га немате, додајте га око 546. Затим можете користити local.rulesдатотеку за тестирање. Као основни тест, само имам Снорт да прати пинг захтев (ИЦМП захтев). То можете учинити додавањем следећег реда у своју local.rulesдатотеку.
alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)
Када то будете имали у свом фајлу, сачувајте га и наставите да читате.
Покрени тест
Следећа команда ће покренути Снорт и одштампати упозорења „брзог режима“, док корисник шмрка, под групним снортом, користећи конфигурацију /etc/snort/snort.conf, и она ће слушати на мрежном интерфејсу eno1. Мораћете да пређете eno1на било који мрежни интерфејс који ваш систем слуша.
$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1
Када га покренете, пингујте тај рачунар. Почећете да видите излаз који изгледа овако:
01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0] 192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0] 192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0] 192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal
Можете притиснути Цтрл+Ц да изађете из програма и то је то. Снорт је спреман. Сада можете користити било која правила која желите.
На крају, желим да напоменем да постоје нека јавна правила које је направила заједница која можете преузети са званичног сајта под картицом „Заједница“. Потражите "Снорт", а затим одмах испод тога постоји веза са заједницом. Преузмите то, распакујте га и потражите community.rulesдатотеку.