데비안에서 Snort를 구성하는 방법

Snort는 무료 네트워크 침입 탐지 시스템 (IDS)입니다. 덜 공식적인 용어로, 의심스러운 활동이 있는지 네트워크를 실시간으로 모니터링 할 수 있습니다 . 현재 Snort는 Fedora, CentOS, FreeBSD 및 Windows 기반 시스템 용 패키지를 보유하고 있습니다. 정확한 설치 방법은 OS마다 다릅니다. 이 자습서에서는 Snort의 소스 파일에서 직접 설치합니다. 이 안내서는 데비안을 위해 작성되었습니다.

업데이트, 업그레이드 및 재부팅

실제로 Snort 소스를 사용하기 전에 시스템이 최신 상태인지 확인해야합니다. 아래 명령을 실행하여이를 수행 할 수 있습니다.

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

사전 설치 구성

시스템이 재부팅되면 SBPP를 설치할 수 있도록 많은 패키지를 설치해야합니다. 필요한 여러 패키지가 있음을 알 수 있었으므로 기본 명령이 아래에 있습니다.

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

모든 패키지가 설치되면 소스 파일의 임시 디렉토리를 작성해야합니다. 원하는 위치에있을 수 있습니다. 사용할 것 /usr/src/snort_src입니다. 이 폴더를 만들려면 root사용자 로 로그인 하거나 sudo권한 이 있어야 root합니다. 더 쉽게 만들 수 있습니다.

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

데이터 수집 라이브러리 (DAQ) 설치

Snort의 소스를 얻기 전에 DAQ을 설치해야합니다. 설치가 매우 간단합니다.

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

tarball에서 파일을 추출하십시오.

tar xvfz daq-2.0.6.tar.gz

DAQ 디렉토리로 변경하십시오.

cd daq-2.0.6

DAQ를 구성하고 설치하십시오.

./configure; make; sudo make install

마지막 줄이 ./configure먼저 실행 됩니다. 그런 다음 실행 make됩니다. 마지막으로을 실행 make install합니다. 우리는 타이핑에 약간의 시간을 절약하기 위해 여기에서 더 짧은 구문을 사용합니다.

Snort 설치

우리는 확실히 우리가에있어 만들고 싶어 /usr/src/snort_src, 다시 디렉토리 그래서 그 디렉토리와로 변경해야합니다 :

cd /usr/src/snort_src

이제 소스 디렉토리에 있으므로 소스 tar.gz파일을 다운로드합니다 . 이 글을 쓰는 시점에서 Snort의 최신 버전은입니다 2.9.8.0.

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

실제로 snort를 설치하는 명령은 DAQ에 사용 된 명령과 매우 유사하지만 옵션이 다릅니다.

Snort 소스 파일을 추출하십시오.

tar xvfz snort-2.9.8.0.tar.gz

소스 디렉토리로 변경하십시오.

cd snort-2.9.8.0

소스를 구성하고 설치하십시오.

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

Snort의 설치 후

Snort를 설치 한 후에는 공유 라이브러리가 최신 상태인지 확인해야합니다. 다음 명령을 사용하여이 작업을 수행 할 수 있습니다.

sudo ldconfig

그런 다음 Snort 설치를 테스트하십시오.

snort --version

이 명령이 작동하지 않으면 심볼릭 링크를 만들어야합니다. 다음을 입력하여이 작업을 수행 할 수 있습니다.

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

결과 출력은 다음과 유사합니다.

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

뿌리 뽑기 코골이

snort가 설치 root되었으므로 로 실행하는 것을 원하지 않으므로 snort사용자와 그룹 을 만들어야합니다 . 새로운 사용자와 그룹을 만들려면 다음 두 명령을 사용할 수 있습니다.

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

소스를 사용하여 프로그램을 설치 했으므로 구성 파일 및 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

디렉토리와 규칙을 만든 후에는 로그 디렉토리를 만들어야합니다.

sudo mkdir /var/log/snort

마지막으로 규칙을 추가하기 전에 동적 규칙을 저장할 장소가 필요합니다.

sudo mkdir /usr/local/lib/snort_dynamicrules

이전 파일이 모두 만들어지면 적절한 권한을 설정하십시오.

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

구성 파일 설정

많은 시간을 절약하고 모든 것을 복사하여 붙여 넣지 않아도하려면 모든 파일을 구성 디렉토리에 복사하면됩니다.

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

구성 파일이 있으므로 다음 두 가지 중 하나를 수행 할 수 있습니다.

  • Barnyard2를 활성화 할 수 있습니다
  • 또는 구성 파일을 그대로두고 원하는 규칙을 선택적으로 활성화 할 수 있습니다.

어느 쪽이든, 당신은 여전히 ​​몇 가지를 변경하고 싶을 것입니다. 계속 읽으세요.

구성

에서 /etc/snort/snort.conf파일, 당신은 변수를 변경해야합니다 HOME_NET. 자체 네트워크의 서버 로그인 시도를 기록하지 않도록 내부 네트워크의 IP 블록으로 설정해야합니다. 10.0.0.0/24또는 일 수 있습니다 192.168.0.0/16. 45 행 /etc/snort/snort.conf에서 변수 HOME_NET를 네트워크의 IP 블록 값 으로 변경하십시오 .

내 네트워크에서는 다음과 같습니다.

ipvar HOME_NET 192.168.0.0/16

그런 다음 EXTERNAL_NET변수를 다음과 같이 설정해야 합니다.

any

어느 EXERNAL_NET것이 당신의 HOME_NET것이 아닌 것으로 바뀝니다 .

규칙 설정

이제 대부분의 시스템이 설정되었으므로이 작은 돼지에 대한 규칙을 구성해야합니다. 어딘가에 주위 라인 (104) 당신의 /etc/snort/snort.conf파일, 당신은 볼 수는 "VAR"선언과 변수 RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH,와 BLACK_LIST_PATH. 이들의 값은에서 사용한 경로로 설정해야합니다 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

해당 값이 설정되면 548 행부터 시작하여 현재 규칙을 삭제하거나 주석 처리하십시오.

이제 구성이 올바른지 확인하십시오. 로 확인할 수 있습니다 snort.

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

다음과 유사한 출력이 표시됩니다 (간단하게 잘림).

 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

이제 모든 것이 오류없이 구성되었으므로 Snort 테스트를 시작할 준비가되었습니다.

코골이 테스트

Snort를 테스트하는 가장 쉬운 방법은을 활성화하는 것 local.rules입니다. 이 파일은 사용자 지정 규칙이 포함 된 파일입니다.

snort.conf파일에서 546 행 부근을 발견 한 경우이 행이 존재합니다.

include $RULE_PATH/local.rules

없는 경우 546 주위에 추가하십시오. 그런 다음 local.rules파일을 테스트에 사용할 수 있습니다 . 기본 테스트로, Snort는 핑 요청 (ICMP 요청)을 추적합니다. local.rules파일에 다음 줄을 추가하면 됩니다.

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

파일에 파일이 있으면 저장 한 후 계속 읽으십시오.

테스트를 실행

다음 명령은 Snort를 시작하고 config를 사용하여 snort 그룹에서 사용자 snort로 "fast mode"경고를 인쇄 /etc/snort/snort.conf하고 네트워크 인터페이스에서 수신합니다 eno1. eno1시스템이 수신하고있는 네트워크 인터페이스 로 변경해야합니다 .

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

실행 한 후에는 해당 컴퓨터를 ping하십시오. 다음과 같은 출력이 나타납니다.

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

Ctrl + C 를 눌러 프로그램을 종료하면됩니다. 코골이가 설정되었습니다. 이제 원하는 규칙을 사용할 수 있습니다.

마지막으로, "커뮤니티"탭 의 공식 사이트 에서 다운로드 할 수있는 커뮤니티의 공개 규칙이 있습니다 . "Snort"를 찾은 다음 바로 아래에 커뮤니티 링크가 있습니다. 다운로드하여 압축을 풀고 community.rules파일을 찾으십시오 .



Leave a Comment

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.

Vultr에서 BGP 구성

Vultr에서 BGP 구성

Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.

데비안 7에 Mailcow 설치

데비안 7에 Mailcow 설치

Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구