IT 이야기2011. 1. 15. 02:58
사용자 삽입 이미지


Ubunto 11.04, Snort-2.8.5.5, php5

snort가 IDS로는 가장 강력한 툴인것을 알면서도 그놈의 디펜던시 때문에 번번히 설치를 실패했었다. 책을 사서 읽어봐도 매번 버전이 바뀌니 바뀌면서 폴더도 바뀌고 그 바뀐거 어딨냐고 구글에 아무리 외쳐도 대답하는놈 하나 없고.근데 최근에 우분투를 깔아보고 신세계를 경험했다. 이건 뭐 apt-get이면 웬만하면 다 갖다 붙는다. 물론 디펜던시 문제는 계속 나타나긴 하지만 페도라에 비하면 이정도쯤이야 우습게 넘겨줄 수 있다.

구글을 아무리 뒤져서 잘 쓰여진 설치가이드를 봐도 결국에는 정식사이트의 메뉴얼만 못한게 정석이라는게 내 생각이다. 블로거들이 저마다 자신의 독특한 방법을 (초심자의 입장에서) 설명하지만 정작 시스템도 다르고 버전도 바꼈고 해서 결국 적영가능한 설명서는 정식사이트의 설치가이드가 아닌가 싶다.

Snort로 돌아와서, 획기적으로 간단한 설치법이 있으므로 Snort 설치에 실패한 사용자여 돌아오라'를 외치고 싶다. 그리고 돈주고 IDS사지마라'도 역시 외쳐주고 싶다. 설치에 들어가자.

우선 관리자 권한을 받자.
# sudo -i

apt-get을 업데이트 하자.
# apt-get update
# apt-get upgrade


Snort를 mysql과 함께 설치하자. 잘 모르겠지만 이 한줄의 컴멘드가 몇시간의 삽질을 단축시켰는지 모를것이다.
# apt-get install snort-mysql

Oinkmaster는 Snort rule을 항상 업데이트 시켜준다.
# apt-get install oinkmaster

설치가이드에서는 최신 룰을 받아서 업데이트 하라는데 일단 생략하겠다.

snort.conf를 환경에 맞게 변경한다.
# gedit /etc/snort/snort.conf

output log_tcpdump: tcpdump.log의 컴멘트(#)를 제거한다.

Snort의 작동을 확인한다.
# pgrep -; snort

시작하지 않는다면 Snort를 실행해준다.
# /etc/init.d/snort start

만약 에러메세지가 나오면 다음의 파일을 제거한다.
# rm /etc/snort/db-pending-config

Snort가 로그파일을 잘 뿌려주는지 확인해보자.
# tail -f /var/log/snort/alert

nmap을 통해서 포트스캔을 이루어 snort가 로그를 생성하는지 보겠다. (nmap은 네트워크 포트 스캐닝 툴로써 거의 모든 포트스캐닝의 원조격이다. 없다면 apt-get install nmap으로 설치하라. 참고로 nmap.org에서 영어공부와 병행해서 공부를 좀 해보던가 어설프지만 내가 연제한 nmap 사용법을 참고하기 바란다.)
# nmap -sX 당신의 아이피 입력

이 명령어는 오픈되어있는 포트가 있어야 로그가 생성되므로 ssh를 깔아준다.
# apt-get install ssh

XMAS스캔에 관련된 로그메세지가 나오면 당신의 침입탐지시스템은 작동완료!

이제 mysql로 웹에 뿌려줘서 가독성을 높이자.
# apt-get install mysql-server

snort.conf파일을 연다.
# gedit /etc/snort/snort.conf

gedit에서 다음의 명령어들을 적절하게 수정해준다.
output log_tcpdump: tcpdump.log
output database: log, mysql, user=snort password=snort_password dbname=snort host=localhost

mysql로 접속해서 데이타베이스를 생성해준다.
# mysql -u root
# set password for root@localhost=password('본인패스워드생성');
# create database snort;
# grant insert,select on root.* to snort@localhost;
# set password for snort@localhost=password('PASSWORD_SNORT_CONF');
# grant create,delete,insert,select,update on snort.* to snort@localhost;
# grant create,delete,insert,select,update on snort.* to snort;
# exit


Snort 테이블환경을 설정한다.
# gunzip /usr/share/doc/snort-mysql/create_mysql.gz
mysql -u root -p < /usr/share/doc/snort-mysql/create_mysql snort


Snort를 다시 시작한다.
# /etc/init.d/snort restart

Base 시스템을 위해서 다음을 설치해준다
# apt-get install apache2 php5-mysql libphp-adodb

http://base.secureideas.net/ 에서 최신버전을 받아서 풀고 옮겨준다. 설치는 필요하지 않다.
# tar -xvzf /home/username/Desktop/base-1.3.6.tar.gz
# mv base-1.3.6 /var/www/base


복사후 약간의 수정을 거쳐준다.
# cd /var/www/base
# cp base_conf.php.dist base_conf.php
# gedit base_conf.php


base_conf.php에서 다음과 같게 혹은 본인의 설정에 맞게 바꿔준다.
# $Base_urlpath = “/base”
# $Dblib_path = “/usr/share/adodb/”;
# $alert_dbname = 'snort';
# $alert_password = 'SNORT_PASSWORD';


아파치를 다시 실행하고 웹브라우저에서 localhost/base를 확인한다.
/etc/init.d/apache2 restart

Base AG를 클릭해서 설치를 완료한다. 이것으로 모든 작업은 끝이다. 추가로 그래픽적인 면을 높이기 위해 다음을 설치한다.
# apt-get install php5-gd php-pear
# pear install Image_Color
# pear install Image_Canvas-alpha
# pear install Image_Graph-alpha


아파치를 재 실행한다.
# /etc/init.d/apache2 restart

추가로 내부사용자들의 포트스캔을 로그화하지 않으려면 다음의 명령어를 /etc/snort/threshold.conf에 삽입한다.
# suppress gen_id 1 sig_id 2466, track by_src, ip 192.168.1.0/24

이제 Snort를 즐기세요!!!
사용자 삽입 이미지


원문출처:http://ubuntuforums.org/showthread.php?t=483488
Posted by 구텐모르겐
IT 이야기2009. 10. 7. 07:25
Snort의 탐지엔진을 기반으로 한 Sourcefire의 Snort는 취약점분석, 무정형적인 공격의 검색의 조합으로 10GB속도의 네트워크의 침입을 방지한다(자세히 보자, '탐지한다'가 아니고 '방지한다'이다.) inline모드와 passive모드로 되어 있고 복합적인 공격에 대한 솔루션을 제공해준다.

대부분의 제품들은 한가지 제품으로 모든 다양한 상황의 기업에 적용시키지만 Snort는 IPS, Adaptive IPS 그리고 Enterprise Threat Management로 구분하고 각 시스템에 맞는 옵션을 제공함으로 네트워크의 최적화를 도와준다.

Intrusion Prevention System
광범위한 분석법과 리포팅 시스템 그리고 활용성을 바탕으로 Sourcefire 3D Sensor와 Sourcefire Defense Center Management console로 취약점에 대한 감독과 방지가 가능하다.



Adaptive Intrusion Prevention System
Adaptive IPS의 Sourcefire RNA(realtime network awareness) 시스템을 통해 기업에서는 실시간으로 위험에 대한 평가와 튜닝이 가능하다. 3D Sensor를 통해 오류를 상당히 줄일수 있고 이는 작은 규모의 IT업체에게는 효과적일수 있다.

Enterprise Threat Management (ETM)
Sourcefire의 ETM시스템은 실시간으로 공격자, 목표호스트 그리고 네트워크 시스템의 상황까지 파악이 가능하다. 공격자에 대한 확인과 트랙킹이 가능하므로 공격자가 어떤 루트를 통해 접근하는지 확인 가능하다.

원문링크: http://www.sourcefire.com/solutions/etm/ips
Posted by 구텐모르겐