mirror of https://github.com/OISF/suricata
Add export of wiki install docs to our doc/ dir.
parent
0818a151ec
commit
67a4153137
@ -0,0 +1,99 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Basic_Setup
|
||||
|
||||
|
||||
Basic Setup
|
||||
|
||||
When using Debian or FreeBSD, make sure you enter all commands as root/super-
|
||||
user because for these operating systems it is not possible to use 'sudo'.
|
||||
Start with creating a directory for Suricata's log information.
|
||||
|
||||
sudo mkdir /var/log/suricata
|
||||
|
||||
|
||||
To prepare the system for using it, enter:
|
||||
|
||||
cd /etc
|
||||
|
||||
Followed by:
|
||||
|
||||
sudo mkdir suricata
|
||||
|
||||
In this example the directory created is named 'suricata'. It is possible to
|
||||
choose the name you prefer.
|
||||
Then enter:
|
||||
|
||||
cd ~/suricata/oisf
|
||||
|
||||
The next step is to copy classification.config, reference.config and
|
||||
suricata.yaml from the oisf directory to the /etc/suricata directory. Do so by
|
||||
entering the following:
|
||||
|
||||
sudo cp classification.config /etc/suricata
|
||||
sudo cp reference.config /etc/suricata
|
||||
sudo cp suricata.yaml /etc/suricata
|
||||
|
||||
|
||||
Setting variables
|
||||
|
||||
Make sure every variable of the vars, address-groups and port-groups in the
|
||||
yaml file is set correctly for your needs.
|
||||
You need to set the ip-address(es) of your home network at HOME_NET.
|
||||
It is recommended to set EXTERNAL_NET to !$HOMENET_NET. This way, every ip-
|
||||
address but the
|
||||
one set at HOME_NET will be treated as external.
|
||||
It is also possible to set EXTERNAL_NET to 'any', only the recommended setting
|
||||
is more precise and lowers the change that false positives will be generated.
|
||||
HTTP_SERVERS, SMTP_SERVERS , SQL_SERVERS , DNS_SERVERS and TELNET_SERVERS are
|
||||
by default set to HOME_NET. AIM_SERVERS is by default set at 'any'. These
|
||||
variables have to be set for servers on your network.
|
||||
All settings have to be set precise to let it have a more accurate effect.
|
||||
Next, make sure the following ports are set to your needs: HTTP_PORTS,
|
||||
SHELLCODE_PORTS, ORACLE_PORTS and SSH_PORTS.
|
||||
In the near future you can set the host-os-policy to your needs.
|
||||
|
||||
windows:[]
|
||||
bsd: []
|
||||
bsd_right: []
|
||||
old_linux: []
|
||||
linux: [10.0.0.0/8, 192.168.1.100, "8762:2352:6241:7245:E000:0000:0000:
|
||||
0000"]
|
||||
old_solaris: []
|
||||
solaris: ["::1"]
|
||||
hpux10: []
|
||||
hpux11: []
|
||||
irix: []
|
||||
macos: []
|
||||
vista: []
|
||||
windows2k3: []
|
||||
|
||||
|
||||
Interface cards
|
||||
|
||||
To check the available interface cards, enter:
|
||||
|
||||
ifconfig
|
||||
|
||||
Now you can see which one you would like Suricata to use.
|
||||
To start the engine and include the interface card of your preference, enter:
|
||||
|
||||
sudo suricata -c /etc/suricata/suricata.yaml -i wlan0
|
||||
|
||||
Instead of wlan0, you can enter the interface card of your preference.
|
||||
To see if the engine is working correctly and registrates traffic, enter:
|
||||
|
||||
cd /var/log/suricata
|
||||
|
||||
Followed by:
|
||||
|
||||
tail http.log
|
||||
|
||||
And:
|
||||
|
||||
tail -n 33 stats.log
|
||||
|
||||
To make sure the information displayed is up-dated, enter before http.log and
|
||||
stats.log:
|
||||
|
||||
tail -f http.log
|
||||
|
||||
@ -0,0 +1,93 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/CentOS5
|
||||
|
||||
|
||||
CentOS5
|
||||
|
||||
|
||||
Pre-installation requirements
|
||||
|
||||
You will have to use the Fedora EPEL repository for some packages to enable
|
||||
this repository. It is the same for i386 and x86_64:
|
||||
|
||||
sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-
|
||||
5-3.noarch.rpm
|
||||
|
||||
Before you can build Suricata for your system, run the following command to
|
||||
ensure that you have everything you need for the installation.
|
||||
|
||||
sudo yum -y install libpcap libpcap-devel libnet libnet-devel pcre \
|
||||
pcre-devel gcc gcc-c++ automake autoconf libtool make libyaml \
|
||||
libyaml-devel zlib zlib-devel
|
||||
|
||||
Depending on the current status of your system, it may take a while to complete
|
||||
this process.
|
||||
|
||||
HTP
|
||||
|
||||
HTP is bundled with Suricata and installed automatically. If you need to
|
||||
install HTP manually for other reasons, instructions can be found at HTP
|
||||
library_installation.
|
||||
|
||||
|
||||
IPS
|
||||
|
||||
|
||||
If you plan to build Suricata with IPS capabilities via ./configure --enable-
|
||||
nfqueue, there are no pre-built packages in the CentOS base or EPEL for
|
||||
libnfnetlink and libnetfilter_queue. If you wish, you may use the rpms in the
|
||||
Emerging Threats Cent OS 5 repository:
|
||||
i386
|
||||
|
||||
sudo rpm -Uvh http://rules.emergingthreatspro.com/projects/emergingrepo/i386/
|
||||
libnetfilter_queue-0.0.15-1.i386.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/i386/
|
||||
libnetfilter_queue-devel-0.0.15-1.i386.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnfnetlink-
|
||||
0.0.30-1.i386.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnfnetlink-
|
||||
devel-0.0.30-1.i386.rpm
|
||||
|
||||
x86_64
|
||||
|
||||
sudo rpm -Uvh http://rules.emergingthreatspro.com/projects/emergingrepo/
|
||||
x86_64/libnetfilter_queue-0.0.15-1.x86_64.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/
|
||||
libnetfilter_queue-devel-0.0.15-1.x86_64.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/
|
||||
libnfnetlink-0.0.30-1.x86_64.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/
|
||||
libnfnetlink-devel-0.0.30-1.x86_64.rpm
|
||||
|
||||
|
||||
libcap-ng installation
|
||||
|
||||
This installation is needed for dropping privileges.
|
||||
|
||||
wget http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-0.6.4.tar.gz
|
||||
tar -xzvf libcap-ng-0.6.4.tar.gz
|
||||
cd libcap-ng-0.6.4
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
|
||||
|
||||
Suricata
|
||||
|
||||
To download and build Suricata, enter the following:
|
||||
|
||||
wget http://www.openinfosecfoundation.org/download/suricata-1.0.5.tar.gz
|
||||
tar -xvzf suricata-1.0.5.tar.gz
|
||||
cd suricata-1.0.5
|
||||
|
||||
If you are building from Git sources, enter all the following commands:
|
||||
|
||||
bash autogen.sh
|
||||
|
||||
If you are not building from Git sources, enter only:
|
||||
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
|
||||
Please continue with the Basic_Setup.
|
||||
@ -0,0 +1,93 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/CentOS_56_Installation
|
||||
|
||||
|
||||
CentOS 5.6 Installation
|
||||
|
||||
|
||||
Pre-installation requirements
|
||||
|
||||
You will have to use the Fedora EPEL repository for some packages to enable
|
||||
this repository. It is the same for i386 and x86_64:
|
||||
|
||||
sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-
|
||||
release-5-4.noarch.rpm
|
||||
|
||||
Before you can build Suricata for your system, run the following command to
|
||||
ensure that you have everything you need for the installation.
|
||||
|
||||
sudo yum -y install libpcap libpcap-devel libnet libnet-devel pcre \
|
||||
pcre-devel gcc gcc-c++ automake autoconf libtool make libyaml \
|
||||
libyaml-devel zlib zlib-devel
|
||||
|
||||
Depending on the current status of your system, it may take a while to complete
|
||||
this process.
|
||||
|
||||
HTP
|
||||
|
||||
HTP is bundled with Suricata and installed automatically. If you need to
|
||||
install HTP manually for other reasons, instructions can be found at HTP
|
||||
library_installation.
|
||||
|
||||
|
||||
IPS
|
||||
|
||||
|
||||
If you plan to build Suricata with IPS capabilities via ./configure --enable-
|
||||
nfqueue, there are no pre-built packages in the CentOS base or EPEL for
|
||||
libnfnetlink and libnetfilter_queue. If you wish, you may use the rpms in the
|
||||
Emerging Threats Cent OS 5 repository:
|
||||
i386
|
||||
|
||||
sudo rpm -Uvh http://rules.emergingthreatspro.com/projects/emergingrepo/i386/
|
||||
libnetfilter_queue-0.0.15-1.i386.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/i386/
|
||||
libnetfilter_queue-devel-0.0.15-1.i386.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnfnetlink-
|
||||
0.0.30-1.i386.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnfnetlink-
|
||||
devel-0.0.30-1.i386.rpm
|
||||
|
||||
x86_64
|
||||
|
||||
sudo rpm -Uvh http://rules.emergingthreatspro.com/projects/emergingrepo/
|
||||
x86_64/libnetfilter_queue-0.0.15-1.x86_64.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/
|
||||
libnetfilter_queue-devel-0.0.15-1.x86_64.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/
|
||||
libnfnetlink-0.0.30-1.x86_64.rpm \
|
||||
http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/
|
||||
libnfnetlink-devel-0.0.30-1.x86_64.rpm
|
||||
|
||||
|
||||
libcap-ng installation
|
||||
|
||||
This installation is needed for dropping privileges.
|
||||
|
||||
wget http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-0.6.4.tar.gz
|
||||
tar -xzvf libcap-ng-0.6.4.tar.gz
|
||||
cd libcap-ng-0.6.4
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
|
||||
|
||||
Suricata
|
||||
|
||||
To download and build Suricata, enter the following:
|
||||
|
||||
wget http://www.openinfosecfoundation.org/download/suricata-1.0.5.tar.gz
|
||||
tar -xvzf suricata-1.0.5.tar.gz
|
||||
cd suricata-1.0.5
|
||||
|
||||
If you are building from Git sources, enter all the following commands:
|
||||
|
||||
bash autogen.sh
|
||||
|
||||
If you are not building from Git sources, enter only:
|
||||
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
|
||||
Please continue with the Basic_Setup.
|
||||
@ -0,0 +1,65 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Debian_Installation
|
||||
|
||||
|
||||
Debian Installation
|
||||
|
||||
|
||||
Pre-installation requirements
|
||||
|
||||
Before you can build Suricata for your system, run the following command to
|
||||
ensure that you have everything you need for the installation.
|
||||
Make sure you will enter all the following commands as root/super-user,
|
||||
otherwise it will not work.
|
||||
|
||||
apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \
|
||||
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
|
||||
libyaml-0-1 libyaml-dev zlib1g zlib1g-dev
|
||||
|
||||
Depending on the current status of your system, it may take a while to complete
|
||||
this process.
|
||||
|
||||
HTP
|
||||
|
||||
HTP is bundled with Suricata and installed automatically. If you need to
|
||||
install HTP manually for other reasons, instructions can be found at HTP
|
||||
library_installation.
|
||||
|
||||
IPS
|
||||
|
||||
By default, Suricata works as an IDS. If you want to use it as a IDS and IPS
|
||||
program, enter:
|
||||
|
||||
apt-get -y install libnetfilter-queue-dev libnetfilter-queue1 libnfnetlink-
|
||||
dev libnfnetlink0
|
||||
|
||||
|
||||
Suricata
|
||||
|
||||
To download and build Suricata, enter the following:
|
||||
|
||||
wget http://www.openinfosecfoundation.org/download/suricata-1.0.5.tar.gz
|
||||
tar -xvzf suricata-1.0.5.tar.gz
|
||||
cd suricata-1.0.5/
|
||||
|
||||
Compile and install the program
|
||||
If you plan to build Suricata with IPS capabilities, enter:
|
||||
|
||||
./configure --enable-nfqueue
|
||||
|
||||
instead of
|
||||
|
||||
./configure
|
||||
|
||||
Continue with the next commands:
|
||||
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
To make sure the existing list with libraries will be updated with the new
|
||||
library, enter:
|
||||
|
||||
ldconfig
|
||||
|
||||
Please continue with the Basic_Setup.
|
||||
@ -0,0 +1,53 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Fedora_Core
|
||||
|
||||
|
||||
Fedora Core
|
||||
|
||||
|
||||
pre-installation requirements
|
||||
|
||||
Before you can build Suricata for your system, run the following command to
|
||||
ensure that you have everything you need for the installation.
|
||||
|
||||
sudo yum -y install libpcap libpcap-devel libnet libnet-devel pcre \
|
||||
pcre-devel gcc gcc-c++ automake autoconf libtool make libyaml \
|
||||
libyaml-devel zlib zlib-devel libcap-ng libcap-ng-devel
|
||||
|
||||
Depending on the current status of your system, it may take a while to complete
|
||||
this process.
|
||||
|
||||
HTP
|
||||
|
||||
HTP is bundled with Suricata and installed automatically. If you need to
|
||||
install HTP manually for other reasons, instructions can be found at HTP
|
||||
library_installation.
|
||||
|
||||
IPS
|
||||
|
||||
If you plan to build Suricata with IPS capabilities via ./configure --enable-
|
||||
nfqueue, enter the following:
|
||||
|
||||
sudo yum -y install libnfnetlink libnfnetlink-devel \
|
||||
libnetfilter_queue libnetfilter_queue-devel
|
||||
|
||||
|
||||
Suricata
|
||||
|
||||
To download and build Suricata, enter the following:
|
||||
|
||||
wget http://www.openinfosecfoundation.org/download/suricata-1.0.5.tar.gz
|
||||
tar -xvzf suricata-1.0.5.tar.gz
|
||||
cd suricata-1.0.5
|
||||
|
||||
If you are building from Git sources, enter all the following commands:
|
||||
|
||||
bash autogen.sh
|
||||
|
||||
If you are not building from Git sources, enter only the following:
|
||||
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
|
||||
Please continue with the Basic_Setup.
|
||||
@ -0,0 +1,73 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/FreeBSD_8
|
||||
|
||||
|
||||
FreeBSD 8
|
||||
|
||||
|
||||
Pre-installation requirements
|
||||
|
||||
Before you can build Suricata for your system, run the following command to
|
||||
ensure that you have everything you need for the installation.
|
||||
Make sure you enter all commands as root/super-user, otherwise it will not
|
||||
work.
|
||||
|
||||
pkg_add -r autoconf262 automake19 gcc45 libyaml pcre libtool \
|
||||
libnet11 libpcap gmake
|
||||
|
||||
Depending on the current status of your system, it may take a while to complete
|
||||
this process.
|
||||
|
||||
HTP
|
||||
|
||||
HTP is bundled with Suricata and installed automatically. If you need to
|
||||
install HTP manually for other reasons, instructions can be found at HTP
|
||||
library_installation.
|
||||
|
||||
IPS
|
||||
|
||||
If you would like to build suricata on FreeBSD with IPS capabilities with IPFW
|
||||
via --enable-ipfw, enter the following to enable ipfw and divert socket support
|
||||
before starting the engine with -d:
|
||||
Edit /etc/rc.conf and add or modify the following lines:
|
||||
|
||||
firewall_enable="YES"
|
||||
firewall_type="open"
|
||||
|
||||
Edit /boot/loader.conf and add or modify the following lines:
|
||||
|
||||
ipfw_load="YES"
|
||||
ipfw_nat_load="YES"
|
||||
ipdivert_load="YES"
|
||||
dummynet_load="YES"
|
||||
libalias_load="YES"
|
||||
|
||||
|
||||
Suricata
|
||||
|
||||
To download and build Suricata, enter the following:
|
||||
|
||||
wget http://www.openinfosecfoundation.org/download/suricata-1.0.5.tar.gz
|
||||
tar -xvzf suricata-1.0.5.tar.gz
|
||||
cd suricata-1.0.5
|
||||
|
||||
If you are building from Git sources, enter all the following commands until
|
||||
the end of this file:
|
||||
|
||||
bash autogen.sh
|
||||
|
||||
If you are not building from Git sources, do not enter the above mentioned
|
||||
commands. Continue enter the following:
|
||||
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
zerocopy bpf
|
||||
mkdir /var/log/suricata/
|
||||
|
||||
FreeBSD 8 has support for zerocopy bpf in libpcap. To test this functionality,
|
||||
issue the following command and then start/restart the engine:
|
||||
|
||||
sysctl net.bpf.zerocopy_enable=1
|
||||
|
||||
Please continue with the Basic_Setup.
|
||||
@ -0,0 +1,18 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/HTP_library_installation
|
||||
|
||||
|
||||
HTP library installation
|
||||
|
||||
The installation of the HTP library is the same for several operating systems,
|
||||
except you can not use 'sudo' with Debian and FreeBSD. Using Debian or FreeBSD
|
||||
you have to Make sure you enter all following commands as root/super-user.
|
||||
To download and build HTP, enter the following:
|
||||
|
||||
wget http://www.openinfosecfoundation.org/download/libhtp-0.2.3.tar.gz
|
||||
tar -xzvf libhtp-0.2.3.tar.gz
|
||||
cd libhtp-0.2.3
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
@ -0,0 +1,119 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Installation_from_GIT_with_PCRE-JIT
|
||||
|
||||
|
||||
Installation from GIT with PCRE-JIT
|
||||
|
||||
In this guide will be explained how to install and use the most recent code of
|
||||
Suricata on Ubuntu together with PCRE with JIT 8.20-RC1 support. The goal of
|
||||
PCRE-JIT is to improve the pcre pattern matching performance of the pcre
|
||||
library.
|
||||
The easiest way to see performance difference is to create a couple of pcre
|
||||
only rules or use for example the SSN rules from ET, and compare the
|
||||
performance statistics for rules.
|
||||
Installing from GIT on other operating systems is basically the same, except
|
||||
that some commands are Ubuntu-specific (like sudo and apt-get). In case you are
|
||||
using another operating system, you should replace those commands by your
|
||||
operating-specific commands.
|
||||
|
||||
Pre-installation requirements
|
||||
|
||||
Before you can build Suricata with PCRE-JIT for your system, run the following
|
||||
command to ensure that you have everything you need for the installation.
|
||||
|
||||
sudo apt-get -y install build-essential autoconf automake \
|
||||
libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev \
|
||||
zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 \
|
||||
make g++
|
||||
sudo apt-get install git-core
|
||||
|
||||
Depending on the current status of your system, it may take a while to complete
|
||||
this process.
|
||||
|
||||
PCRE with JIT support
|
||||
|
||||
Enter the following commands for PCRE JIT installation:
|
||||
|
||||
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/pcre-8.20-
|
||||
RC1.tar.gz
|
||||
tar -xzvf pcre-8.20-RC1.tar.gz
|
||||
cd pcre-8.20-RC1
|
||||
./configure --enable-jit
|
||||
|
||||
Make sure you see that JIT compiling support is enabled, see example:
|
||||
|
||||
make
|
||||
sudo make install
|
||||
|
||||
|
||||
|
||||
HTP
|
||||
|
||||
|
||||
HTP is bundled with Suricata and installed automatically. If you need to
|
||||
install HTP manually for other reasons, instructions can be found at HTP
|
||||
library_installation.
|
||||
|
||||
|
||||
IPS
|
||||
|
||||
|
||||
By default, Suricata works as an IDS. If you want to use it as a IDS and IPS
|
||||
program, enter:
|
||||
|
||||
sudo apt-get -y install libnetfilter-queue-dev libnetfilter-queue1
|
||||
libnfnetlink-dev libnfnetlink0
|
||||
|
||||
|
||||
Suricata
|
||||
|
||||
First, it is convenient to create a directory for Suricata. Name it 'suricata'
|
||||
for example. Open the terminal and enter:
|
||||
|
||||
mkdir suricata
|
||||
|
||||
Followed by:
|
||||
|
||||
cd suricata
|
||||
|
||||
Next, enter the following line in the terminal:
|
||||
|
||||
git clone git://phalanx.openinfosecfoundation.org/oisf.git
|
||||
cd oisf
|
||||
|
||||
Followed by:
|
||||
|
||||
./autogen.sh
|
||||
|
||||
|
||||
Compile and install
|
||||
|
||||
To configure, please enter:
|
||||
|
||||
./configure --enable-pcre-jit \
|
||||
--with-libpcre-includes=/usr/local/include \
|
||||
--with-libpcre-libraries=/usr/local/lib
|
||||
|
||||
After entering the previous, make sure that your screen looks like the
|
||||
following example and you have PCRE with JIT support:
|
||||
|
||||
make
|
||||
sudo make install
|
||||
|
||||
sudo ldconfig
|
||||
|
||||
To check the build information you can enter:
|
||||
|
||||
suricata --build-info
|
||||
|
||||
Please continue with Basic_Setup.
|
||||
In case you have already made a map for the most recent code, downloaded the
|
||||
code into that map, and want to download recent code again, please enter:
|
||||
|
||||
cd suricata/oisf
|
||||
|
||||
next, enter:
|
||||
|
||||
git pull
|
||||
|
||||
After that, you start again at running autogen.
|
||||
@ -0,0 +1,73 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Installation_from_GIT_with_PF_RING_on_Ubuntu_server_1104
|
||||
|
||||
|
||||
Installation from GIT with PF RING on Ubuntu server 11.04
|
||||
|
||||
This guide is based on using Ubuntu Server 11.04
|
||||
Linux ubuntu 2.6.38-8-generic x86_64 GNU/Linux
|
||||
|
||||
|
||||
Pre installation requirements
|
||||
|
||||
Install the following packages, to make sure you have everything needed for the
|
||||
installation:
|
||||
|
||||
sudo apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \
|
||||
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
|
||||
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 \
|
||||
make flex bison git subversion
|
||||
|
||||
Go to your download directory and get the latest PF_RING:
|
||||
|
||||
svn --force export https://svn.ntop.org/svn/ntop/trunk/PF_RING/ PF_RING
|
||||
|
||||
|
||||
Compile and install
|
||||
|
||||
Next, enter the following commands for configuration and installation:
|
||||
|
||||
cd PF_RING/kernel
|
||||
make && make install
|
||||
sudo insmod ./pf_ring.ko
|
||||
cd ../userland
|
||||
make && make install
|
||||
cd /lib
|
||||
./configure && make && make install
|
||||
cd ../libpcap
|
||||
./configure && make && make install
|
||||
cd /examples
|
||||
echo "options pf_ring transparent_mode=0 min_num_slots=32768
|
||||
enable_tx_capture=0" > /etc/modprobe.d/pf_ring.conf
|
||||
|
||||
To check if you have everything you need, enter:
|
||||
|
||||
lsmod |grep pf_ring
|
||||
sudo modprobe pf_ring
|
||||
sudo modinfo pf_ring && cat /proc/net/pf_ring/info
|
||||
|
||||
To check if PF_RING is functional, enter the following:
|
||||
|
||||
./pfcount -i eth0
|
||||
|
||||
|
||||
Suricata
|
||||
|
||||
Go to your download directory of choice, and enter:
|
||||
|
||||
git clone git://phalanx.openinfosecfoundation.org/oisf.git
|
||||
cd oisf
|
||||
sudo ./autogen.sh
|
||||
sudo ./configure --enable-pfring && make && make install
|
||||
|
||||
You can always check if PF_RING is build in properly, by entering:
|
||||
|
||||
suricata --build-info
|
||||
|
||||
To run Suricata with PF_RING, enter:
|
||||
|
||||
suricata --pfring-int=eth0 --pfring-cluster-id=99 --pfring-cluster-
|
||||
type=cluster_flow -c /etc/suricata/suricata.yaml
|
||||
|
||||
Continue with the Basic_Setup.
|
||||
Thanks to Peter Manev
|
||||
@ -0,0 +1,146 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Installation_with_CUDA_and_PFRING_on_Scientific_Linux_6
|
||||
|
||||
|
||||
Installation with CUDA and PFRING on Scientific Linux 6
|
||||
|
||||
For setup and install you need to be root:
|
||||
mkdir /root/src
|
||||
cd /root/src
|
||||
|
||||
Pre installation requirements
|
||||
|
||||
Install the following packages, to make sure you have everything needed for the
|
||||
installation:
|
||||
|
||||
yum install mpfr-2.4.1-6.el6.x86_64 cpp-4.4.4-13.el6.x86_64 ppl-0.10.2-
|
||||
11.el6.x86_64 \
|
||||
cloog-ppl-0.15.7-1.2.el6.x86_64 gcc-4.4.4-13.el6.x86_64 kernel-devel-2.6.32-
|
||||
131.2.1.el6.x86_64 \
|
||||
pcre-devel-7.8-3.1.el6.x86_64 libpcap-devel-1.0.0-
|
||||
6.20091201git117cb5.el6.x86_64 \
|
||||
yum-plugin-priorities-1.1.26-11.el6.noarch yum-conf-sl6x-1-1.noarch libyaml-
|
||||
0.1.3-1.el6.rf.x86_64 \
|
||||
libyaml-devel-0.1.3-1.el6.rf.x86_64 libnet-1.1.2.1-2.2.el6.rf.x86_64 flex-
|
||||
2.5.35-8.el6.x86_64 \
|
||||
bison-2.4.1-5.el6.x86_64 gcc-c++-4.4.4-13.el6.x86_64
|
||||
|
||||
|
||||
CUDA
|
||||
|
||||
Download and install NVIDIA CUDA drivers:
|
||||
|
||||
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/270.41.19/NVIDIA-
|
||||
Linux-x86_64-270.41.19.run
|
||||
chmod +x NVIDIA-Linux-x86_64-270.41.19.run
|
||||
./NVIDIA-Linux-x86_64-270.41.19.run
|
||||
|
||||
You also need to download and install the CUDA toolkit for RHEL6 :
|
||||
|
||||
wget http://developer.download.nvidia.com/compute/cuda/4_0/toolkit/
|
||||
cudatoolkit_4.0.17_linux_64_rhel6.0.run
|
||||
chmod +x cudatoolkit_4.0.17_linux_64_rhel6.0.run
|
||||
./cudatoolkit_4.0.17_linux_64_rhel6.0.run
|
||||
|
||||
Make sure the kernel modules are loaded:
|
||||
|
||||
/sbin/modprobe -r nouveau && /sbin/modprobe nvidia
|
||||
|
||||
To ensure the proper NVIDIA CUDA modules get loaded on reboot, add the above
|
||||
line to your /etc/rc.local file.
|
||||
|
||||
PF_RING
|
||||
|
||||
Get latest PF_RING from http://sourceforge.net/projects/ntop/files/PF_RING/.
|
||||
For example (v4.7.1 is necessary for Suricata 1.1beta2):
|
||||
|
||||
wget http://sourceforge.net/projects/ntop/files/PF_RING/PF_RING-4.7.1.tar.gz/
|
||||
download
|
||||
tar -xzvf PF_RING-4.7.1.tar.gz
|
||||
cd PF_RING-4.7.1/
|
||||
|
||||
Next, build & install kernel and userland:
|
||||
|
||||
make
|
||||
cd kernel; make install
|
||||
cd ../userland/lib; make install
|
||||
|
||||
Load the pf_ring kernel module:
|
||||
|
||||
/sbin/modprobe pf_ring
|
||||
|
||||
To ensure the pf_ring module gets loaded on reboot, add the above line to your
|
||||
/etc/rc.local file.
|
||||
|
||||
Suricata
|
||||
|
||||
Download and install Suricata:
|
||||
|
||||
wget http://www.openinfosecfoundation.org/download/suricata-1.1beta2.tar.gz
|
||||
|
||||
And unpack it:
|
||||
|
||||
tar -xvzf suricata-1.1beta2.tar.gz
|
||||
|
||||
Change to the unpacked directory:
|
||||
|
||||
cd suricata-1.1beta2
|
||||
|
||||
Now compile and install Suricata with PF_RING and CUDA support:
|
||||
|
||||
./configure --enable-gccprotect --enable-profiling --enable-cuda --with-cuda-
|
||||
includes=/usr/local/cuda/include \
|
||||
--with-cuda-libraries=/usr/local/cuda/lib64 --enable-pfring --with-libpfring-
|
||||
libraries=/usr/local/lib \
|
||||
--with-libpfring-includes=/usr/local/include --with-libpcap-libraries=/usr/
|
||||
local/lib --with-libpcap-includes=/usr/local/include
|
||||
make
|
||||
make install
|
||||
|
||||
Continue with the Basic_Setup
|
||||
Next, you need to edit max-pending-packets in your /etc/suricata/suricata.yaml.
|
||||
If you don't have one, download a generic one to get started:
|
||||
|
||||
cd /etc/suricata
|
||||
wget https://rules.emergingthreatspro.com/open-nogpl/suricata/suricata-
|
||||
open.yaml
|
||||
|
||||
Edit your suricata-open.yaml file accordingly.
|
||||
The number of packets allowed to be processed simultaneously can be whatever
|
||||
you want but it is recommended that it be 4000 or more.
|
||||
For example:
|
||||
|
||||
max-pending-packets: 12288
|
||||
|
||||
Next make sure the following line is present in the multi pattern algorithm
|
||||
section:
|
||||
|
||||
mpm-algo: b2g_cuda
|
||||
|
||||
|
||||
Rules
|
||||
|
||||
Read the information in Rule_Management_with_Oinkmaster
|
||||
Add rules to suricata:
|
||||
|
||||
cd /etc/suricata
|
||||
wget https://rules.emergingthreatspro.com/open-nogpl/suricata/
|
||||
emerging.rules.tar.gz
|
||||
tar -xvzf emerging.rules.tar.gz
|
||||
|
||||
Make sure your .yaml file includes the /etc/suricata/rules/emerging-*.rules
|
||||
files (they may need to be uncommented).
|
||||
Run Suricata as followed:
|
||||
|
||||
cd /etc/suricata
|
||||
/usr/local/bin/suricata -c /etc/suricata/suricata.yaml\
|
||||
--pfring-int=eth0 --pfring-cluster-id=99 --pfring-cluster-type=cluster_flow
|
||||
|
||||
|
||||
touch /var/lock/subsys/local
|
||||
|
||||
|
||||
References
|
||||
|
||||
PF_RING
|
||||
http://www.ntop.org/products/pf_ring/
|
||||
@ -0,0 +1,280 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Installation_with_CUDA_and_PF_RING_on_Ubuntu_server_1104
|
||||
|
||||
|
||||
Installation with CUDA and PF RING on Ubuntu server 11.04
|
||||
|
||||
THIS WOULD NOT WORK ON A VIRTUAL MACHINE!
|
||||
This guide is written using:
|
||||
Ubuntu Server 11.04
|
||||
Linux ubuntu 2.6.38-8-generic x86_64 GNU/Linux
|
||||
|
||||
Pre installation requirements
|
||||
|
||||
|
||||
apt-get update
|
||||
apt-get upgrade
|
||||
|
||||
To get the CUDA toolkit, enter:
|
||||
|
||||
http://developer.nvidia.com/cuda-toolkit-40
|
||||
|
||||
Pick up the correct NVIDIA drivers for your card and system
|
||||
|
||||
http://www.nvidia.com/Download/index.aspx?lang=en-us
|
||||
|
||||
Go to your download directory
|
||||
chmod the 2 *.run files that you just downloaded.
|
||||
For example:
|
||||
|
||||
chmod 655 cudatoolkit_4.0.17_linux_64_ubuntu10.10.run
|
||||
chmod 655 NVIDIA-Linux-x86_64-280.13.run
|
||||
|
||||
|
||||
sudo apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \
|
||||
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
|
||||
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 \
|
||||
make flex bison git
|
||||
|
||||
Run the cuda toolkit installation package:
|
||||
|
||||
sudo ./cudatoolkit_4.0.17_linux_64_ubuntu10.10.run
|
||||
|
||||
Close all windows and as you are logged in press:
|
||||
|
||||
Ctr+Alt+F1
|
||||
|
||||
Log in with your credentials
|
||||
|
||||
sudo -i
|
||||
|
||||
And enter your password
|
||||
Stop the x server:
|
||||
|
||||
/etc/init.d/gdm stop
|
||||
|
||||
Uninstall xserver video drivers:
|
||||
|
||||
apt-get remove --purge xserver-xorg-video-nouveau
|
||||
|
||||
Go to the directory where you downloaded nvidia/cuda drivers.
|
||||
Run the NVIDIA*******.run:
|
||||
|
||||
./NVIDIA********.run
|
||||
|
||||
Ok and yes your way out.
|
||||
At some point it will ask you to make a special configuration file to disable a
|
||||
"nouveau"
|
||||
driver that the system is currently using - say yes!
|
||||
Reboot:
|
||||
|
||||
shutdown -r now
|
||||
|
||||
After reboot log in as you would normally do through the GUI
|
||||
Log in as you would normally.
|
||||
Go to shell:
|
||||
|
||||
Ctrl+Alt+F1
|
||||
|
||||
Type in your credentials and pass
|
||||
|
||||
sudo -i
|
||||
|
||||
Stop the xserver again:
|
||||
|
||||
/etc/init.d/gdm stop
|
||||
|
||||
Run the NVIDIA driver again.
|
||||
This time it would finish and be successful....
|
||||
Reboot:
|
||||
|
||||
shutdown -r now
|
||||
|
||||
After start you would notice that the display has much better resolution - it
|
||||
is a good thing.
|
||||
Log in as you would normally.
|
||||
Because the 11.04 Ubuntu comes with gcc version 4.5 by default, you need to
|
||||
install gcc 4.4 since you must use 4.4 for the cuda compilation:
|
||||
|
||||
apt-get install gcc-4.4 gcc-4.4-base g++-4.4
|
||||
|
||||
Then we switch and make ubuntu use the gcc 4.4 by default:
|
||||
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 40 --
|
||||
slave /usr/bin/g++ g++ /usr/bin/g++-4.5
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 60 --
|
||||
slave /usr/bin/g++ g++ /usr/bin/g++-4.4
|
||||
|
||||
Make sure that this is the case:
|
||||
|
||||
sudo update-alternatives --config gcc
|
||||
|
||||
""
|
||||
|
||||
update-alternatives --config gcc (as root)
|
||||
|
||||
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
|
||||
|
||||
|
||||
Selection Path Priority Status
|
||||
------------------------------------------------------------
|
||||
* 0 /usr/bin/gcc-4.4 60 auto mode
|
||||
1 /usr/bin/gcc-4.4 60 manual mode
|
||||
2 /usr/bin/gcc-4.5 40 manual mode
|
||||
|
||||
Press enter to keep the current choice[*], or type selection number (as
|
||||
root)
|
||||
""
|
||||
|
||||
|
||||
PF_RING installation.
|
||||
|
||||
Install pre-requisites:
|
||||
|
||||
cd /opt
|
||||
apt-get install subversion gobjc++-4.4-multilib gobjc++-4.4
|
||||
|
||||
Get the latest PF_RING:
|
||||
|
||||
svn --force export https://svn.ntop.org/svn/ntop/trunk/PF_RING/ PF_RING
|
||||
|
||||
Install PF_RING:
|
||||
|
||||
cd /kernel
|
||||
make && make install
|
||||
sudo insmod ./pf_ring.ko
|
||||
cd ../userland
|
||||
make && make install
|
||||
cd /lib
|
||||
./configure && make && make install
|
||||
cd ../libpcap
|
||||
./configure && make && make install
|
||||
cd ../examples
|
||||
echo "options pf_ring transparent_mode=0 min_num_slots=32768
|
||||
enable_tx_capture=0" > /etc/modprobe.d/pf_ring.conf
|
||||
|
||||
Check info:
|
||||
|
||||
cat /proc/net/pf_ring/info
|
||||
""
|
||||
cd ../kernel
|
||||
cat /proc/net/pf_ring/info
|
||||
PF_RING Version : 4.7.3 ($Revision: exported$)
|
||||
Ring slots : 4096
|
||||
Slot version : 13
|
||||
Capture TX : Yes [RX+TX]
|
||||
IP Defragment : No
|
||||
Socket Mode : Standard
|
||||
Transparent mode : Yes (mode 0)
|
||||
Total rings : 0
|
||||
Total plugins : 0
|
||||
|
||||
""
|
||||
|
||||
Check functionality:
|
||||
|
||||
./pfcount -i eth0
|
||||
|
||||
You should see something even if you have no traffic at the moment:
|
||||
""
|
||||
cd /opt/PF_RING/userland/examples
|
||||
./pfcount -i eth0
|
||||
Using PF_RING v.4.7.3
|
||||
Capturing from eth0 [88:AE:1D:56:90:FA]
|
||||
|
||||
1. Device RX channels: 1
|
||||
2. Polling threads: 1 =========================
|
||||
Absolute Stats: [0 pkts rcvd][0 pkts dropped]
|
||||
Total Pkts=0/Dropped=0.0 %
|
||||
0 pkts - 0 bytes =========================
|
||||
|
||||
=========================
|
||||
Absolute Stats: [0 pkts rcvd][0 pkts dropped]
|
||||
Total Pkts=0/Dropped=0.0 %
|
||||
0 pkts - 0 bytes [0.00 pkt/sec - 0.00 Mbit/sec] =========================
|
||||
Actual Stats: 0 pkts [1'000.32 ms][0.00 pkt/sec] =========================
|
||||
^CLeaving... =========================
|
||||
Absolute Stats: [0 pkts rcvd][0 pkts dropped]
|
||||
Total Pkts=0/Dropped=0.0 %
|
||||
0 pkts - 0 bytes [0.00 pkt/sec - 0.00 Mbit/sec] =========================
|
||||
Actual Stats: 0 pkts [629.37 ms][0.00 pkt/sec] =========================
|
||||
|
||||
cd /opt/PF_RING/userland/examples
|
||||
|
||||
""
|
||||
|
||||
Suricata
|
||||
|
||||
Go to directory of your choice and get Suricata:
|
||||
|
||||
git clone git://phalanx.openinfosecfoundation.org/oisf.git
|
||||
cd oisf/
|
||||
|
||||
Configure:
|
||||
|
||||
./autogen.sh
|
||||
./configure --enable-gccprotect --enable-profiling --enable-cuda --with-cuda-
|
||||
includes=/usr/local/cuda/include \
|
||||
--with-cuda-libraries=/usr/local/cuda/lib64 --enable-pfring
|
||||
|
||||
You should get at the end:
|
||||
""
|
||||
|
||||
Suricata Configuration:
|
||||
NFQueue support: no
|
||||
IPFW support: no
|
||||
PF_RING support: yes
|
||||
Prelude support: no
|
||||
Unit tests enabled: no
|
||||
Debug output enabled: no
|
||||
Debug validation enabled: no
|
||||
CUDA enabled: yes
|
||||
DAG enabled: no
|
||||
Profiling enabled: yes
|
||||
GCC Protect enabled: yes
|
||||
GCC march native enabled: yes
|
||||
GCC Profile enabled: no
|
||||
Unified native time: no
|
||||
Non-bundled htp: no
|
||||
PCRE sljit: no
|
||||
|
||||
|
||||
""
|
||||
Install:
|
||||
|
||||
make && make install
|
||||
ldconfig
|
||||
|
||||
Verify:
|
||||
|
||||
suricata --build-info
|
||||
|
||||
[1840] 13/8/2011 -- 14:26:39 - (suricata.c:622) <Info> (main) -- This is
|
||||
Suricata version 1.1beta2 (rev b3f7e6a)
|
||||
[1840] 13/8/2011 -- 14:26:39 - (suricata.c:507) <Info> (SCPrintBuildInfo) -
|
||||
- Features: PCAP_SET_BUFF LIBPCAP_VERSION_MAJOR=1 CUDA PF_RING LIBCAP_NG
|
||||
LIBNET1.1 HAVE_HTP_URI_NORMALIZE_HOOK
|
||||
[1840] 13/8/2011 -- 14:26:39 - (suricata.c:521) <Info> (SCPrintBuildInfo) -
|
||||
- 64-bits, Little-endian architecture
|
||||
[1840] 13/8/2011 -- 14:26:39 - (suricata.c:523) <Info> (SCPrintBuildInfo) -
|
||||
- GCC version 4.4.5, C version 199901
|
||||
[1840] 13/8/2011 -- 14:26:39 - (suricata.c:529) <Info> (SCPrintBuildInfo) -
|
||||
- __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
|
||||
[1840] 13/8/2011 -- 14:26:39 - (suricata.c:532) <Info> (SCPrintBuildInfo) -
|
||||
- __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
|
||||
[1840] 13/8/2011 -- 14:26:39 - (suricata.c:535) <Info> (SCPrintBuildInfo) -
|
||||
- __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
|
||||
[1840] 13/8/2011 -- 14:26:39 - (suricata.c:538) <Info> (SCPrintBuildInfo) -
|
||||
- __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
|
||||
[1840] 13/8/2011 -- 14:26:39 - (suricata.c:541) <Info> (SCPrintBuildInfo) -
|
||||
- __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
|
||||
[1840] 13/8/2011 -- 14:26:39 - (suricata.c:545) <Info> (SCPrintBuildInfo) -
|
||||
- compiled with -fstack-protector
|
||||
[1840] 13/8/2011 -- 14:26:39 - (suricata.c:551) <Info> (SCPrintBuildInfo) -
|
||||
- compiled with _FORTIFY_SOURCE=2
|
||||
|
||||
Run Suricata:
|
||||
|
||||
suricata -c /etc/suricata/suricata.yaml\
|
||||
--pfring-int=eth0 --pfring-cluster-id=99 --pfring-cluster-type=cluster_flow
|
||||
|
||||
@ -0,0 +1,95 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Installation_with_CUDA_on_Scientific_Linux_6
|
||||
|
||||
|
||||
Installation with CUDA on Scientific Linux 6
|
||||
|
||||
Hardware used: HP Proliant G7, 16 cores, 30 GB RAM, NVIDIA CUDA Quadro 4000
|
||||
graphics card
|
||||
For setup you need to be root. Enter the following:
|
||||
|
||||
mkdir /root/src
|
||||
cd /root/src
|
||||
|
||||
|
||||
Pre installation requirements
|
||||
|
||||
Run the following command to ensure that you have everything you need for the
|
||||
installation:
|
||||
|
||||
yum install mpfr-2.4.1-6.el6.x86_64 cpp-4.4.4-13.el6.x86_64 ppl-0.10.2-
|
||||
11.el6.x86_64 \
|
||||
cloog-ppl-0.15.7-1.2.el6.x86_64 gcc-4.4.4-13.el6.x86_64 kernel-devel-2.6.32-
|
||||
131.2.1.el6.x86_64 \
|
||||
pcre-devel-7.8-3.1.el6.x86_64 libpcap-devel-1.0.0-
|
||||
6.20091201git117cb5.el6.x86_64 \
|
||||
yum-plugin-priorities-1.1.26-11.el6.noarch yum-conf-sl6x-1-1.noarch libyaml-
|
||||
0.1.3-1.el6.rf.x86_64 \
|
||||
libyaml-devel-0.1.3-1.el6.rf.x86_64 libnet-1.1.2.1-2.2.el6.rf.x86_64 flex-
|
||||
2.5.35-8.el6.x86_64 \
|
||||
bison-2.4.1-5.el6.x86_64 gcc-c++-4.4.4-13.el6.x86_64
|
||||
|
||||
|
||||
CUDA
|
||||
|
||||
Download and install NVIDIA CUDA drivers:
|
||||
|
||||
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/270.41.19/NVIDIA-
|
||||
Linux-x86_64-270.41.19.run
|
||||
chmod +x NVIDIA-Linux-x86_64-270.41.19.run
|
||||
./NVIDIA-Linux-x86_64-270.41.19.run
|
||||
|
||||
You also need to download and install the CUDA toolkit for RHEL6 :
|
||||
|
||||
wget http://developer.download.nvidia.com/compute/cuda/4_0/toolkit/
|
||||
cudatoolkit_4.0.17_linux_64_rhel6.0.run
|
||||
chmod +x cudatoolkit_4.0.17_linux_64_rhel6.0.run
|
||||
./cudatoolkit_4.0.17_linux_64_rhel6.0.run
|
||||
|
||||
Make sure the kernel modules are loaded:
|
||||
|
||||
/sbin/modprobe -r nouveau && /sbin/modprobe nvidia
|
||||
|
||||
To ensure the proper NVIDIA CUDA modules get loaded on reboot, add the above
|
||||
line to your /etc/rc.local file.
|
||||
|
||||
Suricata
|
||||
|
||||
Download and install Suricata:
|
||||
|
||||
wget http://www.openinfosecfoundation.org/download/suricata-1.1beta2.tar.gz
|
||||
|
||||
And unpack it:
|
||||
|
||||
tar -xvzf suricata-1.1beta2.tar.gz
|
||||
|
||||
Change to the unpacked directory:
|
||||
|
||||
cd suricata-1.1beta2
|
||||
|
||||
Compile and install the engine with CUDA support:
|
||||
|
||||
./configure --enable-gccprotect --enable-profiling --enable-cuda \
|
||||
--with-cuda-includes=/usr/local/cuda/include --with-cuda-libraries=/usr/
|
||||
local/cuda/lib64/
|
||||
make
|
||||
make install
|
||||
|
||||
|
||||
Rules
|
||||
|
||||
Read the information in Rule_Management_with_Oinkmaster
|
||||
Add rules to suricata:
|
||||
|
||||
cd /etc/suricata
|
||||
wget https://rules.emergingthreatspro.com/open-nogpl/suricata/
|
||||
emerging.rules.tar.gz
|
||||
tar -xvzf emerging.rules.tar.gz
|
||||
|
||||
Make sure your .yaml file includes the /etc/suricata/rules/emerging-*.rules
|
||||
files (they may need to be uncommented).
|
||||
Run Suricata as followed:
|
||||
|
||||
cd /etc/suricata
|
||||
/usr/local/bin/suricata -c /etc/suricata/suricata.yaml -i eth0
|
||||
|
||||
@ -0,0 +1,183 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Installation_with_CUDA_on_Ubuntu_server_1104
|
||||
|
||||
|
||||
Installation with CUDA on Ubuntu server 11.04
|
||||
|
||||
THIS WOULD NOT WORK ON A VIRTUAL MACHINE!
|
||||
This guide is written using:
|
||||
Ubuntu Server 11.04
|
||||
Linux ubuntu 2.6.38-8-generic x86_64 GNU/Linux
|
||||
|
||||
Pre installation requirements
|
||||
|
||||
|
||||
apt-get update
|
||||
apt-get upgrade
|
||||
|
||||
Get the CUDA toolkit
|
||||
|
||||
http://developer.nvidia.com/cuda-toolkit-40
|
||||
|
||||
Pick up the correct NVIDIA drivers for your card and system
|
||||
|
||||
http://www.nvidia.com/Download/index.aspx?lang=en-us
|
||||
|
||||
Go to your download directory
|
||||
and chmod the 2 *.run files that you just downloaded.
|
||||
Example:
|
||||
|
||||
chmod 655 cudatoolkit_4.0.17_linux_64_ubuntu10.10.run
|
||||
chmod 655 NVIDIA-Linux-x86_64-280.13.run
|
||||
|
||||
|
||||
sudo apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \
|
||||
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
|
||||
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 \
|
||||
make flex bison git
|
||||
|
||||
Run the cuda toolkit installation package:
|
||||
|
||||
sudo ./cudatoolkit_4.0.17_linux_64_ubuntu10.10.run
|
||||
|
||||
Close all windows and as you are logged in press:
|
||||
|
||||
Ctr+Alt+F1
|
||||
|
||||
Log in with your credentials
|
||||
|
||||
sudo -i
|
||||
|
||||
And enter your password
|
||||
Stop the x server:
|
||||
|
||||
/etc/init.d/gdm stop
|
||||
|
||||
Uninstall xserver video drivers:
|
||||
|
||||
apt-get remove --purge xserver-xorg-video-nouveau
|
||||
|
||||
Go to the directory where you downloaded nvidia/cuda drivers.
|
||||
|
||||
Run the NVIDIA*******.run:
|
||||
./NVIDIA********.run
|
||||
|
||||
Ok and yes your way out.
|
||||
At some point it will ask you to make a special configuration file to disable a
|
||||
"nouveau"
|
||||
driver that the system is currently using and prevents the NVIDIA drivers to be
|
||||
installed - say yes!
|
||||
Reboot:
|
||||
|
||||
shutdown -r now
|
||||
|
||||
After reboot log in as you would normally through the GUI
|
||||
Log in as you would normally.
|
||||
Go to shell:
|
||||
|
||||
Ctrl+Alt+F1
|
||||
|
||||
Type in your credentials and pass
|
||||
|
||||
sudo -i
|
||||
|
||||
Stop the xserver again:
|
||||
|
||||
/etc/init.d/gdm stop
|
||||
|
||||
Run the NVIDIA driver again.
|
||||
This time it would finish and be successful....
|
||||
Reboot:
|
||||
|
||||
shutdown -r now
|
||||
|
||||
After start you would notice that the display has much better resolution - it
|
||||
is a good thing.
|
||||
Log in as you would normally.
|
||||
Because the 11.04 Ubuntu comes with gcc version 4.5 by default we need to
|
||||
install gcc 4.4 since we must use 4.4 for the cuda compilation:
|
||||
|
||||
apt-get install gcc-4.4 gcc-4.4-base g++-4.4
|
||||
|
||||
Then we switch and make ubuntu use the gcc 4.4 by default:
|
||||
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 40 --
|
||||
slave /usr/bin/g++ g++ /usr/bin/g++-4.5
|
||||
udo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 60 --
|
||||
slave /usr/bin/g++ g++ /usr/bin/g++-4.4
|
||||
|
||||
We make sure that this is the case:
|
||||
|
||||
sudo update-alternatives --config gcc
|
||||
|
||||
""
|
||||
|
||||
update-alternatives --config gcc (as root)
|
||||
|
||||
|
||||
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
|
||||
|
||||
* 0 /usr/bin/gcc-4.4 60 auto mode
|
||||
1 /usr/bin/gcc-4.4 60 manual mode
|
||||
2 /usr/bin/gcc-4.5 40 manual mode
|
||||
|
||||
|
||||
Selection Path Priority Status
|
||||
------------------------------------------------------------
|
||||
|
||||
Press enter to keep the current choice[*], or type selection number:
|
||||
""
|
||||
|
||||
Suricata
|
||||
|
||||
Enter the following in your download directory:
|
||||
|
||||
git clone git://phalanx.openinfosecfoundation.org/oisf.git
|
||||
cd oisf/
|
||||
./autogen.sh
|
||||
./configure --enable-gccprotect --enable-profiling --enable-cuda \
|
||||
--with-cuda-includes=/usr/local/cuda/include --with-cuda-libraries=/usr/
|
||||
local/cuda/lib64/
|
||||
|
||||
After that you should get the following result:
|
||||
""
|
||||
|
||||
Suricata Configuration:
|
||||
NFQueue support: no
|
||||
IPFW support: no
|
||||
PF_RING support: no
|
||||
Prelude support: no
|
||||
Unit tests enabled: no
|
||||
Debug output enabled: no
|
||||
Debug validation enabled: no
|
||||
CUDA enabled: yes
|
||||
DAG enabled: no
|
||||
Profiling enabled: yes
|
||||
GCC Protect enabled: yes
|
||||
GCC march native enabled: yes
|
||||
GCC Profile enabled: no
|
||||
Unified native time: no
|
||||
Non-bundled htp: no
|
||||
PCRE sljit: no
|
||||
""
|
||||
|
||||
|
||||
make && make install
|
||||
ldconfig
|
||||
|
||||
Proceed with Basic_Setup
|
||||
After you start suricata , you should see cuda
|
||||
|
||||
example :
|
||||
""
|
||||
suricata -c suricata.yaml -i eth0
|
||||
[12406] 13/8/2011 -- 10:14:39 - (suricata.c:622) <Info> (main) -- This is
|
||||
Suricata version 1.1beta2 (rev b3f7e6a)
|
||||
[12406] 13/8/2011 -- 10:14:39 - (util-cpu.c:171) <Info> (UtilCpuPrintSummary)
|
||||
-- CPUs/cores online: 8
|
||||
[12406] 13/8/2011 -- 10:14:39 - (util-cuda.c:4504) <Info>
|
||||
(SCCudaPrintBasicDeviceInfo) -- GPU Device 1: GeForce 310M, 2
|
||||
Multiprocessors, 1468MHz, CUDA Compute Capability 1.2...................
|
||||
........................
|
||||
""
|
||||
|
||||
@ -0,0 +1,207 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Installation_with_PF_RING
|
||||
|
||||
|
||||
Installation with PF RING
|
||||
|
||||
This is the installation guide for Suricata with PF_RING support and a guide to
|
||||
install PF_RING.
|
||||
To install DKMS, enter:
|
||||
|
||||
sudo apt-get install dkms
|
||||
|
||||
To get subversion for checking out the PF_RING code, flex and bison for
|
||||
libpcap, enter:
|
||||
|
||||
sudo apt-get install subversion flex bison
|
||||
|
||||
To install the debs needed for Suricata, enter the following:
|
||||
|
||||
sudo apt-get install libpcre3-dev libpcap-dev libyaml-dev zlib1g-dev libcap-
|
||||
ng-dev libnet1-dev
|
||||
|
||||
In the example you will build from the GIT repository, so you will need some
|
||||
extra packages:
|
||||
|
||||
sudo apt-get install git-core automake autoconf libtool
|
||||
|
||||
To build your modules, please go to:
|
||||
|
||||
cd /usr/src/
|
||||
|
||||
Checkout the PF_RING code:
|
||||
|
||||
sudo svn --force export https://svn.ntop.org/svn/ntop/trunk/PF_RING/
|
||||
PF_RING_CURRENT_SVN
|
||||
|
||||
Create the DKMS build directory and copy files over for the main PF_RING module
|
||||
by entering the following:
|
||||
|
||||
sudo mkdir /usr/src/pf_ring-4
|
||||
sudo cp -Rf /usr/src/PF_RING_CURRENT_SVN/kernel/* /usr/src/pf_ring-4/
|
||||
cd /usr/src/pf_ring-4/
|
||||
|
||||
Create a file called 'dkms.conf'
|
||||
|
||||
sudo nano dkms.conf
|
||||
|
||||
and place the following into the file:
|
||||
|
||||
PACKAGE_NAME="pf_ring"
|
||||
PACKAGE_VERSION="4"
|
||||
BUILT_MODULE_NAME[0]="pf_ring"
|
||||
DEST_MODULE_LOCATION[0]="/kernel/net/pf_ring/"
|
||||
AUTOINSTALL="yes"
|
||||
|
||||
To close the file, do so by pressing Ctrl and X at the same time, followed by y
|
||||
and enter.
|
||||
Build and install the kernel -module of PF_RING:
|
||||
|
||||
sudo dkms add -m pf_ring -v 4
|
||||
sudo dkms build -m pf_ring -v 4
|
||||
sudo dkms install -m pf_ring -v 4
|
||||
|
||||
development headers.(zie aantekeningen)
|
||||
|
||||
sudo mkdir -p /opt/PF_RING/{bin,lib,include/linux,sbin}
|
||||
|
||||
Next, build and install the userland lib.:
|
||||
|
||||
sudo cp -f /usr/src/PF_RING_CURRENT_SVN/kernel/linux/pf_ring.h /opt/PF_RING/
|
||||
include/linux/
|
||||
cd /usr/src/PF_RING_CURRENT_SVN/userland/lib
|
||||
sudo ./configure
|
||||
sudo sed -i -e 's/INSTDIR = \${DESTDIR}\/usr\/local/INSTDIR = \$
|
||||
{DESTDIR}\/opt\/PF_RING/' Makefile
|
||||
sudo cp -f pfring_e1000e_dna.h /opt/PF_RING/include
|
||||
sudo make
|
||||
sudo make install
|
||||
|
||||
Enter the following to pull down the latest version of Suricata from the git
|
||||
repository and build with PF_RING support:
|
||||
|
||||
cd /usr/src/PF_RING_CURRENT_SVN/userland/
|
||||
sudo git clone git://phalanx.openinfosecfoundation.org/oisf.git oisfnew
|
||||
cd oisfnew
|
||||
sudo ./autogen.sh
|
||||
sudo ./configure --enable-pfring --with-libpfring-libraries=/opt/PF_RING/lib
|
||||
--with-libpfring-includes=/opt/PF_RING/include --with-libpcap-libraries=/opt/
|
||||
PF_RING/lib --with-libpcap-includes=/opt/PF_RING/include LD_RUN_PATH="/opt/
|
||||
PF_RING/lib:/usr/lib:/usr/local/lib" --prefix=/opt/PF_RING/
|
||||
sudo make install
|
||||
sudo make
|
||||
sudo mkdir etc/suricata
|
||||
|
||||
To make config and log directories for a more complete getting started, see:
|
||||
Basic_Setup.
|
||||
|
||||
sudo mkdir /etc/suricata
|
||||
sudo cp suricata.yaml /etc/suricata/
|
||||
sudo cp classification.config /etc/suricata/
|
||||
sudo mkdir /var/log/suricata
|
||||
|
||||
The information about the setup options for when you initialise the module:
|
||||
min_num_slots:Number of ring slots (uint)
|
||||
transparent_mode:0=standard Linux, 1=direct2pfring+transparent,
|
||||
2=direct2pfring+non transparent.
|
||||
For 1 and 2 you need to use a PF_RING aware driver (uint) .
|
||||
enable_tx_capture:Set to 1 to capture outgoing packets (uint)
|
||||
enable_ip_defrag:Set to 1 to enable IP defragmentation(only rx traffic is
|
||||
defragmentead) (uint)
|
||||
Enter the following as super-user:
|
||||
|
||||
echo "options pf_ring transparent_mode=0 min_num_slots=32768
|
||||
enable_tx_capture=0" > /etc/modprobe.d/pf_ring.conf
|
||||
|
||||
To check the status of PF_RING :
|
||||
|
||||
sudo modprobe pf_ring
|
||||
sudo modinfo pf_ring && cat /proc/net/pf_ring/info
|
||||
|
||||
Start up Suricata with PF_RING support:
|
||||
|
||||
sudo /opt/PF_RING/bin/suricata --pfring-int=eth0 --pfring-cluster-id=99 --
|
||||
pfring-cluster-type=cluster_flow -c /etc/suricata/suricata.yaml
|
||||
|
||||
If you need to uninstall PF_RING or rollback your PF_RING aware drivers to
|
||||
their previous state you can do so with the following commands:
|
||||
|
||||
sudo dkms remove -m pf_ring -v 4 --all
|
||||
|
||||
|
||||
Optional
|
||||
|
||||
The following part is optional.
|
||||
|
||||
sudo dkms remove -m e1000e-pf_ring -v 1.0.15 --all
|
||||
|
||||
If you issue the following command, you can see that PF_RING should now be
|
||||
installed as DKMS module:
|
||||
|
||||
dkms status
|
||||
|
||||
Now go through the steps to build a PF_RING aware driver:
|
||||
|
||||
sudo mkdir /usr/src/e1000e-pf_ring-1.0.15
|
||||
sudo cp -Rf /usr/src/PF_RING_CURRENT_SVN/drivers/intel/e1000e/old/e1000e-
|
||||
1.0.15/src/* /usr/src/e1000e-pf_ring-1.0.15/
|
||||
|
||||
Enter the following so that DKMS can find it for driver rebuilds:
|
||||
|
||||
sudo cp -f /usr/src/PF_RING_CURRENT_SVN/kernel/linux/pf_ring.h /usr/src/
|
||||
e1000e-pf_ring-1.0.15/
|
||||
cd /usr/src/e1000e-pf_ring-1.0.15/
|
||||
|
||||
After that, fix the path to pf_ring.h:
|
||||
|
||||
sed -i -e 's/\.\.\/\.\.\/\.\.\/\.\.\/kernel\/linux\/pf\_ring\.h/pf\_ring\.h/
|
||||
' netdev.c
|
||||
|
||||
Then create a file called 'dkms.conf'.
|
||||
|
||||
sudo nano dkms.conf
|
||||
|
||||
and place the following into the file:
|
||||
|
||||
PACKAGE_NAME="e1000e-pf_ring"
|
||||
PACKAGE_VERSION="1.0.15"
|
||||
BUILT_MODULE_NAME[0]="e1000e"
|
||||
DEST_MODULE_LOCATION[0]="/kernel/drivers/net/e1000e/"
|
||||
AUTOINSTALL="yes"
|
||||
|
||||
Build and install the module of the e1000e-pf_ring network driver:
|
||||
|
||||
sudo dkms add -m e1000e-pf_ring -v 1.0.15
|
||||
sudo dkms build -m e1000e-pf_ring -v 1.0.15
|
||||
sudo dkms install -m e1000e-pf_ring -v 1.0.15
|
||||
|
||||
After that, build and install the PF_RING enabled libpcap:
|
||||
|
||||
cd /usr/src/PF_RING_CURRENT_SVN/userland/libpcap-1.0.0-ring
|
||||
./configure
|
||||
sed -i -e 's/\.\.\/lib\/libpfring\.a/\/opt\/PF_RING\/lib\/libpfring\.a/
|
||||
' Makefile
|
||||
sed -i -e 's/\.\.\/lib\/libpfring\.a/\/opt\/PF_RING\/lib\/libpfring\.a/
|
||||
' Makefile.in
|
||||
./configure --prefix=/opt/PF_RING && make && make install
|
||||
|
||||
Subsequently, build and install tcpdump using the PF_RING enabled version of
|
||||
libpcap:
|
||||
|
||||
cd /usr/src/PF_RING_CURRENT_SVN/userland/tcpdump-4.0.0
|
||||
sudo ./configure
|
||||
sudo sed -i -e 's/\.\.\/lib\/libpfring\.a/\/opt\/PF_RING\/lib\/libpfring\.a/
|
||||
' Makefile
|
||||
sudo sed -i -e 's/\.\.\/lib\/libpfring\.a/\/opt\/PF_RING\/lib\/libpfring\.a/
|
||||
' Makefile.in
|
||||
sudo sed -i -e 's/-I \.\.\/libpcap-1\.0\.0-ring/-I \/opt\/PF_RING\/include/
|
||||
' Makefile
|
||||
sudo sed -i -e 's/-I \.\.\/libpcap-1\.0\.0-ring/-I \/opt\/PF_RING\/include/
|
||||
' Makefile.in
|
||||
sudo sed -i -e 's/-L \.\.\/libpcap-1\.0\.0-ring\/-L /\/opt\/PF_RING\/lib\//
|
||||
' Makefile
|
||||
sed -i -e 's/-L \.\.\/libpcap-1\.0\.0-ring\/-L /\/opt\/PF_RING\/lib\//
|
||||
' Makefile.in
|
||||
sudo ./configure LD_RUN_PATH="/opt/PF_RING/lib:/usr/lib:/usr/local/lib" --
|
||||
prefix=/opt/PF_RING/ --enable-ipv6 && make && make install
|
||||
|
||||
@ -0,0 +1,71 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Mac_OS_X_106x
|
||||
|
||||
|
||||
Mac OS X (10.6.x)
|
||||
|
||||
|
||||
Pre-installation requirements
|
||||
|
||||
These instructions have been tested with Mac OS X (10.6.1). To begin, you will
|
||||
need an essential development environment much like gcc/make. You can download
|
||||
Xcode from http://developer.apple.com/technology/xcode.html.
|
||||
MacPorts is required for you to fetch the depends, so you will also need to
|
||||
install MacPorts, if you have not already done so. The online installation
|
||||
guide is located at http://guide.macports.org/#installing.
|
||||
Before you can build Suricata for your system, you must run the following
|
||||
command to ensure that you have everything you need for the installation.
|
||||
|
||||
port install autoconf automake gcc44 make libnet11 libpcap pcre \
|
||||
libyaml libtool
|
||||
export AC_PROG_LIBTOOL=$( which libtool )
|
||||
|
||||
Depending on the current status of your system, it may take a while to complete
|
||||
this process.
|
||||
|
||||
HTP
|
||||
|
||||
HTP is bundled with Suricata and installed automatically. If you need to
|
||||
install HTP manually for other reasons, instructions can be found at HTP
|
||||
library_installation.
|
||||
|
||||
IPS
|
||||
|
||||
If you would like to have IPS capabilities with IPFW, then you should run
|
||||
configure like this:
|
||||
|
||||
./configure --enable-ipfw
|
||||
|
||||
and execute the rest of the commands the same as above.
|
||||
|
||||
Suricata
|
||||
|
||||
To download and build Suricata, enter the following:
|
||||
|
||||
wget http://www.openinfosecfoundation.org/download/suricata-1.0.5.tar.gz
|
||||
tar -xvzf suricata-1.0.5.tar.gz
|
||||
cd suricata-1.0.5
|
||||
|
||||
You will also need to have an ipfw rule set for the engine to see the packets
|
||||
from ipfw. For example:
|
||||
|
||||
ipfw add 100 divert 8000 ip from any to any
|
||||
|
||||
The 8000 above should be the same number you pass on the command line of
|
||||
suricata with the option -d, that is, -d 8000:
|
||||
|
||||
suricata -c config_file.yaml -d 8000
|
||||
|
||||
You will need a Suricata rule set with IPS options (drop, reject, etc). For
|
||||
this, please refer to the Emerging Threats rule sets.
|
||||
If you are building from Git sources, enter the following:
|
||||
|
||||
bash autogen.sh
|
||||
|
||||
If you are not building from Git sources, enter the following:
|
||||
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
|
||||
Please continue with the Basic_Setup.
|
||||
@ -0,0 +1,56 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/OpenBSD_Installation_from_GIT
|
||||
|
||||
|
||||
OpenBSD Installation from GIT
|
||||
|
||||
|
||||
Pre-installation Requirements
|
||||
|
||||
Before you can build Suricata for your system, run the following commands to
|
||||
ensure that you have everything you need for the installation.
|
||||
|
||||
pkg_add gcc
|
||||
pkg_add pcre
|
||||
pkg_add libtool
|
||||
pkg_add libyaml
|
||||
pkg_add libnet-1.1.2.1p0
|
||||
|
||||
If you would like to build from Git sources, you have to install the following
|
||||
building tools:
|
||||
|
||||
pkg_add git
|
||||
pkg_add autoconf
|
||||
pkg_add automake
|
||||
If you use OpenBSD 4.8, enter the following:
|
||||
pkg_add git autoconf-2.61p3 automake-1.10.3
|
||||
|
||||
|
||||
HTP
|
||||
|
||||
HTP is bundled with Suricata and installed automatically. If you need to
|
||||
install HTP manually for other reasons, instructions can be found at HTP
|
||||
library_installation.
|
||||
|
||||
Suricata
|
||||
|
||||
Next, clone the repository and run autogen:
|
||||
|
||||
git clone git://phalanx.openinfosecfoundation.org/oisf.git
|
||||
cd oisf
|
||||
export AUTOCONF_VERSION=2.61
|
||||
export AUTOMAKE_VERSION=1.10
|
||||
./autogen.sh
|
||||
|
||||
Enter the following to configure:
|
||||
|
||||
CPPFLAGS="-I/usr/local/include" CFLAGS="-L/usr/local/lib" ./configure --
|
||||
prefix=/opt/suricata
|
||||
|
||||
To build and install Suricata, enter the following in your command line:
|
||||
|
||||
make
|
||||
make install
|
||||
|
||||
Next, continue with the Basic_Setup.
|
||||
Source: http://home.regit.org/?p=478
|
||||
@ -0,0 +1,83 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Setting_up_IPSinline_for_Linux
|
||||
|
||||
|
||||
Setting up IPS/inline for Linux
|
||||
|
||||
In this guide will be explained how to work with Suricata in inline mode and
|
||||
how to set iptables for that purpose.
|
||||
First start with compiling Suricata with NFQ support. For instructions see
|
||||
Ubuntu_Installation.
|
||||
For more information about NFQ and iptables, see suricata.yaml.
|
||||
To check if you have NFQ enabled in your Suricata, enter the following command:
|
||||
|
||||
suricata --build-info
|
||||
|
||||
and examine if you have NFQ between the features.
|
||||
To run suricata with the NFQ mode, you have to make use of the -q option. This
|
||||
option tells Suricata which of the queue numbers it should use.
|
||||
|
||||
sudo suricata -c /etc/suricata/suricata.yaml -q 0
|
||||
|
||||
|
||||
Iptables configuration
|
||||
|
||||
First of all it is important to know which traffic you would like to send to
|
||||
Suricata. Traffic that passes your computer or traffic that is generated by
|
||||
your computer.
|
||||
|
||||
If Suricata is running on a gateway and is meant to protect the computers
|
||||
behind that gateway you are dealing with the first scenario: forward_ing .
|
||||
If Suricata has to protect the computer it is running on, you are dealing with
|
||||
the second scenario: host (see drawing 2).
|
||||
These two ways of using Suricata can also be combined.
|
||||
The easiest rule in case of the gateway-scenario to send traffic to Suricata
|
||||
is:
|
||||
|
||||
sudo iptables -I FORWARD -j NFQUEUE
|
||||
|
||||
In this case, all forwarded traffic goes to Suricata.
|
||||
In case of the host situation, these are the two most simple iptable rules;
|
||||
|
||||
sudo iptables -I INPUT -j NFQUEUE
|
||||
sudo iptables -I OUTPUT -j NFQUEUE
|
||||
|
||||
It is possible to set a queue number. If you do not, the queue number will be 0
|
||||
by default.
|
||||
Imagine you want Suricata to check for example just TCP-traffic, or all
|
||||
incoming traffic on port 80, or all traffic on destination-port 80, you can do
|
||||
so like this:
|
||||
|
||||
sudo iptables -I INPUT -p tcp -j NFQUEUE
|
||||
sudo iptables -I OUTPUT -p tcp -j NFQUEUE
|
||||
|
||||
In this case, Suricata checks just TCP traffic.
|
||||
|
||||
sudo iptables -I INPUT -p tcp --sport 80 -j NFQUEUE
|
||||
sudo iptables -I OUTPUT -p tcp --dport 80 -j NFQUEUE
|
||||
|
||||
In this example, Suricata checks all input and output on port 80.
|
||||
|
||||
To see if you have set your iptables rules correct make sure Suricata is
|
||||
running and enter:
|
||||
|
||||
sudo iptables -vnL
|
||||
|
||||
In the example you can see if packets are being logged.
|
||||
This description of the use of iptables is the way to use it with IPv4. To use
|
||||
it with IPv6 all previous mentioned commands have to start with 'ip6tables'. It
|
||||
is also possible to let Suricata check both kinds of traffic.
|
||||
There is also a way to use iptables with multiple networks (and interface
|
||||
cards). Example:
|
||||
|
||||
sudo iptables -I FORWARD -i eth0 -o eth1 -j NFQUEUE
|
||||
sudo iptables -I FORWARD -i eth1 -o eth0 -j NFQUEUE
|
||||
|
||||
The options -i (input) -o (output) can be combined with all previous mentioned
|
||||
options
|
||||
If you would stop Suricata and use internet, the traffic will not come through.
|
||||
To make internet work correctly, you have to erase all iptable rules.
|
||||
To erase all iptable rules, enter:
|
||||
|
||||
sudo iptables -F
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Third_Party_Installation_Guides
|
||||
|
||||
|
||||
Third Party Installation Guides
|
||||
|
||||
On this page you can find links to third party installation guides for
|
||||
Suricata. Beware that none of these guides is reviewed by us. Feel free to add
|
||||
a link to your Suricata installation guide.
|
||||
http://aldeid.com/index.php/Suricata/Installation-and-basic-configuration
|
||||
@ -0,0 +1,60 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Ubuntu_Installation
|
||||
|
||||
|
||||
Ubuntu Installation
|
||||
|
||||
|
||||
Pre-installation requirements
|
||||
|
||||
Before you can build Suricata for your system, run the following command to
|
||||
ensure that you have everything you need for the installation.
|
||||
|
||||
sudo apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \
|
||||
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
|
||||
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 \
|
||||
make
|
||||
|
||||
Depending on the current status of your system, it may take a while to complete
|
||||
this process.
|
||||
|
||||
HTP
|
||||
|
||||
HTP is bundled with Suricata and installed automatically. If you need to
|
||||
install HTP manually for other reasons, instructions can be found at HTP
|
||||
library_installation.
|
||||
|
||||
IPS
|
||||
|
||||
By default, Suricata works as an IDS. If you want to use it as a IDS and IPS
|
||||
program, enter:
|
||||
|
||||
sudo apt-get -y install libnetfilter-queue-dev libnetfilter-queue1
|
||||
libnfnetlink-dev libnfnetlink0
|
||||
|
||||
|
||||
Suricata
|
||||
|
||||
To download and build Suricata, enter the following:
|
||||
|
||||
wget http://www.openinfosecfoundation.org/download/suricata-1.0.5.tar.gz
|
||||
tar -xvzf suricata-1.0.5.tar.gz
|
||||
cd suricata-1.0.5/
|
||||
|
||||
Compile and install the engine
|
||||
If you plan to build Suricata with IPS capabilities, enter:
|
||||
|
||||
./configure --enable-nfqueue
|
||||
|
||||
instead of
|
||||
|
||||
./configure
|
||||
|
||||
Continue with the next commands:
|
||||
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
|
||||
Please continue with Basic_Setup.
|
||||
@ -0,0 +1,89 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Ubuntu_Installation_from_GIT
|
||||
|
||||
|
||||
Ubuntu Installation from GIT
|
||||
|
||||
In this document will be explained how to install and use the most recent code
|
||||
of Suricata on Ubuntu. Installing from GIT on other operating systems is
|
||||
basically the same, except that some commands are Ubuntu-specific (like sudo
|
||||
and apt-get). In case you are using another operating system, you should
|
||||
replace those commands by your operating-specific commands.
|
||||
|
||||
Pre-installation requirements
|
||||
|
||||
Before you can build Suricata for your system, run the following command to
|
||||
ensure that you have everything you need for the installation.
|
||||
|
||||
sudo apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \
|
||||
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
|
||||
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 \
|
||||
make
|
||||
|
||||
|
||||
sudo apt-get install git-core
|
||||
|
||||
Depending on the current status of your system, it may take a while to complete
|
||||
this process.
|
||||
|
||||
HTP
|
||||
|
||||
HTP is bundled with Suricata and installed automatically. If you need to
|
||||
install HTP manually for other reasons, instructions can be found at HTP
|
||||
library_installation.
|
||||
|
||||
IPS
|
||||
|
||||
By default, Suricata works as an IDS. If you want to use it as a IDS and IPS
|
||||
program, enter:
|
||||
|
||||
sudo apt-get -y install libnetfilter-queue-dev libnetfilter-queue1
|
||||
libnfnetlink-dev libnfnetlink0
|
||||
|
||||
|
||||
Suricata
|
||||
|
||||
First, it is convenient to create a directory for Suricata. Name it 'suricata'
|
||||
for example. Open the terminal and enter:
|
||||
|
||||
mkdir suricata
|
||||
|
||||
Followed by:
|
||||
|
||||
cd suricata
|
||||
|
||||
Next, enter the following line in the terminal:
|
||||
|
||||
git clone git://phalanx.openinfosecfoundation.org/oisf.git
|
||||
|
||||
|
||||
cd oisf
|
||||
|
||||
Followed by:
|
||||
|
||||
./autogen.sh
|
||||
|
||||
To configure, please enter:
|
||||
|
||||
./configure
|
||||
|
||||
To compile, please enter:
|
||||
|
||||
make
|
||||
|
||||
To install Suricata, enter:
|
||||
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
|
||||
Please continue with Basic_Setup.
|
||||
In case you have already made a map for the most recent code, downloaded the
|
||||
code into that map, and want to download recent code again, please enter:
|
||||
|
||||
cd suricata/oisf
|
||||
|
||||
next, enter:
|
||||
|
||||
git pull
|
||||
|
||||
After that, you start again at running autogen.
|
||||
@ -0,0 +1,183 @@
|
||||
Autogenerated on 2012-01-11
|
||||
from - https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Windows
|
||||
|
||||
|
||||
Windows
|
||||
|
||||
|
||||
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:\Msys\1.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_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
|
||||
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
|
||||
|
||||
Loading…
Reference in New Issue