Skip to content

조회 수 20816 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

1. APM

1.1 apache

homepage : http://www.apache.org

 

# wget  http://www.apache.org/dist/httpd/httpd-2.2.4.tar.gz

# tar xvzf httpd-2.2.4.tar.gz

# cd httpd-2.2.4

# ./configure  --prefix=/usr/local/apache  --with-charset=euc_kr \

> --enable-module=so  --with-included-apr

# make

# make install

 

# vi /usr/local/apache/conf/httpd.conf

아래 내용을 변경

? ServerRoot “/usr/local/apache”
apache의
기본 디렉토리 내용 확인

? DocumentRoot “/usr/local/apache/htdocs”
html 파일이
저장될 디렉토리

? DirectoryIndex index.html
인텍스
파일의 이름 지정, index.htm index.php 등을

? #ServerName www.example.com:80
앞의 주석 ‘#’ 제거하고 서버에서 사용할 도메인네임을 적는다. 아무 도메인네임을 기입해도 무관하다.

 

1.2 mysql

homepage : http://www.mysql.com

 

# wget http://mysql.byungsoo.net/Downloads/MySQL-5.0/mysql-5.0.37.tar.gz

# tar xvzf mysql-5.0.37.tar.gz

# cd mysql-5.0.37

# ./configure  --prefix=/usr/local/mysql  --with-charset=euckr

# make

# make install

 

# useradd  mysql  ?s  /sbin/nologin

# chown  ?R  mysql.mysql  /usr/local/mysql

# cd /usr/local/mysql/bin

# mysql_install_db

# mysqld_safe &

 

1.3 PHP

PHP를 설치 하기 위해 다음의 프로그램을 설치

 

1.3.1 libxml

libxml homepage : http://www.xmlsoft.org/

# wget  ftp://xmlsoft.org/libxml2/libxml2-2.6.27.tar.gz

# tar  xvzf  libxml2-2.6.27.tar.gz

# cd  libxml2-2.6.27

# ./configure  --prefix=/usr/local/libxml2

# make

# make  install

 

1.3.2 gd

gd 홈 페이지 : http://www.boutell.com/gd/

 

# wget  http://www.libgd.org/releases/gd-2.0.34.tar.gz

# tar  xvzf  gd-2.0.34.tar.gz

# mv  gd-2.0.34  /usr/local/gd

# cd  /usr/local/gd

# make

# make  install

 

1.3.3 zlib

zlib homepage : http://www.zlib.net/

 

# wget  http://www.zlib.net/zlib-1.2.3.tar.gz

# tar  xvzf  zlib-1.2.3.tar.gz

# mv  zlib-1.2.3  /usr/local/zlib

# cd  /usr/local/zlib

# ./configure

# make

# make  test

# make  install

 

1.3.4 libpng

libpng homepage : http://www.libpng.org/pub/png/libpng.html

 

# wget  ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.16.tar.gz

# tar  xvzf  libpng-1.2.16.tar.gz

# mv  libpng-1.2.16  /usr/local/libpng

# cd  /usr/local/libpng

# cp  scripts/makefile.linux  ./makefile

# make  test

# make  install

 

1.3.5 그래픽 프로그램 모듈화

# vi  /etc/ld.so.conf

/usr/local/gd/lib

/usr/local/zlib/lib

/usr/local/libpng/lib

/usr/local/jpeg/lib

# ldconfig

 

 

1.3.6 PHP

homepage : http://www.php.net/

 

# wget http://kr.php.net/distributions/php-5.2.1.tar.gz

# tar xvzf php-5.2.1.tar.gz

# cd php-5.2.1

# ./configure  --with-charset=euc_kr  --enable-so  \

> --with-apxs2=/usr/local/apache/bin/apxs  --with-mysql=/usr/local/mysql  \

> --enable-track-vars  --with-libxml-dir=/usr/local/libxml2  \

> --with-gd  --with-zlib  --with-png  --with-jpeg

# make

# make install

 

1.3.7 pear 설치

pear homepage : http://pear.veggerby.dk/

 

# lynx  -source  http://go-pear.org/  |  php

엔터 3번치고 Y를 한번 누르면 설치가 된다...(자세한건 직접~~ 설치 경로를 묻는 내용이다)

 

# pear  list  <- pear 설치 목록 출력

# pear  upgrade  <- pear 업그레이드 검사

 

 

1.3.8 기타 설정

# vi /usr/local/apache/conf/httpd.conf

- DirectoryIndex index.html

 index.php 파일을 초기 파일로 추가를 하려면 다음과 같이 변경하면 된다.

 DirectoryIndex index.html index.php

 

- LoadModule php5_module modules/libphp5.so

 위의 내용이 들어가 있어야 php 동작이 된다.

 

# cp  php.ini-dist  /usr/local/lib/php.ini

# cat  >  /usr/local/apache/htdocs/test.php

<?

Phpinfo();

?>

Crtl+D

 

웹브라우저에서 내용 확인

http://IP 주소/test.php

 

 

2. SNORT 설치

homepage : http://www.snort.org

 

# wget  http://www.snort.org/dl/current/snort-2.6.1.3.tar.gz

 tar  xvzf  snort-2.6.1.3.tar.gz

# cd snort-2.6.1.3

# ./configure  --with-mysql=/usr/local/mysql \

> --enable-dynamicplugin

# make

# make install

 

# useradd  snort  ?s  /sbin/nologin

# mkdir  -p  /etc/snort/rules

# mkdir  /var/log/snort

# cp  etc/*  /etc/snort

# vi  /etc/snort/snort.conf 

 

? var HOME_NET 222.102.15.0/24

자신의 네트워크 주소 입력

 

? var RULE_PATH /usr/local/snort/etc/rules  

snort 파 일이 있는 경로 입력

 

? output database : log, mysql, user=”snort” password=”snort123” dbname=”snort” host=”localhost”

snort에 서 탐지한 데이터가 저장될 정보 입 력(mysql에 저장 하기 위한 방법)

 

 

2.1 snortrules 설치

# cd  /etc/snort

# tar  xvzf  snortrules-snapshot-2.4.tar.gz

 

2.1.1 mysql 설정

# mysql -u root -p비밀번호

> create database snort;

> grant select, insert, update, delete, create on snort.* to snort@localhost;

> set password for snort@localhost=password('snort123’);

> quit

 

2.2 mysql에 snort에서 사용할 table 생성

./mysql -u snort ?psnort123 < /usr/local/snort/schemas/create_mysql  snort

 

 

3. ADODB 설치

adodb homepage : http://sourceforge.net/projects/adodb/

 

# wget  http://easynews.dl.sourceforge.net/sourceforge/adodb/adodb494.tgz

# tar  xvzf  adodb494.tgz

# mv  adodb  /usr/local/apache/

 

 

4. BASE 설치

BASE homepage : http://sourceforge.net/projects/secureideas

 

# wget  http://surfnet.dl.sourceforge.net/sourceforge/secureideas/base-1.3.5.tar.gz

# tar  xvzf base-1.3.5.tar.gz

# mv  base-1.3.5  /usr/local/apache/base

 

# cd  /usr/local/apache/htdocs/base

# cp  base_conf.php.dist  base_conf.php

# vi  base_conf.php

 

$BASE_urlpath = ‘/base’

$DBtype = ‘mysql’;

$alert_dbname   = ‘snort’;

$alert_host     = ‘localhost’;

$alert_user     = ‘snort’;

$alert_password = ‘snort123’;

 

* 1.3.5버전의 BASE를 사용할 경우

# vi  base_qry_common.php

위 파일의 빈줄을 모두 삭제하라... 어디인지는 모르지만... 널문자가 들어가서 에러가 발생한다...

그렇지 않으면 이미지가 하나도 않나온다...

 

 

5. oinkmaster 설치

oinkmaster homepage : http://oinkmaster.sourceforge.net/

 

# wget http://nchc.dl.sourceforge.net/sourceforge/oinkmaster/oinkmaster-2.0.tar.gz

# tar  xvzf  oinkmaster-2.0.tar.gz

 

# cd  oinkmaster-2.0

# cp  oinkmaster.pl  /usr/local/sbin

# cp  oinkmaster.conf  /etc/snort

# cd  contrib

# makesindex.pl  /etc/snort/rules/  >  autodisables.conf

# cp  autodisables.conf  /etc/snort

# cd  /etc/snort

# vi  oinkmaster.conf

# chown  -R  snort.snort  /etc/snort/

 

# oinkmaster.pl -o /etc/snort/rules/  -C /etc/snort/oinkmaster.conf  \

>  -C /etc/snort/autodisables.conf

 

 

6. SNORT 실행

# snort  -c  /etc/snort/snort.conf  -D  -N 

 

 

** 규칙 생성

1.트래픽 모니터링
구글에서 검색할 경우
/search?complete=1&hl=ko&q=snort&lr=
/search?complete=1&hl=ko&newwindow=1&q=snort&btnG=%EA%B2%80%EC%83%89&lr=&oq=f
/search?q=snort&btnG=%EA%B2%80%EC%83%89&complete=1&hl=ko&newwindow=1

2.규칙 생성
alert tcp $HOME_NET any -> any 80 (msg:"Google Search"; content:"";)

(msg:"Google Search"; content:"/search?";) (세모)
(msg:"Google Search"; content:"GET /search?";) (o)
(msg:"Google Search"; uricontent:"/search?";) (o)
(msg:"Google Search"; uricontent:"GET /search?";) (x)

3.규칙 파일 작성
# vi /usr/local/snort/etc/ruels/google.rules
alert tcp $HOME_NET any -> any 80 (msg:"Google Search[content]"; content:"GET /search?"; flow:from_client;)

alert tcp $HOME_NET any -> any 80 (msg:"Google Search[uricontent]"; uricontent:"/search?"; flow:from_client;)

4.snort.conf 파일에 새로 작성 규칙을 포함
include $RULE_PATH/google.rules

5.snort 재시작
# /etc/rc.d/init.d/snortd restart
Starting snort: [FAILED]
# tail /var/log/messages
FATAL ERROR: /usr/local/snort/etc/rules/google.rules(1) => Each rule must contain a Rule-sid --> 각 규칙마다 sid가 필요하다.
# vi google.rules
alert tcp $HOME_NET any -> any 80 (msg:"Google Search[content]"; content:"GET /search?"; flow:from_client; sid:1100000;)
alert tcp $HOME_NET any -> any 80 (msg:"Google Search[uricontent]"; uricontent:"/search?"; flow:from_client; sid:1110000;)

6.구글 검색 후에 /usr/local/snort/var/log/alert 파일 확인

 

### BASE 웹 인터페이스에서 그래프 사용

# vi ~/.bash_profile
PATH에서 /usr/local/php/bin 추가
# . ~/.bash_profile
# pear install Image_Canvas-alpha
# pear install Numbers_Roman
# pear install Numbers_Words-beta
# pear install Image_Graph-alpha

 

### BASE에서 portscan에 관련된 내용만 따로 볼 수 있도록 하는 설정

# vi /usr/local/snort/etc/snort/snort.conf
641라인부터 sfportscan 전처리기에 관련된 옵션에 다음 옵션을 추가

logfile { portscan.log }

# /etc/rc.d/init.d/snortd restart
snort를 재시작하면 /usr/local/snort/var/log/portscan.log라는 파일이 생성

# cd /usr/local/httpd/htdocs/base
# vi base_conf.php
240라인에 portscan 파일에 대한 경로 지정
$portscan_file = '/usr/local/snort/var/log/portscan.log';


### nmap을 이용한 스캐닝 실습

# wget http://download.insecure.org/nmap/dist/nmap-4.20.tar.bz2
# tar jxf nmap-4.20.tar.bz2
# cd nmap-4.20
# ./configure --prefix=/usr/local/nmap --without-nmapfe && make && make install

# nmap 짝궁IP
# nmap -sS -O -P0 짝궁IP
# nmap -sF 짝궁IP
# nmap -e eth0 -P0 -S 9.9.9.9 짝궁IP  이더넷 아이피 스푸핑 변조


List of Articles
번호 제목 글쓴이 날짜 조회 수
88 [정보] [Apache+PHP] Segmentation Fault가 발생할 경우 ADMINPLAY 2012.07.27 47811
87 Apache 웹페이지 한글깨짐, AddDefaultsCharset 설정 file ADMINPLAY 2009.01.03 30520
86 서비스 제한측면의 아파치 활용 예제 ADMINPLAY 2012.06.26 30318
85 make[2]: *** [htpasswd] 오류 1 , make[1]: *** [all-rec... ADMINPLAY 2009.08.07 27099
84 *** glibc detected *** double free or corruption (!pre... ADMINPLAY 2010.05.03 26742
83 Address already in use: make_sock:could not bind to ad... ADMINPLAY 2009.01.10 23798
82 AWSTATS 설치 ADMINPLAY 2008.12.25 23638
81 apache cronolog를 이용한 Apache Log File 날짜 별로 생... ADMINPLAY 2012.01.16 23504
80 Apache mod_deflate ADMINPLAY 2012.01.16 23376
79 apache, tomcat 가상디렉토리 설정 file ADMINPLAY 2010.09.17 23003
78 APM 기본설치후 아파치 실행에러 httpd: Could not determ... ADMINPLAY 2009.08.08 21875
77 Unclean shutdown of previous Apache run? ADMINPLAY 2009.08.05 21795
76 Apache: client denied by server configuration ADMINPLAY 2010.10.25 21665
75 mod_deflate 설정 ADMINPLAY 2011.03.18 21236
74 apache 외부링크 차단 ADMINPLAY 2010.08.31 21221
73 [LINUX] Apache 2.2 + mod jk 1.2 + Tomcat 5.x 연동 ADMINPLAY 2009.05.07 21037
72 아파치에서 멀티도메인 설정 방법 1 l2zeo 2012.10.09 20972
71 Apache 로그레벨의 종류 ADMINPLAY 2012.01.16 20842
» APM + Snort + ADODB + BASE + oinkmaster 설치 l2zeo 2010.05.29 20816
69 리눅스 개인계정 로딩시 틸드(~)기호없이 그냥 사용 ADMINPLAY 2010.09.22 20684
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234