snort 예제

By Dave Sanasack, on Aug, 02 2019

작업: 규칙 설명과 일치하는 패킷을 발견할 때 수행할 작업의 종류를 Snort에 알립니다. Snort에는 경고, 로그, 패스, 활성화 및 동적 의 다섯 가지 기존 기본 작업 동작이 있습니다. 드롭, 리젝트 및 스드롭을 포함하는 추가 옵션으로 이동하여 도를 수행할 수도 있습니다. sid:1000001 – 스노어트 규칙 ID. 모든 숫자 < 1,000,000예약, 그래서 우리는 1000001로 시작하는 이유입니다 (1,000,000보다 큰 한, 당신은 어떤 숫자를 사용할 수 있습니다). 다음은 현재 규칙 세트, SID 109에서 가져 오는 간단한 규칙의 예입니다. 그것은 스노어와 함께 제공되는 검출 엔진과 함께 작동하도록 구현된다. 또한 경고 생성 활동을 담당하는 호스트의 소스 IP 주소를 볼 수도 있습니다. 위의 예에서는 192.168.132.133입니다. 당신은 다를 수 있습니다 (하지만 그것은 당신의 칼리 리눅스 VM의 IP가 될 것입니다). 우리의 테스트 규칙이 작동합니다! Ctrl+C를 누르고 스노어를 중지하고 프롬프트로 돌아갑니다.

이제 스노어IDS를 실행하는 우분투 서버로 돌아갑니다. 당신은 우리가 msg 옵션에 지정 한 메시지 텍스트와 함께 모든 ICMP 에코 요청 및 에코 응답 메시지에 대해 생성 된 경고를 볼 수 있습니다 : “사전 처리기”는 매우 복잡한 기능을 수행 할 수 있습니다 트래픽을 수신, TCP 스트림 재조립, IP 조각 모음, 통계 수집 또는 HTTP 요청 정규화를 포함합니다. “spp_something.c” 및 “spp_something.h” 파일을 수정하여 Snort 전처리기 플러그인을 추가할 수 있습니다. 궁극적으로, 그들의 임무는 패킷을 수정하여 검색 엔진의 규칙과 비교할 수 있도록 하는 것입니다. “탐지 엔진”은 전처리기로부터 패킷을 수신하고 이를 스노어트 규칙 목록과 비교합니다. 패킷이 규칙과 일치하게 되면 보안 관리자에게 적절한 경고 및 메시지가 생성됩니다. 일치하지 않으면 패킷이 무시또는 삭제됩니다. 당신은 당신의 우분투 서버 VM에 설치된 스노어 버전 2.9.8이 있습니다. 우분투 서버 VM을 실행, 이 가이드의 시작 부분에 제공 된 자격 증명으로 로그온, 데스크톱 바로 가기를 두 번 클릭하여 터미널 셸을 엽니 다 (또는; 새 셸을 열 Ctrl + Alt +T를 누를 수 있습니다). 이 Snort 규칙은 모든 원본 IP 주소및 TCP 포트 443(HTTPS)에서 대상 IP 주소192.168.10.2로 전송된 모든 소스 포트에서 TCP 3방향 핸드셰이크에서 누락된 ACK 플래그에 대한 경고를 생성합니다. 예를 들어 클라이언트가 서버와의 연결을 설정하려고 한다고 가정해 보겠습니다.

일반적인 TCP 3방향 핸드셰이크 중에 클라이언트는 SYN 플래그와 임의 ISN을 서버에 보냅니다. 그런 다음 서버는 SYN+ACK 플래그로 응답하고 결과적으로 클라이언트는 ACK 플래그로 응답하여 연결이 완료되고 데이터 전송을 시작할 수 있으며 일반적으로 검사할 패킷이 인터넷에서 오고 있음을 확인해야 합니다. , 그래서 당신의 스노어 센서는 외부 세계에서 내부 네트워크를 분리, 경계에있을 것입니다. 센서를 배치할 위치(예: 방화벽 이전, 이후 또는 내부)는 사용자의 위치에 따라 다릅니다.