2008. 7. 10. 14:37
linux - snort , NIDS
2008. 7. 10. 14:37 in linux
snort
------------------------------------------------------------------------------------------------------
1. snort 는 공개형 s/w 가장 대표적인 침입탐지 시스템이다
2. 패킷 수집 라이브러리인 libpcat에 기반한 네트워크 스니퍼로 정의되며 침입탐지 rule들에 일치 하는 네트워크 트래픽을 감시, 기록, 경고 할 수 있다.
3. Overflow, Stealth 포트 스캔, CGI공격, SMB탐색, OS확인 시도등 다양한 공격에 대해 탐지가 가능하다.
4. 탐지 룰은 지속적으로 업데이트 되며, 자신이 직접 작성할 수 있으므로 최신의 공격에 대응이 가능하다.
------------------------------------------------------------------------------------------------------
SPAN을 이용한 snort 구성
------------------------------------------------------------------------------------------------------
switch에 물린 각 client가 물려져 있다면 이에 더해서 IDS를 같이 물려 사용할 수 있다.
이때 이용하는 방법이 switch에 SPAN이다. 또는 미러링 포트, 모니터 포트라고도 한다.
----------------------------
|ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ | Switch
-+---+------------------+--
| | |
clientS .... IDS
------------------------------------------------------------------------------------------------------
설치 전 준비사항
------------------------------------------------------------------------------------------------------
libpcap
: http://www.tcpdump.org
: libpcat v0.9.8
: wget http://www.tcpdump.org/release/libpcap-0.9.8.tar.gz
pcre
: http://sourceforge.net/progect.showfiles.php?group_id=10194
: pcre , pcre-devel
snort
: snort v2.6.1.5
: 소스 http://www.snort.org/dl/old/snort-2.6.1.5.tar.gz
: sign http://www.snort.org/dl/old/snort-2.6.1.5.tar.gz.sig
: 공개키 http://www.snort.org/sl/pubkeys/public_key_2601
------------------------------------------------------------------------------------------------------
설치
------------------------------------------------------------------------------------------------------
libpcap과 pcre는 설치되어있으나 pcre-devel은 없다. yum을 통해서 설치하자. 역시 앞의 두가지도 없다면 설치하자
snort 설치
# wget http://www.snort.org/dl/old/snort-2.6.1.5.tar.gz.sig
# wget http://www.snort.org/sl/pubkeys/public_key_2601
# gpg --import public_key_2601
# gpg --list-key // 공개키값을 확인하자
# gpg --edit-key ####(공개키값 )
command> trust
command> 5
y
command> quit
# gpg --verify snort-2.6.1.5.tar.gz.sig snort-2.6.1.5.tar.gz
// 하게 되면 good signature 어쩌구 저쩌구 나온다
이작업은 snort에 대한 변조 유무를 확인 하는작업이다.
tip . 에러 메시지 뜰때는 # rdate -s time.bora.net으로 시간 동기화를 해보길 바란다.
# tar xvzf snort-2.6.1.5.tar.gz
]# cd snort-2.6.1.5
# ls
COPYING aclocal.m4 contrib m4 src
ChangeLog config.guess depcomp missing templates
LICENSE config.h.in doc mkinstalldirs verstuff.pl
Makefile.am config.sub etc rpm
Makefile.in configure install-sh schemas
RELEASE.NOTES configure.in ltmain.sh snort.8
# ./configure && make && make install
# echo $?
touble 발생
헌데 문제가 생겼다 libpcap 문제로 설치 중단이 되었다. 해서 원본 소르를 받아 설치하려
tcpdump 사이트를 뒤져 봤으나
사이트가 문을 닫은 상태였다 ..
해서 일단 중지
------------------------------------------------------------------------------------------------------
하여 이리저리 문서를 찾은 결과
CentOS에서는 libpcap-devel을 설치 한뒤에 해야 한단다. 설치해야 한다는건지 필요하다는건지''
죄 영어라 원..
fedora 로 썼을때는 따로 설치 한 기억이없었는데 이거원..... 가짢은게 괴롭힌다...
http://www.snort.org/archive-11-4370.html
# yum -y install libpcap-devel
설치후
# ./configure && make && make install
이자 잘된다 ㅡ.,ㅡㅋ
# echo $?
0
설치끝 ㅡ.,ㅡ헥헥
------------------------------------------------------------------------------------------------------
snort의 동작 방식
------------------------------------------------------------------------------------------------------
1. 스니핑 모드 (ethereal 처럼 패킷을 캡쳐, 화면에 출력)
2. 로깅 모드(파일에 저장)
3. 침입탐지 모드
------------------------------------------------------------------------------------------------------
1. 스니핑 모드
------------------------------------------------------------------------------------------------------
[fedora]
# snort -v
[centos]
# nmap -sS -O -v 192.168.10.30 // 조금 하다가 중지
[fedora]
관찰 정보가 주르르륵 뜬다 탐지가 된다는것
[centos]
ctrn +z
# pkill -9 snort
# ps -ef | grep snort
snort가 남아있는지 확인~
------------------------------------------------------------------------------------------------------
2. 로깅 모드(파일에 저장)
------------------------------------------------------------------------------------------------------
# snort --help
-K <mode> : logging mode (pcap (default), ascii, none)
# snort -vde -K ascii // log 디렉토리가 없어 에러
# mkdir /var/log/snort 로그 디렉토리 생성
# snort -vde -K ascii
-v: verbose
-d : dump the application layer
-e : display the second layer header info
-vde : layer 2~7 packet 정보 감시
[xp]
telnet 192.168.10.10 [fedora]
------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
1. snort 는 공개형 s/w 가장 대표적인 침입탐지 시스템이다
2. 패킷 수집 라이브러리인 libpcat에 기반한 네트워크 스니퍼로 정의되며 침입탐지 rule들에 일치 하는 네트워크 트래픽을 감시, 기록, 경고 할 수 있다.
3. Overflow, Stealth 포트 스캔, CGI공격, SMB탐색, OS확인 시도등 다양한 공격에 대해 탐지가 가능하다.
4. 탐지 룰은 지속적으로 업데이트 되며, 자신이 직접 작성할 수 있으므로 최신의 공격에 대응이 가능하다.
------------------------------------------------------------------------------------------------------
SPAN을 이용한 snort 구성
------------------------------------------------------------------------------------------------------
switch에 물린 각 client가 물려져 있다면 이에 더해서 IDS를 같이 물려 사용할 수 있다.
이때 이용하는 방법이 switch에 SPAN이다. 또는 미러링 포트, 모니터 포트라고도 한다.
----------------------------
|ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ | Switch
-+---+------------------+--
| | |
clientS .... IDS
------------------------------------------------------------------------------------------------------
설치 전 준비사항
------------------------------------------------------------------------------------------------------
libpcap
: http://www.tcpdump.org
: libpcat v0.9.8
: wget http://www.tcpdump.org/release/libpcap-0.9.8.tar.gz
pcre
: http://sourceforge.net/progect.showfiles.php?group_id=10194
: pcre , pcre-devel
snort
: snort v2.6.1.5
: 소스 http://www.snort.org/dl/old/snort-2.6.1.5.tar.gz
: sign http://www.snort.org/dl/old/snort-2.6.1.5.tar.gz.sig
: 공개키 http://www.snort.org/sl/pubkeys/public_key_2601
------------------------------------------------------------------------------------------------------
설치
------------------------------------------------------------------------------------------------------
libpcap과 pcre는 설치되어있으나 pcre-devel은 없다. yum을 통해서 설치하자. 역시 앞의 두가지도 없다면 설치하자
snort 설치
# wget http://www.snort.org/dl/old/snort-2.6.1.5.tar.gz.sig
# wget http://www.snort.org/sl/pubkeys/public_key_2601
# gpg --import public_key_2601
# gpg --list-key // 공개키값을 확인하자
# gpg --edit-key ####(공개키값 )
command> trust
command> 5
y
command> quit
# gpg --verify snort-2.6.1.5.tar.gz.sig snort-2.6.1.5.tar.gz
// 하게 되면 good signature 어쩌구 저쩌구 나온다
이작업은 snort에 대한 변조 유무를 확인 하는작업이다.
tip . 에러 메시지 뜰때는 # rdate -s time.bora.net으로 시간 동기화를 해보길 바란다.
# tar xvzf snort-2.6.1.5.tar.gz
]# cd snort-2.6.1.5
# ls
COPYING aclocal.m4 contrib m4 src
ChangeLog config.guess depcomp missing templates
LICENSE config.h.in doc mkinstalldirs verstuff.pl
Makefile.am config.sub etc rpm
Makefile.in configure install-sh schemas
RELEASE.NOTES configure.in ltmain.sh snort.8
# ./configure && make && make install
# echo $?
touble 발생
헌데 문제가 생겼다 libpcap 문제로 설치 중단이 되었다. 해서 원본 소르를 받아 설치하려
tcpdump 사이트를 뒤져 봤으나
사이트가 문을 닫은 상태였다 ..
해서 일단 중지
------------------------------------------------------------------------------------------------------
하여 이리저리 문서를 찾은 결과
CentOS에서는 libpcap-devel을 설치 한뒤에 해야 한단다. 설치해야 한다는건지 필요하다는건지''
죄 영어라 원..
fedora 로 썼을때는 따로 설치 한 기억이없었는데 이거원..... 가짢은게 괴롭힌다...
http://www.snort.org/archive-11-4370.html
# yum -y install libpcap-devel
설치후
# ./configure && make && make install
이자 잘된다 ㅡ.,ㅡㅋ
# echo $?
0
설치끝 ㅡ.,ㅡ헥헥
------------------------------------------------------------------------------------------------------
snort의 동작 방식
------------------------------------------------------------------------------------------------------
1. 스니핑 모드 (ethereal 처럼 패킷을 캡쳐, 화면에 출력)
2. 로깅 모드(파일에 저장)
3. 침입탐지 모드
------------------------------------------------------------------------------------------------------
1. 스니핑 모드
------------------------------------------------------------------------------------------------------
[fedora]
# snort -v
[centos]
# nmap -sS -O -v 192.168.10.30 // 조금 하다가 중지
[fedora]
관찰 정보가 주르르륵 뜬다 탐지가 된다는것
[centos]
ctrn +z
# pkill -9 snort
# ps -ef | grep snort
snort가 남아있는지 확인~
------------------------------------------------------------------------------------------------------
2. 로깅 모드(파일에 저장)
------------------------------------------------------------------------------------------------------
# snort --help
-K <mode> : logging mode (pcap (default), ascii, none)
# snort -vde -K ascii // log 디렉토리가 없어 에러
# mkdir /var/log/snort 로그 디렉토리 생성
# snort -vde -K ascii
-v: verbose
-d : dump the application layer
-e : display the second layer header info
-vde : layer 2~7 packet 정보 감시
[xp]
telnet 192.168.10.10 [fedora]
------------------------------------------------------------------------------------------------------