일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 블록체인
- 투자
- Linux
- 쿠버네티스
- threejs
- 게임
- angular
- loopback
- 주식
- PC
- kubernetes
- 젤다 왕눈
- Docker
- 비트코인
- strongloop
- game
- 스마트 컨트랙트
- 거래
- ps4
- 이더리움
- 보안
- 암호화폐
- Three
- review
- 리뷰
- 탈중앙화
- 부동산
- 시장
- 스마트 계약
- Games
- Today
- Total
BaeBox
Suricata 란? 본문
Suricata : 오픈 소스 IDS (Intrusion Detection System)
실시간 IDS, IPS(Inline intrusion prevention), NSM(Network Security Monitoring) 및 오프라인 pcap 캡처가 가능하다.
YAML 과 같은 표준 입출력 형식과 기존 SIEM, Splunk, ELK 등과 같이 쓰기 좋다.
비영리 재단 OISF 에서 유지 관리한다.
설치할 때가 굉장히 성가시다.
패키지 매니저를 이용해 설치하면 간단하지만, 패킷 캡처를 리눅스 기본 libpcap을 이용하지 않고 PF_RING 을 이용하고자 한다면 소스를 받아서 빌드하고 설치해야 하는데, 대개는 한번에 잘 되지는 않을 거라고 생각한다.
https://www.ntop.org/guides/pf_ring/thirdparty/suricata.html
위와 같이 친절하게 다큐먼트가 있지만, 난 suricata를 실행할 때마다 libpfring.so.1 이 없다는 오류를 미친듯이 뿜었더랜다. 나중엔 심볼릭 링크였다는 걸 알고 깊은 빡침을 느꼈다는 슬픈 전설이...
sudo suricata --pfring-int=ens33 --pfring-cluster-id=99 --pfring-cluster-type=cluster_flow -c /etc/suricata/suricata.yaml |
나의 경우에는 위의 명령어로 실행한다.
옵션을 보면 네트워크 인터페이스(NIC)를 ens33 을 이용하는데(--pfring-int=ens33), ifconfig 혹은 ip addr 을 이용하여 본인이 이용하는 NIC 를 지정해주면 된다.
나의 경우에는 아래 코드를 실행하며 오류가 났는데, package installer ( apt, yum) 등을 이용하면 위와 같은 문제는 없다.
python-pip installer 패키지를 이용해서 suricata-update 패키지를 설치하고 해당 패키지를 실행하면 suricata ruleset 을 받을 수 있다.
* suricata-update 는 suricata ruleset 을 다운받는 역할을 하므로, 반드시 필요하지는 않다. 그러니 suricata-update 명령어 없다고 멘붕오고 그러지 말자.
/etc/suricata/rules 내지는 /var/lib/suricata/rules 에 설치되는데, suricata 실행시 rule 을 /etc/suricata 이하에 rules 디렉토리가 없다면 옮겨주면 된다.
sudo suricata --pfring-int=[NIC_NAME] --pfring-cluster-id=99 --pfring-cluster-type=cluster_flow -c /etc/suricata/suricata.yaml |
자, 다시 위의 명령어로 suricata 를 실행하게 되면, 실행이 잘 될 것이다.
suricata 의 설정파일은 /etc/suricata/suricata.yaml 파일인데, 여기서 많은 것들을 설정할 수 있다.
https://suricata.readthedocs.io/en/suricata-4.1.3/configuration/suricata-yaml.html
일단 내가 만져본 기능은 logrotate로 아래와 같이 사용한다.
파일을 날리고 rotate 하는 것이 아닌, 단순히 새로운 녀석들을 다른 이름으로 적재하는 것에 불과하다. 파일을 날리고자 한다면, /etc/logrotate.d/ 를 이용하여야 한다.
자세한 사항은 아래를 참고하자.
https://suricata.readthedocs.io/en/suricata-4.1.3/output/log-rotation.html
https://suricata.readthedocs.io/en/suricata-5.0.0/install.html#binary-packages
'개발 관련' 카테고리의 다른 글
proxy body 제한 설정 (0) | 2019.11.29 |
---|---|
PF_RING 이란? (0) | 2019.11.26 |
APIPA(168.254.x.x) (0) | 2019.11.14 |
Gson 과 Jackson (0) | 2019.11.07 |
Operational Technology(OT) (0) | 2019.11.06 |