시스템 보안

[8월 4일] Snort IDS 구축 및 운용하기

ljm 2025. 8. 4. 12:30

sudo make install  

 

cd snort3-master/

 

snort3-master/build

 

sudo make install

sudo ldconfig

sudo -V

 

설치완료 (돼지그림)

 

sudo snort -c /usr/local/etc/snort/snort.lua

 

sudo ip link set dev enp0s3 promisc on      (device  promisc mode on)

ip addr  (enp0s3에 PROMISC  추가)

목적지가 자기에게 오는 트래픽뿐만아니라 탐지를 통해서 다 받을수있게됌

ifconfig    (interface configure)

sudo ethtool   (bad command)

sudo ethtool -k enp0s3

 

ethtool

gro 없애기

sudo ethtool -k enp0s3  | (파이프라인) grep receive-offload

systemctl status ssh

 

sudo touch /etc/systemd/system/snort3-nic.service

cat /usr/lib/systemd/syetem/ssh.service

 

sudo ethtool -K enp0s3 gro off lro off

systemctl caemon-reload

systemctl status snort3-nic

systemctl start snort3-nic

sudo systemctl status snort3-nic

sudo systemctl enable snort3-nisu

 

snort.org 에서 Rules 다운받기

sudo mkdir /usr/local/etc/snort/rules

sudo wget -qO- https://www.snort.org/downloads/ ....  (다운로드안됌)

 

sudo vi /usr/local/etc/snort/snort.lua

 

 

set nu   (number) 행마다 번호 

24. HOME_NET = '192.168.16.0/24'   네트워크 변수 이름

28. EXTERNAL_NET = '!$HOME_NET'

 

 

193. rules 추가하기

snort3-community.rules

sudo snort -c /usr/local/etc/snort/snort.lua

 

 sudo vi local.rules

alert icmp any any -> $HOME_NET (192.168.16.0 도 가능) any (msg:"Incoming  ICMP"; "sid:1000001; rev:1;)

 sudo snort -c /usr/local/etc/snort/snort.lua -i enp0s3 -A alert_fast -s 65535 -k none -R /usr/local/etc/snort/rules/local.rules

 

 

계속 에러가 났는데, 이유는 rules를 작성하고 엔터를 두번쳤으므로 2 incomplete rules 에러가 계속 나왔다.

빈 공간을 제거해주니 에러가 없어졌다.

 

cmd에서 핑을 보내니까 메세지가 잘 나오는 모습

 

 

putty에 접속하고있으므로 메세지가 뜨는 모습

cmd에서 192.168.16.74로 핑을 보내고, puTTy에 접속하니까 메세지가 잘 호출된다

 

새로 만들어보기 실습

git clone http://github.com/snort3/livdaq.git

wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.13/gperftools-2.13.tar.gz

wget https://github.com/snort3/snort3/archive/refs/heads/master.zip

sudo apt install git

sudo apt install unzip