Ağ güvenliği ve korumanın iyileştirilmesi konusunda ciddiyseniz, izinsiz giriş tespit ve önleme sistemlerinin (IPS veya IDS) kurulması, ağ çevresini güçlendirmek ve istenmeyen ağ trafiğini yönlendirmek için bir zorunluluktur.
Snort, kişisel kullanım için ücretsiz ve açık kaynak olan popüler bir IPS/IDS çözümüdür. Ağınızı siber saldırılara karşı korumak için Linux'ta Snort'u nasıl kurup kurabileceğinizi öğrenelim. Doğrulamak Telefonunuz sizi gözetlediğinde ne olur?

Hızlı Linkler
Snort nedir?

Snort, adından da anlaşılacağı gibi ağınıza enjekte edilen kötü amaçlı paketleri algılayan ve bırakan kuralları ve filtreleri uygulayarak ağ çevrenizin güvenliğini sağlamaya yardımcı olan açık kaynaklı bir Ağ İzinsiz Giriş Tespiti ve Önleme (NIDS/IPS) uygulamasıdır.
Snort ile gelişmiş ağ trafiği günlüğü tutma, paket dinleme ve analiz işlemlerini gerçekleştirebilecek ve ağınızı istenmeyen ve potansiyel olarak kötü amaçlı trafikten koruyan güçlü bir izinsiz giriş önleme sistemi kurabileceksiniz.
Snort'u yüklemek için temel gereksinimler
Snort'u kurmadan önce yapılması gereken bazı başlangıç ayarları var. Bu çoğunlukla sisteminizin güncellenmesini ve yükseltilmesini ve Snort'un düzgün çalışması için ihtiyaç duyduğu bağımlılıkların kurulmasını içerir.
Sisteminizi güncelleyerek ve yükselterek başlayın.
Ubuntu ve Debian tabanlı Linux dağıtımlarında:
sudo apt update && apt upgrade -y
Arch Linux ve tabanlı dağıtımlarda:
sudo pacman -Syu
RHEL ve Fedora'da:
sudo dnf yükseltme
Sisteminiz yükseltildikçe Snort'un gerektirdiği bağımlılıkları yüklemeye devam edin. Çalıştırmanız gereken komutlar şunlardır:
Ubuntu ve Debian'da şunu çalıştırın:
sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev
Arch Linux'ta şunu çalıştırın:
sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pulledporkxz zlib cmake pkgconf
RHEL ve Fedora için aşağıdaki komutu verin:
sudo dnf install gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y
Ek olarak, veri toplama kitaplığını, Snort'un düzgün çalışması için LibDAQ'u ve ayrıca derleme dosyalarını oluşturmak için gperftools'u manuel olarak yüklemeniz gerekir.
Öncelikle LibDAQ kaynak dosyalarını resmi web sitesinden şu komutu kullanarak indirin: wget. Daha sonra zip dosyasını çıkartın ve cd ile dizine gidin. Dizinin içinde önyükleme ve yapılandırma komut dosyalarını çalıştırın, ardından komutla dosyaları hazırlamaya devam edin make install.
wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz tar -xzvf lib* cd lib* ./bootstrap ./configure make sudo make install
LibDAQ kuruluyken son bir bağımlılık kurmanız gerekir: gperftools. Kaynak dosyaları GitHub deposundan getirerek başlayın. Dosyaları çıkarın, dizine gidin ve yapılandırma komut dosyasını çalıştırın. Son olarak komutları kullanarak paketi yükleyin make install.
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz tar -xvzf gper* && cd gper ./configure make sudo make install
Bu bağımlılıklar kurulduktan sonra Snort'u kurmak için sonraki adımlara geçebilirsiniz.
Snort'u Linux'taki kaynaktan yükleyin

İlk kurulum bittikten sonra artık gerçek uygulamayı yüklemeye odaklanabilirsiniz. Bunu kaynaktan oluşturacaksınız, bu nedenle önce gerekli derleme dosyalarını edinin.
Wget komutunu kullanın veya dosyaları resmi indirme sayfasından manuel olarak indirin:
wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
İndir: homurdanma
Derleme dosyalarını içeren zip dosyasının indirilmesi tamamlandıktan sonra, komutu kullanarak dosyayı çıkartın. katran:
tar -xzvf snort*
Çıkarılan klasöre gidin, yapılandırma komut dosyasını çalıştırın ve şu komutu kullanın: yapmak Dosyaları hazırlamak için son olarak şunu kullanarak yükleyin: make install:
cd snort* ./configure_cmake.sh — prefix=/usr/local — enable-tcmalloc cd build make sudo make install
Snort artık sisteminize başarıyla kurulacaktır. Ancak tamamlamanız gereken bir adım daha var. Yeni bir uygulamayı manuel olarak yüklerken, kurulum dizini ve gerekli kütüphaneler sistemin varsayılan yoluna otomatik olarak eklenmeyebilir. Yani uygulamayı başlatırken hatalarla karşılaşabilirsiniz.
Bu sorunu önlemek için komutu çalıştırmanız gerekir. ldconfig. Sistemin paylaşılan kütüphane önbelleğini yeni kurulan kütüphaneler ve ikili dosyalar ile senkronize edecektir. Komutu çalıştır ldconfig Kök ayrıcalıklarıyla veya bir önek kullanarak sudo:
sudo ldconfig
Artık Snort'u kurmak için gereken tüm önemli adımları ele aldık. Kurulumu doğrulamak için Snort komutunu flag ile çalıştırın. -V ve sürüm adını ve diğer verileri döndüren çıktıyı görmelisiniz.
horlama -V
Snort'un kurulduğunu doğruladıktan sonra, onu tam işlevli bir IDS/IPS olarak ayarlamak için sonraki adımlara geçin.
Linux'ta Snort'un ilk yapılandırması

Snort'un verimliliği neredeyse tamamen kendisine sağlanan kural setlerinin kalitesine bağlıdır.
Ancak kuralları ayarlamaya başlamadan önce ağ kartlarını Snort ile çalışacak şekilde yapılandırmanız ve ayrıca varsayılan yapılandırmanın Snort tarafından nasıl işlendiğini test etmeniz gerekir. Ağ kartlarını yapılandırarak başlayın.
Ağ arayüzünü karışık moda ayarlamanız gerekir:
sudo ip link set dev interface_name promisc on
kullanma ettool Daha büyük ağ paketlerinin düşürülmesini önlemek için Küresel Alma Boşaltma'yı (GRO) ve Büyük Alma Boşaltma'yı (LRO) devre dışı bırakın:
sudo ethtool -K interface_name gro off lro off

Snort'un varsayılan yapılandırmayla nasıl performans gösterdiğini test edin:
snort -c /usr/local/etc/snort/snort.lua
Bu, Snort'u sisteminize doğru şekilde kurduğunuzu ve yapılandırdığınızı gösteren başarılı bir çıktı döndürmelidir. Artık ağınızı güvence altına almak için en iyi kural kümesini bulmak için özelliklerini ayarlayabilir ve farklı yapılandırmaları deneyebilirsiniz.
Snort'u kullanarak kuralları ayarlama ve uygulama
Temel ayarların yerine getirilmesiyle Snort artık çevrenizi savunmaya hazır. Bildiğiniz gibi Snort'un trafiğin geçerliliğini belirlemek için kural setlerine ihtiyacı var, hadi Snort için topluluk tarafından oluşturulmuş birkaç ücretsiz kural seti hazırlayalım.
Snort, verilen dizinlerden kural kümelerini ve yapılandırmaları okur. İlk önce komutları kullanarak mkdir و dokunma , Snort'a yönelik kuralları ve diğer ilgili verileri depolamak için bazı önemli dizinler oluşturun:
sudo mkdir -p /usr/local/etc/{lists,so_rules,rules} sudo touch /usr/local/etc/rules/local.rules sudo touch /usr/local/etc/lists/default.blocklistBu kılavuzları oluşturarak topluluk kural kümesini resmi web sitesinden şu komutu kullanarak indirebilirsiniz: wget:
wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
Kural kümesinin indirilmesi tamamlandıktan sonra onu çıkartın ve dizine kopyalayın. /usr/local/etc/rules/.
tar -xvzf snort3-com* cd snort3-com* cp * /usr/local/etc/rules/

Snort'u kural kümesiyle çalıştırmak için şu komutu yürütün:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k none
Komutun yorumlanması:
- -c Varsayılan yapılandırma dosyasının yolunu belirtir.
- -R Uygulanan kuralın yolunu belirtir.
- -i Arayüzü tanımlar.
- -s Snaplen sınırını yok sayar.
- -k Sağlama toplamını yok sayar.
Bu, yapılandırmayı doğrulamalı ve Snort'taki tüm kural kümelerini zorunlu kılmalıdır. Herhangi bir ağ kesintisi algıladığında sizi bir konsol mesajıyla uyaracaktır.
Kendi kural kümenizi oluşturmak ve uygulamak istiyorsanız, bunun hakkında daha fazla bilgiyi şu adreste bulabilirsiniz: Resmi dokümantasyon sayfaları. Doğrulamak Web sitesini güvenli hale getirmek için en iyi web uygulaması güvenlik duvarı hizmetleri.
Snort kullanarak günlükleri ayarlama

Varsayılan olarak Snort hiçbir günlük çıkarmaz. Etiketini kullanarak seçmeniz gerekiyor -L Snort'u günlük modunda başlatmak için günlük dosyası türünü seçin ve -l Snort'un günlükleri dökeceği günlük dizinini ayarlar.
Günlükler etkinken Snort'u başlatma komutu:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k none -L file_type -l /var/log/snort
Komutun yorumlanması:
- -c Varsayılan yapılandırma dosyasının yolunu belirtir.
- -R Uygulanan kuralın yolunu belirtir.
- -i Arayüzü tanımlar.
- -s Snaplen sınırını yok sayar.
- -k Sağlama toplamını yok sayar.
- -L Günlük modunu etkinleştirir ve günlük dosyası türünü seçer.
- O belirtir -l Depolama yolunu kaydedin.
Önceki komut örneğinde kayıt defteri dizininin şu şekilde ayarlandığını unutmayın: /var/log/snort. Bu önerilen bir uygulama olmasına rağmen, kayıtlarınızı başka bir yerde saklamakta özgürsünüz.
Snort'taki log dosyalarını belirttiğiniz dizinden okuyabilir veya daha detaylı analiz için Splunk gibi bir SIEM uygulamasına aktarabilirsiniz.
Sistemle başlatmak için Snort'u bir daemon işlemi olarak ekleyin

Snort'u kurup kurmuş olsanız bile, başlangıçta çalışmaya başladığından ve arka plan sunucusu olarak çalıştığından emin olmanız gerekir. Bunu otomatik başlatılan bir sistem hizmeti olarak eklemek, Snort'un çevrimiçi olduğu her zaman çalışmasını ve sisteminizi savunmasını sağlayacaktır.
Linux'ta Snort'u başlatmak için daemon sürecini nasıl ekleyeceğiniz aşağıda açıklanmıştır:
- Bir hizmet dosyası oluşturarak başlayın systemd yeni:
touch /lib/systemd/system/snort.service
- Dosyayı istediğiniz bir metin düzenleyicide açın ve aşağıdaki verilerle doldurun. Etiketleri ihtiyaçlarınıza göre değiştirebilirsiniz:
[Unit] Description=Snort Daemon After=syslog.target network.target [Service] Type=simple ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k none -l /var/log/snort -D -L pcap -i ens33 [Install] WantedBy=multi-user.target
- Dosyayı kaydedip çıkın. Daha sonra iki komutu kullanarak hizmet و sistemctl , betiği etkinleştirin ve başlatın:
sudo systemctl enable snort.service sudo snort start
Snort arka plan programı işlemi şimdi çalışıyor olmalıdır. Komut dosyasını kullanarak komut dosyasının durumunu kontrol edebilirsiniz. Olumlu bir çıktı döndürmelidir.
systemctl status snort
Artık ağınızı Snort IDS ile nasıl koruyacağınızı biliyorsunuz
IDS'in uygulanması iyi bir uygulama olsa da, aktif bir önlemden ziyade pasif bir önlemdir. Ağınızın güvenliğini iyileştirmenin ve sağlamanın en iyi yolu, onu sürekli olarak test etmek ve düzeltilmesi gereken kusurları aramaktır.
Sızma testi, sömürülebilir güvenlik açıklarını bulmanın ve düzeltmenin harika bir yoludur. Artık görüntüleyebilirsiniz Siber güvenlik profesyonelleri için en iyi sızma testi araçları.










