Linux cómo usar los scripts de shell para defenderse contra una pequeña cantidad de ataques de ddos ​​

  

Los scripts de shell del sistema Linux son poderosos, se utilizan para ejecutar una variedad de comandos, el sitio se defiende con una pequeña cantidad de ataques de ddos ​​a través de los scripts de shell, la siguiente serie se explica a todos El script de shell de Linux analiza cómo los registros de Nginx son resistentes a los ataques de ddos.

aplicación:

1. ataque firmas, diferentes ip constantemente Página principal, causando 2. Análisis de registro de acceso nginx recurso excesivo consumo de

, determinar la POST característico Obtenga acceso ip al cliente

3. Bloquee la ip de ataque con más de 50 conexiones

4. Registre la ip de ataque en el documento

5. Cada vez que obtenga la ip de ataque Comparación de ip de ataques existentes

Ver código fuente:

#! /bin /bash

WEBSITES = (

example.com

)

minute_now = `date +% M`

max_connections = 50

banips = " /wwwdata/jobs/banips.txt"

para el sitio en $ {WEBSITES [*]}

do

Access_log_file = " /wwwdata /logs /$ {site} .access.log "

if [-f " $ {access_log_file} "]

then

Cat $ {access_log_file} |  Grep POST |  Awk ‘ {imprimir $ 1} ’ |  Ordenar | Uniq -c |  Ordenar -nr》 /wwwdata/jobs/ip_records.txt

líneas = `wc -l /wwwdata/jobs/ip_records.txt |  Awk ‘ {print $ 1} ’ `

echo " Líneas: $ líneas "

i = 1

mientras que [$ {i} -le $ {lines }]

do

ip_record = `head - $ {i} /wwwdata/jobs/ip_records.txt |  Cola -1 |  Sed ‘ s /^ [\\ t] * //g ’ `

ip_count =` echo $ {ip_record} |  Awk ‘ {print $ 1} ’ `

ip_address =` echo $ {ip_record} |  Awk ‘ {print $ 2} ’ `

echo " $ {ip_count} $ {ip_address} "

if [$ {ip_count} -gt $ {max_connections}]

luego

banned = `cat $ {banips} |  Grep $ {ip_address} |  Wc -l`

si [$ {banned} -lt 1]

luego

iptables -A ENTRADA -s xxxx -p tcp -m estado --estado NUEVO -m tcp --dport 80 -j DROP

echo $ {ip_address}》 $ {banips}

fi

fi

i = ` Expr $ {i} + 1`

hecho

servicio iptables guardar

servicio iptables reiniciar

si [$ {minute_now} -eq 30] < Br>

luego

cat $ {access_log_file}》 /wwwdata/logs/olds{ -sitesite.access.log

cat /dev /null》 $ {access_log_file}

fi

fi

hecho

if [$ {minute_now} -eq 30]

luego

El servicio nginx restart

fi

Los scripts de shell del sistema Linux pueden defenderse contra los rastros de ataques ddos ​​mediante el análisis de los registros de Nginx. También puede usar iptables para evitarlos.

Copyright © Conocimiento de Windows All Rights Reserved