Pode haver de uma a mais de dez portas utilizadas dentro do seu ecossistema MySQL. Depende realmente do que você habilitou, quais componentes você está utilizando, como suas aplicações se conectam, e outras características do seu ambiente.
De um ponto de segurança, estas portas precisam ser abertas apenas o suficiente para permitir que os vários componentes que devem se comunicar falem enquanto bloqueia qualquer outra coisa tentando invadir seu caminho – o objetivo é reforçar o princípio de segurança do “menor privilégio”. Obviamente, o que você não deve fazer é abrir tudo para pôr as coisas a funcionar, apenas para descobrir mais tarde que você se deixou completamente exposto e hackeado. Não seja “Aquele Administrador ou DBA”.
O claro, como você bloqueia e abre portas com regras de entrada e saída adequadas depende do seu ambiente – onde você tem várias firewalls de ferramentas, VPNs, capacidades de Sistemas Operacionais, etc. Com alguns de nossos pacotes de instalação, nosso objetivo é ser seguro por padrão, assim como a usabilidade, e nós ajudaremos, mas tipicamente apenas para as portas mais centrais. Por exemplo, o instalador do MySQL Windows adicionará regras ao firewall do Windows, ou os pacotes Linux adicionarão regras ao SELinux ou AppArmor.
No entanto, para portas menos comuns, opcionais ou específicas de produtos externos, nós não as abrimos para você em nossos pacotes, então você precisará fazer isso você mesmo nesses casos. Com comandos como o do SELinux como
semanage port -a -t mysqld_port_t -p tcp <port open to mysqld>
Anyway, para este blog o objetivo é apenas a consciência do porte, então eu só queria listá-los para ter certeza que eles são conhecidos e entendidos em relação a
- O que eles são
- O que os usa
- Quando eles são usados
- É a comunicação criptografada por padrão (Sim na maioria dos casos)
- Limitando o acesso
Esta referência se aplica ao MySQL 5.7 e 8.0
Visualmente é algo parecido com isto.
Esta NÃO é uma referência completa – as tabelas abaixo fornecem a referência completa.
Or para todos os detalhes veja
- Referência Detalhada das Portas do MySQL – PDF
E uma prática tabela de referência rápida do MySQL PORT
Portas do MySQL
Tecnologia | Port padrão | SSL|Enc Def. | Requerido | |
---|---|---|---|---|
> | > | |||
Cliente – Conexões do Servidor (msql cliente, conectores, mysqldump, mysqlpump) |
||||
MySQL Client to Server – Protocolo MySQL – 3306 | 3306/tcp | Y | Y a menos que apenas usando 33060 | |
MySQL Client to Server – Novo Protocolo X – 33060 | 33060/tcp | Y | Y a menos que apenas usando 3306 | |
> | > | |||
MySQL Shell | > | >> | ||
MySQL Client to Server – Protocolo MySQL – 3306 | 3306/tcp | Y | Y a menos que apenas usando 33060 | |
MySQL Client to Server – Novo Protocolo X – 33060 | 33060/tcp | Y | Y a menos que apenas usando 3306 | |
Para verificações, do servidor Shell para GR durante a configuração do cluster InnoDB. | 33061/tcp | Y | Y se estiver executando o InnoDB Cluster | |
MySQL Workbench | > | > | ||
MySQL Client to Server – Protocolo MySQL – 3306 | 3306/tcp | Y | Opcional – escolha pelo menos 1 | |
MySQL Client to Server – Novo Protocolo X – 33060 | 33060/tcp | Y | Opcional – escolher pelo menos 1 | |
Conexões via túnel SSH | 22/tcp | Y | Opcional – escolha pelo menos 1 | |
Cliente – Ligações de Roteador – | > | > | > | |
MySQL Client Any SQL to Router – Protocolo MySQL | 6446/tcp | Inherited | Requerido se o Roteador fornece acesso RW | |
MySQL Client ReadOnly SQL to Router – Protocolo MySQL | 6447/tcp | “” | Requerido se o Roteador fornecer acesso ReadOnly | |
Roteador MySQL para Servidor – Protocolo MySQL | 3306/tcp | “” | Requerido | |
MySQL Cliente Qualquer chamada API para o Roteador – Novo Protocolo X – 33060 | 6448/tcp | “” | Requerido se Roteador fornece acesso RW | |
MySQL Cliente Chamadas Somente Leitura para o Roteador – Novo Protocolo X – 33060 | 6449/tcp | “” | Requerido se o Roteador fornecer acesso Somente Leitura | |
MySQL Roteador para Servidor – Novo Protocolo X – 33060 | 33060/tcp | “” | Requerido | |
> | > | |||
> | > | |||
> | ||||
Alta Disponibilidade | > | |||
Porta de comunicação interna de replicação de grupo MySQL – 33061 | 33061/tcp | Y | Y | |
Replicação do MySQL | 3306/tcp | Y | Y | |
Autenticação Externa * | ||||
MySQL Enterprise Authentication – LDAP * | 389/tcp | Y | Apenas se estiver usando Autenticação Externa para LDAP. Também suporta o uso de SASL | |
MySQL Enterprise Authentication – AD * | 389/tcp | Y | Somente se usando Autenticação Externa para LDAP | |
> | > | |||
> | ||||
> | > | |||
Gestão de chaves (para TDE, Keyring Functions, etc) * | ||||
KMIP – usado com Oracle Key Vault, Gemalto KeySecure, Thales Vormetric key management server, Fornetix Key Orchestration * | Varia, Veja a documentação específica do key manager/vault. | Y | Requerido apenas se TDE estiver usando um servidor KMIP | |
Key Services – AWS KMS * | 443/tcp | Y | >Requerido apenas se a TDE estiver a usar AWS KMS | |
> | ||||
B backup | > | |||
Comunicar à Instância Local | 3306/tcp | Y | Opcional – pode se conectar com tcp|socket|pipe|memory | |
If Innodb Cluster/Group Replication | 3306/tcp | Y | Requerido para InnoDB Cluster Backup | |
Oracle Object Loja | 443/tcp | Y | Opcional | |
AWS S3 | 443/tcp | Y | Opcional | |
Backup para o Media Manager (SBT API) * | Varia – Ver documentação específica do gerenciador de mídia de backup | Dependente do fornecedor | Opcional |