본문 바로가기
IT/Snort

[Kali Linux] Kali(Debian)에 Snort 설치 방법

by 초록술 2023. 7. 17.
반응형

Snort 설치 및 구동 방법 - Kali Linux (Debian)

 제가 운영 중인 Kali Linux(Debian) VM에 snort 테스트를 하기 위해 snort 설치를 진행하였습니다.
Snort는 Network 보안에서 IPS, IDS의 중요한 부분을 차지하고 있습니다.
이론적인 부분뿐만 아니라 실습을 진행하기 위해 snort 설치는 반드시 필요로 합니다.
 
심도 있는 학습 및 테스트를 진행하기 위해 아래 가이드를 확인하시기 바랍니다.
(참고로 root 계정으로 설치를 진행하였습니다.)
 

source.list backup

apt-get 패키지 다운로드 서버를 변경하기 위해 우선 default로 설정되어 있는 source.list 파일을 백업합니다.

mv /etc/apt/sources.list /etc/apt/sources.list.bak

아래와 같이 파일명을 변경합니다.

sources.list mv

Remove updates

설치된 kali 업데이트를 제거합니다.

find /var/lib/apt/lists -type f -exec rm {} \;

  

Change source.list content

sources.list 에 update source.list를 추가합니다.

vi /etc/apt/sources.list

 아래 리스트를 붙여 넣습니다.

deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu focal partner
deb-src http://archive.canonical.com/ubuntu focal partner

 
※ 참고

위에 방법은 직접 리스트를 작성하는 가이드이고 혹시라도 정상적으로 apt update 가 안된다면 아래 방법으로는 wget을 통해 sources.list를 다운로드할 수 있습니다. 아래 명령어를 참고하시고 진행 부탁드립니다.

wget https://gist.githubusercontent.com/ishad0w/788555191c7037e249a439542c53e170/raw/3822ba49241e6fd851ca1c1cbcc4d7e87382f484/sources.list -O /etc/apt/sources.list

  

apt update

apt update 명령어를 통해 update를 진행합니다.
다음과 같이 정상 업데이트가 진행되는지 확인해 주세요.

apt update

apt update 시 error 발생
apt update 시 error 발생

specified public key 추가

apt update 업데이트를 시도 시 위 이미지와 같이 오류가 발생하는 경우가 있습니다.
GPG 에러가 발생한다면 에러 메시지의 Key 값인 공개키(PUBKEY)를 등록해야 합니다.
 
※ 에러 메시지 (뒷부분의 NO_PUBKEY 값을 확인)

W: GPG error: http://archive.ubuntu.com trusty-updates Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3B4FE6ACC0B21F32 NO_PUBKEY 871920D1991BC93C

 
위 에러 메시지의 NO_PUBKEY 값을 아래와 같이 각각 등록합니다.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C

key 등록

 
등록 완료 후 다시 apt update를 수행하여 정상적으로 업데이트가 진행되는지 확인합니다.

apt update

  

snort install

이제 snort를 설치합니다. 아래 명령어를 사용합니다.

apt install -y snort

apt install -y snort

websnort install

Web UI로 제공되는 pcap 파일 분석을 위한 웹 서비스가 있어 추가로 설치하였습니다.

websnort 이며 자세한 내용은 하기 링크를 참조 부탁드리겠습니다.

https://github.com/shendo/websnort

 

GitHub - shendo/websnort: Web service for scanning pcaps with snort

Web service for scanning pcaps with snort. Contribute to shendo/websnort development by creating an account on GitHub.

github.com


websnort 를 설치하기 위해 아래 명령어를 입력합니다.

service snort stop
update-rc.d snort disable
chmod a+r /etc/snort/snort.conf
pip install websnort

websnort 설치

websnort service start

websnort을 호출하여 websnort를 구동합니다. 
해당 web은 아래와 같이 8080 포트를 사용함을 확인할 수 있습니다.

websnort

websnort 구동
websnort 구동

 

websnort access

이제 8080 Port를 통해 websnort에 접속할 수 있습니다.
websnort Web Page가 정상 구동되어야 합니다.
 
http://<kali_linux_ip>:8080

websnort 접속
websnort 접속

참고로, kali Linux VM 내에서는 http:127.0.0.1:8080으로 접속하시면 됩니다.
/etc/snort/rules/ 경로에 snort rule이 존재합니다.
사용자 Rule 추가 시 local.rules 파일에 추가 및 서비스 재시작 필요로 합니다.
 

snort 사용방법

ifconfig 명령어를 통해 탐지하려는 interface name을 확인합니다.

ifconfig

ifconfig

저의 kali linux는 eth0을 사용하네요. 확인된 인터페이스를 아래 명령어에서 수정((ethx -> eth0)하여 입력합니다.

snort -i eth0 -A console -c /etc/snort/snort.conf

# eth0 을 사용하는 interface로 변경하세요.
  •  -A console 옵션:  탐지 결과 출력
  • local.rules에 rule 추가/변경 시 : ctrl+c or ctrl+z로 snort 종료 후 재 실행 필요

아래와 같이 snort가 구동됨을 확인합니다.

snort 구동

snort 종료

ctrl+c or ctrl+z로 snort를 종료할 수 있습니다.
 
끝으로 백업했던 sources.list를 원복 해줍니다.

cp /etc/apt/sources.list.bak /etc/apt/sources.list

  
참고로 snort에 대해 알아보시려면 아래 작성한 포스팅을 참고 바랍니다.
[Snort Overview 바로가기]

 

[Security][Network] Snort #1 Snort Overview

Snort Overview Snort SNORT는 IP 네트워크에서 실시간 트래픽 분석 및 패킷 로깅을 수행할 수 있는 오픈 소스 네트워크 침입 탐지 시스템입니다. 영어로는 Network Intrusion Detection & Prevention System (Network IDS

greensul.tistory.com

반응형

댓글