공격 행위

3989 단어
카탈로그
  • 피격 전 예방
  • 1. 서비스 구입
  • 2. 하드웨어를 삽니다
  • 3. 스크립트 검측 연동 방화벽
  • 4, ssh 우선순위 향상
  • 5. iptables는 기형적인 메시지에 대응한다
  • 6, 커널 매개변수 수정

  • 공격 후의 대응


  • 직면 ddos


    피격 전의 방비


    1. 서비스 구매

  • CDN, CDN은 가속 효과를 실현할 수 있을 뿐만 아니라 실제 서버 IP를 숨기는 데도 효과가 있고 디도스 공격을 효과적으로 방지할 수 있다..
  • 방어력이 높은 서버를 사세요
  • 클라우드 플랫폼의 공격 데이터 패키지를 사라

  • 2. 하드웨어 구입

  • 하드웨어 디도스 방화벽 또는 유량 세척 장치를 구매합니다

  • 3. 스크립트 검측 연동 방화벽


    스크립트를 작성합니다. 스크립트 내용은 로그에서 사이트 방문 횟수가 제한치를 초과한 IP의 수량을 분석하는 것입니다. 일정한 수량을 초과하면 이를 방화벽의 거부 목록에 넣어야 합니다. 방화벽의 거부 목록도 정기적으로 비워야 합니다. 어떤 IP 주소를 계속 공격해서는 안 됩니다. 이 IP가 고기일 수 있기 때문입니다.
    // 
    #!/bin/bash
    /bin/netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -rn|head -10|grep -v -E ’192.168|127.0′|awk ‘{if ($2!=null && $1>4) {print $2}}’>/tmp/dropip
    for i in $(cat /tmp/dropip)
    do       
        /sbin/iptables -A INPUT -s $i -j DROP       
        echo "$i kill at date">>/var/log/ddos
    done
    
    

    4. ssh 우선 순위 향상

  • 서버는 ssh의 우선순위를 높여 디도스 공격 시 원격 연결이 느린 문제를 방지해야 한다..

  • 5. iptables 기형적 메시지 대응

    // 
    iptables -P INPUT ACCEPT
    iptables -F
    iptables -A INPUT -p tcp -m tcp --dport  80 -j ACCEPT
    iptables -A INPUT -s 1.1.1.1 -p tcp -m tcp --dport 22 -j ACCEPT
    iptables -A INPUT -s 2.2.2.2 -p tcp -m tcp --dport 22 -j ACCEPT
    iptables -A INPUT -i eth1 -j  ACCEPT
    iptables -A INPUT -i lo -j ACCEPT
    
    
    iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP 
    iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 
    iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP 
    iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP 
    iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP 
    iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP 
    iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP 
    iptables -A INPUT -p tcp -m tcp --tcp-flags PSH,ACK PSH -j DROP 
    iptables -A INPUT -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP
    
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP
    
    # SYN    
    iptables -N syn-flood 
    iptables -A INPUT -p tcp --syn -j syn-flood 
    iptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURN 
    iptables -A syn-flood -j REJECT
    # DOS , IP 15 ,  
    iptables -A INPUT -i eth0 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP 
    iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # Iptables DDOS ( )
    iptables -A INPUT  -p tcp --syn -m limit --limit 12/s --limit-burst 24 -j ACCEPT
    iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
    

    6. 커널 매개변수 수정


    sysctl과 iptables를 통해sysctl 매개 변수를 수정합니다
    $ sudo sysctl -a  | grep ipv4 | grep syn
     :
    net.ipv4.tcp_max_syn_backlog = 1024
    net.ipv4.tcp_syncookies = 0
    net.ipv4.tcp_synack_retries = 5
    net.ipv4.tcp_syn_retries = 5
    net.ipv4.tcp_syncookies: SYN COOKIES ,“1” ,“2” 。
    net.ipv4.tcp_max_syn_backlog:SYN , 。
    net.ipv4.tcp_synack_retries net.ipv4.tcp_syn_retries: SYN 。
     /etc/sysctl.conf , “sysctl -p”!
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_max_syn_backlog = 4096
    net.ipv4.tcp_synack_retries = 2
    net.ipv4.tcp_syn_retries = 2
     TCP 
    net.ipv4.tcp_rmem = 32768
    net.ipv4.tcp_wmem = 32768
    net.ipv4.sack=0  
    

    공격 후 대응

  • 그렇다면 디도스 공격을 직면할 때 운영자는 어떻게 해야 하는가?만약 자신의 서비스가 관건이 아니라면 먼저 서비스를 닫고 스크립트를 실행하여 공격원 IP를 제거한 다음에 서비스를 시작하는 것을 권장합니다. 물론 이것은 SSH 서비스가 즉시 로그인할 수 있는 상황에서 세워져야 합니다..
  • 서버가 꺼지지 않으면 IP를 바꾸는 것을 권장합니다. 많은 기계실은 디도스 공격을 받을 때 IP를 바꾸는 방식을 사용합니다..
  • 좋은 웹페이지 즐겨찾기