Bro Setup and Usage Guide with Seunghwan's Scripts
Learn how to set up and use Bro for network monitoring. This guide provides instructions for installation, configuration, and troubleshooting along with helpful scripts by Seunghwan.
Bro Setup and Usage Guide with Seunghwan's Scripts
E N D
Presentation Transcript
Bro 기본 사용법 • Broctl로 Bro를 시작할 수 있음 • Log 들은 /usr/local/bro/logs에 쌓이며, current/ 폴더에서 최종적으로 확인 가능
설치 환경설정 주의사항 • /usr/local/bro/etc에서 설정파일 변경 가능- broccoli.cfg : broccoli 시스템 환경설정 (피어 , 포트번호등)- broctl.cfg : broctl시스템 환경설정- network.cfg : 로컬 네트워크 환경설정- node.cfg : broctl node 설정 • 수정 후 sudobroctl deploy
설치 환경설정 주의사항 • Ubuntu 16.04 기본 인터페이스 이름 ens33 • The bro 기본 값 eth0 이기 때문에 오류 발생 • node.cfg수정
설치 환경설정 주의사항 • Error: error occurred while trying to send mail: send-mail: SENDMAIL-NOTFOUND not found • broctl.cfg에서 SendMail = /usr/sbin/sendmain추가
로그 파일 확인 • weird.log, http.log • 이외에도 conn.log(해당 인터페이스로 통하는 모든 연결), notice.org(흥미롭거나 이상하거나 나쁜 패킷들)
bro script • 기본경로/usr/local/bro/share/bro • .bro 확장자 • site 디렉토리만 수정을 권장 • base : bro 가 자동적으로 모든 스크립트를 로드하며bro의 다양한 기능들이 내장, 추가적인 performance cost 소모없이 사용 가능 • policy : 상황에 따라 cost 가 발생할 수 있는 기능들로 사용자의 선택 하에 Load 되는 스크립트 • site/local.bro를 메인으로 스크립트들이 실행 됨
local.bro • bro 전체에서 load 할 스크립트 관리 • 몇 가지 policy 들이 기본으로 활성화 되어있음. • Script option 재정의
bro script 구조 • 해당 경로의 스크립트들을 import • 디렉토리를 load 할 경우 __load__.bro를 기준으로 load • 모듈이름 정의
bro script 구조 • Notice::Type 을 지정하여 외부에서 import 가능 • TeamCymruMalwareHashRegistry::Match
Notice Framework • “notice”란 이상하거나 악성일 가능성이 있는 것들 • 모든 Notice 관련 함수들을 관리
Bro Notice Index • 기본으로 설정되어있는 Notice 들을 검색할 수 있음 • 정의한 소스코드의 위치, 간단한 설명, redefine 가능 옵션 등
Notice Framework • Notice Framework 로 사용할 수 있는 함수들이 설명되어있음.
bro script 구조 • &redef옵션들은 외부에서 redefine 가능
Script Option 재정의 • base/frameworks/notice/main.bro • site/local.bro
bro script 구조 • bro 의 함수 선언
bro script 구조 • 이벤트 핸들러 • 스크립트의 주요 동작 부분
bro script tutorial • http://try.bro.org/#/trybro
커맨드라인에서 바로 실행 • bro –i [인터페이스 이름] [스크립트 이름] • 해당 스크립트만 적용할 수 있어 디버깅에 유용
패킷덤프에 스크립트 적용 • sudo bro –r [패킷덤프 이름] [스크립트 이름] • 이미 덤프된 패킷에 스크립트를 적용해 볼 수 있음