02. 클라우드 보안 공부/실습로그

✅ [실습로그] IDS/IPS와 Snort 설정 - 네트워크 보안 강화하기

taegi- 2025. 5. 13. 12:55

🌐 IDSIPS - 개념과 차이점

💡 IDS (Intrusion Detection System)

  • 기능: 네트워크 트래픽을 모니터링하여 악의적 활동이나 정책 위반을 탐지
  • 특징:
    • 탐지된 위협에 대해 경고를 발생시킴
    • 네트워크 이벤트를 기록하여 로그로 저장
  • 활용: 네트워크 공격 탐지, 로그 분석, 보안 경고

💡 IPS (Intrusion Prevention System)

  • 기능: IDS탐지 기능에 더해 실시간으로 위협을 차단하거나 수정
  • 특징:
    • 악의적 트래픽을 탐지하면 차단하거나 수정하여 시스템 보호
    • 실시간 대응이 가능함
  • 활용: 네트워크 보안 강화, 위협 실시간 차단

🛠️ Snort - 오픈 소스 IDS/IPS

  • 설명: Snort오픈 소스 기반의 침입 탐지 방지 시스템으로, 실시간 트래픽 모니터링과 로그 생성 기능을 제공
  • 주요 구성 요소:
    1. 패킷 캡처: 네트워크 트래픽 수집
    2. 디코더: 패킷 구조 분석
    3. 전처리기: 탐지 엔진이 쉽게 검사할 있도록 정리
    4. 탐지 엔진: 규칙에 따라 위협 탐지
    5. 출력: 콘솔, 로그 파일 등으로 경고 출력

💻 Snort 설치 설정

📥 Snort 설치

bash
복사편집
sudo apt update sudo apt install snort -y

🔧 설정 파일 수정

설정 파일 경로: /etc/snort/snort.conf

bash
복사편집
sudo nano /etc/snort/snort.conf
  • IP 주소 설정:
  • bash
    복사편집
    ipvar HOME_NET 192.168.111.0/24
  • 규칙 경로 설정:
  • bash
    복사편집
    include $RULE_PATH/local.rules

🚀 Snort 기본 실행 명령어

bash
복사편집
snort -A console -q -u snort -g snort -c /etc/snort/snort.conf
  • -A console: 콘솔에 경고를 출력
  • -q: 불필요한 정보를 표시하지 않음
  • -u snort: Snort 사용자로 실행
  • -g snort: Snort 그룹으로 실행
  • -c: 설정 파일 경로 지정

📂 Snort 규칙 설정

1. 규칙 디렉토리 확인

bash
복사편집
ls /etc/snort/rules
  • 규칙 파일들은 확장자가 .rules끝남
  • local.rules 파일을 사용하여 커스텀 규칙 설정

2. 규칙 파일 편집

bash
복사편집
sudo nano /etc/snort/rules/local.rules

기본 규칙 작성 예시

bash
복사편집
alert tcp any any -> $HOME_NET 80 (msg:"HTTP traffic detected"; sid:1000001;) alert tcp any any -> $HOME_NET 443 (msg:"HTTPS traffic detected"; sid:1000002;)
  • alert tcp any any -> $HOME_NET 80: TCP 프로토콜로 포트 80(HTTP)으로 들어오는 모든 트래픽 감지
  • msg: 경고 메시지
  • sid: 규칙 ID

📝 탐지 테스트

규칙 파일 확인 Snort 실행

bash
복사편집
snort -T -c /etc/snort/snort.conf
  • -T: 테스트 모드
  • 설정이 정상적이라면 아래와 같이 출력됨:
  • nginx
    복사편집
    Snort successfully validated the configuration! Snort exiting

규칙 테스트

bash
복사편집
curl http://192.168.111.164
  • HTTP 요청 발생 Snort 콘솔에 경고 메시지가 출력됨

📊 로그 관리

로그 파일 확인

bash
복사편집
cat /var/log/snort/snort.log
  • 경고 발생 로그 파일에 기록됨
  • 로그 파일을 텍스트로 변환하여 확인
  • bash
    복사편집
    snort -r /var/log/snort/snort.log -X > snortlog.txt
  • -X: 로그 내용을 ASCIIHex출력

💡 Snort 규칙 우선순위 설정

규칙 우선순위 지정

bash
복사편집
alert tcp any any -> $HOME_NET 80 (msg:"High priority alert"; content:"cmd.exe"; sid:1000003; priority:1;) alert tcp any any -> $HOME_NET 80 (msg:"Low priority alert"; content:"/login.php"; sid:1000004; priority:10;)
  • priority: 값이 낮을수록 우선순위가 높음

🔍 SnortTCPDump차이

특징SnortTCPDump
목적 침입 탐지 방지 네트워크 트래픽 모니터링
주요 기능 경고 발생, 로그 생성 트래픽 캡처 기본 분석
실시간 처리 여부 가능 불가능
 

실습 결과

  1. Snort 설치와 설정 완료
  2. 기본 탐지 규칙 설정 테스트 수행
  3. HTTP/HTTPS 트래픽 탐지 성공
  4. 로그 파일을 통해 탐지 결과 확인

📝 결론

Snort네트워크 보안 모니터링과 실시간 침입 탐지에 매우 유용한 도구입니다. 기본 설정과 규칙 작성 방법을 익히면 다양한 네트워크 환경에서 보안 정책을 수립할 있습니다. 특히 SnortTCPDump함께 사용하면 네트워크 트래픽 분석과 보안 모니터링을 효과적으로 수행할 있습니다.