snort -- install

linux/Install 2007. 3. 15. 22:26
원문: http://www.linuxnewbie.org/nhf/intel/security/snort.html

저자: DrSuSE

날짜:

제목: SuSe 6.x-7.x에 Snort 1.6.3 설치하기
Home Page: http://www.snort.org

해설:
Snort는 실시간 트래픽 분석과 IP 네트워크 상에 패킷 로그를 할 수 있는 크기가 작은 네트워크 침입 탐지 시스템이다. 이것은 프로토콜 분석, 내용 검색/매칭을 수행할 수 있으며 오버플로우, 은밀한 포트 스캔, CGI 공격, SMB 탐색, OS 탐지 시도 등 그 밖의 여러 가지 종류의 공격과 탐사를 탐지하는 데 사용할 수 있다. Snort는 탐지 엔진이 사용하는 모듈라 플러그인 아키텍처뿐만 아니라 모으거나 넘겨 버려야만 하는 트래픽을 설명하는 유연한 룰 언어를 사용한다. 또한 Snort는 syslog, 사용자 명시 파일, UNIX 소켓 또는 Samba의 smbclient를 사용하는 Windows 클라이언트에게 사용되는 WinPopup 메시지와 함께 쓸 수 있는 실시간 경계 경보 능력을 갖추고 있다.

필수 사항:
반드시 libpcap과 tcpdump가 설치되어야 한다. SuSe 리눅스는 이 모두를 포함하고 있지만 최신 버전을 설치하고 싶거나 어떤 이유에서 이것들을 가지고 있지 않다면, 다음에서 찾을 수 있다:
libpcap
tcpdump


1. 루트로 로긴한다.

2. Snort 1.6.3 소스를 가져와서 여러분의 /tmp 디렉토리에 저장한다.

3. /tmp 디렉토리로 옮겨간 다음 다음의 명령을 이용해서 snort 파일의 압축을 해제한다:
tar -xvzf snort-1.6.3.tar.gz

4. /tmp/snort-1.6.3로 옮겨간다.

5. 다음을 입력해서 configure를 실행한다:
./configure

6. 다음을 입력해서 make를 실행한다:
make

7. 다음을 입력해서 make install을 실행한다:
make install

8. /etc 디렉토리 안에 snort 디렉토리를 만든다:
mkdir /etc/snort

9. snort 로그 디렉토리를 만든다: mkdir /var/log/snort

10. 이제, Snort 룰 파일들을 옮길 필요가 있다. /tmp/snort-1.6.3 디렉토리에서 다음을 입력하라:
mv *lib /etc/snort

11. 여러분이 편하게 쓸 수 있는 편집기로 /etc/snort/snort-lib을 편집하자. 나 Dr SuSE 는 vi를 좋아한다.

12. 우리가 맨 처음 해야 할 일은 HOME_NET 변수를 찾아서 편집하는 것이다. 그 변수를 여러분의 네트워크 범위를 반영하도록 변경하라. 내 것은 192.0.0.1/24 이다.

13. DNS_SERVER가 있는 라인에 닿을 때까지 아래로 내려와서 그 변수가 여러분의 DNS나 ISP의 DNS 서버를 반영하도록 변경하라.

14. 오케이, 이제 "preprocessor portscan: $HOME_NET 4 3 portscan.log" 이란 라인을 찾을 때가지 아래로 내려와서 portscan.log가 /var/log/snort을 가리키도록 변경하라. 그 라인은 다음과 같은 모습이 될 것이다:
preprocessor portscan: $HOME_NET 4 3 /var/log/snort/portscan.log

15. 좋다, 이제 한참 아래 쪽을 살펴보면 "include something-lib"으로 시작하는 일련의 라인들을 볼 수 있을 것이다. 이 각각의 라인을 다음과 같이 전체 경로를 반영하도록 변경하라:
include /etc/snort/webcgi-lib

16. 오케이, 파일을 저장하자.

이제 Snort는 사용할 수 있게 되었지만 여러분의 컴퓨터가 부트 할 때마다 시작하게 만들어야 한다.

1. SuSE Linux Solutions AG의 Matthias Eckermann에 의해 작성된 snort-init 스크립트를 가져오도록 하라. 다음에 제시된 곳에서 가져올 수 있다.

LNO
DrSuSE.org
SGS NetWerks


2. snort-init 파일을 /etc/rc,d/init.d 디렉토리에 snort란 이름으로 옮겨라:
mv ./snort-init /etc/rc.d/init.d/snort

3. 몇 가지 심볼릭 링크를 만들기 위해서 /etc/rc.d/init.d로 옮겨가라. 다음의 두 개의 명령을 실행하라:
ln -s ../snort /sbin/init.d/rc2.d/S26snort
ln -s ../snort /sbin/init.d/rc2.d/K26snort

4. /etc/rc.d/init.d/snort을 수행 가능하게 만들어라. /etc/rc.d/init.d 디렉토리에서 다음을 입력하라:
chmod +x ./snort

5. /etc 디렉토리에 있는 rc.config 파일을 편집해서 다음의 라인을 맨 마지막에 더해 넣어라:
START_SNORT="yes"

6. 오케이, rc.config 파일에 관해서는 이것이 전부이다. 이제 rc.config 파일을 저장하고 몇몇의 패킷이 snortin이 되게 하자.

shutdown -hr now 을 하거나 telinit s 하고 난 다음에 telinit 2을 할 수도 있다.

음, 만일 모든 것이 잘 되었다면, 여러분의 컴퓨터는 snortin 패킷일 것이고 경계 경보를 로그로 기록할 수 있다.

다음의 명령을 이용해서 Snort가 실행되고 있는지 확인해 볼 수 있다:
ps -ax | grep snort

SuSE 6.x-7.x에 SnortSnarf 설치하기


1. 최신 버전의 SnortSnarf를 Silicon Defense에서 가져와서 여러분의 /tmp 디렉토리에 두도록 하라.

2. /tmp 디렉토리로 옮긴 다음 다음의 명령을 이용해서 압축을 해제하라:
tar -xvzf ./SnortSnarf-100400.1.tar.gz

3. /tmp/SnortSnarf-100400.1/include 디렉토리로 옮겨 가도록 하라

4. include 디렉토리에 있는 모든 파일을 /usr/lib/perl5/site_perl로 복사하라.
cp ./* /usr/lib/perl5/site_perl/5.005/

5. /tmp/SnortSnarf-100400.1/cgi로 옮겨 가도록 하라.

6. cgi 디렉토리에 있는 모든 파일을 /usr/local/httpd/cgi-bin으로 복사하라.
cp ./* /usr/local/httpd/cgi-bin/

7. 이제 다시 /tmp/SnortSnarf-100400.1 디렉토리로 돌아가서 파일 snortsnarf.pl을 여러분이 지정하는 디렉토리에 복사하라. 나는 /snarf란 이름의 디렉토리를 만들어서 거기에 복사했다.

8. 파일 snortsnarf.pl을 둔 곳으로 가서 다음 명령을 실행하자:
./snortsnarf.pl -rulesdir /etc/snort -rulesfile /etc/snort/snort-lib -d /usr/local/httpd/htdocs/snort /var/log/snort/snort.alert /var/log/snort/portscan.log

TIP: 매우 긴 명령이니까, 스크립트로 작성하는 편이 좋을 것이다.

만일 모든 것이 계획된 대로 실행된다면, 여러분의 SnortSnarf 결과 페이지를 http://efrit.pe.kr:9000/snort 에서 볼 수 있을 것이다.

그 페이지가 어떻게 생겼는지 알고 싶다고? 여기를 눌러서 내 SnortSnarf 페이지와 비교해 보라.

결론:
여러분이 Snort와 SnortSnarf를 잘 이용하고 이 NHF가 조금이라도 여러분에게 도움이 되기를 바란다. 이 NHF에서는 Snort와 SnortSnarf의 많은 특성들을 다루지 못했으므로 이들 사항에 대해 더 많이 배우도록 하라.

얼마 지나지 않아 여러분 자신의 Snort 룰을 작성하는 데에 능숙해지고 여러분 중 몇몇은 업무적으로 Snort를 설치하고 관리할 기회를 갖게 될 지도 모른다. Snort는 네트워크 공격과 TCP/IP에 대해서 배울 수 있는 아주 뛰어난 도구이며 작업하기 즐거운 어플리케이션이다. 나는 여러분이 내가 snort를 즐기는 만큼 즐길 것이라고 확신한다. 만일 실행 도중에 문제가 발생하면, www.snort.org의 Snort 사용자 포럼을 이용해서 도움을 얻을 수 있다. 여러분의 이메일은 항상 환영하며 내게 시간이 있다면 언제나 기꺼이 도울 것이다.

관련 링크:
Official Snort site
arachNIDS
SnortSnarf

감사의 말:
Marty Roesch: 우리에게 Snort를 줄 책임을 갖고 있는 사람.
Matthias Eckermann: Matthias는 Snort init 스크립트를 작성했고 SUSE에서 나와 일자리를 경쟁했다.
The Snort Team: 누구인지는 여러분 자신이 알 것이다…FEDS도 그렇고.;)
Stuart, James and Joe: SnortSnarf를 작성한 Silicon Defense 직원들.
Max Vision: uber 31337 arachNIDS 데이터베이스의 Masta.
Sensei: .com이 아닌 www.linuxnewbie.ORG

'linux > Install' 카테고리의 다른 글

ntop install  (0) 2007.03.16
awstats 설치  (0) 2007.03.15
BIND 9 installation  (0) 2007.03.15
nagios 설치 -- 임시  (0) 2007.03.15
apm-임시  (0) 2007.03.15
Posted by efrit
,