-
sourcefire사에서 만든 NIDS
-
실시간 traffic 분석&packet logging용으로 적합
-
수많은 개발자들에 의한 rule 제공
-
물론 상용 rule는 구하기 어려움(돈주고 사야 함)
-
다양한 OS를 지원
-
open source(GPL license)
-
국내 많은 업체에서 snort를 (몰래) 사용
-
새로 만든다 하더라도 snort 만큼 performance를 낼 수 있는 software는 만들기 어려움(시간이 많이 걸림)
-
snort에 적용된 수많은 최적화 algorithm을 배워서 구현한다는 것은 현실적으로 적합하지 않음
- aho-corasick algorithmn
- 일반적으로 multi-string 검색에 적합
- snort의 fast_pattern에 사용됨
- http://en.wikipedia.org/wiki/Aho%E2%80%93Corasick_string_matching_algorithm
http://www.prism.gatech.edu/~jgirata3/boyermoore/
-
일반적으로 single string 검색에 적합
-
snort rule의 content에서 사용됨
-
http://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm
-
multi-core, multi-threading 지원
-
기존 snort rule과 완벽 호환
-
gpu 하드웨어 가속 지원
-
lua와 같은 script language와 interface 가능
3. suricata install
-
platform마다 compile&install 이 각기 다름
-
한번 익혀 두는 것이 좋음
-
https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricata_Installation
sudo apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 \
make libmagic-dev
5) suricata install(HTP)
wget http://www.openinfosecfoundation.org/download/libhtp-0.2.3.tar.gz
tar -xzvf libhtp-0.2.3.tar.gz
cd libhtp-0.2.3
./configure
make
make install
6) suricata install(IPS)
sudo apt-get -y install libnetfilter-queue-dev libnetfilter-queue1 libnfnetlink-dev libnfnetlink0
7) suricata install(suricata)
wget http://www.openinfosecfoundation.org/download/suricata-1.4.4.tar.gz
tar -xvzf suricata-1.4.4.tar.gz
cd suricata-1.4.4
8) suricata install(Compile and install the engine)
./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var
9) suricata install(Auto setup)
./configure
make
make install-conf
make install-rules
make install-full
4. 설치 확인
- 명령어 확인
# suricata
5. 설정
-
/etc/suricata.yaml 파일을 수정한다
rule-files:을 찾아서 전부 주석(#)처리를 하고 " - test.rules " 내용을 추가한다.
-
/etc/suricata/rules/test.rules 파일에 다음과 같은 내용으로 저장한다.
alert tcp any any -> any 80 (msg:"test rule"; content:"GET /"; content:"Host: www.gilgil.net"; sid:10001; rev:1;)
alert tcp any any -> any 80 (msg:"test rule"; content:"GET /"; content:"Host: www.naver.com"; sid:10002; rev:1;)
6. 동작 확인(로그)
/var/log/suricata/fast.log 파일 확인
-
/src/alert-fastlog.c 파일의 AlertFastLogIPv4 함수 하단의 fprintf 문에 테스트 코드를 추가하여 컴파일한다
-
수정된 컴파일 모듈이 제대로 실행이 되는지 확인한다
'Cyber Security' 카테고리의 다른 글
웹 해킹의 기초 (0) | 2020.02.22 |
---|---|
모바일 취약점 진단 (정리중) (0) | 2020.02.20 |
vulnhub 사이트 실습해보기 - Chanakya_1 (0) | 2020.02.10 |
Kali linux - Virtual box guest addition을 사용한 화면 크기 조절 (0) | 2020.02.04 |
비박스 환경을 활용한 웹 모의해킹 완벽 실습 - OS 커맨드 인젝션 (0) | 2020.01.22 |