Skip to content

Commit a4f6e13

Browse files
authored
Translated to Spanish 019-working-with-cloudflare-api-with-bash.md (bobbyiliev#129)
1 parent 09e0b98 commit a4f6e13

File tree

1 file changed

+112
-0
lines changed

1 file changed

+112
-0
lines changed
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Trabajar con la API de Cloudflare en Bash
2+
3+
Alojo todos mis sitios web en Droplets de **DigitalOcean** y también uso Cloudflare como mi proveedor de CDN. Uno de los beneficios de usar Cloudflare es que reduce el tráfico general a tu usuario y también oculta la dirección IP real de tu servidor detrás de su CDN.
4+
5+
Mi característica personal favorita de Cloudflare es su protección DDoS gratuita. Ha salvado mis servidores varias veces de diferentes ataques DDoS. Tienen una API genial que puedes usar para habilitar y deshabilitar su protección DDoS fácilmente.
6+
7+
¡Este capítulo va a ser un ejercicio! ¡Te desafío a que sigas adelante y escribas un breve script de bash que habilitaría y deshabilitaría la protección DDoS de Cloudflare para tu servidor automáticamente si es necesario!
8+
9+
## Prerequisitos
10+
11+
Antes de seguir esta guía, configura tu cuenta de Cloudflare y prepara tu sitio web. Si no estás seguro de cómo hacerlo, puedes seguir estos pasos de aquí (en inglés): [Crear una cuenta de Cloudflare y agregar un sitio web](https://support.cloudflare.com/hc/en-us/articles/201720164-Step-2-Create-a-Cloudflare-account-and-add-a-website).
12+
13+
Una vez que tengas tu cuenta de Cloudflare, asegúrate de obtener la siguiente información:
14+
15+
* Una cuenta de Cloudflare
16+
* Clave API de Cloudflare
17+
* ID de zona de Cloudflare
18+
19+
Además, asegúrate de que curl esté instalado en tu servidor:
20+
21+
```bash
22+
curl --version
23+
```
24+
25+
Si curl no está instalado, debes ejecutar lo siguiente:
26+
27+
* Para RedHat/CentOs:
28+
29+
```bash
30+
yum install curl
31+
```
32+
33+
* Para Debian/Ubuntu:
34+
35+
```bash
36+
apt-get install curl
37+
```
38+
39+
## Desafío - Requisitos del script
40+
41+
La secuencia de comandos debe monitorizar el uso de la CPU en tu servidor y, si el uso de la CPU aumenta según el número de vCPU, habilitaría la protección DDoS de Cloudflare automáticamente a través de la API de Cloudflare.
42+
43+
Las características principales del script deben ser:
44+
45+
* Comprueba la carga de la CPU del script en el servidor
46+
* En caso de un pico de CPU, el script activa una llamada API a Cloudflare y habilita la función de protección DDoS para la zona especificada
47+
* Después de que la carga de la CPU vuelva a la normalidad, el script deshabilitará la opción "Estoy bajo ataque" y la restablecerá a la normalidad
48+
49+
50+
## Script de ejemplo
51+
52+
53+
Ya he preparado un script de demostración que podrías usar como referencia. ¡Pero te animo a que intentes escribir el script tú mismo primero y luego eches un vistazo a mi script!
54+
55+
Para descargar el script simplemente ejecuta el siguiente comando:
56+
57+
```bash
58+
wget https://raw.githubusercontent.com/bobbyiliev/cloudflare-ddos-protection/main/protection.sh
59+
```
60+
61+
Abre el script con tu editor de texto favorito:
62+
63+
```bash
64+
nano protection.sh
65+
```
66+
67+
Y actualiza los siguientes detalles con tus datos de Cloudflare:
68+
69+
```bash
70+
71+
CF_CONE_ID=TU_ID_DE_ZONA_DE_CLOUDFLARE
72+
CF_EMAIL_ADDRESS=TU_CORREO_ELECTRÓNICO_DE_LA_CUENTA_DE_CLOUDFLARE
73+
CF_API_KEY=TU_CLAVE_API_DE_CLOUDFLARE
74+
75+
```
76+
77+
Después de eso, haz que el script sea ejecutable:
78+
79+
```bash
80+
chmod +x ~/protection.sh
81+
```
82+
83+
Finalmente, configura 2 trabajos Cron para que se ejecuten cada 30 segundos. Para editar tu ejecución de crontab:
84+
85+
```bash
86+
crontab -e
87+
```
88+
89+
Y agrega el siguiente contenido:
90+
91+
```bash
92+
93+
* * * * * /ruta-al-script/cloudflare/protection.sh
94+
* * * * * ( sleep 30 ; /ruta-al-script/cloudflare/protection.sh )
95+
96+
```
97+
98+
Ten en cuenta que debes cambiar la ruta al script con la ruta real donde guardaste el script.
99+
100+
## Conclusión
101+
102+
Esta es una solución bastante sencilla y económica, una de las desventajas de la secuencia de comandos es que si tu servidor no responde debido a un ataque, es posible que la secuencia de comandos no se active en absoluto.
103+
104+
Por supuesto, un mejor enfoque sería usar un sistema de monitorización como Nagios y, en función de las estadísticas del sistema de monitorización, puedes activar el script, ¡pero el desafío de este script podría ser una buena experiencia de aprendizaje!
105+
106+
Aquí hay otro gran recurso (en inglés) sobre cómo usar la API de Discord y enviar notificaciones a su canal de Discord con un script Bash:
107+
108+
109+
[Cómo usar Webhooks de Discord para recibir notificaciones sobre el estado de tu sitio web en Ubuntu 18.04 (En inglés)](https://www.digitalocean.com/community/tutorials/how-to-use-discord-webhooks-to-get-notifications-for-your-website-status-on-ubuntu-18-04)
110+
111+
>{aviso} Este contenido se publicó inicialmente en [DevDojo (En inglés)](https://devdojo.com/bobbyiliev/bash-script-to-automatically-enable-cloudflare-ddos-protection)
112+

0 commit comments

Comments
 (0)