Plesk para Windows
kb: cómo hacerlo
Plesk para Linux
ABT: Grupo B
Aplicable a:
-
Plesk para Linux
-
Plesk para Windows
En Linux
Para ataques en tiempo real
-
Conéctese al servidor a
través de
SSH
.
-
Determine las direcciones
IP de origen y los números de las conexiones:
# ss -tan
state established | grep «:80\|:443» | awk ‘{print $4}’| cut -d’:’
-f1 | sort -n | uniq -c | sort -nr
-
Encuentre los dominios
que están actualmente bajo ataque:
# for log
in /var/www/vhosts/system/*/logs/*access*log; do echo -n «$log «;
tail -n10000 «$log» | grep -c 203.0.113.2; done | sort -n -k2
-
Verifique la cantidad de
conexiones en estado SYN_RECV (posible inundación de
sincronización):
# ss -tan
state syn-recv | wc -l
-
Si hay varias direcciones
IP en Plesk, determine la dirección IP de destino bajo
ataque:
# netstat
-lpan | grep SYN_RECV | awk ‘{print $4}’ | cut -d: -f1 | sort | uniq
-c | sort -nk 1
Es posible que no haya muchas
conexiones establecidas con el servidor web; sin embargo, puede
haber muchas solicitudes que nginx atendió exitosamente y transfirió
a Apache y, en este punto, Apache está bajo ataque.
Para realizar un seguimiento de
estas solicitudes, haga lo siguiente:
-
Navega a
/var/www/vhosts/system
:
# cd
/var/www/vhosts/system
-
Genere un archivo
requests
para recuperar la
cantidad de solicitudes que se realizaron en la última hora
usando el siguiente comando.
Note: As an example,
24/Jan/2022:20 will be used. Here «:20» is 8 p.m.
# for i
in *;do echo -n «$i «; grep ‘24/Jan/2022:20‘
$i/logs/access_ssl_log | awk ‘{print $1}’ | wc -l;done >
~/requests
-
Verifique el archivo
generado:
# cat
~/requests | sort -k 2 -r -n | head
example.com
24549
example.net 18545
test.com 3
Para el ataque terminado
-
Conéctese al servidor a
través de
SSH
.
-
Crear un ambiente para la
investigación:
# mkdir
/root/inv
# cd /var/www/vhosts/system
# for i in *; do mkdir
/root/inv/$i; done
-
Complete el entorno con
archivos de registro de los últimos días:
# for i
in *; do find $i -mtime -3 -type f -exec cp -a {} /root/inv/$i \;;
done
-
Descomprima los archivos
de registro procesados:
# cd
/root/inv
# for i in /root/inv/*/*; do [[ ${i:(-3)} == «.gz» ]]
&& gunzip $i ; done
-
Eliminar archivos de
estadísticas y configuración:
# rm
/root/inv/*/*.conf /root/inv/*/*.png /root/inv/*/*webalizer*
/root/inv/*/*webstat */*html
-
Obtenga entradas del día
del ataque para formar un informe:
Note: As an example,
30/Oct/2017 will be used.
# for i
in *; do [[ -d $i ]] && grep -rh
«\[30/Oct/2017» ./$i > $i.accessed; done
-
Ordene las entradas por
tamaño:
# ls -laS
| less
Note: A size of a log file
will be displayed. The higher the size of a log-file, the higher is
the chance of it being targeted.
-
Encuentre las direcciones
IP más utilizadas:
# cut -f
1 -d ‘ ‘ *.accessed | sort -n | uniq -c | sort -nr | less
Note: This command displays
how many attempts to access a website each IP address performed in a
time-frame specified on step 6.
-
Encuentre los dominios a
los que se dirigieron estas direcciones IP:
# grep
-rc 203.0.113.2 /root/inv/*/* | sort -n -k2 -t:
En el servidor de Windows
Para ataques en tiempo real
-
Conéctese al servidor a
través de
RDP
.
-
Inicie un símbolo del
sistema y ejecute los siguientes comandos para verificar el
recuento de conexiones en los puertos 80 y 443:
C:\>
netstat -ano | find /c «80»
C:\>
netstat -ano | find /c «443»
Note: If there is a large
number of connections (hundreds or thousands) to the same port, the
server is likely under a DDoS attack
información adicional
La actividad maliciosa de una dirección
IP de origen se puede verificar en
AbuseIPDB
.
Para proteger sitios web contra ataques
DDoS, consulte
este artículo de KB
.