Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

seguridad en mysql

Estas en el tema de seguridad en mysql en el foro de Mysql en Foros del Web. Saludos a todos, Primero que todo pedir disculpa si el tema no corresponde en este foro pero no encontre uno que hable directamente sobre mysql ...
  #1 (permalink)  
Antiguo 12/02/2011, 18:50
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 17 años, 10 meses
Puntos: 7
seguridad en mysql

Saludos a todos,

Primero que todo pedir disculpa si el tema no corresponde en este foro pero no encontre uno que hable directamente sobre mysql dentro de forosdelweb.

Tengo un servidor con CentOS el cual tiene Mysql, no le he instalado phpmyadmin.

le puse contraseña al usuario root por que no la tenia pero al revisar la tabla "user" veo que aparecen varios registros de usuarios "root" que también estan sin password.

esto es parte de lo que tengo en la tabla user de mysql:

Código:
mysql> select Host, User, Password from user;
+---------------------------+------+------------------+
| Host                      | User | Password         |
+---------------------------+------+------------------+
| localhost                 | root | 621786cd32498763 |
| doc963.xxalgundominio.com | root |                  |
| 127.0.0.1                 | root |                  |
| localhost                 |      |                  |
| doc963.xxalgundominio.com |      |                  |
+---------------------------+------+------------------+
5 rows in set (0.00 sec)
de primeras venian todos sin contraseña asi que le puse contraseña al usuario root de la base de datos pero viendo la tabla, aparecen dos registros mas del usuario root (con host 127.0.0.1 y con dominio) sin password ademas de otros dos registros mas con host pero sin user ni pass.

Revisnado un tutorial en internet solo vi un registro en la tabla user, el correspondiente al host "localhost" por lo cual (con mi nula experiencia) no se si los otros registros de mi tabla son necesarios, de ser asi obviamente tendría que ponerle password a todos.

Por un tema de seguridad, que me recomiendan ustedes?? tomando en cuenta que mysql lo usare para base de datos utilizadas por algunas web alojadas en el mismo server.

Saludos.
  #2 (permalink)  
Antiguo 14/02/2011, 04:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: seguridad en mysql

La ip es muy posible que sea el mismo localhost el otro dominio no se.

Para los web mejor utiliza usuarios con password que solo tengan permisos para la base de cada web, root suele tener control total del servidor y es mejor que te lo reserves solo para ti.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 14/02/2011, 05:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: seguridad en mysql

El rango de IP 127.0.0.1 al 127.255.255.254 son direcciones de localhost. Existen dos más que no deben usarse: 127.0.0.0 y 127.255.255, ya que una es el broadcast y la otra el gateway, si mal no recuerdo.
Todas las direcciones del rango 127.0.0.1 al 127.255.255.254 apuntan en realidad a tu propia tarjeta de red y realizan un lookback a tu propio sistema, por lo que en realidad son prácticamente sinónimos.
Pero para MySQL 127.0.0.1 y 127.0.0.2 son direcciones diferentes desde el punto de vista de los usuarios, ya que esas mismas pueden estar asignadas a conexiones diferentes en la misma PC. Eso MySQL no lo puede determinar, porque no lo maneja MySQL sino la red, entonces sólo reconoce que son distintos, y si un user tiene permiso para conectarse únicamente desde un host, no podrá hacerlo desde otro aunque ese otro pertenezca a la misma subred.
Cuando le asignas a un user permisos para conectarse desde una máquina determinada de la red, y el usuario ya existe, lo que hace MySQL es crear otra entrada con el mismo username pero con un host diferente... ¿Se entiende?
Este tipo de administraciópn permite restringir el acceso a la base en redes de computadoras. Es sumamente potente y muy efectivo para administrar recursos. Es una de las políticas de seguridad de bases de datos más usadas en todos los DBMS..
Ahora bien, si quieres que un user se conecte desde cualquier IP, o único que debes hacer es asignarle permisos (con GRANT, como sabes) para conectarse al host "%". Eso significa "desde cualquiera".
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 14/02/2011, 07:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: seguridad en mysql

Como siempre "chapeau" a la explicacion de gnsoloyo solo precisar que hay mas tramos de ip reservados a las LAND o redes privadas

Googelando por "IP reservadas" lo encontraras ...

Cita:
DIRECCIONES IP RESERVADAS

Estas son las direcciones IP que están específicamente reservadas para redes locales no conectadas a Internet (también llamadas redes privadas). Las direcciones IP son:-

* Dirección de red clase uno A
10.0.0.0 (máscara de red 255.0.0.0)
* Direcciones de red clase 16 B
172.16.0.0 - 172.31.0.0 (máscara de red 255.255.0.0)
* Direcciones de red clase 256 C
192.168.0.0 - 192.168.255.0 (máscara de red 255.255.255.0)

Si tiene una red local sin direcciones IP reservadas por la autoridad responsable en su país, debería utilizar para sus máquinas uno de estos tipos de direcciones.

Estos números nunca deben ser utilizados en Internet.

Sin embargo, pueden usarse para la Ethernet local en una máquina que está conectada a Internet. Esto es porque las direcciones IP se refieren a interfaces de red, no a ordenadores. Su interfaz Ethernet puede usar 10.0.0.1 (por ejemplo), mas cuando se conecte a Internet usando PPP, su interfaz PPP conseguirá del servidor otra dirección IP (que sí será válida). Su PC tendrá conectividad Internet, pero los otros ordenadores de su red no.



DIRECCIONES IP PRIVADAS

Las redes privadas de organizaciones que no están directamente conectadas a Internet –esto es, las redes que se conectan por medio de un proxy o un router a una única línea con una sola dirección IP dada por un proveedor de servicios– tienen asignado unos rangos de direcciones IP para su funcionamiento interno. Estos son:



Para clase A una única dirección de red: 10

Para clase B 16 redes del rango 172.16 a 172.31

Para clase C 256 direcciones de red: 192.168.0 a 192.168.255



Estas direcciones IP no son utilizadas por los routers para su comunicación con Internet, y se utilizan solo dentro de la organización. Estas redes (Intranet) tienen la ventaja de ser mucho menos accesibles a ataques desde el exterior.
El usuario de una aplicación web tambien se conecta desde localhost aún que parezca una contradicción, en realidad php o jsp o el que sea como se ejecuta en el servidor la dirección relativa a este debe ser localhost o otro si el servidor web y el servidor de bases de datos estan en maquinas distintas. Pero obiamente no puede ser la del cliente web ya que no la conocemos. Por esto insistia en la necesidad de crear un usuario distinto a root que solo tenga los permisos necesarios para la aplicación web y no a todo el servidor como seria el caso de root. Estos usuarios a mi entender tampoco necesitan la condición de GRANT puesto que esto podría abrir la puerta a crear otros usuarios o a transferir sus privilegios a otros.

Las petiones al servidor de bbdd las hace el servidor web (este recibe las peticiones via http del cliente web), es muy habitual que los dos servidores esten en la misma maquina (luego "localhost") o en maquinas de la land del ISP (luego la IP, o dominio, que te digan del rango reservado que esten usando). Por esto no es necesario, aún que si posible, crear un usuario con permiso para conectarse desde cualquier dirección.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 14/02/2011 a las 08:03

Etiquetas: seguridad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:07.