보안 · 4 min read · Oct 16, 2025

침입 탐지: Snort, Base, MySQL, 및 Apache2를 Ubuntu 7.10 (Gutsy Gibbon)에서 사용하는 방법 (업데이트)

침입 탐지: Snort, Base, MySQL, 및 Apache2를 Ubuntu 7.10 (Gutsy Gibbon)에서 사용하는 방법 (업데이트)

이 튜토리얼은 DevilMan이 작성한 다른 방법을 기반으로 하지만, 모든 패키지를 수동으로 컴파일하거나 GUI를 사용하여 소프트웨어를 설치하는 아이디어는 마음에 들지 않았습니다. 이 방법은 Gutsy 서버 또는 Gutsy 데스크탑에서 작동합니다. 그 말은, 이 방법의 일부는 원본에서 직접 복사한 것입니다.

이 튜토리얼에서는 Snort(침입 탐지 시스템(IDS)), BASE(기본 분석 및 보안 엔진), MySQL 및 Apache2를 Ubuntu 7.10 (Gutsy Gibbon)에서 소스에서 설치하고 구성하는 방법을 설명합니다. Snort는 네트워크를 모니터링하고 가능한 위협에 대해 경고하는 데 도움을 줄 것입니다. Snort는 로그 파일을 MySQL 데이터베이스에 출력하며, BASE는 이를 사용하여 웹 브라우저에서 그래픽 인터페이스를 표시합니다.

1. 루트 권한 얻기

이 설치는 루트 사용자로 하는 것이 가장 쉽습니다.

sudo su -

2. 패키지 설치하기

다음 명령은 이 설정을 작동시키기 위해 필요한 모든 패키지를 설치합니다:

apt-get install libpcap0.8-dev libmysqlclient15-dev mysql-client-5.0 mysql-server-5.0 bison flex apache2 libapache2-mod-php5 php5-gd php5-mysql libphp-adodb php-pear libc6-dev g++ gcc pcregrep libpcre3-dev

3. Snort 다운로드 및 컴파일하기

Gutsy 저장소의 Snort 패키지는 구식입니다. 그래서 저는 최신 버전을 다운로드하여 설치하는 것을 선호했습니다. 이것이 우리가 처음부터 컴파일할 유일한 것입니다.

작성 시점의 Snort 최신 버전은 2.8.0.1입니다.

먼저 작업 디렉토리로 이동합시다:

cd /usr/src/

웹 브라우저를 열고 http://www.snort.org/dl로 이동하여 가장 최근 릴리스를 마우스 오른쪽 버튼으로 클릭하고 링크 위치 복사를 선택합니다.

a. Snort 및 Snort 규칙 다운로드하기

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

규칙에 대한 몇 가지 옵션이 있습니다. 다음 명령은 공개 규칙을 다운로드하지만, Snort 사이트에서 빠른 등록을 통해 더 최신 규칙을 얻을 수 있습니다. 선택은 여러분의 몫이지만, 다음 명령은 적절한 URL로 동일하게 실행됩니다:

wget http://snort.org/pub-bin/downloads.cgi/Download/vrt_pr/snortrules-pr-2.4.tar.gz

b. 압축 해제 및 컴파일 준비하기

tar zxvf snort-2.8.0.1.tar.gz  
cd snort-2.8.0.1  
tar zxvf ../snortrules-pr-2.4.tar.gz

c. 이제 컴파일하기

./configure -enable-dynamicplugin --with-mysql  
make  
make install

이 디렉토리를 잘 보관하세요. 나중에 Snort를 제거하려면 간단히 다음을 실행할 수 있습니다:

make uninstall

d. 파일을 적절한 위치로 이동하기

이제 Snort의 규칙 및 구성을 적절한 위치로 이동해야 합니다.

mkdir /etc/snort /etc/snort/rules /var/log/snort  
cd /usr/src/snort-2.8.0.1/etc  
cp * /etc/snort/  
cd ../rules  
cp * /etc/snort/rules

4. Snort 구성하기

Snort의 snort.conf 파일을 우리의 필요에 맞게 수정해야 합니다.

좋아하는 텍스트 편집기(nano, vi, vim 등)로 /etc/snort/snort.conf를 엽니다.

# vi /etc/snort/snort.conf

var HOME_NET any “을 “ var HOME_NET 192.168.1.0/24 “로 변경합니다(귀하의 홈 네트워크는 192.168.1.0과 다를 수 있습니다).
var EXTERNAL_NET any “을 “ var EXTERNAL_NET !$HOME_NET “로 변경합니다(이는 HOME_NET을 제외한 모든 것이 외부라는 의미입니다).
var RULE_PATE ../rules “을 “ var RULE_PATH /etc/snort/rules “로 변경합니다.

목록을 아래로 스크롤하여 “ # output database: log, mysql, user= “가 있는 섹션으로 이동합니다. 이 줄 앞의 “ # “를 제거합니다.
user=root “을 “ user=snort “로 변경하고, “ password=password “을 “ password=snort_password “로 변경하며, “ dbname=snort “로 변경합니다.
사용자 이름, 비밀번호 및 데이터베이스 이름을 메모해 두세요. MySQL 데이터베이스를 설정할 때 이 정보가 필요합니다.
저장하고 종료합니다.

보안을 위해 구성 파일의 권한을 변경합니다(감사합니다, rojo):

# chmod 600 /etc/snort/snort.conf

5. MySQL 데이터베이스 설정하기.

MySQL 서버에 로그인합니다.

# mysql -u root -p

Snort 데이터베이스를 생성합니다. ‘snort_password’를 다른 것으로 변경해야 합니다!

mysql> create database snort;  
grant all privileges on snort.* to 'snort'@'localhost' identified by 'snort_password'; mysql> exit

우리는 데이터베이스 레이아웃을 위해 Snort 스키마를 사용할 것입니다.

# mysql -D snort -u snort -p < /usr/src/snort-2.8.0.1/schemas/create_mysql

참고: 프롬프트가 나타나면 Snort DB 사용자 비밀번호를 사용하세요.

6. Snort 테스트할 시간

터미널에 입력합니다:

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

모든 것이 잘 되었다면 ASCII 돼지를 볼 수 있어야 합니다.

테스트를 종료하려면 ctrl + c를 누릅니다.

참고: 오류가 발생하면 /etc/snort/rules/web-misc.rules의 97, 98 및 452 줄을 주석 처리해 보세요. 과거에 문제가 있었지만 지금은 더 이상 문제가 없는 것 같습니다.

7. BASE 다운로드 및 설치하기

웹 브라우저를 열고 http://sourceforge.net/project/showfiles.php?group_id=103348로 이동합니다.

다운로드를 클릭한 다음 최신 tar.gz 패키지를 마우스 오른쪽 버튼으로 클릭하고 링크 복사를 선택합니다(작성 시점에서 base-1.3.9입니다).

터미널에 입력합니다:

cd  
wget http://easynews.dl.sourceforge.net/sourceforge/secureideas/base-1.3.9.tar.gz

이제 웹 문서 루트로 이동합니다(기본적으로 /var/www입니다), tarball의 압축을 풀고 BASE 구성을 위해 필요한 권한을 설정합니다:

cd /var/www/  
tar zxvf ~/base-1.3.9.tar.gz  
cd ..  
chmod 757 base-1.3.9

몇 가지 Pear 모듈이 활성화되어 있는지 확인하고 싶습니다:

pear install Image_Color  
pear install Image_Canvas-alpha  
pear install Image_Graph-alpha

8. BASE 설정하기

웹 브라우저를 열고 http://YOUR.IP.ADDRESS/base-1.3.9/setup로 이동합니다.

첫 페이지에서 계속하기를 클릭합니다.

  • 5단계 중 1단계: ADODB의 경로를 입력합니다.
    이 경로는 /usr/share/php/adodb입니다.
  • 5단계 중 2단계:
    데이터베이스 유형 = MySQL, 데이터베이스 이름 = snort, 데이터베이스 호스트 = localhost, 데이터베이스 사용자 이름 = snort, 데이터베이스 비밀번호 = snort_password
  • 5단계 중 3단계: 인증을 사용하려면 여기에서 사용자 이름과 비밀번호를 입력하고 상자를 체크합니다.
  • 5단계 중 4단계: BASE AG 생성 클릭.
  • 5단계 중 5단계: 4단계가 완료되면 아래에서 5단계로 계속 클릭합니다.

이 페이지를 북마크하세요.

/var/www/base-1.3.9 폴더의 권한을 다시 변경합니다.

# chmod 755 /var/www/base-1.3.9

완료되었습니다. 축하합니다!!!

터미널에서 Snort를 시작하려면 다음을 입력합니다(eth0를 귀하의 머신에 맞는 인터페이스로 변경해야 합니다):

# snort -c /etc/snort/snort.conf -i eth0 -D

이 명령은 eth0 인터페이스를 사용하여 Snort를 데몬 모드로 시작합니다. 이 명령을 /etc/rc.local 파일에 추가하여 재부팅 후 시작되도록 할 수 있습니다.

실행 중인지 확인하려면 다음 명령으로 확인할 수 있습니다:

# ps aux | grep snort

실행 중이라면 snort -c /etc/snort/snort.conf -i eth0 -D와 유사한 항목을 볼 수 있습니다.

자신만의 Snort 규칙을 작성하는 방법을 배우고 싶다면 http://www.snort.org/docs/snort_manual/node16.html에 가이드를 확인하세요.
행운을 빕니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.