Problemas Mysql Iptables

Imagen de atoledo

Tema: 

Buenas con Todos

soy nuevo administrando servicios en linux, tengo un problema se ha desarrollado una aplicacion java con mysql. La base de datos esta en un servidor Centos 5.1 tengo problemas para que los usuarios puedan acceder a la aplicacion desde la red local, si me pueden echar una mano les quedo agradecido adjutno el script de mi firewall de este servidor para que me ayuden. Gracias

#################### SCRIPT IPTABLES FIREWALL #######################

echo "Detenemos el servicio del Firewall..."
/sbin/service iptables stop
echo "Aplicando Reglas del Firewall..."

#Flush de Reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#Cargamos los Modulos Principales del Firewall
#echo "Cargamos los Modulos Principales del Kernel"
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_nat_irc
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe iptable_nat

#Reglas de Seguridad Elementales

echo "Aplicando Reglas de Seguridad Elementales"
#Quitamos los ping
/bin/echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
#No respondemos a los Broadcast
/bin/echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#Otros
/bin/echo 1 > /proc/sys/net/ipv4/tcp_syncookies
/bin/echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
#El IP Forwarding

/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
#Para usuarios con IP Dinamica
/bin/echo 1 > /proc/sys/net/ipv4/ip_dynaddr

#Politicas por Defecto - ACCEPT/DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#Establecimiento de Politicas por defecto
# Permitimos acceso desde la propia máquina
iptables -A INPUT -i lo -j ACCEPT

#Abrir el puerto 22 del SSH para la administracion interna
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT && echo "Regla SSH...Ok"

#abrir puerto 8080 para el apache tomcat
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 8080 -j ACCEPT && echo "Regla Tomcat...Ok"

#Abrimos el puerto 3306 del MySQL para nuestra red Interna
iptables -A INPUT -s 192.168.1.0/0 -p tcp --dport 3306 -j ACCEPT && echo "Regla MySQL...Ok"

#Cerramos purtos del rango conocido
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 0:1024 -j DROP && echo "Puertos TCP Conocidos Cerrados...Ok"
iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 0:1024 -j DROP && echo "Puertos UDP Conocidos Cerrados...Ok"

#Cerramos todos los puertos innecesarios
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 1025:65535 -j DROP && echo "Puertos TCP Innecesarios Cerrados...Ok"
iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 1025:65535 -j DROP && echo "Puertos UDP Innecesarios Cerrados...Ok"

#Reiniciamos el Firewall
echo "Reiniciamos el Firewall"
/sbin/service iptables restart
echo "Firewall Generado Correctamente"
echo "Verifique las Reglas con: iptables -L -n"

#Fin del Script

El problema es que no se puede conectar al puerto 3306 del MySQL
ni desde la aplicacion ni haciendo telnet desde windows

De antemano Gracias por la ayuda

Saludos

Andrés

Comentarios

¿Y la configuración de mysql?

Imagen de acl

¿Y la configuración de mysql? Si mal no recuerdo, mysql por default no acepta conexiones de red sino que solamente escucha en un socket local inaccesible desde fuera. ¿Qué resultado te da 'netstat -nta' en el CentOS? ¿Está corriendo el servicio de mysql (puedes conectarte aunque sea dentro del mismo servidor? ¿Si tumbas el firewall pueden conectarse los clientes?

MySQL por defecto acepta

Imagen de RazaMetaL

MySQL por defecto acepta conecciones del localhost, para permitir las conecciones desde otros hosts debes modificar los privilegios y permitir conecciones desde cualquier host o desde host específicos.

Puedes confirmar esto haciendo un:

netstat -an | grep 3306

Si obtienes como respuesta esto:

tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN

Es porque MySQL esta aceptando solo conecciones desde el localhost.

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

Problema MySQL Iptables

Imagen de atoledo

He realizado la revision sugerida, y me ha dado el siguiente resultado:


[server]#netstat -an | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

de lo que entiendo es que si esta aceptando conexiones de toda la red. y respondiendo otras dudas cuando hago un iptables -F todo el mundo se puede conectar sin ningun inconveniente, el servicio del mysql se esta ejecutando correctmente:


[server]# service mysql status
MySQL running (28040) [ OK ]

y realizando la conexion en el mismo servidor con el firewall arriba si me permite conectarme pero si ejecuto el firewall me rechaza la conexion hacia el mysql. Aun persiste mi problema que mas puedo chequear para que esta configuracion funcione correctamente?

De nuevo gracias por sus respuestas y su tiempo..

Andres

El problema está que tienes

Imagen de acl

El problema está que tienes una política de OUTPUT en DROP, y no tienes ninguna regla que permita la salida de paquetes de los servicios que quieres correr. Por eso la conexión tcp no se establece. No solamente mysql va a tener el problema, sino ssh y tomcat también. Con algo como 'iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT' puedes llegar a una solución.

Entonces el lio esta en el

Imagen de RazaMetaL

Entonces el lio esta en el firewall.

Agrega las siguientes líneas y dinos si funciona:

iptables -I INPUT -d 0/0 -p tcp --dport 3306 -j ACCEPT
iptables -I INPUT -d 0/0 -p udp --dport 3306 -j ACCEPT
iptables -I OUTPUT -s 0/0 -p tcp --dport 3306 -j ACCEPT
iptables -I OUTPUT -s 0/0 -p udp --dport 3306 -j ACCEPT

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

Resuelto

Imagen de atoledo

efectivamente era con la salida de paquetes en la regla output que estaba dando el problema... ya esta solucionado mi problema, muchas gracias por sus comentarios sugerencias

Saludos

Andres :)

problema com phpmyadmin puerto 3306

El problema es el siguiente: Utilizo el sistema opearativo windows7 32 bit. y e instalado el paquete de servidores vertrigo, pero solo me esta corriendo el apache, y el mySQLserver no esta corriendo y no puedo iniciar phpMyAdmin devido a eso. El servidor coloca un icono azul y dice lo siguiente (MySQL database server does not work correctly. Check whether other aplications use the important port(3306)). se que el puerto esta siendo utilizado por otra aplicación pero no se cual es, ni tampoco como solucionarlo? por favor le pido ayuda a cualquiera que pueda ayudarme? Se lo agradeceria mucho si me ayudan!!!