Blog del Servidor MySQL

Puede haber desde uno hasta más de diez puertos utilizados dentro de su ecosistema MySQL. Realmente depende de lo que haya habilitado, de los componentes que esté utilizando, de cómo se conecten sus aplicaciones y de otras características de su entorno.

Desde el punto de vista de la seguridad, estos puertos deben abrirse lo suficiente como para permitir que los distintos componentes que deben comunicarse se comuniquen mientras se bloquea cualquier otra cosa que intente hackear su camino – el objetivo es hacer cumplir el principio de seguridad de «mínimo privilegio». Obviamente, lo que no debes hacer es abrir todo para que las cosas funcionen, sólo para descubrir más tarde que te has dejado completamente expuesto y hackeado. No seas «ese administrador o DBA».

Por supuesto, la forma de bloquear y abrir los puertos con reglas de entrada y salida adecuadas depende de tu entorno – donde tienes varias herramientas cortafuegos, VPNs, capacidades de los sistemas operativos, etc. Con algunos de nuestros paquetes de instalación, nuestro objetivo es ser seguros por defecto, así como la facilidad de uso, y vamos a ayudar, pero normalmente sólo para los puertos más básicos. Por ejemplo, el instalador de MySQL para Windows añadirá reglas al cortafuegos de Windows, o los paquetes de Linux añaden reglas a SELinux o AppArmor.

Sin embargo, para los puertos menos comunes, opcionales o específicos de productos externos, no los abrimos para usted en nuestros paquetes, por lo que tendrá que hacerlo usted mismo en esos casos. Con comandos como el de SELinux como

semanage port -a -t mysqld_port_t -p tcp <puerto abierto a mysqld>

De todos modos, para este blog el objetivo es sólo el conocimiento de los puertos, así que sólo quería enumerarlos para asegurarme de que se conocen y entienden en relación a

  1. Qué son
  2. Qué los usa
  3. Cuando se usan
  4. ¿Está la comunicación encriptada por defecto (Sí en la mayoría de los casos)
  5. Limitar el acceso

Esta referencia se aplica a MySQL 5.7 y 8.0

Visualmente se ve algo así.
Esto NO es una referencia completa – las tablas de abajo proporcionan la referencia completa.

Puertos de MySQL (PULSE PARA AMPLIAR LA IMAGEN)

O para todos los detalles vea

  • Referencia detallada de los puertos de MySQL – PDF

Y una práctica tabla de referencia rápida de puertos MySQL

Puertos MySQL

.

Tecnología Puerto por defecto SSL|Enc Def. Requerido
Conexiones cliente – servidor
(cliente msql, conectores, mysqldump, mysqlpump)
Cliente MySQL a Servidor – Protocolo MySQL – 3306 3306/tcp Y a menos que sólo utilice 33060
MySQL Client to Server – New X Protocol – 33060 33060/tcp Y Y a menos que sólo se utilice 3306
MySQL Shell
MySQL Client to Server – Protocolo MySQL – 3306 3306/tcp Y a menos que sólo utilice 33060
Cliente MySQL a Servidor – Nuevo Protocolo X – 33060 33060/tcp Y Y a menos que sólo utilice 3306
Para comprobaciones de Shell al servidor GR durante la configuración del clúster InnoDB. 33061/tcp Y Y si se ejecuta el Cluster InnoDB
MySQL Workbench
MySQL Client to Server – Protocolo MySQL – 3306 3306/tcp Y Opcional – elegir al menos 1
Cliente MySQL a Servidor – Nuevo Protocolo X – 33060 33060/tcp Y Opcional – elija al menos 1
Conecta vía túnel SSH 22/tcp Y Opcional – elija al menos 1
Conexiones Cliente – Router –
Cliente MySQL Cualquier SQL al Router – Protocolo MySQL 6446/tcp Inherited Requerido si el router proporciona acceso RW
Cliente MySQL ReadOnly SQL al router – Protocolo MySQL 6447/tcp « Requerido si el router proporciona acceso ReadOnly
MySQL Router to Server – Protocolo MySQL 3306/tcp «» Requerido
Cliente MySQL Cualquier llamada API al Router – Nuevo Protocolo X – 33060 6448/tcp «» Requerido si el Router proporciona acceso RW
Llamadas de sólo lectura del cliente MySQL al router – Nuevo protocolo X – 33060 6449/tcp «» Requerido si el router proporciona acceso de sólo lectura
MySQL Router al Servidor – Nuevo Protocolo X – 33060 33060/tcp «» Requerido
Alta disponibilidad
Puerto de comunicaciones internas de replicación de grupo MySQL – 33061 33061/tcp Y Y
MySQL Replication 3306/tcp Y Y
Autenticación externa*
Autenticación empresarial MySQL – LDAP * 389/tcp Y Sólo si se utiliza la autenticación externa a LDAP. También admite el uso de SASL
Autenticación empresarial de MySQL – AD * 389/tcp Y Sólo si se utiliza la autenticación externa en LDAP
Gestión de llaves (para TDE, Funciones de llavero, etc.) *
KMIP – utilizado con Oracle Key Vault, Gemalto KeySecure, servidor de gestión de claves Thales Vormetric, Fornetix Key Orchestration * Varía, véase la documentación específica del gestor de claves/bóveda. Sólo se requiere si TDE está utilizando un servidor KMIP
Servicios de claves – AWS KMS * 443/tcp Y Sólo se requiere si TDE está utilizando AWS KMS
Respaldo de MEB
Comunicarse con la instancia local 3306/tcp Y Opcional – puede conectarse con tcp|socket|pipe|memory
Si la replicación del clúster/grupo InnoDB 3306/tcp Y Requerido para la copia de seguridad del clúster InnoDB
Oracle Object Store 443/tcp Y Opcional
AWS S3 443/tcp Y Opcional
Copia de seguridad al gestor de medios (SBT API) * Varía – Consulte la documentación específica del gestor de medios de copia de seguridad Dependiente del proveedor Opcional

Deja una respuesta

Tu dirección de correo electrónico no será publicada.