보안관제 프로젝트(1)

정지범·2024년 5월 13일
1

refactoring

목록 보기
16/20

보안관제 프로젝트를 시작해보려고 합니다.
이번 프로젝트의 목적은 악성코드 행위를 분석하고 Snort를 이용하여 탐지하는 것 입니다.
환경구성 먼저 해보겠습니다.

CONTENTS

  • 가상환경 구성
  • 설치환경 구성
  • 프로그램 설정

1. 가상환경 두개 구성

  • 가상환경 두개 생성

1.2 네트워크 연결

  • Client와 server의 ip주소 확인
  • 네트워크 연결 확인

2.1 라이브러리 설치

  • Snort를 설치하기 전에 실제 네트워크로 전송되는 패킷을 탐지하기 위해 Pcap 라이브러리가 필요합니다.

2.2 Snort 설치

  • 3 버젼은 리눅스 전용이며, 윈도우에서는 2.9.20이 최신 버전임
  • 최신버전은 안정적이지 않으며, 오류가 많음
  • 2.9.2.3은 안정적이며 자체적으로 스키마 파일을 제공해주는 가장 마지막 버전

2.3 Xampp 설치



  • Apache Web Server, MySQL, PHP를 사용할 수 있는 프로그램을 단기간에 빠르게 설치 가능하게함.
  • Snort 로그 파일이 2진수 형태로 저장되기에 분석하는데 힘듦으로 Snort를 DB와 연동시켜 좀 더 쉽게 분석하기 위함
  • xampp 최신버전은 mariadb를 지원 -> mariadb로 snort 환경 구성 해보려했지만 정보가 많이 없어 mysql인 1.7.1 버전을 선택

2.4 ADOdb 설치

  • PHP 데이터베이스 클래스 라이브러리로 데이터베이스 관리를 위한 기능을 제공하는 파일
  • 파일 다운로드
  • 파일 압축해제
  • C:\xampp\htdocs\adodb5 경로에 압축을 푼 파일을 모두 저장

2.5 Base 설치

  • Snort 시스템 탐지 로그를 분석하는데 웹 프로트 엔드를 제공해주는 파일
  • C:\xampp\htdocs\adodb5 경로에 압축을 푼 파일을 모두 저장
  • 그러면 base 프로그램이 adodb5 라이브러리를 이용하여 snort db에 접근한 뒤, 저장된 탐지로그를 불러와서 웹 프론트엔드상에 집계를 해줌

2.6 Notepad++ 설치

  • Notepad++가 있어야 snort.conf 수정이라든가 snort.rule 생성등을 할 수가 있음
  • 메모장으로 열면 해당 파일이 깨짐

3.1 MySQL 비밀번호 설정

  • XAMPP 설치 후 MySQL 초기 비밀번호가 설정이 되어있지 않기 때문에 아래 명령어를 입력해 비밀번호를 설정합니다.
  1. cd C:\xampp\mysql\bin
  2. mysql -u root -p mysql
  3. update user set password = password(’원하는 비밀번호') where user = 'root';
  4. flush privileges;
  5. quit 또는 Ctrl + C

3.2 Snort DB 생성 후 MySQL 스키마 생성

  • C:\snort\schema 경로에 create_mysql 파일을 C:\xampp\mysql\bin 폴더에 복사
  1. cd c:\xampp\mysql\bin  

  2. mysqladmin -u root -p create snort
    -> Snort DB 생성

  3. mysql -D snort -u root -p < create_mysql
    ->mysql 전용 스키마 적용

  4. mysql -u root -p  입력 후 비밀번호 입력
    ->mysql 콘솔 로그인

  5. use snort;
    ->snort DB 접근

  6. show tables;
    ->snort DB의 테이블 출력

3.3 Base 설정

  • c:\xampp\htdocs\base\includes 경로에 존재하는 base_action.inc.php 파일을 Notepad++을 통해 실행한다.
  • 29~30줄 주석처리

  • "http://localhost/base" 웹 사이트에 접속 후 Continue 버튼을 눌러 Base 설정을 시작한다.
  • Path to ADODB에 “C:\xampp\htdocs\adodb5” 입력 후 Continue 버튼을 누른다.
  • Pick a Database(사용할 DB 설정)에 'MySQL' 입력 후, Continue 버튼을 누른다.
  • 체크박스 활성화 후 원하는 로그인 정보를 생성한 후 Continue 버튼을 누른다.
  • "Create Base AG" 클릭 시 사전에 한 Table 등록으로 인해서
    Status에 "Done Succesfully created user" 표시로 Base 설정이 완료된 것을 확인할 수 있다.

3.4 Snort.conf 파일 수정

  • C:\Snort\etc\ 경로에서 snort.conf 파일을 Notepad++을 통해 열고, 
    Ctrl+F 후 ipvar, portvar 두 가지 키워드를 'var'로 모두 바꾸어 준다.
  • 리눅스 형식 경로로 설정되어 있는 104~106, 113~114, 247, 250, 253 라인을
    모두 윈도우 형식의 경로로 변경해 준다.
  • 265 ~ 269 라인은 IDS 모드에서 사용할 수 없으므로 주석 처리를 해준다.
  • 510, 511번 라인  또한 윈도우 형식으로 변경
  • C:\snort\rules 경로에 이름에 맞게 빈 rules 파일을 생성한다.
  • 535~536번째 줄에 본인 DB정보를 입력
  • 541, 542번 라인은 사진과 같이 수정
  • C:\Snort\rules 경로에 사용하고자 하는 rules 파일 생성 후, 554번 줄에 해당 룰 파일로 경로를 수정한다.
  • 사용할 룰파일명을 열어서 테스트 룰을 입력
  • 파일 위치로 이동 -> cd C:\Snort\bin
  • NIC 번호 확인 명령어를 입력 -> snort.exe –W
  • Snort.conf 오류 확인
  • Snort.exe –T –c c:\snort\etc\snort.conf –l c:\snort\log –i1 입력
  • Snort successfully validated... 가 떳다면 성공적으로 구축 완료.
  • 위와 같은 화면이 나온다면 정상적으로 작동 된 것
  • 다른 가상환경에서 ping을 보내 정상적으로 보내지는지 확인
  • 정상적으로 ICMP 패킷이 탐지가 되는 것을 확인
profile
안녕하세요

0개의 댓글