아파치 IP 접속 커넥션 수 제한하기

개요

지난 주 동일 IP를 통해서 다중 세션으로 서버에서 과도한 트래픽이 발생하여 원인 파악 결과 중국에서 서버에 DDOS 공격을 일으킨 것을 확인 하였다

DDOS차단은 여러가지가 있으나 커넥션 수를 제한하여 트래픽을 제어할 수 있는 방법을 소개한다


조건

아래와 같은 상황에서 테스트 되었다

  • APACHE 2.4 64BIT VS16
  • PHP 7 이상
  • WINDOWS 10 이상 64비트 환경

모듈 설치 파일

해당 파일은 WINDOWS 환경에서 작동하도록 VS16으로 컴파일 되었다

서버가 VC로 컴파일 되었거나 다른 버전일 경우는 APACHE HAUS 사이트에서 확인 바란다

아파치 IP 접속 커넥션 수 제한하기


설치방법

압축을 풀고 mod_limitipconn.so 파일을 APACHE24\MODULES 폴더에 복사 붙여넣기 한다

APACHE24\CONF\httpd.conf 파일을 메모장으로 열고 아래 내용을 so 모듈 라이브러리에 추가한다

ExtendedStatus On
    LoadModule limitipconn_module modules/mod_limitipconn.so

그리고 아래에 다음과 같은 명령어를 추가한다

<IfModule mod_limitipconn.c>

    # Set a server-wide limit of 10 simultaneous downloads per IP,
    # no matter what.
    MaxConnPerIP 10

    <Location /images>
        # This section affects all files under http://your.server/somewhere
        MaxConnPerIP 10
        # exempting images from the connection limit is often a good
        # idea if your web page has lots of inline images, since these
        # pages often generate a flurry of concurrent image requests
        NoIPLimit image/*
        NoIPLimit text/*

				# exclude local IP addresses from limits
        LocalIP 127.0.0.1
    </Location>

명령어에 대한 해석

MaxConnPerIP 10 - 최대 10개까지 동일 ip 접근을 허용한다
 <Location /video> - 비디오 폴더는 별도의 제한을 설정한다       
MaxConnPerIP 5  - 비디오 폴더 접근은 최대 5개까지 동일 ip 접근을 허용한다
NoIPLimit image/*  - 비디오 폴더 내  image, text는 별도의 제한을 주지 않는다      
NoIPLimit text/*			 
LocalIP 127.0.0.1  - 127.0.0.1 아이피는 예외로 설정한다

 </Location>

이 게시물에 대해 평가 해주세요!

결과 0 참여자 0

Your page rank:

리플 남기기