본문 바로가기

보안

[snort] 설치

반응형

개요

정보보안(산업)기사 시험에 자주 등장하는 snort를 설치하고 실행해 보자. snort(https://www.snort.org/)는 snort 홈페이지에서 다운로드 받을수 있는데 소스형태와 바이너리 형태 둘다를 지원한다. 바이너리는 윈도우, 페도라, CentOS를 지원한다. snort는 전통적인 snort 버전과 snort-openappid 두가지의 버전이 있다. 차이점은 snort-openappid는 어플리케이션을 인지하는 모듈이 탑재돼 있다는 것이다.

테스트 환경

Cent OS 7.6(64bit)

snort-2.9.14.1-1

 

설치

step 1) EPEL(Extra Packages for Enterprise Linux) Repository 설치

shell> yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

step 2) snort 를 설치하기전에 daq,libdnet-devel 의존성 패키지 설치.

shell> yum install daq libdnet-devel

step 3) snort 설치 설치

shell> rpm -Uvh snort-2.9.14.1-1.centos7.x86_64.rpm 

설치가 끝났고 이제 실행해 보자

shell> snort

snort: error while loading shared libraries: libdnet.1: cannot open shared object file: No such file or directory

라이브러리가 없단다. libdnet 설치가 되어있는데도 없다고 나온다. 이럴 경우에 /lib64로 가서 libdnet.so.1.0.1을 libdnet.1 로 심볼릭 링크를 걸어주자~

shell> cd /lib64

shell> ln -s libdnet.so.1.0.1 libdnet.1

설치가 완료 되었다.

 

snort.conf 수정

아래 명령어로 snort.conf 파일을 검증하면 에러가 나올것이다.

shell> snort -T -c /etc/snort/snort.conf

-T 옵션 : snort.conf파일의 validation 검증

하나하나 로그를 보면서 snort.conf 파일을 수정하도록 하자.

 

1) WHITE_LIST_PATH,BLACK_LIST_PATH 변수값 수정

여기서는 /etc/snort/rules 위치로 변경

변경전
변경후

2) white_list.rules, black_list.rules  (빈)파일 생성

shell> cd /etc/snort/rules

shell> touch white_list.rules black_list.rules

3) include 문 주석

local.rules을 제외한 나머지는 주석(#)처리, 초기 설치시 해당 rule이 없으므로 site specific rules 모두를 주석 처리한다.

변경전
변경후

4) local.rules 파일 생성(빈 파일)

shell> touch /etc/snort/rules/local.rules

5) dynamicdetection 라인 주석(#)처리

변경전
변경후

6) snort.conf 파일 검정

shell> snort -T -c /etc/snort/snort.conf

7) snort 실행

forground

shell> snort -i eth0 -c /etc/snort/snort.conf

background(Daemon) 

shell> snort -i eth0 -c /etc/snort/snort.conf -D

8) snort 옵션

-D : Daemon 으로 작동 

-v :  tcp/ip header 출력( snort -v )

-e : 링크계층 헤더출력( snort -ve )

-d : application data 을 hex, ascii 두개로 출력( snort -ved )

-C : 패킷 페이로드 부분을 Ascii만 출력

-l(소문자 L) : 로그 디렉토리( snort -ved -l /var/log/snort )

-I(대문자 i) : 수신 인터페이스 이름을 alert파일에 기록 ( snort -i ens32 -I -c /etc/snort/snort.conf )

 

마치며

지금까지 snort 설치에 대해 알아보았다. 다음에는 snort 활용방안에 대해 좀더 알아 봐야겠다.

 

 

 

 

반응형

'보안' 카테고리의 다른 글

[iptables] 활용  (0) 2019.11.05
[snort] 활용2  (0) 2019.11.01
[wireshark] IP fragments 패킷 필터링  (1) 2019.10.30
[nmap]활용  (0) 2019.10.29
[Snort] 활용1  (0) 2019.10.28