apache 80 Port 로 공격

   조회 4425   추천 0    

존재 하지 않는 파일을 자꾸만 GET 방식으로 수만대의 PC 에서 동시에 한곳으로 리퀘스트를 날라온다면 어떻게 방어 해야 하나요?
아파치 로그에는 아래와 같이 찍힙니다.
 
IP - - [Date..] "GET /data/abc.jpg HTTP/1.1" 404 293 "-" "Mozilla/4.0 (Compatible; MSIE 6.0;)"
 
 
이지포토
짧은글 일수록 신중하게.
ZSNET5 2014-08
앞단에 보안장비가 있어도 막기 어려운 공격입니다.

1. 로그를 분석해 봤을때 항상 같은 파일을 호출합니까?
2. 요청하는 컴퓨터가 대충 몇대나 되며 국가는 어디입니까?

완전히 막지는 못해도 부하를 줄일 방안은 있습니다.
     
이지포토 2014-08
부하를 어떻게 줄릴수 있는지요? ip 는 대략 8만개 정도 됩니다. ip 목록은 db 로 가지고 있습니다.
로그를 분석해 보았을때 대략 20여개정도 되는 jpg 파일을 액세스하는데 무작위 입니다.
요청하는 페이지 경로는 고정되어있는데 두군데 정도 됩니다.
회원K 2014-08
UTM 장비가 있으면 해당 url을 drop할 수는 있겟지만...
현실적으로 막기 어렵습니다.
이지영 2014-08
UTM도 DDOS는 시간만 벌어줄 뿐이지,
트래픽이 커지면 답이 없죠.ㅎㅎ
ZSNET5 2014-08
이 문제는 네트웍 회선이 먼저 차느냐, 아파치데몬이 먼저 죽느냐의 문제입니다.

1. 요청하는 페이지 경로가 일정하다고 할 때, modsecurity에서 해당 경로명을 차단해 버릴 수 있습니다.
2. 해당 파일을 실제로 만들되, 사이즈를 0로 해서.. 요청한 그대로 보내주는 방법이 있습니다.
3. 해당 ip를 조회한 결과가 특정국가라면 Geo-ip를 이용해 iptable단에서 차단할 수도 있습니다.
4. cpu부하가 많다면 UTM을 도입하여 서버 앞단에서 막을 수 있습니다.(사실 별 효과는 없어요)

상황에 맞게 취사선택하셔야 합니다.
그리고.. 아파치나 modsecurity 설정을 잘 조절하여 로그를 최대한 적게 남길수 있도록 설정해 주세요.. 로그 파일 기록하느라 아파치가 버벅거리는 경우가 많습니다.
     
이지포토 2014-08
답변 감사 합니다.
1 번은 연구해 봐야 할것 같고(현재 웹방화벽은 플러그인되어있습니다)
2 번은  해 놓으나 마나 단지 에러페이지에서 양이좀 줄것만 같고 같은 결과만 될듯합니다.
3 은 이미 하고 있는데 메모리 한계 때문에 3만개의 외국(러시아,중국)아이피 대역을 막다보니 메모리 오버 나오네요.
4 번은 현실적으로 돈이 많이 들어가므로 신중하게 결정해야 겠네요. 효과대 도입비용도 고려하고

현재까지는 견딜만 합니다. 1초에 수만번 날라오는게 아니라 1초에 20개씩 정도 입니다.(하루 160만개)
정상적인 웹 리퀘스트를 보내면 약간 늦는감이 있긴합니다만 그렇다고 따운되었다 싶을정도로 느리진 않습니다.
문제는 앞으로 자꾸 공격 클라이언트가 늘어나면 문제 겠지요.
          
ZSNET5 2014-08
2번이 의외로 효과가 좋을 수도 있습니다. 제가 간혹 쓰는 방법입니다.
4번은 임대도 가능하니 회원K님에게 문의해 보세요.
        관제서비스까지 받아도 생각외로 저렴합니다.

웹 리퀘스트가 늦은건 3번 때문에 발생하는 것일 수도 있습니다. 그리고, 1초에 20개면.... 심한 공격이라고 할 수준은 아니군요...
혹시 http 데몬이 감염되거나 한건 아닌지요?
               
이지포토 2014-08
데몬은 감염되지 않았습니다.
jpg 올라가는 폴더 및 하위 폴더에서 .htaccess 로 웹셀을 무력화 시키고 있습니다.
혹여 부적절한 파일 내지 수상한 파일이 올라가면 문자메세지 알람기능도 생각하고 있습니다.

남은건 공 리퀘스트를 막는건데 이게 전에 2만여개에서 지금은 10개월 지난 시점에서 8만개로 늘어 났네요.
하루 로그은 500메가 정도이고 거의 99%가 공 리퀘스트 입니다.
서버 부하는 한번도 끄지 않아도 서버가 따운될정도는 아닙니다. 1년에 한두번 정기서비스 할대만 끕니다만 아직까지는 잘 돌고 있습니다.
계속해서 숨어 있는 웹쉘을 찿아내고는 있습니다만  시간과 노력이 많이 드네요.
김윤술 2014-08
리버스 프록시 먼저 써야되고 동시에 앞단에 필터링 장비 방화벽이 있어야 되는데 저렇게 되다가 웹서버가 뻗지 않으면 서버가 뻗습니다. 그런데 앞단에 리버스 프로식 방화벽 장비도 뻗습니다.
이유는 없는 페이지 요청을 하기 때문에 오류 로그를 동시에 기록하는데 디스크 I/O가 순식간에 올라갑니다. 디스크 I/O가 빨리 안따라주면 네트워크 I/O 부터 큐가 쌓여서 결국 CPU 메모리 부하로 올라가게 됩니다. 풀차면 결국 앞단 서비스도 죽게 되는걸 일일이 분석해봤습니다.
DDOS를 막을수 있는 방법은 한대갖고는 안되고 여러대 필터링 장비를 통해서 DNS에서 라운드 로빈으로 필터장비를 거치게끔 하면 한대가 갖는 부하를 나누어 가져갑니다. 그리고 비정상 패턴은 걸러지게 되구요.
     
이지포토 2014-08
정보 감사 합니다. 큰 돈을 들일 만큼 큰 서버는 아닙니다. 제온 2CPU 정도 되고 2T SATA 붙여서 쓰는 일반 기업용 홈피 입니다. 별 써비스는 없습니다. 그 속에 홈피 20여개 돌리고 있습니다. 그중에 한두개 도메인이 그렇네요.
박문형 2014-08
문제되는 한 두개의 도매인을 서비스 하지 말던지

다른 서버로 옮겨서 나머지 도매인들의 피해를 줄여야 할 것으로 보여집니다.


QnA
제목Page 2067/5708
2014-05   5141280   정은준1
2015-12   1675915   백메가
2014-06   4437   나파이강승훈
2018-05   4437   검은블랙
2015-10   4437   하균아빠
2016-07   4437   QS왕통키손…
2016-09   4437   Win31
2015-09   4437   김건우
2015-11   4437   거니네
2016-09   4437   Everyharu
2018-12   4437   김건우
2014-09   4437   겨울나무
2016-07   4437   wdm42
2018-01   4437   여주농민76
2020-12   4437   헥사코어
2016-11   4437   이윤주
2016-04   4437   윤번
2017-02   4438   전설속의미…
2014-08   4438   민가놈
2014-01   4438   윈도우10
2016-12   4438   제라드TN
2021-02   4438   화란