목차
1. snort
2. snort 설치
3. snort 실행
1. snort
snort는 네트워크 상에서 패킷을 모니터링 및 분석하는 프로그램으로, IDS의 구성 중 A-Box에 해당한다.
킹버거님 늘 감사합니다^^
2. snort 설치
2-1. 관련 패키지 설치
# yum install -y libdnet-devel openssl-devel pkgconfig gcc flex bison zlib* libpcap* pcre* libpcap-devel libpcre3-devel libnetfilter-queue-devel iptables-devel libdnet* tcpdump
2-2. daq 설치
centos 7 기준 epel 리포지토리에서 제공한다.
# yum install -y daq daq-devel daq-modules libnghttp2
libnet에 대해 심볼릭 링크를 생성한다.
# ln -s /usr/lib64/libdnet.so.1.0.1 /usr/lib64/libdnet.1
2-3. snort 설치
rpm 파일을 다운받는다. 경로는 변경될 수 있다.
snort 홈페이지에 올라와 있으니 안될 경우 직접 링크를 찾으면 된다.
# wget https://snort.org/downloads/snort/snort-2.9.20-1.centos.x86_64.rpm
2-4. 환경 설정
snort 실행에 필요한 기본 디렉터리 및 퍼미션 rule 파일을 설정 및 생성한다.
# mkdir /usr/local/lib/snort_dynamicrules
# touch /etc/snort/rules/white_list.rules
# touch /etc/snort/rules/black_list.rules
# touch /etc/snort/rules/local.rules
# chmod -R 700 /etc/snort
# chmod -R 700 /var/log/snort
# chmod -R 700 /usr/local/lib/snort_dynamicrules
# chown -R snort.snort /etc/snort
# chown -R snort.snort /var/log/snort
# chown -R snort.snort /usr/local/lib/snort_dynamicrules
snort 테스트를 위해 간단한 rule을 local.rules에 추가한다.
# vi /etc/snort/rules/local.rules
===========================================================================
alert icmp any any -> $HOME_NET any (msg:"ICMP TEST"; sid:10000001; rev:001;)
=============================================================================
sid는 1000000 이전까지는 snort에서 예약한 sid이므로, 1000000 이후의 번호로 설정한다.
rev는 rule의 버전 정보로, rule을 수정했을 경우 더 큰 값으로 변경해야 한다.
2-5. snort.conf 파일 설정
snort.conf 파일은 수정 전 반드시 백업받기를 권장한다.
복잡한 설정들이 많고 이것을 잘못 설정하면 snort가 제대로 동작하지 않기 때문에,
conf 파일을 백업해두지 않으면 프로그램을 밀고 새로 깔아야 하는 번거로운 상황이 자주 발생하기 때문이다.
# vi /etc/snort/snort.conf
다음 내용들을 찾아 수정
====================================================
...
...
ipvar HOME_NET 192.168.11.0/24 (snort의 네트워크 주소)
ipvar EXTERNAL_NET !$HOME_NET
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules
output unified2: filename snort.log, limit 128
...
...
====================================================
3. snort 실행
snort를 실행하고 동작을 확인한다.
여기서는 ICMP에 대해 "ICMP TEST"라는 메시지로 alert가 뜨는지 설정했으므로 이를 확인한다.
# snort -i [NIC] -A console -c /etc/snort/snort.conf
# snort -i ens32 -A console -c /etc/snort/snort.conf
ping을 보내 icmp 패킷을 발생시키면
다음과 같이 알림이 뜬다.
'Network' 카테고리의 다른 글
Cisco Switch 운영에 필요한 기본 개념 (0) | 2023.03.23 |
---|