Debian Üzerinde Snort Nasıl Yapılandırılır

Snort, ücretsiz bir ağ saldırı tespit sistemidir (IDS). Daha az resmi olarak, ağınızı şüpheli etkinlikler için gerçek zamanlı olarak izlemenizi sağlar . Şu anda Snort'un Fedora, CentOS, FreeBSD ve Windows tabanlı sistemler için paketleri var. Tam kurulum yöntemi işletim sistemleri arasında değişiklik gösterir. Bu derste, Snort için doğrudan kaynak dosyalarından kurulum yapacağız. Bu rehber Debian için yazılmıştır.

Güncelleme, Yükseltme ve Yeniden Başlatma

Snort kaynaklarına el koymadan önce, sistemimizin güncel olduğundan emin olmalıyız. Bunu aşağıdaki komutları vererek yapabiliriz.

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

Kurulum öncesi yapılandırma

Sisteminiz yeniden başlatıldıktan sonra, SBPP'yi yükleyebildiğimizden emin olmak için bir dizi paket kurmamız gerekir. Gerekli olan bir dizi paket olduğunu anlayabildim, bu yüzden temel komut aşağıda.

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

Tüm paketler yüklendikten sonra, kaynak dosyalarınız için geçici bir dizin oluşturmanız gerekir - bunlar istediğiniz her yerde olabilir. Ben kullanacağım /usr/src/snort_src. Bu klasörü oluşturmak için rootkullanıcı olarak oturum açmanız veya sudoizinlere sahip olmanız gerekir root.

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

Veri Toplama Kütüphanesini (DAQ) Kurma

Snort için kaynak almadan önce DAQ'yu kurmamız gerekiyor. Kurulumu oldukça basittir.

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

Tarball'dan dosyaları ayıklayın.

tar xvfz daq-2.0.6.tar.gz

DAQ dizinine geçin.

cd daq-2.0.6

DAQ'yu yapılandırın ve yükleyin.

./configure; make; sudo make install

Bu son satır ./configureilk önce yürütülür . Sonra yürütür make. Son olarak, yürütür make install. Yazarken biraz tasarruf etmek için burada daha kısa sözdizimini kullanıyoruz.

Snort'u Yükleme

Dizinde bulunduğumuzdan emin olmak istiyoruz /usr/src/snort_src, bu nedenle şu dizine geçtiğinizden emin olun:

cd /usr/src/snort_src

Şimdi kaynakların dizinindeyiz tar.gz, kaynak dosyasını indireceğiz . Bu yazının yazıldığı sırada Snort'un en son sürümü 2.9.8.0.

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

Snort'u fiilen kurmak için kullanılan komutlar DAQ için kullanılan komutlara çok benzer, ancak farklı seçenekleri vardır.

Snort kaynak dosyalarını ayıklayın.

tar xvfz snort-2.9.8.0.tar.gz

Kaynak dizine geçin.

cd snort-2.9.8.0

Kaynakları yapılandırın ve yükleyin.

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

Snort'un kurulum sonrası

Snort yüklendikten sonra, paylaşılan kütüphanelerimizin güncel olduğundan emin olmamız gerekir. Bunu şu komutu kullanarak yapabiliriz:

sudo ldconfig

Bunu yaptıktan sonra Snort kurulumunuzu test edin:

snort --version

Bu komut çalışmazsa, bir sembolik bağlantı oluşturmanız gerekir. Bunu yazarak yapabilirsiniz:

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

Ortaya çıkan çıktı aşağıdakine benzer:

   ,,_     -*> 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

Kökten Çıkarma Snort

Şimdi snort yüklendiğine göre, çalışmasını istemiyoruz root, bu yüzden bir snortkullanıcı ve grup oluşturmamız gerekiyor . Yeni bir kullanıcı ve grup oluşturmak için şu iki komutu kullanabiliriz:

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

Programı kaynağı kullanarak kurduğumuzdan, yapılandırma dosyalarını ve snort kurallarını oluşturmamız gerekiyor.

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

Dizinleri ve kuralları oluşturduktan sonra artık günlük dizini oluşturmamız gerekiyor.

sudo mkdir /var/log/snort

Son olarak, herhangi bir kural eklemeden önce, dinamik kuralları saklamak için bir yere ihtiyacımız var.

sudo mkdir /usr/local/lib/snort_dynamicrules

Önceki tüm dosyalar oluşturulduktan sonra, bunlara uygun izinleri ayarlayın.

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

Yapılandırma dosyalarını ayarlama

Bir sürü zaman kazanmak ve her şeyi kopyalayıp yapıştırmak zorunda kalmamak için, tüm dosyaları yapılandırma dizinine kopyalamanıza izin verin.

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

Şimdi yapılandırma dosyaları var, iki şeyden birini yapabilirsiniz:

  • Barnyard2'yi etkinleştirebilirsiniz
  • Veya yapılandırma dosyalarını yalnız bırakabilir ve istenen kuralları seçerek etkinleştirebilirsiniz.

Her iki durumda da, hala birkaç şeyi değiştirmek isteyeceksiniz. Okumaya devam et.

Yapılandırma

Gelen /etc/snort/snort.confdosya için, bir değişken değiştirmeniz gerekecektir HOME_NET. Dahili ağınızın IP bloğuna ayarlanmalıdır, böylece kendi ağınızın sunucuda oturum açma girişimlerini kaydetmez. Bu 10.0.0.0/24veya olabilir 192.168.0.0/16. 45 satırında /etc/snort/snort.conf, değişkeni HOME_NETağınızın IP bloğunun değerine değiştirin .

Ağımda şöyle görünüyor:

ipvar HOME_NET 192.168.0.0/16

Ardından, EXTERNAL_NETdeğişkeni şu şekilde ayarlamanız gerekir:

any

Bu sadece EXERNAL_NETsizin HOME_NETolmayan her şeye dönüşür .

Kuralların belirlenmesi

Sistemin büyük bir çoğunluğu oluşturulduğuna göre, bu küçük domuzcuk için kurallarımızı yapılandırmamız gerekiyor. Bir yerde etrafında hat 104 sizin de /etc/snort/snort.confdosyaya görmeniz gerekir bir "var" beyanı ve değişkenler RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, ve BLACK_LIST_PATH. Değerleri kullandığımız yollara ayarlanmalıdır 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

Bu değerler ayarlandıktan sonra, yaklaşık 548 satırından başlayarak geçerli kuralları silin veya yorumlayın.

Şimdi, yapılandırmanızın doğru olup olmadığını kontrol edelim. İle doğrulayabilirsiniz snort.

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

Aşağıdakine benzer bir çıktı göreceksiniz (kısalık için kesilmiş).

 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

Artık her şey hatasız olarak yapılandırıldığına göre, Snort'u test etmeye hazırız.

Snort Testi

Snort'u test etmenin en kolay yolu local.rules. Bu, özel kurallarınızı içeren bir dosyadır.

snort.confDosyada, 546 satırının etrafında bir yerde fark ettiyseniz , bu satır vardır:

include $RULE_PATH/local.rules

Eğer sahip değilseniz, lütfen 546 civarında ekleyin. Daha sonra local.rulesdosyayı test için kullanabilirsiniz . Temel bir test olarak, Snort'un bir ping isteğini (ICMP isteği) takip etmesini istiyorum. local.rulesDosyanıza aşağıdaki satırı ekleyerek bunu yapabilirsiniz .

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

Dosyanıza ekledikten sonra kaydedin ve okumaya devam edin.

Testi çalıştırın

Aşağıdaki komut Snort'u başlatır ve kullanıcı snortu olarak grup snortu altında config'i kullanarak "hızlı mod" uyarılarını yazdırır /etc/snort/snort.confve ağ arayüzünde dinler eno1. eno1Sisteminizin dinlediği ağ arabirimine geçmeniz gerekecektir .

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

Çalıştırdıktan sonra, bu bilgisayara ping atın. Aşağıdaki gibi görünen çıktıları görmeye başlayacaksınız:

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

Programdan çıkmak için Ctrl + C tuşlarına basabilirsiniz , hepsi bu kadar. Snort ayarlandı. Şimdi istediğiniz kuralları kullanabilirsiniz.

Son olarak, topluluk tarafından "Topluluk" sekmesi altındaki resmi siteden indirebileceğiniz bazı genel kurallar olduğunu belirtmek isterim . "Snort" u arayın, hemen altında bir topluluk bağlantısı var. Bunu indirin, çıkarın ve community.rulesdosyayı arayın .



Leave a Comment

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?