IPS

justugi·2025년 6월 11일

네트워크 보안

목록 보기
13/13

IPS

  • IDS (snort) + iptables

[IPS]

  • server 의 통신은 IPS 를 거쳐가는 구조

    • IPS (snort + iptables) 192.168.50.80/24, 10.10.10.254/24
    • server (WEB, telnet) 10.10.10.1/24
    • hacker (kali) 192.168.100.100/24
  • NFQ (snort - iptables 연동 파일) 설치

    • NFQUEUE : iptables 에서 패킷을 snort 로 전달하여 snort 가 패킷 분석 & 탐지 후 차단하도록 함
    • snort 기존 설치 과정 중 몇 개 추가
      • yum -y install pcre pcre-devel libdnet libdnet-devel tcpdump 이후
        • yum -y install libnetfilter_queue libnetfilter_queue-devel libmnl
      • daq-2.0.7 ./configure 이후
        • Build NFQ DAQ module....... : yes 확인
      • snort 설치 완료
      • snort --daq-list 이후
        • nfq(v7): live inline multi 확인
  • 연동 설정

    • vim /etc/snort/snort.conf
      • 159 에 추가
      • config daq: nfq
      • config daq_mode: inline
        • inline 모드 : 라우터나 스위치 처럼 데이터가 지나가는 모드
      • config daq_var: queue=4
        • queue : iptables 에서 사용할 번호 설정
  • iptables 정책 수립

    • 탐지 후 차단이 목적이니 기본 정책 ACCEPT
    • FORWARD chain 과 snort 를 연동
      • iptables -A FORWARD -j NFQUEUE --queue-num=4
        • NFQUEUE 가 실행 안되고 있으면 FORWARD 동작 (정상 통신) 불가 -> snort 실행해야 NFQUEUE 실행
    • 외부 통신 허용을 위한 nat 설정
      • iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE
  • snort 정책 수립

    • /etc/snort/rules/local.rules
      • drop icmp any any -> any any (meg:"ICMP DROP";sid:1000001;)
      • drop tcp any any -> 10.10.10.1 23 (msg:"telnet access";sid:1000002;)
      • drop tcp any any -> 10.10.10.1 80 (flags:S;threshold:type both,track by_dst,count 1000,seconds 1;meg:SNY FLOODING";sid:1000003;)
  • inline 모드 실행을 위해 NIC 추가 (2 개로 설정)

    • ip : 10.10.10.254
  • 리눅스에서 reverse path (source IP) 가 부적절한 경우 (= 자기가 모를 경우 = 라우팅 테이블에 없는 경우) 필터링하는 옵션들 수정

    • sysctl -a | grep filter 로 나오는 정책들 중 아래것들로 수정
      • sysctl net.ipv4.conf.default.rp_filter=0
      • sysctl net.ipv4.conf.eth1.rp_filter=0
  • snort 실행

    • snort -vde -c /etc/snort/snort.conf -Q
      • -Q : inline 모드로 실행
  • 탐지 로그 확인

    • tail -f /var/log/snort/alert

[hacker]

  • telnet 10.10.10.1 접속 시 IPS 에서 차단하며 로그 남음
  • hping3 --rand-source -S -p 80 10.10.10.1 --flood 등 공격 시 IPS 에서 차단하며 로그 남음
profile
IT 보안, 관심 있는 것을 공부합니다.

0개의 댓글