Suricata, Bridge IPS로 운영하기
Suricata는 무료 오픈 소스, 성숙한 빠르고 강력한 네트워크 위협 탐지 엔진입니다.
Suricata 엔진은 실시간 침입 탐지 (IDS), 인라인 침입 방지 (IPS), 네트워크 보안 모니터링 (NSM) 및 오프라인 pcap 처리가 가능합니다.
Suricata는 강력하고 광범위한 규칙 및 서명 언어를 사용하여 네트워크 트래픽을 검사하고 복잡한 위협 탐지를위한 강력한 루아 스크립팅 지원을 제공합니다.
기존 SIEM, Splunk, Logstash / Elasticsearch, Kibana 및 기타 데이터베이스와 같은 도구를 사용하여 YAML 및 JSON과 같은 표준 입력 및 출력 형식을 사용하면 편리합니다.
Suricata의 빠르게 진행되는 커뮤니티 기반 개발은 보안, 유용성 및 효율성에 중점을 둡니다.
Suricata 프로젝트 및 코드는 Suricata의 개발 및 오픈 소스 프로젝트로서의 지속적인 성공을 보장하기 위해 노력하는 비영리 재단 인 OISF (Open Information Security Foundation ) 가 소유 및 지원 합니다.
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update
sudo apt-get install suricata
ls /var/log/suricata
certs eve.json files suricata-start.log
core fast.log stats.log suricata.log
ls /etc/suricata
classification.config reference.config rules suricata.yaml
iptables 로 Suricata 룰셋 을 구축하는 것은 IPS에 필요한 룰과 방화벽 룰을 결합하려고 할 때 항상 복잡한 작업이었습니다. Suricata는 항상 Netfilter의 고급 기능을 사용 하여 다소 까다로운 방법을 사용할 수 있도록했습니다.
Netfilter를 사용하는 IPS에 익숙하지 않은 분들을 위해 다음과 같은 몇 가지 시작점이 있습니다.
IPS는 NFQUEUE 타겟을 사용하여 규칙을 통해 커널에서 오는 패킷을 수신합니다.
IPS는 탐지를 올바르게 처리 할 수 있도록 주어진 플로우의 모든 패킷을 수신해야합니다
NFQUEUE 대상은 터미널 대상입니다. IPS가 패킷을 판결하면 패킷이 수용되거나 받아 들여집니다 (현재 체인을 떠나야 함)
따라서 룰셋은 모든 패킷을 IPS에 보내야합니다. IPS의 기본적인 규칙 집합은 다음과 같습니다.
suricata가 birdge IPS모드 지원여부 확인하기
suricata --build-info |grep NFQueue
NFQueue support: yes
bridge IPS 모드로 실행하기
sudo suricata -c /etc/suricata/suricata.yaml -q 0
birdge로 들어온 트래픽을 IPS로 보내기
sudo iptables -A FORWARD -j NFQUEUE