LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
He intentado averiguar que IPs "externas" estaban haciendo consultas a la BBDD de MySQL, bueno, yo al menos, por mucho que lo he intentado no he conseguido conocer más IP que la del server de la BBDD, y ésta, no es la IP que quiero conocer.
Por lo que trasteando un poco, buscando por allí y por acá, vi algunos scripts de Python que me indicaban que consultas se estaban haciendo, (pero no las IP "externas" a ellas asociadas) la mayoría de estos guiones están basados en "processlist", una función incluida en MySQL, así que me dije... pues ya está estoy, voy a hacer el siguiente script, que aquí os dejo para vuestro regocijo, y que es lo más que se aproxima a lo que yo buscaba.
caputuraStart=$(date +%Y-%m-%d-%HH-%MM-%SS) echo "INICIO CAPTURA: $caputuraStart " # Bucle que puedes cambiar a tu elección, pero 100 consultas son suficientes. for i in {1..100}; do # Optenemos las IP (en un server, casi todas irán o al puerto 80 o 443) netstat -ntp | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1 # usamos mysqladmin, con usuario y contraseña para ver "processlist" mysqladmin -u userdebasedatos -pcontraseña processlist --verbose done
caputuraStop=$(date +%Y-%m-%d-%HH-%MM-%SS) echo "FIN CAPTURA..: $caputuraStop
El script (o guión) te dice en la línea de "netstat" que IP que tenga conexión establecida (no en espera) está conectado al equipo, en la siguiente línea, mysqldadmin te dirá que consulta de MySQL que se está ejecutando. De esta forma podrías asociar IPs a consultas (que puedes ampliar en programación dentro de la aplicación php-mysql, por ejemplo, y que ya se escapa totalmente de la intención este artículo)
Después, por ejemplo, para los "chicos malos" puedes usar este script y bloquear las IP rápidamente:
#!/bin/bash if [ "$2" == "" ] ; then RangoIP=32 else RangoIP="$2" fi if [ "$1" == "" ] ; then echo "$0 IP Rango" echo "$0 192.168.1.7 32" echo "Bloqueará 192.168.1.7/32" exit 0 else IP="$1" fi echo "--------------------------" echo "iptables -I INPUT -s $IP/$RangoIP -j REJECT " iptables -I INPUT -s $IP/$RangoIP -j REJECT iptables -L -n | grep $IP
Puede contratar ExtreHost para temas profesionales con sus servidores. No lo dude, contáctenos.

-
Tecnología
- Las baterías de papel que prometen transformar la tecnología: ligeras, flexibles y ecológicas
- Cómo instalar y configurar un servidor NAS en Red Hat / AlmaLinux
- Instalar, configurar e Integrar un Servidor Linux en Active Directory
- La 'pintura solar' que desarrolla Mercedes-Benz podría revolucionar la carga de vehículos eléctricos
- El sistema operativo Raspberry Pi ahora habilita Wayland de forma predeterminada en todos los modelos de Raspberry Pi
- Las ventas mundiales de vehículos eléctricos aumentaron un 30,5 % en septiembre
- Cómo un ingeniero desenmascaró una red internacional de robo de bicicletas - Por sus amigos de Facebook
- Un traje espacial inspirado en las dunas recicla la orina y la convierte en agua potable
- Alemania tiene demasiados paneles solares y eso ha hecho que los precios de la energía sean negativos.
- Una nueva batería avisa a los padres si su hijo se la ha tragado
- La industria de la tecnología se estaba desinflando. Luego vino ChatGPT
- Consejos para adquirir una computadora usada
- Extremadura y sus trenes: Diferentes varas de medir
- Extraer una pista de audio de un video mp4 con ffmpeg
- China usa aviones no tripulados para producir lluvia en la cabecera de los ríos.
Comentarios
iptables -I INPUT -s $IP/$RangoIP -j REJECT
por
iptables -I INPUT -s $IP/$RangoIP -j DROP
en esos casos es recomendable utilizar DROP en lugar de REJECT, para descartar paquetes y evitar trafico de red, también es mas seguro.
Saludos!