'db연동'에 해당되는 글 2건

  1. 2008.07.18 linux - snort , DB 연동 , apache . webserver 연동
  2. 2008.07.17 linux - snort , DB 연동
2008. 7. 18. 00:24

linux - snort , DB 연동 , apache . webserver 연동

snort , DB , apache
---------------------------------------------------------------------------------------------------------
snort 에 의해 생긴 자료를 DB와 연동 시켜 보았지만 이를 분석 하기가 상당히? 까다롭다 .
해서 웹상에서 간편히 볼 수 있도록 웹서버와 연동시켜 보자.
---------------------------------------------------------------------------------------------------------

아파치 서버 설치
---------------------------------------------------------------------------------------------------------
아파치를 돌리기 위해서는 APM ( httpd, php-gd, php-mysql)관련 패키지가 필요하다.
또한 adodb, base source 도 필요하다.

[centos]
사용자 삽입 이미지
필요한 패키지를 yum을 이용해 설치 하자.

역시 adodb, base source도 받자
사용자 삽입 이미지
# tar xvfz adodb495a.tgz -C /var/www
# tar xvfz base-1.3.6.tar.gz -C /var/www/html        // -C    풀릴 위치 지정
# cd /var/www ; ls
adodb  cgi-bin  error  html  icons                 //adodb
# cd html ; ls
base-1.3.6
# mv base-1.3.6/ base
# cd base
# ls
# cp base_conf.php.dist base_conf.php
# vi base_conf.php

48 $BASE_urlpath = '/base';
70 $DBlib_path = '/var/www/adodb';
92 $alert_dbname   = 'snort';
95 $alert_user     = 'base';
96 $alert_password = 'base123';               // 각각 수정


# service httpd start             // 웹데몬 시작 . mysql 이 정지 되어있다면 시작시켜야한다.
사용자 삽입 이미지
인터넷 창을 열어 확인
setup page   광클
사용자 삽입 이미지

create BASE AG를 누르게 되면 DB를 바탕으로 웹페이지가 생성 된다.
사용자 삽입 이미지

여기서 HOME을 눌른 다음 그 페이지에서 각각 끌리는? 것에 눌러 보면 /var/log/snort에서 본 정보가
일목 요연? 하에 보여진다는 것을 알 수 있다.
2008. 7. 17. 01:41

linux - snort , DB 연동

snort LOG를 DB로
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DB를 생각 하면 머리에 쥐가..쳇..

DB언어
DDL ( 정의어 ) : create, drop, alter
DML ( 조작어 ) : select, insert, update, delete(데이터만 삭제)
DCL ( 제어어 ) : grant, reboke , deny

성능에 따라
IBMDB2   >    Oracle > MS- SQL > Access > excel  > my- sql
순으로 성능이 좋고 가격도 좋다? 비싸다 ㅡㅡㅋ
--------------------------------------------------------------------------------------------------------

실습
--------------------------------------------------------------------------------------------------------
[centos]
[root@centos ~]# rpm -qa | grep sql
sqlite-3.3.6-2
python-sqlite-1.1.7-1.2.1
hsqldb-1.8.0.4-3jpp.4
mysql-5.0.22-2.2.el5_1.1
php-mysql-5.1.6-15.el5
postgresql-libs-8.1.9-1.el5
mysql-server-5.0.22-2.2.el5_1.1                    // mysql-server가 있따.
없다면
# yum -y install mysql-server                     // 의존성 패키지 (mysql, perl-DBD-MYSQL, perl-DBI)
사용자 삽입 이미지

yum설치 하면 잘됩니다.

//fedora 가 아닌 centos다 이미지의 제목이랑 다르다..잠결에 엉뚱한데다....

[root@centos ~]# service mysqld start
어찌 됐는 okok 뜨면서 실행 된다. ㅡㅡ/
# netstat -ntlp   // 3306 포트 확인
# /usr/bin/mysqladmin -u root password '123456'      
                                     // 처음 접속시 관리자 계정과 패스워드를 설정해줘야 한다.
mysql> show databases;
mysql> create database snort;
mysql> use snort;
mysql> show tables;

[fedora]
// snort를 받아 압축을 푼 폴더로 이동
# cd /tmp/snort
# make clean    // 컴파일된 파일 삭제
# reset             // 메모리 올려진 컴파일 삭제
// 재 컴파일 하자
# ./configure --prefix=/etc/snort --with-mysql && make && make install
or
# ./configure  --with-mysql && make && make install
// 여기서 주의할 점은 나중에 # snort -c snort.conf 로 실행 했을때 에러가 뜨면
위의 작업을 다시 해야한다.  --prefix  부분을 삭제하고 다시 하자.
# ehco $?
0
# vi /etc/snort/snort.conf
/mysql
830
사용자 삽입 이미지
output database 부분을 수정하자
alert 와 log를 mysql 로 내보낼때 쓰인다.
user snort가 DB에 쓸때 쓰일 계정이다. 임의로 해도 된다 . 단 mysql에서 맞춰우어야 하낟.
dbname - snort가 데이터가 들어갈 db
host   db가 저장될 host
수정후 저장
/tmp/snort-2.6.1.5/schemas 로 이동 후
# pwd
/tmp/snort-2.6.1.5/schemas
# ls
Makefile     Makefile.in  create_mssql  create_oracle.sql
Makefile.am  create_db2   create_mysql  create_postgresql
# more create_mysql    // snort에 쓰일 db구문이 있다.
# scp create_mysql root@192.168.10.30  //centos로 이동

[centos]
다른 터미널로 로긴
# mysql -u root -p snort < create_mysql   // 리다이렉션을 이용 snort 테이블에 대해 create_mysql문 적용

sql접속되어있는 터미널에서
mysql> shoq tables;
mysql> select * from data;
mysql> select * from signature;     // data, sig 둘다 비어있다.
mysql> use mysql;
mysql> select host,user,password form user;
계정에 권한을 주자
mysql> grant CREATE,SELECT,INSERT,UPDTE,DELETE on snort.* to base@localhost;
                      //base@localhost 에게 CREATE ~~등등의 권한 할당
mysql> set password for base@localhost=PASSWORD('base123');
                      // 암호 설정
mysql> grant CREATE,SELECT,INSERT,UPDATE,DELETE on snort.* to base@192.168.10.10;
                      //base@192.168.10.10 에게 CREATE ~~등등의 권한 할당                     
mysql> set password for base@192.168.10.10=PASSWORD('base123');
                       //암호설정
mysql> select host,user,passwrod from user;  
                       // 권한이 grant되어진것을 확인 할 수 있다.

[fedora]
# snort -c /etc/snort/snort.conf
정상 실행 되는지 확인해보자
만약 메모리가 모자르다면 일단 필요없는 프로세스 를 잠깐 끄자.
ctrl +z
# pkill -9 snort
# snort -c /etc/snort/snort.conf -D

[centos]
# nmap -sS -O -v 192.168.10.10           // 스캔

sql이 켜진 터미널로 이동
mysql> user snort;
mysql> select * from data;
mysql> select * from signature;      // 데이터가 생성 된것을 볼 수 있다.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!