보안vs해킹2012. 10. 16. 06:04

 

Security Onion 설치가이드: Snort를 가장 쉽게 설치하는 법

 

개요

 

Security Onion은 Doug Burks라는 네트워크 보안쪽에 종사하는 사람이 만든 리눅스 배포판(Linux Distro.)이다. 백트랙 (Back Track)과 같이 여러가지 툴들을 모아놓은 라이브 씨디로 Security Onion 하나의 설치만으로 여러개의 네트워크 모니터 센서를 관리할 수 있다. Mandiant라는 네트워크 보안회사에 일하는 걸로 보이는데 Security Onion과 관계가 있는것 처럼 보이지는 않는 걸로 보인다.

 

특징

 

Security Onion 이 다른 네트워크 시스템과 다른점은 설치하는데 있어 엄청나게 편리하다는 점이다. 내 기억에 Snort를 알게 된 것이 2005년이었지만 Snort를 설치하고 사용하기까지는 몇개월의 시간이 걸렸던걸로 기억할만큼 dependency문제때문에라도 Snort는 작업하기 힘든 툴로 인식되어 있었다. 하지만 Security Onion을 통해서는 Snort뿐만 아니라 Suricata와 같은 네트워크 모니터링 센서를 사용할 수 있고 Snorby, Sguil, Squert와 같은 모니터링 툴을 이용해 룰을 관리할 수 있다. 이처럼 여러개의 툴들을 설치하는데 걸리는 시간을 Security Onion을 통해 혁신적으로 단축시킬 수 있다는 점이 Security Onion의 특징이다. 개인적으로 Security Onion에 대한 지나치리만치 찬사를 보내지만 이 또한 충분하지 않다고 생각될 정도로 네트워크 시큐리티 모니터 분야에서 필수적인 툴임에 분명하다.

 

사양

 

메모리는 1GB로 충분하지만 16GB가 추천사양이다. 데이타 공간은 90%가 되면 자동으로 삭제되지만 일반적으로 50Mb/s 의 전송속도라면 하루에 540GB의 패킷이 생성되게 된다. 물론 모든 패킷을 다 저장하지는 않지만 (팬타곤은 한다고 하던데) 그만큼 패킷을 저장하는데 큰 용량이 필요하므로 저장공간을 넉넉히 준비하는게 좋다. 아직 64bit 는 배포되지 않고 있다. 자세한 스펙은 아래의 링크를 참조 바란다. http://code.google.com/p/security-onion/wiki/Hardware

 

설치

 

현 최신버전은 12.04 BETA이고 http://sourceforge.net/projects/security-onion/files/에서 라이브 씨디를 받을 수 있다.

 

한번 간단히 맛을 보려는 사용자나 설치하면 안되는 시스템에서는 live로 부팅하고 아니면 세번째 칸에 있는 install을 통해 설치를 시작한다.

 

우분투 버전의 Xfce 데스크탑 환경의 xubuntu

 

21세기인 만큼 설치는 영어로. 물론 한글도 지원하지만 한글을 이해하는 것도 쉽지는 않을 것이다.

 

시간세팅은 본인의 GMT에 맞추면 되지만 Snort가 저장하는 시간은 GMT이다. 가끔 시스템 시간이 안맞다고 포럼에 올라오는 사람들이 있는데 Snort 혹은 Security Onion은 GMT를 따른다는 점을 명시하자.

 

기본 키보드는 영어로.

 

리눅스 파티션에 특별한 설정이 필요하지 않다면 'Erase and use the entire disk'를 설정한다.

 

이름과 패스워드를 등록한다. 시스템에 필요한 정보이고 Snort에는 차후에 다시 생성해야 한다.

 

클릭 Install!

 

자 이제 Security Onion이 설치되었다. 바탕화면에 보면 친절하게도 'Setup'이라는 아이콘이 있는데 이걸 클릭하면 Snort(또는 Suricata), Sguil, Snorby 그리고 Squert가 설치되게 된다.

 

당연히 Yes

 

여기서는 'No, use Advanced Setup'으로 간다. Quick Setup보다 본인이 원하는 세팅을 조정해주려면 Advanced Setup으로 가자.

 

Snort에서 센서라고 하면 네트워크 패킷을 받는 서버를 말하고 큰 네트워크에서는 여러개의 센서를 동시에 관리하기도 하는데 해당 서버가 센서인지 아님은 관리모드 서버인지를 물어보는 것이다. 여기서는 Both를 선택한다.

 

Suricata를 원한다면 No를 선택한다. 하지만 Snort를 선택하는 것을 추천한다.

 

네트워크 인터페이스가 여러개일 경우에 모니터할 것을 선택하는 것으로 여기서는 하나밖에 없으므로 eth0을 선택한다.

 

Snort에 쓰일 룰을 선택하는 창이다. Snort는 매달 30불정도 내면 최신 룰을 다운 받게 해주고 가입만하면 1달지난 룰을 무료로 받게 해준다. 또한 Emerging Threats GPL은 무료 룰로써 개인적으로 사용하기에는 문제가 없다. 물론 설치후에 계속적인 룰의 업데이트는 꼭 필요하다. 우선은 첫번째의 Emerging Threats GPL을 선택한다.

 

이메일로 아이디 역할을 하게 되므로 스팸걱정은 안해도 된다.

 

패스워드

 

패스워드 확인

 

자, 설치가 시작되니 고칠거 있으면 No로 가서 고치세요.

 

몇분만에 모든 센서와 모니터링 툴이 완성 되었다. 기본적인 룰은 /etc/nsm/rules/downloaded.rules에 들어가 있는데 16,000개가 넘는 룰이므로 본인이 확인후 쓸모없는것들은 지워줘야 한다.

 

바탕화면에 Squert 아이콘이 있을 것이다. Security Onion의 모든 웹서버는 https이므로 Certificate질문에 Yes라고 하면 다음과 같이 결과값이 나타나게 된다.

 

또한 바탕화면에 Snorby가 있는데 차세대 각광받는 Snort 모니터링 툴이다. 클라우드 버젼도 있어서 한달에 $10만 내면 웹브라우저를 통해 관리 할 수 있다.

 

자 이제 모든 설치가 끝났으니 아래의 사이트에 가서 본인의 센서가 작동하는지 확인해보자.

 

웹브라우저에서 http://testmyids.com 을 쳐보자.

 

위의 결과값은 Wireshark를 통해서 패킷을 캡춰한 사진이다. 위에서 볼 수 있듯이 외부이용자가 루트 권한으로 접근을 시도한 것을 볼 수 있다. 이제 이 시도한 것이 Squert와 Snorby에 감지되었는지 확인해보자.

 

Squert화면에 보면 마지막에 ET POLICY curl User-Agent Outbound라는 메세지가 보일것이다. 이로써 센서가 정확히 작동하고 있음을 알 수 있다. Snorby로 좀 더 자세히 알아보자.

 

Snorby를 통해 ASCII값을 볼 수 있는데 다음과 같이 센서에 잘 모니터되고 있음이 나타났다. Snorby의 강점은 이렇게 ASCII값으로 결과값을 보여줄 뿐만 아니라 Snorby관리툴을 통해서 룰을 고칠 수 있다. Squert나 BASE를 이용한다면 해당 룰로가서 룰을 비확성화 시켜줘야 하지만 Snorby는 클릭만으로 손쉽게 룰을 관리 할 수가 있다. 또한 트위터와 같은 Ruby on Rails를 이용해서 사용자의 눈에 편하다는 점이 있다.

 

안타깝지만 BASE는 1년여간 업데이트가 없어서 (현 1.4.5) Doug Burks나 Joel Esler (Snort Senior Engineer)같은 사람들은 BASE를 권장하지 않는다.

 

Security Onion을 설치하면 Sguil이라는 모니터링 툴도 함께 설치가 되는데 Sguil은 웹으로 관리가 되지 않는 단점이 있다. 하지만 Sguil은 큰 데이터분석에 강점을 가지고 있고 속도면에서도 상당히 빠르다. Security Onion의 데이타베이스를 보면 Snorby와 Sguil를 각각 다른 디비에 저장하고 있다. 비슷한 결과값들을 왜 다른 디비에 저장하는가 생각할 수도 있지만 Snorby만의 강점이 있고 Sguil만의 강점이 있으므로 두개를 번갈아가면서 사용하는 것이 일반적인 시큐리티 관리자가 사용하는 가장 무난한 방법이라고 생각한 듯 하다. 참고로 많은 전문가들은 이러한 툴을 사용하지 않고 tcpdump만 사용한다고 들었다. 아마도 실제모니터링 보다는 케이스스터디에 좀더 집중해서 그런 듯 하다.

 

애필로그

 

1. 프록시 설정

/etc/environment에 아래와 같이 설정한다.

export http_proxy=https://server:port
export https_proxy=https://server:port
export ftp_proxy=https://server:port

2. 만약 메모리가 4GB가 넘는다면 아래의 링크를 참조해서 PAE를 설정해 준다.

https://help.ubuntu.com/community/EnablingPAE

 

3. 커널 네트워크 버퍼 늘리기

echo "net.core.netdev_max_backlog = 10000
net.core.rmem_default = 50000000
net.core.rmem_max = 50000000
net.ipv4.tcp_mem = 194688 259584 389376
net.ipv4.tcp_rmem = 1048576 4194304 33554432"
| sudo tee /etc/sysctl.d/30-securityonion.conf
sudo sysctl
-p /etc/sysctl.d/30-securityonion.conf

4. 우분투 업데이트 하기

sudo apt-get update && sudo apt-get dist-upgrade

5. 센서 리스타트 하기

sudo nsm_sensor_ps-restart
Posted by 구텐모르겐
IT 이야기2012. 7. 24. 01:41

 

Snort를 네트워크 침입탐지 시스템으로 이용하는데 맨 처음 만나는 난관은 이 많은 로그들을 어디서부터 접근하냐는 점이다. 대략 16,000여개의 룰이 존재하고 어떤 것들은 쓸모없는 것이 있는가 하면 False-positive의 오류에 빠질 수도 있다.

이에 Sourcefire의 Security Consultant I 인 토니 로빈슨은 다음과 같은 방법으로 접근하기를 조언하고 있다.

1. Pulled pork, http://code.google.com/p/pulledpork
Snort의 룰 베이스를 이 pulled pork라고 할 정도로 유용한 툴이고 Snort웹사이트에서 주기적으로 룰을 다운받아 시스템에 적용하게 되고 세가지의 정책을 사용하는데 connectivity over security, balanced, security over connectivity이다. Pulled Pork를 이용해서 본인의 Snort에 적용후 튜닝해 나가면 된다.

2. SANS @Risk 뉴스레터, http://www.sans.org/newsletters/risk
SANS는 일주일에 한번씩 무료로 보안관련 뉴스를 배포하고 이는 최신의 Exploit, Malware등을 알려주고 각각의 취약점은 Snort SID와 ClamAV signature를 가지므로 손쉽게 분석값을 공유할 수 있다.

3. local.rules
네트워크를 보안하는데 있어 무엇보다 중요한것은 본인의 네트워크를 아는 것이고 그 네트워크에 맞는 룰을 설정하는 것이다. snort.org에서 무료로 제공하는 메뉴얼을 통해 http://www.snort.org/assets/166/snort_manual.pdf 본인만의 룰을 만드는게 시스템을 이해하고 발전시키는데 중요한 일일 것이다. 아래는 간단한 룰을 통해 ICMP의 패킷을 찾는 방법이다.

icmp any any any any (message:"[당신의 메세지를 적으세요]";sid:3000000;rev:1;)

추가로 Preprocessor을 통해 stream, fragmentation, normalization등을 분석할 수 있으므로 preprocessor과 preproc_rules에 대해서도 알아두면 본인의 네트워크를 아는데 도움이 될 것이다.
Posted by 구텐모르겐
IT 이야기2012. 6. 27. 05:04

트위터가 Ruby on Rails로 만들어진 후 웹프로그래밍에 대해서 많은 관심이 그쪽으로 가고 있고 Snorby(http://www.snorby.org)도 Ruby로 쓰여진 Snort Gui버전이다. 그래픽적으로 상당히 우수하지만 개인적으로 많은 양의 데이타를 컨트롤하는데 있어서는 아직까지는 BASE가 편하긴 하다. 차후에 시간이 되면 Snorby도 공부해서 설치법을 같이 공유했으면 한다. (참고로 Security Onion을 설치하면 Snorby는 그냥 깔려온다.)

다음은 BASE에 이메일을 세팅해서 아웃풋을 받아보는 세팅을 적어보고자 한다.

base_conf.php를 열어본다.

 

 

우선 mail이 설정되어 있지 않다면

# pear install --alldeps mail 을 설치한다.

후에

$action_email_smtp_host 는 본인의 메일서버를 설정하면 된다. 해보진 않았지만 웹메일들은 reverser lookup이 없으므로 스팸으로 가거나 자동으로 블록될 것이다.
$action_email_smtp_localhost 는 본인의 서버이름을 적어주면 된다. 기본값은 localhost $action_email_smtp_auto 는 기본으로 1로 놓자. 아이디와 패스워드를 확인하냐는 질문이다.
$action_email_smtp_user 와 $action_email_smtp_pw 는 이메일과 패스워드를 적어주면 된다.
$action_email_from 은 본인이 원하는 보내는 사람의 이메일 주소를 적어주면 된다. 보내는 사람이 하는 기능은 아무것도 없다.
$action_email_subject 는 제목을 적어주면 된다. 다음의 항목들은 기본값으로 놓고 저장하자.

그런 후에 Category 항목에서 필요한 항목을 체크후에 Email alerts를 설정후에 이메일 주소를 적어주면 된다.

다른 어떠한 툴보다 설정변경이 용이하고 직관적이라는게 BASE의 장점인듯 하다.

'IT 이야기' 카테고리의 다른 글

구글맵 오프라인  (0) 2012.06.28
구글 넥서스 7 + 젤리 빈  (1) 2012.06.28
CCNP TSHOOT 에필로그  (0) 2012.06.08
CCNP TSHOOT 준비방법  (3) 2012.05.30
위키피디아 24시간동안 폐쇄 Wikipedia close for 24 hours  (0) 2012.01.18
Posted by 구텐모르겐
보안vs해킹2012. 1. 17. 07:25
Snort, Snorby, Barnyard, PulledPork, Daemonlogger를 함께 설치하는 것을 Security-Onion Project라고 부른다.



하나하나 따라하게 되면 여러가지 보안설정에 대한 많은 지식을 가질 수 있을 것이다.
Posted by 구텐모르겐
보안vs해킹2011. 11. 5. 03:41


네이버에서의 해킹의 정의는 '컴퓨터 네트워크의 취약한 보안망에 불법적으로 접근하거나 정보 시스템에 유해한 영향을 끼치는 행위'로 규정하였고, 위키피디아에서는 해커의 개념을 '이득, 저항 또는 도전 등의 이유로 컴퓨터나 컴퓨터 시스템을 파괴하는 행위'로 말하고 있다. 두 거대 백과사전은 해킹에 대해 꽤 부정적 의미를 포함하고 있다.

하지만 원래 해킹에는 악의적인 의미가 없고, 정작 상대방의 시스템에 위해를 가하는 사람들은 cracker라고 부르고, 엘리트하고 우아하게 상대의 시스템을 유린하는 사람들을 해커라 부른다, 라고 주장하고 싶다. 여기서 쓰고자 하는 것도 상대(?), 목표물(?) 혹은 호기심의 대상의 시스템의 취약점을 찾는걸 다루지, SQL Injection이나 CSS (Cross Site Scripting) 같은 내용은 다루지 않으려고 한다. 위와 같은 내용을 공부하고 싶다면 유투브에 널린게 해킹 기술이니 거기서 습득해도 어리버리한 시스템들은 쉽게 낚아서 본인이 script kiddy임을 증명할 수는 있을 것이다.

해킹은 탐색 (Reconnaissance), 스캔 (Scanning), 침입 (Gaining Access), 접속유지 (Maintaining Access), 사후처리 (Covering Tracks)로 EC-Council에서 구분하고 있다.

탐색은 Nmap, hping, ping 등과 같은 툴로 손쉽게 이루어 질 수 있고 합법이다. (#hping 을 통해 5만비트의 데이타를 연속적으로 보내는 것은 불법이다.)

스캔은 Nessus, OpenVAS 등등이 있다. (불법은 아니지만 본인의 결백을 주장할 증거정도는 필요하겠죠 ex. NDA)

침입은 MetaSploit이 가장 많이 쓰이는 툴이다. (남의 네트워크 침입은 악의적이든 아니든 범죄에 속한다. 그리고 생각보다 우리의 통신내용은 구글신께서 다 감청당하고 있으니 클라이언트가 원하면 당신은 의외로 쉽게 잡힌다.)

접속유지는 컴맨드를 통해서 이루어지므로 딱히 툴이라고 볼게 없고, 사후처리도 알아서 지나갔던 자리 지우고 나오면 되는 거다.

앞으로 적어볼 내용들은 각 툳들의 사용법을 알아보면서 그러한 것들을 어떻게 방어하는지 Snort를 통해 보도록 하겠다.

참고1. BackTrack이라는 라이브DVD가 있다. 모든 보안이나 해킹에 관심있는 사람이라면 꼭 깔아봐야하는 OS이니 지금 읽고 계신 분들도 꼭 깔아서 설치해보기 바란다.

참고2. NDA (Nondisclosure Agreement)를 클라이언트와 작성하고 해킹하는게 법적인 분쟁을 피하는 가장 정석이다.

'보안vs해킹' 카테고리의 다른 글

CEH Chap 4. Zenmap  (0) 2011.11.10
CEH Chap 3. hping - Attach.  (0) 2011.11.09
CEH Chap 2. hping - Idle scanning, ...  (0) 2011.11.08
CEH Chap 1. hping?  (0) 2011.11.07
BackTrack 5 백트랙 5 설치하기  (2) 2011.11.06
Posted by 구텐모르겐
IT 이야기2011. 8. 12. 04:05
BASE프로그램에서 IP정보 뿌려주는 방법이다. 보고서 제출용으로 이쁨받을수 있는 스킬일듯 하다.

base_stat_ipaddr.php의 파일을 다음과 같이 첨부한다.



그러면 아래와 같이 아이피에 대한 정보도 BASE 기본화면에서 볼 수 있다.


참고로 위와 같은 정보들은 www.dshield.org, www.trustedsource.org, isc.sans.org 그리고 whatismyipaddress.com 에서 정보제공된다.

http://groups.google.com/group/snortusers/browse_thread/thread/1b49c13e1c6c41db#
Posted by 구텐모르겐
IT 이야기2011. 6. 17. 23:31

몇번의 설치시도후 알게 됐는데 이 설치설명서는 libdnet.1에 대한 오류가 계속 나더군요. 그리고 snort.txt도 따로 웹에서 구해서 넣어야 합니다. 제가 가지고 있는것도 있지만 이 메뉴얼은 본인이 전문가가 아니라면 사용하지 않는게 나을 듯 합니다. 한번 읽어보시고 컨셉만 기억하고 넘어가는게 좋을 듯 합니다.

다음 글은 groups.google.com/gruop/snortusers/ 에서 발췌한 글로 우분투 최신버전인 11.04에 스노트 2.9.0.5를 설치하는 법에 대한 간단한 설명이 있어서 좋은 정보이기에 나누고자 번역해 올려요. 우분투 소프트웨어센타나 apt-get install snort를 해서 설치하면 차후에 추가적인 세팅을 할때 몹시 불편하므로 약간의 번거로움을 감수하더라도 아래의 프로세스를 따르는게 육체적, 정신적 건강에 이로울 둣 합니다. 아래부터는 본문글입니다.

이것은 내가 우분투 11.04에 스놀트 2.9.0.5를 설치하는 방법입니다.
sudo apt-get install libpcap0.8-dev
sudo apt-get install libpcre3-dev
sudo apt-get install g++
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install make
sudo apt-get install zlib1g-dev
wget http://www.snort.org/dl/snort-current/daq-0.5.tar.gz -O daq-0.5.tar.gz
sudo tar zxvf daq-0.5.tar.gz cd daq-0.5/
sudo ./configure sudo make
sudo make install
sudo ldconfig wget http://libdnet.googlecode.com/files/libdnet-1.12.tar.gz
sudo tar zxvf libdnet-1.12.tar.gz cd libdnet-1.12/
sudo ./configure sudo make sudo make install
sudo ln -s /usr/local/lib/libdnet.1.0.1 /usr/lib/libdnet.1
wget http://www.snort.org/dl/snort-current/snort-2.9.0.5.tar.gz -O
snort-2.9.0.5.tar.gz tar zxvf snort-2.9.0.5.tar.gz cd snort-2.9.0.5
sudo ./configure --enable-decoder-processor-rules --enable-zlib
sudo make sudo make install
sudo mkdir /var/log/snort
sudo groupadd snort
sudo useradd -g
snort snort
sudo chown
snort:snort /var/log/snort
wget http://pulledpork.googlecode.com/files/pulledpork-0.6.1.tar.gz -O pulledpork-0.6.1.tar.gz
tar zxvf pulledpork-0.6.1.tar.gz
sudo apt-get install libssl-dev sudo perl -MCPAN -e 'install Crypt::SSLeay'
sudo perl -MCPAN -e 'install LWP::Simple'
#second interface for monitoring is eth1-make sure it's turned on sudo vim /etc/network/interfaces auto eth1 iface eth1 inet manual ifconfig eth1 up
snortd.txt를 /etc/init.d/snortd 에 복사
syslog모니터를 위해 아래의 글들을 /etc/rsyslog.conf 에 복사
# # Send Snort syslog output to the NitroESM server xxx.xxx.xxx.xxx
# auth.alert @ xxx.xxx.xxx.xxx
스놀트 시작하는 법
sudo /etc/init.d/snortd start
스놀트 업데이트 하는 법
sudo pulledpork.pl -c /usr/local/etc/pulledpork/pulledpork.conf -i /usr/local/etc/pulledpork/disablesid.conf vv

http://groups.google.com/group/snortusers/browse_thread/thread/33b96ee9207dcc2d

snort.org에서 제시한 메뉴얼과 폴더의 위치가 다르므로 주의하세요. 


Posted by 구텐모르겐
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 구텐모르겐