sudo apt-get update
sudo apt-get upgrade
apt-get install ubuntu-desktop
Ubuntu 부팅시 시간 오래걸리는 문제 해결
vi /etc/systemd/system/network-online.target.wants/networking.service
TimeoutStartSec=5min ---> 5sec
Snort 설치
apt-get -y install flex bison build-essential checkinstall libpcap-dev libpcre3-dev libmysqlclient-dev libnetfilter-queue-dev iptables-dev libdnet-dev
소스 컴파일 작업 디렉토리 생성
mkdir -p /root/snort-install
cd /root/snort-install
libdnet 컴파일 설치
wget http://ftp.psu.ac.th/pub/snort/libdnet-1.12.tgz
tar zxvf libdnet-1.12.tgz
cd libdnet-1.12
./configure "CFLAGS=-fPIC" //빌드(컴파일) 할 옵션을 지정하는 과정
make //실제 컴파일(빌드) 과정
checkinstall -y //CheckInstall will build a .deb package and install it.
dpkg -l |grep libdnet //패키지 설치 확인
ln -s /usr/local/lib/libdnet.1.0.1 /usr/lib/libdnet.1
DAQ 컴파일 및 설치
cd /root/snort-install
wget https://www.snort.org/downloads/archive/snort/daq-2.0.6.tar.gz
tar zxvf daq-2.0.6.tar.gz
cd daq-2.0.6
./configure
make
checkinstall -y //CheckInstall will build a .deb package and install it.
dpkg -l |grep daq
Snort 설치
cd /root/snort-install
wget https://www.snort.org/downloads/archive/snort/snort-2.9.13.tar.gz
tar zxvf snort-2.9.13.tar.gz
cd /root/snort-install/snort-2.9.13
./configure --enable-sourcefire --disable-open-appid
make
checkinstall -y //CheckInstall will build a .deb package and install it.
ln -s /usr/local/bin/snort /usr/sbin/snort
ldconfig -v // 라이브러리 재설정
snort -V //설치 확인(버전 체크)
snort // 그냥 한번 실행시켜봄… 로깅모드...그냥 패킷만 수집
Snort 설정
mv /root/snort-install/snort-2.9.13/etc/* /etc/snort
vi /etc/snort/snort.conf
ipvar HOME_NET 21.5.70.0/24 //보호할 네트워크주소
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
탐지 로그를 남길 디렉토리 생성
mkdir -p /var/log/snort
Snort 실행시 오류 대처
HTTP 전처리기 설정에서 처리할 수 없는 오류 발생
325줄 주석처리 (맨앞에 # 추가) --> webroot no 제거
324번줄 \(BackSlash) 제거
파일/디렉토리가 없어서 발생하는 문제 해결
- touch /etc/snort/rules/white_list.rules --> 파일이 없어서 snort 실행시 에러발생
- touch /etc/snort/rules/black_list.rules --> 파일이 없어서 snort 실행시 에러발생
- mkdir /usr/local/lib/snort_dynamicrules --> 디렉토리가 없어서 snort 실행시 에러발생
탐지 룰 추가
다운받은 Registered Rules에 포함된 룰이 부실하므로 추가적으로 다운로드하여 추가한다
cd /etc/snort/rules
$RULE_PATH 를 확인하여 복사해준다.
cp icmp.rules /etc/snort/rules |
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP Large ICMP Packet"; dsize:>800; \ reference:arachnids,246; classtype:bad-unknown; sid:499; rev:4;) |
- ping -s 1000 VictimIP -> icmp 메시지 크기를 1000바이트로 지정
- 탐지 확인
tail -f /var/log/snort/alert
탐지된 내역 --> [**] [1:499:4] ICMP Large ICMP Packet [**]