netstat -na|grep ES|awk '{print $5}'|sort

 

위 명령어로 조회하면 ip 들이 출력이 되는데요.

 

 

사이트 트래픽이 심하게 증가해서 문제가 될 정도의 공격에서 위 명령어로 출력되는 ip 중 동일한 ip가 마지막 포트 ? 를 달리해서 많은 숫자가 조회가 되면 그 ip가 공격 ip로 보는 건가요??

 

 

  • profile

    그것도 한 가지 방법이죠. 정상적인 브라우저라면 도메인당 8개 이상의 연결을 동시에 열지 않습니다. 여러 도메인이나 서브도메인을 함께 쓰는 서버라면 그것보다 더 많을 수도 있지만, 사이트 하나만 돌린다면 웹소켓까지 감안해도 15~20개를 넘을 일은 드물어요.

    물론 netstat은 현재 연결된 갯수만 파악하니까, 연결해서 공격하고 연결 끊고 다시 연결하는 방식이라면 잡아낼 수 없습니다. 이런 경우는 아파치의 mod_evasive, nginx의 limit_conn/limit_req 등의 기능을 사용해서 IP당 요청횟수를 제한해야 하고요...

    만약 서버 자체가 마비될 정도의 공격이라면 다 소용없고 윗단에서 막아야죠 ㅠㅠ

    가끔은 악의를 갖고 공격하는 게 아니라 사이트 설정이 잘못되어서 셀프 DDoS 공격이 발생하기도 합니다. 예를 들어 댓글 자동알림 애드온의 체크 주기를 너무 짧게 해두면 모든 방문자가 계속해서 AJAX 요청을 하게 되어 서버 부하가 막 올라갑니다. 모든 회원을 공격자로 만들어버리는 무시무시한 기능이죠!

  • profile profile
    네. 감사합니다. 어제 1개 ip로 공격이 있어서 호스팅사에서 해당아이피를 막아줬는데 제가 하지 않아 궁금했어요. 앞으로 제가 직접 막아야 해서요. iptable 조회해보니 해당 ip등록 되어있더라구요.
  • profile ?
    아.. 가끔 웹서버가 먹통이되는데 아무래도 공격이아니라 셀프 디도스 형식같은데 이 이슈에 대해서는 어디를 살펴봐야할까요?? Mysql slow쿼리에도 딱히 큰문제가없고 디비서버와 웹서버를 따로 분류중인데 웹서버단에서 아파치가 먹통현상이 발생합니다 service httpd restart명령어를 내려도 즉각 반응을안하고 80포트 소켓이 사용중이라고 뜨고 5분정도 지나야 재시작이 되는데 어디를 보면 원인을 파악할 수 있을까요??

    더욱 신기한점은 넷스탯명령어로도 80포트 사용흔적이 안보이는데도 이런현상이있네요 ㅠㅠ 1주일에 1번정도 발생하는 것으로보아 공격은 아닌 것같고

    크롤러들 때문인지도 살짝 의심이가긴하네요
  • ? profile

    문제가 발생하는 시간대의 아파치 접속로그를 살펴보면 그 시간대에 누가 방문하는지 알 수 있겠죠. 크롤러인지 정상적인 사용자들인지... 예를 들어 자동알림 애드온과 문제라면 index.php에 POST 요청이 엄청나게 들어옵니다.

    netstat 명령은 어떤 옵션을 넣어보셨나요? 제가 가장 즐겨쓰는 옵션은 netstat -tulpn 입니다. 현재 시스템 서비스들이 사용중인 포트만 깔끔하게 정리해서 보여주죠.

  • profile ?
    아 문제는 제가 계속 확인하는 것이아니라

    이미 사이트가 다운먹고 난 뒤에 알기 때문에

    access.log 를 확인해도, 어디 부터 접속이 장애가 발생했는지 알 수가 없네요 ㅠ./ㅠ