Snort란
- Open Source Network Intrusion Detetion / Protection System
- 정의한 룰을 기반으로 네트워크 상의 악의적인 행위를 탐지
- 패킷 스니퍼, 패킷 로거, 침입 탐지 3가지를 수행 가능
설치
- snort 설치를 위해 interface와 ip 확인(설치 과정에서 interface와 ip를 요구)
ifconfig
- snort 설치
sudo apt-get install snort
- 설치 전 확인했던 interface와 ip 설정
- 설치 확인
snort --version
기본 설정
- snort의 루트 디렉터리는 /etc/snort
- 기본적으로 권한이 -rw-r--r--이기 때문에 수정을 위해서는 root 권한이 필요
sudo su
- snort의 기본 설정 파일은 /etc/snort/snort.conf
vim /etc/snort/snort.conf
- 51번째 줄에서 보호할 ip 주소를 any에서 변경
- 571번째 줄에서 사용자 정의 룰 경로를 포함하는 설정 확인 가능
- 만약, 정의한 룰이 정상적으로 동작하는지 확인하기 위해서는 해당 줄 아래로 설정된 나머지 룰을 주석 처리해야 함
- 설정을 마치고 설정 파일에 오류가 없는지 테스트
snort -T -c /etc/snort/snort.conf
# -T는 설정 파일을 테스트 하는 옵션
# -c는 룰 파일을 지정하는 옵션
Rule 설정
- /etc/snort/rules에서 기본 제공되는 rule 파일 확인 가능
- local.rules는 사용자 정의 파일
vim local.rules
- snort rule은 헤더와 옵션으로 구성됨
- 헤더는 액션, 프로토콜, src와 dst 정보가 포함됨
- 액션은 rule에 해당하는 트래픽에 대해 수행할 행동을 정의
- 프로토콜은 액션을 수행할 대상 프로토콜 정의
- src와 dst 정보는 액션을 수행할 대상 트래픽 출발지 목적지 ip와 port를 정의
alert icmp any any -> <내 ip> any
실행
snort -A console -c /etc/snort/snort.conf
Reference
'⌨️ 개발 > Open Source' 카테고리의 다른 글
[Tcpdump] 코드 분석 (0) | 2024.03.03 |
---|---|
[Tcpdump] Tcpdump 기본 (0) | 2024.03.03 |