Как установить suricata на windows 10

Suricata is an intrusion detection engine that monitors network traffic. This article teaches you how to Install Suricata on Windows 10 RDP.

How to Install Suricata on Windows 10 RDP

Suricata is an intrusion detection and prevention system. This tool introduces itself as a complete ecosystem for security monitoring. One of the most important features of Suricata compared to other tools is that it works up to the application layer. This allows Suricata to identify risks that other tools may ignore because they are split into multiple packages. In this article, we are going to teach you How to Install Suricata on Windows 10 RDP. It should be noted that you can visit the packages available in Eldernode if you want to buy a Windows VPS server.

Suricata functionality is not limited to the application layer. It also works at lower levels and protocols such as TLS, ICMP, TCP, and UDP. Suricata also examines HTTP, FTP, and SMB protocols to find hidden intrusion attempts in the form of unusual requests. It should note that Suricata also uses the ability to extract files so that administrators can check for suspicious files.

Note that the Suricata is very cleverly designed and distributes its workload across multiple processor cores and chips to achieve the best performance. It also transfers some of its workloads to the graphics card, which is a great feature for servers.

In the rest of this article, join us to explain step by step how to Install Suricata on Windows 10 RDP.

Install Suricata on Windows 10 RDP Server

In this section, we will discuss how to Install Suricata on Windows 10 RDP. To do this, please follow the steps below in order. The first step is to download Suricata for Windows.

how to download

In the window that opens, click on Run.

install suricata on windows

Then click Next.

how to install suricata on windows rdp

Check I accept… and click Next to accept the license agreement.

lisence agreement in installing suricata on windows

In the next step, you can choose the method you want to install. Then click Next.

installation features of suricata

Click Install.

install suricata on windows 10 rdp

*

installing suricata

Finally, you have to click on Finish.

suricata on windows 10

Once you have successfully installed Suricata, you should now create a folder with your configurations, rules, and test captures. Note that this folder is C:Suricata. You need to create a folder log, rules, and projects in that folder.

how to create folders log to install suricata

In the Rules folder, you must copy the contents of the Rules folder to the Suricata program’s directory.

Threshold.config is an empty file.

suricata.yaml is a copy of suricata.yaml found in the Suricata application list.

Note: You can find the modifications I make to suricata.yaml on GitHub.

In the next step, for each project or test, you should create a folder in folder projects. Like this mimikatz folder:

reate a folder in folder projects of suricata

Here, we use the following BAT file to start Suricata with our rules and capture file:

C:Program Files (x86)Suricatasuricata.exe” -c ....suricata.yaml -S mimikatz.rules -l logs -k none -v -r drsuapi-DsGetNCChanges.pcap  pause

1. With option -S we can use our rule file mimikatz.rules (exclusively, no other rule file will be loaded).

2. Option -l logs uses our local logs directory to write the log files.

3. -k none disable checksum checks.

4. -v means verbose.

5. -r .pcap reads our capture file for processing by Suricata.

The important point is that if you encounter an error message like the one below, you should follow the steps below.

error message in installing suricata on windows

How to Install WinPcap on Windows 10

Visit the WinPcap website and download it. Then go to the place where you downloaded the file and double click on it.

In the window that opens, click Next.

install winpcap on windows

Then click on I Agree to confirm the license agreement.

winpcap license agreement on windows

Click Install to start installing WinPcap.

installing winpcap

Finally, click on Finish.

how to install winpcap on windows 10 rdp

How to Run Suricata on Windows 10 Server

Note that you can download the rules from Emerging Threats. Then extract the files from the rules folder to the C:Suricatarules folder.

how to run suricata on windows

You can process your capture file without explicit rule such as the image below:

how to run suricata on windows 10 rdp

Conclusion

Suricata is an open-source intrusion detection engine developed by OISF. The Beta version was released in late 2009 and the standard version was released in mid-2010. This engine can be used as an intrusion detection system (IDS), intrusion prevention system (IPS), or as a network security monitor. Suricata monitors network traffic using an extensive set of rules and signature language. In this article, we tried to teach you to step by step how to Install Suricata on Windows 10 RDP.

NOTE

2020-04-29 edit
—-
Before installing Suricata on windows, install this prerequisite. Newer npcap versions may not work.
https://nmap.org/npcap/dist/npcap-0.992.exe
—-

Suricata installation (and/or compilation from scratch) can be found here:
https://redmine.openinfosecfoundation.org/projects/suricata/files

also a windows binary — self extracting auto install package is available here:
http://www.openinfosecfoundation.org/index.php/download-suricata

2020-04-29 edit
—-
Note In order to avoid errors like this: «The logging directory C:\Program Files\Suricata/log supplied by suricata.yaml doesn’t exist. (note this orphan «/») Consider installing into this directory C:Suricata and not into C:Program FilesSuricata.
—-

Preparing the build environment¶

The instructions below should be followed in the order they appear. If your configuration requires unique actions to compile the package and/or you significantly modify the configure shell script, please e-mail the details of your requirements and/or solution to bugreports@openinfosecfoundation.org.

Set up MinGW environment from http://mingw.org/

Do not use the automatic installer, as it is deprecated. Instead, manually unpack the following packages to c:mingw (you may use newer versions if you prefer):

* binutils
    o binutils-2.20-1-mingw32-bin.tar.gz
* mingw-runtime (dev and dll)
    o mingwrt-3.17-mingw32-dll.tar.gz
    o mingwrt-3.17-mingw32-dev.tar.gz
* w32api
    o w32api-3.14-mingw32-dev.tar.gz
* Required runtime libraries for GCC (gmp, libiconv, MPFR and pthreads)
    o gmp-4.2.4-mingw32-dll.tar.gz
    o libiconv-1.13.1-1-mingw32-dll-2.tar.lzma
    o mpfr-2.4.1-mingw32-dll.tar.gz
    o pthreads-w32-2.8.0-mingw32-dll.tar.gz
* gcc-core (bin and dll)
    o gcc-core-4.4.0-mingw32-bin.tar.gz
    o gcc-core-4.4.0-mingw32-dll.tar.gz
* make
    o make-3.81-20090914-mingw32-bin.tar.gz
* zlib
    o libz-1.2.3-1-mingw32-dll-1.tar.gz
    + libz-1.2.3-1-mingw32-dev.tar.gz

Download MSYS¶

Get MSYS from http://sourceforge.net/projects/mingw/files/ and install

MSYS-1.0.11.exe (MSYS Base System)
msysDTK-1.0.1.exe (MSYS Suplementary Tools)
autoconf-2.63-1-msys-1.0.11-bin.tar.lzma
automake-1.11-1-msys-1.0.11-bin.tar.lzma
libtool-2.2.7a-1-msys-1.0.11-bin.tar.lzma

MSYS will ask the following questions during installation.

Accept Post Install: [y]
MinGW Installed? : [y]
path to MinGW: [c:/MinGW]

Download pkg-config¶

Install pkg-config taken from http://wiki.videolan.org/Win32CompileMSYSNew#PKG-CONFIG
Download and extract the following into c:Msys1.0

   http://ftp.gnome.org/pub/GNOME/binaries/win32/glib/2.18/glib_2.18.2-1_win32.zip
   ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
   ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip
Set PKG_CONFIG_PATH=/win32/lib/pkgconfig

(e.g. by adding the Windows environment variable PKG_CONFIG_PATH in «Control Panel»->»System»->»Advanced System Settings»->»Environment Variables» and setting the value to /win32/lib/pkgconfig)

Download Git sources¶

Get Git sources from http://code.google.com/p/msysgit/

Unpack to /msys/1.0
Remember to edit ~/.gitconfig to set your username

Download libpcre¶

Get libpcre from http://www.pcre.org/

./configure --enable-utf8 --disable-cpp --prefix=/mingw
make
make install

Download libyaml¶

Download libyaml from http://pyyaml.org/wiki/LibYAML

Though libyaml does not support mingw compilation, it does work in static mode.

./configure --prefix=/mingw CFLAGS="-DYAML_DECLARE_STATIC" 
make
make install

Download libpcap¶

Download the developer pack from http://www.winpcap.org/devel.htm
To have the driver in the system, download and install a corresponding installer package from http://www.winpcap.org/install/default.htm
Copy includes to c:/mingw/include and libs (.a) to c:/mingw/lib
Rename libwpcap.a to libpcap.a

Get and compile Suricata¶

git clone git://phalanx.openinfosecfoundation.org/oisf.git
cd oisf

Because of an autotools port bug, you will need to do the following:

dos2unix.exe libhtp/configure.ac
dos2unix.exe libhtp/htp.pc.in
dos2unix.exe libhtp/Makefile.am

./autogen.sh
./configure CFLAGS="-DYAML_DECLARE_STATIC" 

Add —enable-nfqueue as a configurable parameter to enable inline mode.

make

If the full installation is successful, suricata.exe will be located in src/.lib. To test your build, you will need libpcre-0.dll, libz-1.dll, and pthreadGC2.dll, all of which should already be installed under c:/mingw or c:/msys.
preparing the runtime environment.

To prepare the runtime environment, you must copy the executable and DLLs to a dedicated directory. Get the classification.config and suricata.yaml, and then edit suricata.yaml to ensure the directories are correctly identified.

pcap mode

If you have not already done so, install winpcap runtime and its driver. Then, determine your eth device UUID in the registry:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces
suricata.exe -c suricata.yaml -i device

In the example above, device should be replaced with your device uuid.

Inline mode¶

To operate in inline mode, you must download, compile and install netfilterforwin, which is the netfilter.sys driver and Windows port of the libnetfilter_queue library.

Download and install the Windows Driver Kit from Microsoft
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=36a2630f-5d56-43b5-b996-7633f2ec14ff

Download netfilterforwin from http://sourceforge.net/projects/netfilterforwin/
Unpack it so the netfilterforwin directory is beside the oisf directory. You must omit the version from its name.

Compile the driver
Open the correct build environment from your Start menu

Start > All Programs > Windows Driver Kits > WDK xxxx.yyyy.z > Build Environments > Windows Server 2003 > x86 Free Build Environment

At your command line prompt, enter the following:

cd netfilterforwin/netfilter
nmake

Install the driver
Copy inf/* files and the freshly built netfilter.sys to a separate directory, and then open the network connections.
Right-click an interface, then select Properties
Click install…
Select Service
Click Add
Click Have disk…
Browse to the directory with the inf files and netfilter.sys, select netfilter.inf, and then click Ok.
Confirm everything

The driver is now installed.

Run Suricata in inline mode

      suricata.exe -c suricata.yaml -q 0

Если верить статистике, объем сетевого трафика увеличивается примерно на 50% каждый год. Это приводит к росту нагрузки на оборудование и, в частности, повышает требования к производительности IDS/IPS. Можно покупать дорогостоящее специализированное железо, но есть вариант подешевле — внедрение одной из систем с открытым исходным кодом. Многие начинающие администраторы считают, будто установить и сконфигурировать бесплатную IPS довольно сложно. В случае с Suricata это не совсем верно — поставить и ее и начать отражать типовые атаки с набором бесплатных правил можно за несколько минут.

Snort или Suricata. Часть 1: выбираем бесплатную IDS/IPS для защиты корпоративной сети

Зачем нужна еще одна открытая IPS?

Долгое время считавшаяся стандартом система Snort разрабатывается с конца девяностых, поэтому изначально она была однопоточной. За долгие годы в ней появились все современные фишки, вроде поддержки IPv6, возможности анализа протоколов прикладного уровня или универсальный модуль доступа к данным.

Базовый движок Snort 2.X научился работать с несколькими ядрами, но так и остался однопоточным и потому не может оптимально использовать преимущества современных аппаратных платформ.

Проблема была решена в третьей версии системы, но ее готовили так долго, что на рынке успела появиться написанная с нуля Suricata. В 2009 году ее начали разрабатывать именно как многопоточную альтернативу Snort, обладающую из коробки функциями IPS. Код распространяется под лицензией GPLv2, но финансовые партнеры проекта имеют доступ к закрытой версии движка. Некоторые проблемы с масштабируемостью в первых версиях системы возникали, но они довольно быстро были решены.

Почему Suricata?

В Suricata есть нескольких модулей (как и в Snort): захвата, сбора, декодирования, обнаружения и вывода. По умолчанию захваченный трафик идет до декодирования одним потоком, хотя это больше нагружает систему. При необходимости потоки можно разделить в настройках и распределить по процессорам — Suricata очень хорошо оптимизируется под конкретное железо, хотя это уже не уровень HOWTO для начинающих. Стоит также отметить наличие в Suricata основанных на библиотеке HTP продвинутых средств инспектирования HTTP. Они же могут быть использованы для протоколирование трафика без детектирования. Система также поддерживает декодирование IPv6, включая туннели IPv4-in-IPv6, IPv6-in-IPv6 и другие.

Для перехвата трафика могут использоваться разные интерфейсы (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), а в режиме Unix Socket можно автоматически анализировать захваченные другим сниффером файлы PCAP. Кроме того, модульная архитектура Suricata упрощает подключение новых элементов для захвата, декодирования, анализа и обработки сетевых пакетов. Важно также отметить, что в Suricata блокировка трафика осуществляется средствами штатного фильтра операционной системы. В GNU/Linux доступно два варианта работы IPS: через очередь NFQUEUE (режим NFQ) и через zero copy (режим AF_PACKET). В случае первом случае попадающий в iptables пакет направляется в очередь NFQUEUE, где может обрабатываться на пользовательском уровне. Suricata прогоняет его по своим правилам и выносит один из трех вердиктов: NF_ACCEPT, NF_DROP и NF_REPEAT. Первые два пояснений не требуют, а последний позволяет промаркировать пакеты и отправить их в начало текущей таблицы iptables. Режим AF_PACKET отличается более высоким быстродействием, но накладывает на систему ряд ограничений: она должна иметь два сетевых интерфейса и работать в качестве шлюза. Заблокированный пакет просто не пересылается на второй интерфейс.

Важная фишка Suricata — возможность использования наработок для Snort. Администратору доступны, в частности, наборы правил Sourcefire VRT и OpenSource Emerging Threats, а также коммерческие Emerging Threats Pro. Унифицированный вывод можно анализировать с помощью популярных бэкендов, также поддерживается вывод в PCAP и Syslog. Настройки системы и правила хранятся в файлах формата YAML, который легко читается и может обрабатываться автоматически. Движок Suricata распознает множество протоколов, поэтому в правилах нет необходимости привязываться к номеру порта. Кроме того в правилах Suricata активно практикуется концепция flowbits. Для отслеживания срабатывания используются переменные сессии, позволяющие создавать и применять различные счетчики и флаги. Многие IDS рассматривают разные TCP-соединения как отдельные сущности и могут не увидеть связи между ними, свидетельствующей о начале атаки. Suricata старается видеть картину целиком и во многих случаях распознает распределенный по разным соединениям вредоносный трафик. О ее преимуществах можно рассуждать долго, мы лучше перейдем к установке и настройке.

Как установить?

Мы будем устанавливать Suricata на виртуальный сервер, работающий под управлением Ubuntu 18.04 LTS. Все команды необходимо выполнять от имени суперпользователя (root). Наиболее безопасный вариант — подключиться к серверу по SSH с правами обычного пользователя, а затем применить утилиту sudo для повышения привилегий. Для начала необходимо установить пакеты, которые нам понадобятся:

sudo apt -y install libpcre3 libpcre3-dev build-essential autoconf automake libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev libjansson-dev pkg-config libnetfilter-queue-dev geoip-bin geoip-database geoipupdate apt-transport-https

Подключаем внешний репозиторий:

sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update

Устанавливаем последнюю стабильную версию Suricata:

sudo apt-get install suricata

При необходимости правим конфигурационные файлы имя, заменив использующийся по умолчанию eth0 на фактическое имя внешнего интерфейса сервера. Настройки по умолчанию хранятся в файле /etc/default/suricata, а пользовательские — в /etc/suricata/suricata.yaml. Настройка IDS по большей части ограничивается правкой этого конфигурационного файла. В нем множество параметров, которые по названию и назначению совпадают с аналогами из Snort. Синтаксис тем не менее совершенно другой, но файл читать намного проще чем конфиги Snort, к тому же он хорошо прокомментирован.

sudo nano /etc/default/suricata

и

sudo nano /etc/suricata/suricata.yaml

Внимание! Перед запуском стоит проверить значения переменных из раздела vars.

Чтобы завершить настройку потребуется установить suricata-update для обновления и загрузки правил. Сделать это довольно просто:

sudo apt install python-pip
sudo pip install pyyaml
sudo pip install <a href="https://github.com/OISF/suricata-update/archive/master.zip">https://github.com/OISF/suricata-update/archive/master.zip</a>
sudo pip install --pre --upgrade suricata-update

Дальше нам нужно запустить команду suricata-update для установки набора правил Emerging Threats Open:

sudo suricata-update

Для просмотра списка источников правил выполняем следующую команду:

sudo suricata-update list-sources

Обновляем источники правил:

sudo suricata-update update-sources

Повторно просматриваем обновленные источники:

sudo suricata-update list-sources

При необходимости можно включить доступные бесплатные источники:

sudo suricata-update enable-source ptresearch/attackdetection
sudo suricata-update enable-source oisf/trafficid
sudo suricata-update enable-source sslbl/ssl-fp-blacklist

После этого необходимо еще раз обновить правила:

sudo suricata-update

На этом установку и первичную настройку Suricata в Ubuntu 18.04 LTS можно считать законченной. Дальше начинается самое интересное: в следующей статье мы подключим виртуальный сервер к офисной сети через VPN и начнем анализировать весь входящий и исходящий трафик. Особое внимание уделим блокированию атак DDoS, активности вредоносного ПО и попыткам эксплуатации уязвимостей в доступных из сетей общего пользования сервисов. Для наглядности будут смоделированы атаки наиболее распространенных типов.

Before you start ================ An up to date version of this document can be found online: https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Windows Alternatively, an installation document for using CYGWIN instead of MinGW can be found here: https://redmine.openinfosecfoundation.org/attachments/download/676/SurWinInstallGuide.pdf This file describes how to build and run Suricata on Windows. Currently Windows XP and above are supported. Preparing the build environment =============================== 1. Setup MinGW environment from http://mingw.org Do not use the automatic installer as it is deprecated. Manually unpack the following packages to c:mingw (use newer versions if you like): * binutils o binutils-2.20–1-mingw32-bin.tar.gz * mingw-runtime (dev and dll): o mingwrt-3.17-mingw32-dll.tar.gz o mingwrt-3.17-mingw32-dev.tar.gz * w32api o w32api-3.14-mingw32-dev.tar.gz * required runtime libraries for GCC (gmp, libiconv, MPFR and pthreads): o gmp-4.2.4-mingw32-dll.tar.gz o libiconv-1.13.1–1-mingw32-dll-2.tar.lzma o mpfr-2.4.1-mingw32-dll.tar.gz o pthreads-w32–2.8.0-mingw32-dll.tar.gz * gcc-core (bin and dll): o gcc-core-4.4.0-mingw32-bin.tar.gz o gcc-core-4.4.0-mingw32-dll.tar.gz * make o make-3.81–20090914-mingw32-bin.tar.gz * zlib o libz-1.2.3-1-mingw32-dll-1.tar.gz o libz-1.2.3-1-mingw32-dev.tar.gz 2. Install MSYS http://sourceforge.net/projects/mingw/files/ MSYS-1.0.11.exe (MSYS Base System) msysDTK-1.0.1.exe (MSYS Suplementary Tools) autoconf-2.63–1-msys-1.0.11-bin.tar.lzma automake-1.11–1-msys-1.0.11-bin.tar.lzma libtool-2.2.7a-1-msys-1.0.11-bin.tar.lzma MSYS will ask questions during the installation: Accept Post Install: [y] MinGW Installed? : [y] path to MinGW: [c:/MinGW] 3. Install pkg-config taken from http://wiki.videolan.org/Win32CompileMSYSNew#PKG-CONFIG Download and extract the following into c:Msys1.0 http://ftp.gnome.org/pub/GNOME/binaries/win32/glib/2.18/glib_2.18.2-1_win32.zip ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip Set PKG_CONFIG_PATH=/win32/lib/pkgconfig (e.g. by adding the Windows enviroment variable PKG_CONFIG_PATH in «Control Panel»->»System»->»Advanced System Settings»->»Environment Variables» and setting the value to /win32/lib/pkgconfig) 4. Get git Download portable GIT from this URL: http://code.google.com/p/msysgit/ — unpack to /msys/1.0 — don’t forget to edit your ~/.gitconfig to at least give youreself a name :-) 5. Get libpcre2 http://www.pcre.org/ ./configure —enable-utf8 —disable-cpp —prefix=/mingw make make install 6. Get libyaml http://pyyaml.org/wiki/LibYAML It does not support mingw compilation. However it works in static mode: ./configure —prefix=/mingw CFLAGS=»-DYAML_DECLARE_STATIC» make make install 7. Get libpcap Guide can be found here: — Download Devlopers pack http://www.winpcap.org/devel.htm — Download and install a coresponding installer package http://www.winpcap.org/install/default.htm (to have the driver in the system) — Copy includes to c:/mingw/include and libs (.a) to c:/mingw/lib — Rename libwpcap to libpcap 8. Get and compile Suricata git clone git://phalanx.openinfosecfoundation.org/oisf.git cd oisf Because of some weird autools port bug we do the following: dos2unix.exe libhtp/configure.ac dos2unix.exe libhtp/htp.pc.in dos2unix.exe libhtp/Makefile.am ./autogen.sh ./configure CFLAGS=»-DYAML_DECLARE_STATIC» # add —enable-nfqueue as parameter to configure to enable inline mode make If everything goes well, you’ll end up with suricata.exe in src/.lib. To test it you will need libpcre2-0.dll, libz-1.dll, and pthreadGC2.dll which you already have somewhere under c:/mingw or c:/msys. To prepare the runtime environment: — copy the executable and the DLLs to a dedicated directory — get there classification.config and suricata.yaml — edit suricata.yaml (at least set the directories correctly) PCAP Mode ========= Make sure you have winpcap runtime and driver installed and then: — determine your eth device UUID in the registry: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces — now cross your fingers and do: suricata.exe -c suricata.yaml -i DEVICE{your device uuid} Inline Mode =========== You need to downoad, compile and install netfilterforwin (the netfilter.sys driver and Windows port of the libnetfilter_queue library): 1. Download and install Windows Driver Kit from Microsoft http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=36a2630f-5d56-43b5-b996-7633f2ec14ff 2. Download netfilterforwin http://sourceforge.net/projects/netfilterforwin/ Unpack it so the netfilterforwin directory (omit the version from its name) is beside the oisf directory. 3. Compile the driver — Open the build environment from you Start menu: Start->All Programs->windows Driver Kits->WDK xxxx.yyyy.z->Build Environments ->Windows Server 2003->x86 Free Build Environment (or the one which is proper for your system) — cd to netfilterforwin/netfilter — enter command: nmake 4. Install the driver — copy inf/* files and the freshly built netfilter.sys to a separate directory — open network connecions — right-click an interface, select properties — click install… — select service — click add — click ‘have disk…’ — browse to the directory with the inf files and netfilter.sys, select netfilter.inf anc click ok — confirm everything You should have the driver installed now. 5. Run Suricata in inline mode: suricata.exe -c suricata.yaml -q 0

Содержание

  1. ИТ База знаний
  2. Полезно
  3. Навигация
  4. Серверные решения
  5. Телефония
  6. Корпоративные сети
  7. Курс по сетям
  8. Зачем нужен Shodan, когда есть Google?
  9. Что такое IPS, IDS, UTM?
  10. Как установить все устройства для этичного хакинга в Kali Linux
  11. Программные средства для построения межсетевого экрана
  12. Интересное про Private VLAN
  13. Phishing. Способы защиты от мошенников
  14. Криптография | Обмен ключами
  15. Установка и настройка утилиты для обнаружения вторжений в сети – Snort
  16. Пошаговая инструкция для Windows
  17. Установка вспомогательных утилит
  18. Краткое содержание данной инструкции:
  19. Установка Snort на Linux дистрибутивах
  20. Мониторинг с помощью Snort
  21. Сниффер пакетов
  22. Сниффер с записью
  23. Snort или Suricata. Часть 2: установка и первичная настройка Suricata
  24. Зачем нужна еще одна открытая IPS?
  25. Почему Suricata?
  26. Как установить?

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Курс по сетям

Зачем нужен Shodan, когда есть Google?

Что такое IPS, IDS, UTM?

Как установить все устройства для этичного хакинга в Kali Linux

Программные средства для построения межсетевого экрана

Интересное про Private VLAN

Phishing. Способы защиты от мошенников

Криптография | Обмен ключами

Еженедельный дайджест

Установка и настройка утилиты для обнаружения вторжений в сети – Snort

Хрюн в поисках вторжений

10 минут чтения

Snort — утилита для обнаружения вторжений в сети (IDS — Intrusion Detection System). Она совместима с ОС Windows и Linux. Все выявленные угрозы (список параметров подачи тревоги имеет тонкие настройки), записываются в лог-файл. Snort работает по принципу анализа пакетов транспортного уровня, поэтому для его использования, требуется перевод сетевой карты в специальный мониторный режим. Разработчики учитывали проблему потребления системных ресурсов системами класса IDS, поэтому Snort нетребовательна к железу и работает в фоновом режиме.

Обучайся в Merion Academy

Пройди курс по сетевым технологиям

Начать

Snort не имеет графической оболочки (GUI), в связи с чем любая работа с программой возможна только посредством командной строки. Ничего сложного здесь нет, и в этой статье мы подробно рассмотрим процесс установки и настройки Snort на Windows и на Linux. На различных дистрибутивах она устанавливается примерно одинаково за небольшой разницей в указании путей папок в командах и других мелочах.

Пошаговая инструкция для Windows

Первым делом переходим на официальный сайт разработчика Snort.org. Поскольку программа является полностью бесплатной, то никаких проблем с лицензией, пробной версией не появляется

Нажимаем Get Started.

Открывается окно с текстовыми командами, там выбираем в верхних вкладках нашу операционную систему (в данном случае Windows) и загружаем файл загрузчика (Installer.exe).

Устанавливаем его в режиме «прощелкивания», то есть, ни снимая никакие флажки, поставленные разработчиком по умолчанию.

Установка вспомогательных утилит

После установки Snort никаких изменений на компьютере не произошло и работать с программой нет возможности, потому что не установлены специальные утилиты и драйвера, которые обеспечат запуск приложения.

В завершающем окне Snort для Windows попросит вас установить хорошо известную сетевым администраторам утилиту Winpcap. Это драйвер, который позволит вашей сетевой карте перейти в мониторный режим, то есть передавать и получать пакеты, обходя стеки протоколов. Данная утилита тоже бесплатная, поэтому ее скачиваем с сайта разработчика www.winpcap.org и также устанавливаем в режиме «прощелкивания».

Вторая вспомогательная утилита — специальный архиватор с высокой степенью сжатия, который нужен, чтобы распаковать файлы. Скачиваем и устанавливаем архиватор 7-Zip с официального сайта 7-zip.org.

Итак, установщик загружен и установлен, вспомогательные утилиты тоже поставлены. Но поскольку, графической оболочки нет, нам надо загрузить специальные правила, по которым Snort будет работать. Возвращаемся на официальный сайт Snort.org и нажимаем на кнопку «Rules» (правила). Из открывшегося списка берем файл, список правил (rules), соответствующий нашей версии (они рассортированы по версиям Snort, а не по операционным системам). На начало 2020 г. для Windows актуальна версия 2.9.15.1, которую мы инсталлируем и настроим в качестве примера.

Для Linux есть и более новая версия Snort 3.0.

Скачанный файл правил (называется community-rules.tar.gz) находим в папке и открываем с помощью только что установленного архиватора 7-zip. Интерфейс этого архиватора очень похож на WinRar или WinZip.

Все файлы разархивируем, копируем и переносим в папку Snort, которую создал наш установщик. В дальнейшем, это значительно упростит указание путей.

Теперь находим и открываем файл snort.conf (параметры конфигурации для запуска приложения) в NotePad++ или другом текстовом редакторе.

Где-то на 103 строчке (она может немного отличаться по мере того, как разработчик вносит изменения в обновления) находим, установленную разработчиком по умолчанию строчку, указатель пути: c:snortrules. Она совпадает с расположением файла на нашей машине. Если у вас путь другой, то припишите именно его. Там, где надо редактировать пути, разработчик ставит две точки.

Теперь нам надо указать путь для папки Log-файлов, куда наш Snort будет записывать все логи, доступные для просмотра и изучения. Редактируем пути к лог-файлам.

В папке C:/snort уже есть папка log, для этого предназначенная, поэтому мы прописываем путь C:snortlog.

На строчке 182 прописываем в config logdir: c:snortlog, причем первая часть config logdir уже есть и строку можно найти по ней. Незабываем удалить символ «#», который выбрасывает строки из исполняемого файла, превращая их в комментарий. Результат:

Дальнейшее редактирование файла конфигурации проводим по списку по ссылке. Ищем по первой части строк и прописываем правильные пути. Я просто заменил строки 242-249 на этот блок.

Продолжаем редактирование. Теперь комментируем, добавляя знаки комментария «#» к строкам 259-265. В отредактированном варианте это выглядит так:

1.Редактирум пути к правилам правил Snort

# such as: c:snortrules

var RULE_PATH c:Snortrules

var SO_RULE_PATH c:Snortso_rules

var PREPROC_RULE_PATH c:Snortpreproc_rules

# If you are using reputation preprocessor set these

var WHITE_LIST_PATH c:Snortrules

var BLACK_LIST_PATH c:Snortrules

2.Прописываем путь к папке лог

config logdir: c:Snortlog

3. Редактируем пути для libraries

5. Иправляем пути правил

6.Определяем сетевую карту snort -W

7. Тестируем конфиг snort -T -c c:snortetcsnort.conf -l c:snortlog -i 2

  • ключ -T указывает, что нужно протестировать текущую конфигурацию Snort
  • ключ означает, что включен режим IDS
  • далее следует путь к конфигурационному файлу snort.conf
  • ключ -l включает режим записи на жесткий диск с указанием пути к файлу
  • ключ -A показывает что все предупрежления(alerts) будут дублтроваться выводом на консоль
  • ключ -i указывает на порядковый номер(index) интересующего нас интерфейса

7. Чтобы узнать поддерживаемые интерфейсы необходимо выполнить команду:

8. Добавляем нужные вам правила

9. Запускаем Режим IDS: snort -A console -c c:snortetcsnort.conf -l c:snortlog -i 2

Краткое содержание данной инструкции:

  • исправление ошибок в файле конфигурации (в новых версиях почти не требуется, см инструкцию на сайте разработчика);
  • указание пути правил (rules);
  • указание нужных правил из каталога;
  • добавление корректных данных сетевой карты;
  • указание Log-папки на жестком диске;

Указание правил идет на собственном простом языке. Выучивать его не нужно, так как правила берутся из списка правил. Завершающий этап настройки — определение сетевой карты из командной строки. После этого Snort запустится (из папки Bin файл с расширением .exe). Пример запуска (выдается ошибка — не задан препроцессор):

  • Внимание, данная часть руководства не является обязательной для повторения. Разработчик уже выпустил несколько вариантов новых правил Snort, где исправлены многие ошибки. В этом случае редактирование файла конфигурации исключает этап самостоятельного их исправления.

Нормально установленный и запущенный Snort (IDS консоль) на Windows выглядит вот так (открыт с помощью Internet Explorer, но для примера указана очень старая версия 2004 года):

Установка Snort на Linux дистрибутивах

Поскольку, Snort изначально разрабатывался на Linux его установка там значительно проще, так как он изначально предназначен для этого семейства ОС. Открываем терминал, и набираем первую команду, которая начнет загрузку файлов Snort с официального сервера:

Поскольку файлы скачиваются в заархивированном виде, то используем команду «tar», чтобы запустить встроенный архиватор и разархивировать только что скаченные файлы с его помощью.

На этом этапе все необходимые файлы скачаны, теперь можно приступить к настройке программы. Snort имеет тонкие настройки, позволяющие осуществлять мониторинг с минимальным потреблением сетевых ресурсов. На практике это означает значительную экономию энергии и стоимости железа при круглосуточной работе.

Проверяем, где установился Snort командой:

Для управления Snort используются нетипичные символы в командах, но не стоит этого пугаться, так как самих команд немного. Сам Snort состоит из трех основных программных модулей.

  1. Дешифратор сетевых пакетов: после перевода сетевой карты в мониторный режим из общего трафика, который имеет весьма значительный объем, необходимо выкачать «транспортные» данные, то есть сведения об адресах. Именно за счет этих данных легко обнаруживаются вторжения.
  2. Система обнаружения вторжения: на основе дешифрованных пакетов в соответствии с rules (правилами).
  3. Logger/Alerter: конвертирует информацию с дешифрованных транспортных пакетов в удобный вид, для него указывается папка для хранения фалов регистрации :/var/log/Snort (логи сервера).

Мониторинг с помощью Snort

Итак, на Windows или на Linux сначала открываем окно (через терминал, или exe файл из папки GUI). Введем первую команду, чтобы получить справку, отобразить список всех основных команд (имя компьютера, Someone, замените на ваше):

На экране отобразится список:

С помощью команд из этого списка программу можно перевести в один из трех режимов работы, рассмотренных ниже.

Сниффер пакетов

Функция аналогичная многим известным снифферам, например WireShark. Пакеты дешифруются и выводятся на экран (заголовки пакетов). Режим очень удобно использовать для проверки правильности указания IP-адресов и всех настроек программы. Для запуска сниффера введите:

Сниффер с записью

На экране отображаются не только заголовки пакетов, но и происходит запись содержимого на диск. Для сетей со значительным трафиком такой режим использовать невозможно ввиду огромного объема данных. Пакеты сохраняются на диске в ASCII формате. Путь папки для записи прописывается в команде.

Snort или Suricata. Часть 2: установка и первичная настройка Suricata

Если верить статистике, объем сетевого трафика увеличивается примерно на 50% каждый год. Это приводит к росту нагрузки на оборудование и, в частности, повышает требования к производительности IDS/IPS. Можно покупать дорогостоящее специализированное железо, но есть вариант подешевле — внедрение одной из систем с открытым исходным кодом. Многие начинающие администраторы считают, будто установить и сконфигурировать бесплатную IPS довольно сложно. В случае с Suricata это не совсем верно — поставить и ее и начать отражать типовые атаки с набором бесплатных правил можно за несколько минут.

Зачем нужна еще одна открытая IPS?

Долгое время считавшаяся стандартом система Snort разрабатывается с конца девяностых, поэтому изначально она была однопоточной. За долгие годы в ней появились все современные фишки, вроде поддержки IPv6, возможности анализа протоколов прикладного уровня или универсальный модуль доступа к данным.

Базовый движок Snort 2.X научился работать с несколькими ядрами, но так и остался однопоточным и потому не может оптимально использовать преимущества современных аппаратных платформ.

Проблема была решена в третьей версии системы, но ее готовили так долго, что на рынке успела появиться написанная с нуля Suricata. В 2009 году ее начали разрабатывать именно как многопоточную альтернативу Snort, обладающую из коробки функциями IPS. Код распространяется под лицензией GPLv2, но финансовые партнеры проекта имеют доступ к закрытой версии движка. Некоторые проблемы с масштабируемостью в первых версиях системы возникали, но они довольно быстро были решены.

Почему Suricata?

В Suricata есть нескольких модулей (как и в Snort): захвата, сбора, декодирования, обнаружения и вывода. По умолчанию захваченный трафик идет до декодирования одним потоком, хотя это больше нагружает систему. При необходимости потоки можно разделить в настройках и распределить по процессорам — Suricata очень хорошо оптимизируется под конкретное железо, хотя это уже не уровень HOWTO для начинающих. Стоит также отметить наличие в Suricata основанных на библиотеке HTP продвинутых средств инспектирования HTTP. Они же могут быть использованы для протоколирование трафика без детектирования. Система также поддерживает декодирование IPv6, включая туннели IPv4-in-IPv6, IPv6-in-IPv6 и другие.

Для перехвата трафика могут использоваться разные интерфейсы (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), а в режиме Unix Socket можно автоматически анализировать захваченные другим сниффером файлы PCAP. Кроме того, модульная архитектура Suricata упрощает подключение новых элементов для захвата, декодирования, анализа и обработки сетевых пакетов. Важно также отметить, что в Suricata блокировка трафика осуществляется средствами штатного фильтра операционной системы. В GNU/Linux доступно два варианта работы IPS: через очередь NFQUEUE (режим NFQ) и через zero copy (режим AF_PACKET). В случае первом случае попадающий в iptables пакет направляется в очередь NFQUEUE, где может обрабатываться на пользовательском уровне. Suricata прогоняет его по своим правилам и выносит один из трех вердиктов: NF_ACCEPT, NF_DROP и NF_REPEAT. Первые два пояснений не требуют, а последний позволяет промаркировать пакеты и отправить их в начало текущей таблицы iptables. Режим AF_PACKET отличается более высоким быстродействием, но накладывает на систему ряд ограничений: она должна иметь два сетевых интерфейса и работать в качестве шлюза. Заблокированный пакет просто не пересылается на второй интерфейс.

Важная фишка Suricata — возможность использования наработок для Snort. Администратору доступны, в частности, наборы правил Sourcefire VRT и OpenSource Emerging Threats, а также коммерческие Emerging Threats Pro. Унифицированный вывод можно анализировать с помощью популярных бэкендов, также поддерживается вывод в PCAP и Syslog. Настройки системы и правила хранятся в файлах формата YAML, который легко читается и может обрабатываться автоматически. Движок Suricata распознает множество протоколов, поэтому в правилах нет необходимости привязываться к номеру порта. Кроме того в правилах Suricata активно практикуется концепция flowbits. Для отслеживания срабатывания используются переменные сессии, позволяющие создавать и применять различные счетчики и флаги. Многие IDS рассматривают разные TCP-соединения как отдельные сущности и могут не увидеть связи между ними, свидетельствующей о начале атаки. Suricata старается видеть картину целиком и во многих случаях распознает распределенный по разным соединениям вредоносный трафик. О ее преимуществах можно рассуждать долго, мы лучше перейдем к установке и настройке.

Как установить?

Мы будем устанавливать Suricata на виртуальный сервер, работающий под управлением Ubuntu 18.04 LTS. Все команды необходимо выполнять от имени суперпользователя (root). Наиболее безопасный вариант — подключиться к серверу по SSH с правами обычного пользователя, а затем применить утилиту sudo для повышения привилегий. Для начала необходимо установить пакеты, которые нам понадобятся:

Подключаем внешний репозиторий:

Устанавливаем последнюю стабильную версию Suricata:

При необходимости правим конфигурационные файлы имя, заменив использующийся по умолчанию eth0 на фактическое имя внешнего интерфейса сервера. Настройки по умолчанию хранятся в файле /etc/default/suricata, а пользовательские — в /etc/suricata/suricata.yaml. Настройка IDS по большей части ограничивается правкой этого конфигурационного файла. В нем множество параметров, которые по названию и назначению совпадают с аналогами из Snort. Синтаксис тем не менее совершенно другой, но файл читать намного проще чем конфиги Snort, к тому же он хорошо прокомментирован.

Внимание! Перед запуском стоит проверить значения переменных из раздела vars.

Чтобы завершить настройку потребуется установить suricata-update для обновления и загрузки правил. Сделать это довольно просто:

Дальше нам нужно запустить команду suricata-update для установки набора правил Emerging Threats Open:

Для просмотра списка источников правил выполняем следующую команду:

Обновляем источники правил:

Повторно просматриваем обновленные источники:

При необходимости можно включить доступные бесплатные источники:

После этого необходимо еще раз обновить правила:

На этом установку и первичную настройку Suricata в Ubuntu 18.04 LTS можно считать законченной. Дальше начинается самое интересное: в следующей статье мы подключим виртуальный сервер к офисной сети через VPN и начнем анализировать весь входящий и исходящий трафик. Особое внимание уделим блокированию атак DDoS, активности вредоносного ПО и попыткам эксплуатации уязвимостей в доступных из сетей общего пользования сервисов. Для наглядности будут смоделированы атаки наиболее распространенных типов.

Понравилась статья? Поделить с друзьями:
  • Как установить sidebar на windows 7 заново
  • Как установить sp1 на windows 7 64 в 2021 году
  • Как установить sudo на windows 10
  • Как установить shareman для windows 10
  • Как установить sp1 для windows 7 x64 обновление