'수리카타 설치'에 해당되는 글 1건


======================================================


시스템 구축 준비

Suricata를 시작하기 전에 시스템및 소프트웨어 최신 업!


1. command:

apt-get update -y apt-get upgrade -y

필요한 패키지 설치

Suricata를 설치하기 전에 Suricata의 종속성이란걸 설치하여야 한다

다음 명령은 필요한 모든 종속성을 설치

 

2. command:

apt-get install libpcre3-dbg libpcre3-dev autoconf automake libtool 
libpcap-dev libnet1-dev libyaml-dev libjansson4 libcap-ng-dev 
libmagic-dev libjansson-dev zlib1g-dev

 

기본으로 Suricata는 침입 탐지 시스템으로 작동한다함

Suricata를 침입 탐지 외에 침입 차단 기능을 사용하려면 패키지 추가 필요

3. command:

apt-get install libnetfilter-queue-dev libnetfilter-queue1 libnfnetlink-dev

 

Suricata설치

Suricata를 설치할 수 있는 두가지 방법


1. 원본에서 Suricata설치
2.UbuntuPPA에서 가져온 Suricata설치


원본에서 Suricata설치

먼저 공식 웹 사이트에서  Suricata버전을 다운로드

wget https://www.openinfosecfoundation.org/download/suricata-4.0.4.tar.gz
tar -xvzf suricata-4.0.4.tar.gz
cd suricata-4.0.4 
./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make 
make install
make install-conf

UbuntuPPA에서 Suricata설치

먼저 SuricataPPA를 Ubuntu저장소에 추가
다음 명령을 실행.

add-apt-repository ppa:oisf/suricata-stable
apt-get update -y
apt-get install suricata suricata-dbg -y

 

Suricata구성

룰 규칙이 없으면 탐지 및 차단을 못하므로 룰 규칙 집합들을 다운로드 하자
아래 명령어를 실행

make install-rules

You can see all the installed rule sets inside /etc/suricata/rules directory:

ls /etc/suricata/rules/

 

 

 

Suricata.yaml 에 Suricata 옵션 설정 

vim /etc/suricata/suricata.yaml

해당 yaml 파일은 수리카타 옵션 설정 파일이며 해당 파일에서

설정된 값으로 랜 물리는 역할을 진행 할 수 있다

var섹션에서 HOME_NET및 EXTERNAL_NET과 같은 중요한 변수 수정 가능

인프라 요구 사항에 따라 다음과 같은 변수를 변경

 HOME_NET: "[192.168.1.188]" 
 EXTERNAL_NET: "!$HOME_NET"

 

참고:

home_net 은 탐지 대상 네트워크가 된다.

 

수리카타 테스트

시작하기 전에 Suricata가 수신 중인 NIC에서 패킷 오프로드 기능을 끄는 것이 좋음

다음 명령을 사용하여 인터페이스 eth0에서 LRO0GRO를 끌 수 있음

ethtool -K eth0 gro off lro off

 테스트 rule 제작

vim /etc/suricata/rules/test.rules

icmp 패킷 발생시 alert 경고를 알리는 rule 명령어

 alert icmp any any -> $HOME_NET any (msg:"ICMP connection attempt"; sid:1000002; rev:1;) 
 alert tcp any any -> $HOME_NET 23 (msg:"TELNET connection attempt"; sid:1000003; rev:1;)

rule 제작 한 후 /etc/suricata/suricata.yaml 들어가서 밑에 룰 추가

그래야 적용됨

 - test.rules


IDS , IPS 실행 할 때 둘 중 하나만 해줘도 된다. 


★수리카타 IDS 모드 실행 명령어★

실행시 중요

-D는 데몬 실행이기에 빼주는게 좋다.

suricata -D -c /etc/suricata/suricata.yaml -i eth0

 

fast.log - Rule에 탐지 되는 로그들을

실시간으로 보여준다

 

tail -f /var/log/suricata/fast.log

 


★수리카타 IPS 모드 방법

 

drop.log - Rule에 차단 되는 로그들을

기록하여 저장한다. 이건 Suricata.yaml 설정에 yes 시켜야 한다.

 

tail -f /var/log/suricata/drop.log

 

차단을 하기 위해서 iptables (리눅스 방화벽) 부분에 Suricata 부분과 연동을 해서 네트워크 패킷을 실시간으로 Suricata에서 읽어와야 하기 때문에 Suricata의 특정 함수로 네트워크 패킷들을 보내주어야 한다.


특정 함수는 "NFQUEUE" 이며, 이게 곧 Suricata로 보내주는 역할이다.

밑에는 INTPUT , OUTPUT 모든 네트워크들을 보내주는 명령어

sudo iptables -I INPUT -j NFQUEUE
sudo iptables -I OUTPUT -j NFQUEUE


만약 TCP 통신만 하는걸 Suricata에 보내주고 싶다면, 이게 되겠지


sudo iptables -I INPUT -p tcp  -j NFQUEUE
sudo iptables -I OUTPUT -p tcp -j NFQUEUE



IPS 실행 명령어는 이거이다.

suricata -c /etc/suricata/suricata.yaml -q 0

 






 

ㄹㄹ

블로그 이미지

_B_G_

,