커피닉스, 시스템 엔지니어의 쉼터 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
* HanIRC의 #coffeenix 방
[ 장비 및 회선 후원 ]
HOME > 보안(security) > 방화벽, 패킷 필터링 / IDS 도움말
검색 : 사이트 WHOIS 웹서버 종류


  SNORT+APM+ACID ON Redhat 9.0 작성일 : 2003/11/10 11:32
 
  • 글쓴이 : DIYS
  • 조회수 : 6374
          [ 이전화면 / 수정 ]   비밀번호 :     인쇄용 화면
      본 내용은 어느정도 이해력(?)과 IDS에 대한 개념을 가진 분을 기준으로 스피디하게 설명해
    놓은 단순한 절차서입니다. 상세한 설명을 원하시면 해당 메뉴얼을 참고하세요.
    참고한 문서

    http://www.snort.org/docs/writing_rules/
    http://www.snort.org/docs/snort-rh7-mysql-ACID-1-5.pdf
    http://www.snort.org/docs/snort_acid_rh9.pdf
    http://www.snort.org/docs/FreeBSD47RELEASE-Snort-MySQLVer1-3.pdf
    http://www.snort.org/docs/snort-win2k.htm


    미리 설치되어있어야 할 패키지
    libpcap-0.7.2-1.rpm
    zlib-1.1.4-8.rpm
    libgd, libpng libjpeg-6b?

    !! 설치중 필요하다고 에러 뜨면 해당 페키지 깔아주면됨. ^^;
       자신있다면 소스로 깔아서 경로를 지정해주어도 무방함. ^^;


    다운로드 (!! 보통 /tmp 혹은 /usr/local/src 에다가 다운 받죠~? ^^)
    http://members.chello.se/jpgraph/jpgdownloads/jpgraph-1.13.tar.gz
    http://www.students.fh-sbg.ac.at/~gwalch/adodb330.tgz
    http://www.andrew.cmu.edu/~rdanyliw/snort/acid-0.9.6b23.tar.gz

    1. mysql 설치
       # tar xfz mysql-4.1.0-alpha.tar.gz
       # cd mysql-4.1.0-alpha
       # ./configure --prefix=/usr/local/mysql && make -s && make -s install
       # scripts/mysql_install_db
       # chown -R root.mysql /usr/local/mysql
       # chown -R mysql /usr/local/mysql/var
       # cp support-files/mysql-x.conf /etc/my.cnf <-- 사양에 맞는 파일 선택
       # vi /etc/ld.so.conf
         /usr/local/lib
         /usr/local/mysql/lib/mysql
         2줄 추가
       # ldconfig -v
       # cd /usr/local/mysql
       # bin/mysqld_safe --user=mysql &
       부팅시 자동 실행되게 조치를 취해놓는다.ㅋㅋㅋㅋ

    2. Apache-2.0.47 + PHP-4.3.2 설치
       # tar xfz httpd-2.1.0.tar.gz
       # cd httpd-2.0.47
       # ./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-so && make -s && make -s install

       # tar xfz php-4.3.2.tar.gz
       # cd php-4.3.2
       # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs \
         --with-config-file-path=/usr/local/apache/conf --enable-sockets \
         --with-mysql=/usr/local/mysql --with-zlib-dir=/usr --with-gd && make -s && make -s install
       # cp php.ini-dist /usr/local/apache/conf
       # vi /usr/local/apache/conf/httpd.conf
         LoadModule php4_module modules/libphp4.so
         AddType application/x-httpd-php .ph .php .html
         적당한 위치에 추가 시켜준다.
       # vi /etc/rc.loal
         /usr/local/apache/bin/apachectl start <--- 부팅시 실행되게끔 한줄 추가.
       !! httpd.conf 파일 설정은 해당되는 페이지가 열리게끔 각자 알아서 설정을 잘하시길..

    3. SNORT-2.0.0 설치
       # tar xfz snort-2.0.0.tar.gz
       # cd snort-2.0.0
       # ./configure --prefix=/usr/local/snort && make -s && make -s install
         !! 문서상에는 prefix 지시자를 쓰지 않았지만 한곳으로 몰아서 관리하는게 편하므로
            필자는 이렇게 설치했다.
       # mkdir -p /usr/local/snort/etc/snort
       # mkdir -p /usr/local/snort/var/log   < -- 로그남길 경로 잘 기억해둘 것
       # cp -rfp rules /usr/local/snort/etc  < -- 룰파일 경로 잘 기억해둘 것
       # cp etc/* /usr/local/snort/etc/snort < -- 설정파일 복사(귀찮아서 다 복사했음.)
       # vi /usr/local/snort/etc/snort/snort.conf
        
         var HOME_NET 10.2.2.0/24            < -- 내부 네트웍 아이디 / 마스크 비트수
         ex) 192.168.1.x C 클래스를 4개의 서브넷으로 나누었을때 비트수는 2 이고
             모니터링할 네트웍이 192.168.1.192 라면 아래와 같이 한다.
             var HOME_NET 192.168.1.192/26
        
         var RULE_PATH /usr/local/snort/etc/rules  <--- 룰파일 경로

         output database : log, mysql, user="유저명" password="패스워드" dbname="디비명" host="localhost"

       # cp contrib/S99snort /etc/init.d/snort
       # chmod 750 /etc/init.d/snort
       # vi /etc/init.d/snort
        
         CONFIG=/usr/local/snort/etc/snort/snort.conf    < -- 변경
        
         LOGDIR=/usr/local/snort/var/log      <--- 추가

         #SNORT_GID=nogroup            <--- 주석처리

         $SNORT_PATH/snort -c $CONFIG -i $IFACE -g $SNORT_GID $OPTIONS
         --> $SNORT_PATH/snort -c $CONFIG -i $IFACE $OPTIONS -l $LOGDIR 로 변경

        !! 쉘스크립트를 이해한다면 자신의 구미에 맞게 수정하시길...
      
    4. MySQL 셋팅 (!! 현재 위치한 디렉터리는 snort-2.0.0 소스디렉터리이다.)
       # /usr/local/mysql/bin/mysql
       > drop database test;
       > use mysql;
       > insert into db values('localhost','디비명','디비유저','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
       > insert into user (Host,User,Password) values('localhost','유저명',password('패스워드'));
       > flush privileges;
       > exit
      
       # /usr/local/mysql/bin/mysql -u snort -p snort < ./contrib/create_mysql
       >Enter password:
       # zcat ./contrib/snortdb-extra.gz | /usr/local/mysql/bin/mysql -u snort -p snort
       >Enter password:
       !! 제대로 스키마와 데이터가 입력되어있는지 각자 확인해본다. ^^;

    5. JPGraph-1.13 + ADODB + ACID-0.9.6b23 설치
       # tar xfz jpgraph-1.13.tar.gz
       # tar xfz adodb330.tgz
       # tar xfz acid-0.9.6b23.tar.gz
       # mv jpgraph-1.13 /YOUR/HOMEPAGE/DRECTORY/jpgraph
       # mv adodb /YOUR/HOMEPAGE/DRECTORY
       # mv acid /YOUR/HOMEPAGE/DRECTORY
       # cd /YOUR/HOMEPAGE/DRECTORY/acid
       # vi acid_conf.php

         $DBlib_path = "/YOUR/HOMEPAGE/DRECTORY/adodb";
        
         $DBtype = "mysql";
        
         $alert_dbname = "디비명";
         $alert_host = "localhost";
         $alert_port = "";
         $alert_user = "유저명";
         $alert_password = "패스워드";

         $archive_dbname = "디비명";
         $archive_host = "localhost";
         $archive_port = "";
         $archive_user = "유저명";
         $archive_password = "패스워드";

         $ChartLib_path = "/YOUR/HOMEPAGE/DRECTORY/jpgraph/src";

         $chart_fileformat = "png";

    6. 확인
       브라우저창에서 http://yourhost/acid/ or http://yourip/~계정/acid

       setup 페이지가 나오면 Creat ACID AG 버튼을 클릭한다.
       이제 모든것이 끝났다.
       snort를 실행시키고 브라우져 창을 띄우면 실시간으로 분석된 내용이 나타난다.

       !! 부팅시 자동 시작되게 하는 방법은 일부러 적지 않았다.
          스스로 알아서 하시길...

    7. 덤
       실제 테스트 할수있는 환경
       snort 서버 1대 / 일반 노드용 피씨 1대 이상 / IP 2개 이상
       지능스위치(port-mirroring 지원 필수) 1대
       미러링으로 오고가는 패킷을 snort서버 포트로 복사되게끔한다.
      커피닉스 카페 최근 글
    [10/20] Cross Compiler 깔
    [07/14] SSL АО
    [04/26] Re: 도스화면 원격조종 여부
    [04/25] 도스화면 원격조종 여부
    [10/30] Cshell에서 난수 설정
    [10/23] 공항철도주식회사 SE 구인 件
    [01/26] Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/25] wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/11] 특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
    [08/01] DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
    [05/16] (주)후이즈 시스템엔지니어 (경력자) 모집
    [02/15] [AWS] Cloudfront edge 확인하기
    [01/20] Mobile Service/eCommerce 기업에서 Server / Java / PHP 개발자 구인
    [01/11] 탄탄한 퍼블리싱 모바일기업에서 Mobile 개발자를 모십니다.
    [01/11] 탄탄한 퍼블리싱 모바일기업에서 Web Front 개발자를 모십니다.
      New!   최근에 등록한 페이지
      KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
      오픈캐스케이드 캐드 (OpenCASCADE CAD)
      QCad for Windows --- GNU GPL (Free Software)
      The Hello World Collection
      IPMI를 활용한 리눅스 서버관리
      DNS 설정 검사
      nagiosgraph 설치 방법
      Slony-I 설치 방법 (postgresql replication tool)
      Qmail기반의 Anti spam 시스템 구축하기
      clusterssh

    [ 함께하는 사이트 ]




    운영진 : 좋은진호(truefeel), 야수(yasu), 범냉이, sCag
    2003년 8월 4일~