일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 2020보안기사
- 정량적위험분석법
- 보안관제
- 정성적위험분석법
- 보안관제처음
- kisa아카데미
- 중소기업보안관제
- 보안기사위험의구성요소
- 원격관제
- 정보보안기사위험
- 정성적분석법
- 키사아카데미
- 정보보안기사정리
- 중소기업혜택
- 파견관제
- 보안관제로처음
- 정량적분석법
- 정보보안기사위험처리
- 정보보안기사위험의구성
- 중소기업꿀팁
- vmware gns
- 보안기사위험처리
- 보안기사정리
- 위험의구성요소
- 내일채움배움공제
- k-shield
- 2020정보보안기사
- 보안관제중소기업
- 정보보호거버넌스
- 보안관제우선순위
- Today
- Total
IT보안타파
Snort 한번에 설치 성공하자! 본문
Snort 준비물 위에 파일을 받아 주세요. 따로 필요한 자료는 받아 설치 해주세요 CentOS 6.x 를 이용하였습니다. 밑의 모든 내용을 다 해야합니다. 1. ping 8.8.8.8 통신 확인 ping google.com 통신 확인 2. yum -y install epel-release -> Red Hat 계열 리눅스(RHEL, CentOS, Oracle Linux...) 에서 유용한 유틸리티가 많이 포함되어 있어 필수적으로 설치하는 추가 Repository 이다. 3. sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo -> 기본 저장소와 충돌하지 않게 epel.repo 파일을 enable=0 으로 비활성화. 이 저장소를 사용하려면 yum 명령에서 -enablerepo=epel 이라고 지정해야 한다. 4. yum --enablerepo=epel -y install gcc make rpm-build autoconf automake flex bison libpcap-devel libdnet libdnet-devel zlib zlib-devel -> 직접 쳐서 입력 : yum install httpd* pcre pcre-devel php-common php-gd php-cli php-mysql flex bison mysql mysql-devel mysql-bench mysql-server php-pear.noarch phppear-DB.noarch php-pear-File.noarch kernel-devel libxml2-devel vimenhanced.i386 -y 5. yum -y install gcc* (1) 위 받은 파일 "libpcap" 설치 tar -zxvf [ libpcap 파일명] cd [ libpcap 파일명] ./configure && make && make install cp /usr/local/lib/libpcap.a /usr/lib (2) 위 받은 파일 "libdnet" 설치 tar -zxvf [ libdnet 파일명 ] cd [ libdnet 파일명 ] ./configure && make && make install 구글링을 통해 패키지를 받는다. libpcap - LAN 상의 패킷을 시스템과 독립적인 사용자 레벨에서 캡춰하는 라이브러리 BSD 기반의 패킷 캡춰 구조를 가지고 있으며, promiscuous 모드로 동작하고, 이더넷과 PPP 등 다양한 네트워크 모드에서 사용할 수 있다. BSD - (Berkeley Software Distribution) 유닉스 운영 체제이다. 6. daq와 snort 설치 (1)wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz -> 들어가서 받거나 함. (2)https://www.snort.org/downloads/snort -> 들어가서 snort-x.x.x.x.tar.gz 받음 7. 파일 받은 "daq"와 "snort" 설치 -> /usr/local/src -> 경로에 설치 (1) tar -zxvf [ daq 파일명 ] -C /usr/local/src (2) cd /usr/local/src/[ daq 파일명 ] (3) ./configure; make; make install (4) tar -zxvf [ snort.x.파일명 ] -C /usr/local/src -> /usr/local/src -> 경로에 설치 (5) cd /usr/local/src/[ snort.x.파일명 ] (6) ./configure; -enable-sourcefire; make; make install -> ERROR! Libpcre header not found. Get it from http://www.pcre.org -bash: -enable-sourcefire: command not found make: *** No targets specified and no makefile found. Stop. make: *** No rule to make target `install'. Stop. 이런 문구에러가 나오면 (7)으로 아니면 (8). (7) yum install pcre* (8) ./configure; -enable-sourcefire; make; make install ./configure --enable-active-response --enable-reload --enable-react 8. snort와 daq가 설치 제대로 됫는지 확인 (1) snort -V
,,_ -*> Snort! <*- o" )~ Version 2.9.9.0 GRE (Build 56) '''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team Copyright (C) 2014-2016 Cisco and/or its affiliates. All rights reserved. Copyright (C) 1998-2013 Sourcefire, Inc., et al. Using libpcap version 1.4.0 Using PCRE version: 7.8 2008-09-05 Using ZLIB version: 1.2.3 이렇게 뜨면 성공! (2) snort --daq-list
Available DAQ modules: pcap(v3): readback live multi unpriv ipfw(v3): live inline multi unpriv dump(v3): readback live inline multi unpriv afpacket(v5): live inline multi unpriv 이렇게 뜨면 성공! 9. snort 를 설치했지만, 필요한 rules 은 설치되지 않았다. 즉, 데이터가 들어오는 것은 확인할 수 있어도 그에 필요한 필터는 되지 않는다는 것을 의미. 디렉터리를 만들고 다운받은 룰 세트의 압축을 푼 뒤, 정해진 위치에 복사한다. (1) mkdir -p /etc/snort (2) groupadd snort useradd -g snort snort (2) mkdir -p /var/log/snort (3) chown snort:snort /var/log/snort (4) touch /var/log/snort/alert (5) chown snort:snort /var/log/snort/alert 10. snort rules 를 설치 하기 위해 snort 홈페이지에서 다운받아야 한다. 먼저 홈페이지에 로그인을 해야한다.
로그인을 한 후 오른쪽 상단의 자신의 아이디를 클릭하면 다음 화면으로 넘어간다. Oinkcodes 를 클릭한 후 Documentation 의 How to use your oinkcode 를 클릭한다. 11. 주소가 나오는데, 그 중 하나를 다운 받은 후 /etc/snort 에 압축 해제를 한다. (tar -zxvf 를 이용) 그리고 알집으로 압축을 푸신 뒤 리눅스 /etc/snort 에 압축을 푼 모든 파일(4개)을 넣어주세요.
12. white와 black 생성 (1) touch /etc/snort/rules/white_list.rules (2) touch /etc/snort/rules/black_list.rules 13. snort 설정 파일을 변경 하고 권한을 설정해 줘야 한다. 어떤 경로에 로그가 생성되는지, 어떤 룰을 적용시킬지 설정한다. 설정하기 전 반드시 백업파일을 만들어 두고 하자.
(1) cd /etc/snort/etc (2) cp -p snort.conf snort.conf.original 14. 설정 변경 (1) vi /etc/snort/etc/snort.conf (2) :/찾을 문자 ex) :/HOME_NET 할 시 HOME_NET 문자를 찾아간다.
※그리고 /etc/snort/etc/snort.conf에서 HOME_NET을 설정해 줄 시 해당 IP중 centOS라면 eth0 을 가장 우선으로 하고있어 대표로 설정해 주어야 ip설정이 잡힐 것이다. 그리고 현재 여기서는 실습할 IP가 두개이기 때문에 HOME_NET을 ip 두개로 지정해준다. HOME_NET[ IP/IP bit,IP/IP bit ] 현재 ip 설정은 HOME_NET [192.168.112.198/24,10.10.10.141/24] 가 된다. ※ White List ? Black List ? white list - 화이트리스트에 등록된 사용자만 서버와 통신이 가능하다. - 첫 사용자는 화이트리스트에 등록이 되어 있지 않으므로 관리자에게 등록을 요청하고, 등록이 될 때 까지 기다려야 한다. black list - 블랙리스트에 등록된 사용자는 서버와 통신이 불가능하다. - 첫 사용자도 마음대로 접속 가능하기 때문에, 블랙리스트에 등록될 경우, 다른 IP로 변조하여 다시 들어 올 가능성이 높다. 결론 - 보안적 측면에서는 화이트리스트가 블랙리스트보다 보안성이 높다 - 유저 편이 입장에서는 블랙리스트가 화이트리스트보다 효율적이다. 15. snort 그룹 추가 및 생성 (2) adduser snort -u 40000 -d /var/log/snort -s /sbin/nologin -c SNORT_IDS -g snort -> 에러는 무시하면 됨. 16. 권한 설정 cd /usr/local/src chown -R snort:snort daq-2.0.6 chmod -R 700 daq-2.0.6 chown -R snort:snort [ snort.x.파일명 ] -> 7번 설치에서 했던 파일명 chmod -R 700 [ snort.x.파일명 ] chown -R snort:snort snort_dynamicsrc/ chmod -R 700 snort_dynamicsrc cd /var/log chmod 700 snort chown -R snort:snort snort cd /usr/local/lib mkdir -p snort_dynamicrules chown -R snort:snort snort* chown -R snort:snort pkgconfig chmod -R 700 snort* chmod -R 700 pkgconfig cd /usr/local/bin chown -R snort:snort daq-modules-config chown -R snort:snort u2* chmod -R 700 daq-modules-config chmod -R 700 u2*
cd /etc chown -R snort:snort snort chmod -R 700 snort 17. mkdir /usr/local/lib/snort_dynamicrules chown -R snort:snort /usr/local/lib/snort_dynamicrules chmod -R 700 /usr/local/lib/snort_dynamicrules cp /etc/snort/so_rules/precompiled/Ceontos-5-4/i385/버전 <- [ tab 키 누른다 ]/*.so /usr/local/lib/snort_dynamicrules *위에서 wrong ELF class: ELFCLASS32 이와 같은 에러가 보인다면 i385가아닌 x86-64로 바꾼후 실행 cp -u /etc/snort/so_rules/precompiled/Centos-5-4/x86-64/버전<- [ tab 키 누른다 ]/*.so /usr/local/lib/snort_dynamicrules/
cat /etc/snort/so_rules/*.rules >> /etc/snort/rules/so_rules.rules 18. 설정 확인 snort -T -i eth0 -u snort -g snort -c /etc/snort/etc/snort.conf -> 입력 후 snort successfully validated the configuration ! snort exiting 이 나오면 성공이다. *위에서 wrong ELF class: ELFCLASS32 이와 같은 에러가 보인다면 i385가아닌 x86-64로 바꾼후 실행 17번으로 이동 19. 룰 설정을 시작하게 된다. vi /etc/snort/rules/local.rules G <- 대문자 G 누르면 맨 밑으로 내려간다. i <- 소문자 i 한뒤 입력 창 생성 입력 alert icmp any any -> $HOME_NET any (msg:"ICMP TEST"; sid:10001; rev:001;) 저장 20. 이제 패킷을 잡고 있는 IDS의 진정한 모습을 보게 될 것이다. snort -vde -c /etc/snort/etc/snort.conf -A full -l /var/log/snort/ 20-1. snort -vde -c /etc/snort/etc/snort.conf -A full -l /var/log/snort/ 밑에는 옵션이다.
snort -vde -c /etc/snort/etc/snort.conf -A full [-i eth번호] -l /var/log/snort/ <- eth번 호에 대해 패킷을 감시할수있다. 21. ping을 보내 테스트 해본다. 패킷이 이동하는 것을 확인할 수 있다. 22. 이제 새 터미널 창을 열고 실시간으로 에러 메시지를 보고싶다면 20번보다 먼저 tail -f /var/log/snort/alert 를 실행하여야한다. 그렇지 않으면 메시지가 뜨지않는다. 그 후 다시 20번 명령어 실행 한후 테스트 해본다. 만약 여기서 메세지를 처음보고싶어 지우거나 먼가 조작하게 되면 20번을 끄고 다시 실행 시켜어 확인해야한다. |