Snort는 크게 두 가지 방식의 탐지로그 출력을 지원한다. A 옵션을 이용한 경고와 패킷 로그 분리,
[root@Centos7 ~]# snort --help
,,_ -*> Snort! <*- o" )~ Version 2.9.20 GRE (Build 82) '''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team Copyright (C) 2014-2022 Cisco and/or its affiliates. All rights reserved. Copyright (C) 1998-2013 Sourcefire, Inc., et al. Using libpcap version 1.5.3 Using PCRE version: 8.32 2012-11-30 Using ZLIB version: 1.2.7
USAGE: snort [-options] <filter options>Options: -A Set alert mode: fast, full, console, test or none (alert file alerts only)
또는 unified2 설정을 이용한 경고와 패킷 로그 통합.
그런데 최근 테스트 과정에서 A 옵션을 사용하지 않았음에도 unified2 설정이 동작하지 않고, A 옵션 모드로만 동작하는 문제 발생. 실행 프로세스를 확인해보면 분명 A 옵션이 없는데 왜?
[root@Centos7 ~]# ps -ef | grep snortroot 3065 1216 1 20:19 pts/1 00:00:00 snort -i eth0 -c /etc/snort/snort.confroot 3076 1195 0 20:19 pts/0 00:00:00 grep --color=auto snort
구글 뒤져보면 비슷한 문제를 호소하는 글들이 좀 있는데 뚜렷한 해결책은 보이지 않는다. 최초 사용했던 설치 파일은 snort-2.9.9.0-1.centos7.x86_64.rpm. 과정은 대략
① 최초 설치 후 unified2 정상 동작 확인 처음부터 되질 말던가
② virtualbox 스냅샷 기능으로 centos 초기화 후 재설치
③ 재설치 후 A 옵션을 사용하지 않아도 unified2 동작 실패
④ 이후 버전(2.9.9 이상)과 설치 방법(rpm, tarball)을 이리저리 바꿔봐도 계속 ③상태
⑤ snort-2.9.20-1.centos.x86_64.rpm 설치 후 정상 동작 확인
이렇게 끝났으면 다행인데
강의 때 또 같은 문제 발생. 설치 후 A 옵션 실행 과정을 먼저 보여주고, 이후 unified2 출력 결과를 보여주려고 하는데 동작하지 않는다.
다행히 스냅샷 초기화 후 재설치하면 문제는 사라짐. 설치 후 A 옵션을 먼저 실행하면 문제가 발생하나 싶어 다시 테스트해봤는데 재현은 안 된다.
① 최초 설치 후 A 옵션 실행: 정상
② 이후 A 옵션 없이 실행: unified2 정상 동작
③ 스냅샷 초기화 후 재설치
④ 설치 후 A 옵션 없이 실행: unified2 정상 동작
⑤ A 옵션 실행도 정상
결국 원인 불명(..) 참고로 최종 설치 파일 버전은 daq-2.0.7과 호환되지 않는다. 의존성 에러 발생.
[root@Centos7 ~]# rpm -ivh https://snort.org/downloads/snort/snort-2.9.20-1.centos.x86_64.rpmRetrieving https://snort.org/downloads/snort/snort-2.9.20-1.centos.x86_64.rpmerror: Failed dependencies: libsfbpf.so.0()(64bit) is needed by snort-1:2.9.20-1.x86_64
관련 패키지 설치를 시도하면 daq-2.0.6이 설치된다.
[root@Centos7 ~]# yum install libsfbpf*Loaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirror.elice.io * epel: ftp.riken.jp * extras: mirror.elice.io * updates: mirror.elice.ioResolving Dependencies--> Running transaction check---> Package daq.x86_64 0:2.0.6-1.el7 will be installed--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================== Package Arch Version Repository Size==============================================================================================================================Installing: daq x86_64 2.0.6-1.el7 epel 82 k
Transaction Summary==============================================================================================================================Install 1 Package
Total download size: 82 kInstalled size: 207 kIs this ok [y/d/N]: yDownloading packages:daq-2.0.6-1.el7.x86_64.rpm | 82 kB 00:00:00Running transaction checkRunning transaction testTransaction test succeededRunning transaction Installing : daq-2.0.6-1.el7.x86_64 1/1 Verifying : daq-2.0.6-1.el7.x86_64 1/1
Installed: daq.x86_64 0:2.0.6-1.el7
Complete!
이후 설치 성공.
[root@Centos7 ~]# rpm -ivh https://snort.org/downloads/snort/snort-2.9.20-1.centos.x86_64.rpmRetrieving https://snort.org/downloads/snort/snort-2.9.20-1.centos.x86_64.rpmPreparing... ################################# [100%]Updating / installing... 1:snort-1:2.9.20-1 ################################# [100%]
아직 안 끝났다. libdnet 라이브러리 문제도 발생. 다행히 같은 문제를 겪은 이가 이미 구글에 존재한 덕에 해결.
[root@Centos7 ~]# snort -Vsnort: error while loading shared libraries: libdnet.1: cannot open shared object file: No such file or directory[root@Centos7 ~]# ln -s /usr/lib64/libdnet.so.1.0.1 /usr/lib64/libdnet.1[root@Centos7 ~]# snort -V
,,_ -*> Snort! <*- o" )~ Version 2.9.20 GRE (Build 82) '''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team Copyright (C) 2014-2022 Cisco and/or its affiliates. All rights reserved. Copyright (C) 1998-2013 Sourcefire, Inc., et al. Using libpcap version 1.5.3 Using PCRE version: 8.32 2012-11-30 Using ZLIB version: 1.2.7
23.09.06
unified2 문제 해결 안 되는 모양.
댓글 없음:
댓글 쓰기