Der kan være fra én til over ti porte, der bruges i dit MySQL-økosystem. Det afhænger virkelig af, hvad du har aktiveret, hvilke komponenter du bruger, hvordan dine applikationer forbinder og andre karakteristika ved dit miljø.
Fra et sikkerhedsmæssigt synspunkt skal disse porte åbnes lige bredt nok til at tillade de forskellige komponenter, der skal kommunikere, at tale sammen, mens de blokerer for alt andet, der forsøger at hacke sig ind – målet er at håndhæve sikkerhedsprincippet om “mindste privilegier”. Det er klart, at man ikke skal åbne alt for at få tingene til at fungere, for så senere at opdage, at man har efterladt sig selv helt udsat og er blevet hacket. Lad være med at være “That Admin or DBA”.
Det afhænger naturligvis af dit miljø, hvordan du blokerer og åbner porte med korrekte ind- og udgangsregler – hvor du har forskellige værktøjer firewalls, VPN’er, operativsystemers muligheder osv. Med nogle af vores installationspakker er vores mål at være sikre som standard såvel som brugervenlighed, og vi vil hjælpe, men typisk kun for de mest centrale porte. For eksempel vil MySQL Windows-installationsprogrammet for Windows tilføje regler til Windows-firewallen, eller Linux-pakkerne tilføjer regler til SELinux eller AppArmor.
Men for mindre almindelige, valgfrie eller eksterne produktspecifikke porte åbner vi dem ikke for dig i vores pakker, så du skal selv gøre det i de tilfælde. Med kommandoer som den til SELinux som
semanage port -a -t mysqld_port_t -p tcp <port åben for mysqld>
Og for denne blog er målet dog bare portkendskab, så jeg ville bare liste dem op for at sikre mig, at de er kendt og forstået i forhold til
- Hvad de er
- Hvad bruger dem
- Når de bruges
- Er kommunikationen krypteret som standard (Ja i de fleste tilfælde)
- Begrænsning af adgang
Denne reference gælder for MySQL 5.7 og 8.0
Visuelt ser det nogenlunde sådan her ud.
Dette er IKKE en fuld reference – tabellerne nedenfor indeholder den fulde reference.
Og for alle detaljer se
- Detaileret MySQL Ports Reference – PDF
Og en praktisk MySQL PORT quick reference tabel
MySQL Ports
Technology | Default Port | SSL|Enc Def. | Krævet | |||
---|---|---|---|---|---|---|
Klient – Serverforbindelser (msql-klient, konnektorer, mysqldump, mysqlpump) |
||||||
MySQL klient til server – MySQL-protokol – 3306 | 3306/tcp | Y | Y medmindre der blot anvendes 33060 | |||
MySQL Client to Server – New X Protocol – 33060 | 33060/tcp | Y | Y | Y medmindre der blot anvendes 3306 | ||
MySQL Shell | ||||||
MySQL Client to Server – MySQL-protokol – 3306 | 3306/tcp | Y | Y medmindre der blot anvendes 33060 | |||
MySQL Client to Server – New X Protocol – 33060 | 33060/tcp | Y | Y | Y medmindre der blot anvendes 3306 | ||
Til kontrol, fra Shell til GR-server under InnoDB-klyngekonfigurationen. | 33061/tcp | Y | Y hvis der køres InnoDB Cluster | |||
MySQL Workbench | ||||||
MySQL Client to Server – MySQL-protokol – 3306 | 3306/tcp | Y | Optionel – vælg mindst 1 | |||
MySQL-klient til server – Ny X-protokol – 33060 | 33060/tcp | Y | Optionel – Vælg mindst 1 | |||
Optionerligt – Forbindes via SSH-tunnel | 22/tcp | Y | Optionel – Vælg mindst 1 | |||
Klient – Routerforbindelser – | ||||||
MySQL-klient Any SQL til Router – MySQL-protokol | 6446/tcp | Inherited | Kræves, hvis routeren giver RW-adgang | |||
MySQL-klient ReadOnly SQL til routeren – MySQL-protokol | 6447/tcp | “” | Kræves, hvis Router giver ReadOnly-adgang | |||
MySQL Router til server – MySQL-protokol | 3306/tcp | “” | Krævet | |||
MySQL-klient Eventuelle API-opkald til router – Ny X-protokol – 33060 | 6448/tcp | “” | Krævet, hvis routeren giver RW-adgang | |||
MySQL-klient ReadOnly-kald til router – ny X-protokol – 33060 | 6449/tcp | “” | Kræves, hvis router giver ReadOnly-adgang | |||
MySQL Router til server – ny X-protokol – 33060 | 33060/tcp | “” | Krævet | |||
Høj tilgængelighed | ||||||
MySQL Group Replication intern kommunikationsport – 33061 | 33061/tcp | Y | Y | |||
MySQL Replication | 3306/tcp | Y | Y | Y | Y | |
Ekstern autentifikation * | ||||||
MySQL Enterprise Authentication – LDAP * | 389/tcp | Y | Kun hvis der anvendes ekstern autentificering til LDAP. Understøtter også brug af SASL | |||
MySQL Enterprise Authentication – AD * | 389/tcp | Y | Kun hvis der anvendes ekstern autentificering til LDAP | |||
Nøgleforvaltning (for TDE, Keyring-funktioner osv.) * | ||||||
KMIP – anvendes sammen med Oracle Key Vault, Gemalto KeySecure, Thales Vormetric key management server, Fornetix Key Orchestration * | Varierer, se den specifikke dokumentation for key manager/vault. | Y | Kræves kun, hvis TDE bruger en KMIP-server | |||
Nøgletjenester – AWS KMS * | 443/tcp | Y | Kræves kun, hvis TDE bruger AWS KMS | |||
MEB backup | ||||||
Kommunikere til lokal instans | 3306/tcp | Y | Optionel – kan oprette forbindelse med tcp|socket|pipe|memory | |||
Hvis Innodb Cluster/Group Replication | 3306/tcp | Y | Krævet for InnoDB Cluster Backup | |||
Oracle Object Store | 443/tcp | Y | Optional | |||
AWS S3 | 443/tcp | Y | Optional | |||
Backup til Media Manager (SBT API) * | Varierer – Se specifik dokumentation for sikkerhedskopiering til mediehåndtering | Vendorafhængig | Optionel |