Hur man konfigurerar Snort på Debian

Hur man konfigurerar Snort på Debian

Snort är ett gratis nätverksintrångsdetektionssystem (IDS). I mindre officiella termer låter det dig övervaka ditt nätverk för misstänkt aktivitet i realtid . För närvarande har Snort paket för Fedora, CentOS, FreeBSD och Windows-baserade system. Exakt installationsmetod varierar mellan olika operativsystem. I den här handledningen kommer vi att installera direkt från källfilerna för Snort. Den här guiden skrevs för Debian.

Uppdatera, uppgradera och starta om

Innan vi faktiskt får tag på Snort-källorna måste vi se till att vårt system är uppdaterat. Vi kan göra detta genom att utfärda kommandona nedan.

sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

Förinstallationskonfiguration

När ditt system har startat om måste vi installera ett antal paket för att säkerställa att vi kan installera SBPP. Jag kunde ta reda på att ett antal av paketen som behövdes, så baskommandot är nedan.

sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y

När alla paket är installerade måste du skapa en tillfällig katalog för dina källfiler - de kan finnas var som helst du vill. Jag kommer att använda /usr/src/snort_src. För att skapa den här mappen måste du vara inloggad som rootanvändare, eller ha sudobehörigheter - rootgör det bara enklare.

sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src

Installera Data Acquisition Library (DAQ)

Innan vi kan få källan till Snort måste vi installera DAQ:n. Det är ganska enkelt att installera.

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

Extrahera filerna från tarballen.

tar xvfz daq-2.0.6.tar.gz

Byt till DAQ-katalogen.

cd daq-2.0.6

Konfigurera och installera DAQ.

./configure; make; sudo make install

Den sista raden kommer att köras ./configureförst. Sedan kommer det att köras make. Slutligen kommer det att köras make install. Vi använder den kortare syntaxen här bara för att spara lite på att skriva.

Installerar Snort

Vi vill se till att vi är i /usr/src/snort_srckatalogen igen, så se till att byta till den katalogen med:

cd /usr/src/snort_src

Nu när vi är i katalogen för källorna kommer vi att ladda ner tar.gzfilen för källan. När detta skrivs är den senaste versionen av Snort 2.9.8.0.

wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz

Kommandona för att faktiskt installera snort är väldigt lika de som används för DAQ, men de har olika alternativ.

Extrahera Snort-källfilerna.

tar xvfz snort-2.9.8.0.tar.gz

Byt till källkatalogen.

cd snort-2.9.8.0

Konfigurera och installera källorna.

 ./configure --enable-sourcefire; make; sudo make install

Efterinstallation av Snort

När vi har installerat Snort måste vi se till att våra delade bibliotek är uppdaterade. Vi kan göra detta med kommandot:

sudo ldconfig

När vi har gjort det, testa din Snort-installation:

snort --version

Om det här kommandot inte fungerar måste du skapa en symbollänk. Du kan göra detta genom att skriva:

sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version

Resultatet kommer att likna följande:

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.7.5 GRE (Build 262)
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
           Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
           Copyright (C) 1998-2013 Sourcefire, Inc., et al.
           Using libpcap version 1.6.2
           Using PCRE version: 8.35 2014-04-04
           Using ZLIB version: 1.2.8

Un-rooting Snort

Nu när vi har installerat snort vill vi inte att det ska köras som root, så vi måste skapa en snortanvändare och grupp. För att skapa en ny användare och grupp kan vi använda dessa två kommandon:

sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort

Eftersom vi har installerat programmet med hjälp av källan måste vi skapa konfigurationsfilerna och reglerna för snort.

sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules

Efter att vi har skapat katalogerna och reglerna måste vi nu skapa loggkatalogen.

sudo mkdir /var/log/snort

Och slutligen, innan vi kan lägga till några regler, behöver vi en plats för att lagra de dynamiska reglerna.

sudo mkdir /usr/local/lib/snort_dynamicrules

När alla tidigare filer har skapats, ställ in rätt behörigheter för dem.

sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

Konfigurera konfigurationsfilerna

För att spara en massa tid och undvika att behöva kopiera och klistra in allt, låt oss bara kopiera alla filer till konfigurationskatalogen.

sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort

Nu när konfigurationsfilerna finns där kan du göra en av två saker:

  • Du kan aktivera Barnyard2
  • Eller så kan du bara lämna konfigurationsfilerna ifred och selektivt aktivera de önskade reglerna.

Hur som helst, du kommer fortfarande att vilja ändra några saker. Fortsätt läsa.

Konfiguration

I /etc/snort/snort.conffilen måste du ändra variabeln HOME_NET. Det bör ställas in på ditt interna nätverks IP-block så att det inte loggar ditt eget nätverks försök att logga in på servern. Detta kan vara 10.0.0.0/24eller 192.168.0.0/16. På rad 45 i /etc/snort/snort.confändra variabeln HOME_NETtill det värdet på ditt nätverks IP-block.

På mitt nätverk ser det ut så här:

ipvar HOME_NET 192.168.0.0/16

Sedan måste du ställa in EXTERNAL_NETvariabeln till:

any

Som bara förvandlas EXERNAL_NETtill vad du än HOME_NETinte är.

Att sätta reglerna

Nu när en stor majoritet av systemet är konfigurerat måste vi konfigurera våra regler för denna lilla piggy. Någonstans runt rad 104 i din /etc/snort/snort.conffil bör du se en "var"-deklaration och variablerna RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, och BLACK_LIST_PATH. Deras värden bör ställas in på de sökvägar vi använde i Un-rooting Snort.

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules

När dessa värden är inställda, ta bort eller kommentera de nuvarande reglerna med början på ungefär linje 548.

Låt oss nu kontrollera att din konfiguration är korrekt. Du kan verifiera det med snort.

 # snort -T -c /etc/snort/snort.conf

Du kommer att se utdata som liknar följande (avkortat för korthetens skull).

 Running in Test mode

         --== Initializing Snort ==--
 Initializing Output Plugins!
 Initializing Preprocessors!
 Initializing Plug-ins!
 .....
 Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
 Verifying Preprocessor Configurations!

         --== Initialization Complete ==--

    ,,_     -*> Snort! <*-
   o"  )~   Version 2.9.8.0 GRE (Build 229) 
    ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
            Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
            Copyright (C) 1998-2013 Sourcefire, Inc., et al.
            Using libpcap version 1.7.4
            Using PCRE version: 8.35 2014-04-04
            Using ZLIB version: 1.2.8

            Rules Engine: SF_SNORT_DETECTION_ENGINE  Version 2.4  <Build 1>
            Preprocessor Object: SF_IMAP  Version 1.0  <Build 1>
            Preprocessor Object: SF_FTPTELNET  Version 1.2  <Build 13>
            Preprocessor Object: SF_SIP  Version 1.1  <Build 1>
            Preprocessor Object: SF_REPUTATION  Version 1.1  <Build 1>
            Preprocessor Object: SF_POP  Version 1.0  <Build 1>
            Preprocessor Object: SF_DCERPC2  Version 1.0  <Build 3>
            Preprocessor Object: SF_SDF  Version 1.1  <Build 1>
            Preprocessor Object: SF_GTP  Version 1.1  <Build 1>
            Preprocessor Object: SF_DNS  Version 1.1  <Build 4>
            Preprocessor Object: SF_SSH  Version 1.1  <Build 3>
            Preprocessor Object: SF_DNP3  Version 1.1  <Build 1>
            Preprocessor Object: SF_SSLPP  Version 1.1  <Build 4>
            Preprocessor Object: SF_SMTP  Version 1.1  <Build 9>
            Preprocessor Object: SF_MODBUS  Version 1.1  <Build 1>

 Snort successfully validated the configuration!
 Snort exiting

Nu när allt är konfigurerat utan fel är vi redo att börja testa Snort.

Testar snor

Det enklaste sättet att testa Snort är genom att aktivera local.rules. Det här är en fil som innehåller dina anpassade regler.

Om du har märkt i snort.conffilen, någonstans runt rad 546, finns den här raden:

include $RULE_PATH/local.rules

Om du inte har det, lägg till det runt 546. Du kan sedan använda local.rulesfilen för att testa. Som ett grundläggande test låter jag bara Snort hålla reda på en ping-förfrågan (ICMP-förfrågan). Du kan göra det genom att lägga till i följande rad i din local.rulesfil.

 alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)

När du har det i din fil, spara det och fortsätt läsa.

Kör testet

Följande kommando startar Snort och skriver ut "snabbläge"-varningar, när användaren snortar, under gruppsnurr, med hjälp av config /etc/snort/snort.conf, och den lyssnar på nätverksgränssnittet eno1. Du måste byta eno1till vilket nätverksgränssnitt som ditt system lyssnar på.

$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1

När du har den igång, pinga den datorn. Du kommer att börja se utdata som ser ut som följande:

01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal

Du kan trycka på Ctrl+C för att avsluta programmet, och det är allt. Snork är helt uppställt. Du kan nu använda vilka regler du vill.

Slutligen vill jag notera att det finns några offentliga regler gjorda av gemenskapen som du kan ladda ner från den officiella webbplatsen under fliken "Community". Leta efter "Snort", så precis under det finns en community-länk. Ladda ner det, extrahera det och leta efter community.rulesfilen.


Installera Cacti på Debian Jessie

Installera Cacti på Debian Jessie

Introduktion Cacti är ett övervaknings- och grafverktyg med öppen källkod som är helt baserat på RRD-data. Genom Cacti kan du övervaka nästan vilken typ av enhet som helst

Konfigurera iRedMail på Debian Wheezy

Konfigurera iRedMail på Debian Wheezy

Använder du ett annat system? Den här handledningen visar dig hur du installerar groupware iRedMail på en ny installation av Debian Wheezy. Du bör använda en serve

How to Setup Unattended Upgrades on Debian 9 (Stretch)

How to Setup Unattended Upgrades on Debian 9 (Stretch)

Using a Different System? If you purchase a Debian server, then you should always have the latest security patches and updates, whether youre asleep or not

Konfigurera din egen DNS-server på Debian/Ubuntu

Konfigurera din egen DNS-server på Debian/Ubuntu

Denna handledning förklarar hur man ställer in en DNS-server med Bind9 på Debian eller Ubuntu. Genomgående i artikeln, byt ut ditt-domännamn.com i enlighet med detta. Vid th

Kompilera och installera Nginx med PageSpeed-modulen på Debian 8

Kompilera och installera Nginx med PageSpeed-modulen på Debian 8

I den här artikeln kommer vi att se hur man kompilerar och installerar Nginx mainline från de officiella källorna för Nginx med PageSpeed-modulen, som låter dig t

Hur man installerar Kanboard på Debian 9

Hur man installerar Kanboard på Debian 9

Använder du ett annat system? Introduktion Kanboard är ett gratis och öppen källkodsprogram för projektledningsprogram som är utformat för att underlätta och visualisera

Hur man installerar Gitea på Debian 9

Hur man installerar Gitea på Debian 9

Använder du ett annat system? Gitea är ett alternativt versionskontrollsystem med öppen källkod som drivs av Git. Gitea är skriven på Golang och är

Installera Lynis på Debian 8

Installera Lynis på Debian 8

Introduktion Lynis är ett gratis systemrevisionsverktyg med öppen källkod som används av många systemadministratörer för att verifiera integriteten och förstärka deras system. jag

Hur man installerar Thelia 2.3 på Debian 9

Hur man installerar Thelia 2.3 på Debian 9

Använder du ett annat system? Thelia är ett verktyg med öppen källkod för att skapa e-handelswebbplatser och hantera onlineinnehåll skrivet i PHP. Thelia källkod i

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn

Hur man installerar Golang 1.8.3 på CentOS 7, Ubuntu 16.04 och Debian 9

Hur man installerar Golang 1.8.3 på CentOS 7, Ubuntu 16.04 och Debian 9

Golang är ett programmeringsspråk utvecklat av Google. Tack vare dess mångsidighet, enkelhet och tillförlitlighet har Golang blivit en av de mest populära

Återställ MySQL Root Password på Debian/Ubuntu

Återställ MySQL Root Password på Debian/Ubuntu

Om du har glömt ditt MySQL root-lösenord kan du återställa det genom att följa stegen i den här artikeln. Processen är ganska enkel och fungerar på dessa

Ställa in Counter Strike: Source på Debian

Ställa in Counter Strike: Source på Debian

I den här guiden kommer vi att sätta upp en Counter Strike: Source-spelserver på Debian 7. Dessa kommandon testades på Debian 7 men de borde också fungera o

Hur man installerar Unturned 2.2.5 på Debian 8

Hur man installerar Unturned 2.2.5 på Debian 8

I den här guiden kommer du att lära dig hur du ställer in en Unturned 2.2.5-server på en Vultr VPS som kör Debian 8. Obs: Detta är en redigerad version av Unturned som inte

Hur man installerar Cachet på Debian 8

Hur man installerar Cachet på Debian 8

I den här handledningen kommer du att lära dig hur du installerar Cachet på Debian 8. Cachet är ett kraftfullt statussidasystem med öppen källkod. Installation Den här handledningen pågår

Säkerhetskopiera flera MySQL- eller MariaDB-databaser automatiskt

Säkerhetskopiera flera MySQL- eller MariaDB-databaser automatiskt

Inledning I den här artikeln, gå igenom hur man säkerhetskopierar flera MySQL- eller MariaDB-databaser som sitter på samma maskin med hjälp av ett anpassat bash-skript

Konfigurera en Chroot på Debian

Konfigurera en Chroot på Debian

Den här artikeln kommer att lära dig hur du ställer in ett chroot-fängelse på Debian. Jag antar att du använder Debian 7.x. Om du kör Debian 6 eller 8 kan detta fungera, men

Hur man installerar Reader Self 3.5 RSS Reader på en Debian 9 LAMP VPS

Hur man installerar Reader Self 3.5 RSS Reader på en Debian 9 LAMP VPS

Använder du ett annat system? Reader Self 3.5 är ett enkelt och flexibelt, gratis och öppen källkod, RSS-läsare som är självvärd och Google Reader-alternativ. Läsare Sel

Hur man installerar Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Hur man installerar Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Använder du ett annat system? Backdrop CMS 1.8.0 är ett enkelt och flexibelt, mobilvänligt, gratis och open source Content Management System (CMS) som låter oss

Hur man installerar SteamCMD på din VPS

Hur man installerar SteamCMD på din VPS

I den här handledningen kommer vi att installera SteamCMD. SteamCMD kan användas för att ladda ner och installera många Steam-spelservrar, såsom Counter-Strike: Global Offensiv

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer