Det kan finnas från en till över tio portar som används i ditt MySQL-ekosystem. Det beror verkligen på vad du har aktiverat, vilka komponenter du använder, hur dina applikationer ansluts och andra egenskaper hos din miljö.
Från en säkerhetssynpunkt måste dessa portar öppnas precis tillräckligt brett för att tillåta de olika komponenterna som ska kommunicera att prata samtidigt som de blockerar allt annat som försöker hacka sig in – målet är att genomdriva säkerhetsprincipen ”minsta privilegium”. Det är uppenbart att man inte ska öppna allt för att få saker och ting att fungera, bara för att senare upptäcka att man har lämnat sig själv helt utsatt och hackad. Var inte ”den där administratören eller DBA:n”.
Hur du blockerar och öppnar portar med korrekta regler för ingång och utgång beror naturligtvis på din miljö – där du har olika verktyg brandväggar, VPN:er, operativsystemens möjligheter osv. Med vissa av våra installationspaket är vårt mål att vara säkra som standard samt användbarhet, och vi kommer att hjälpa till, men vanligtvis bara för de mest centrala portarna. Till exempel kommer MySQL Windows-installationsprogrammet att lägga till regler till Windows-brandväggen, eller Linux-paketen lägger till regler till SELinux eller AppArmor.
Men för mindre vanliga, valfria eller externa produktspecifika portar öppnar vi inte upp dem för dig i våra paket, så du måste göra det själv i dessa fall. Med kommandon som den för SELinux som
semanage port -a -t mysqld_port_t -p tcp <port open to mysqld>
Hursomhelst, för den här bloggen är målet bara portkännedom, så jag ville bara lista dem för att se till att de är kända och förstås i förhållande till
- Vad de är
- Vad använder dem
- När de används
- Är kommunikationen krypterad som standard (Ja i de flesta fall)
- Begränsad åtkomst
Den här referensen gäller för MySQL 5.7 och 8.0
Visuellt ser det ut ungefär så här.
Detta är INTE en fullständig referens – tabellerna nedan ger den fullständiga referensen.
Och för alla detaljer se
- Detaljerad MySQL Ports Reference – PDF
Och en praktisk MySQL PORT snabbreferenstabell
MySQL Ports
Teknik | Standardport | SSL|Enc Def. | Krävs | |||
---|---|---|---|---|---|---|
Klient – Serveranslutningar (msql client, connectors, mysqldump, mysqlpump) |
||||||
MySQL Client to Server – MySQL-protokoll – 3306 | 3306/tcp | Y | Y om man inte bara använder 33060 | |||
MySQL-klient till server – nytt X-protokoll – 33060 | 33060/tcp | Y | Y om man inte bara använder 3306 | |||
MySQL Shell | ||||||
MySQL Client to Server – MySQL-protokoll – 3306 | 3306/tcp | Y | Y om inte bara 33060 | |||
MySQL-klient till server – nytt X-protokoll – 33060 | 33060/tcp | Y | Y om inte bara 3306 | |||
För kontroller, från Shell till GR-servern under konfigurationen av InnoDB-klustret. | 33061/tcp | Y | Y om InnoDB Cluster körs | |||
MySQL Workbench | ||||||
MySQL Client to Server – MySQL-protokoll – 3306 | 3306/tcp | Y | Optionellt – välj minst 1 | |||
MySQL Client to Server – New X Protocol – 33060 | 33060/tcp | Y | Optionellt – välj minst 1 | |||
Kopplar upp via SSH-tunnel | 22/tcp | Y | Optionellt – Välj minst 1 | |||
Klient – Routeranslutningar – | ||||||
MySQL-klient Any SQL till Router – MySQL-protokoll | 6446/tcp | Försvarat | Krävs om routern ger RW-åtkomst | |||
MySQL-klient som endast kan läsa SQL till routern – MySQL-protokoll | 6447/tcp | ”” | Krävs om routern ger ReadOnly-åtkomst | |||
MySQL Router till server – MySQL-protokoll | 3306/tcp | ”” | Obligatoriskt | |||
MySQL-klient Eventuella API-anrop till routern – nytt X-protokoll – 33060 | 6448/tcp | ”” | Obligatoriskt om routern ger RW-åtkomst | |||
MySQL Client ReadOnly-anrop till router – nytt X-protokoll – 33060 | 6449/tcp | ”” | Krävs om router ger ReadOnly-åtkomst | |||
MySQL Router till server – nytt X-protokoll – 33060 | 33060/tcp | ”” | Krävs | |||
Hög tillgänglighet | ||||||
MySQL Group Replication intern kommunikationsport – 33061 | 33061/tcp | Y | Y | |||
MySQL Replication | 3306/tcp | Y | Y | Y | ||
Extern autentisering * | ||||||
MySQL Enterprise Authentication – LDAP * | 389/tcp | Y | Endast om extern autentisering till LDAP används. Stöder även användning av SASL | |||
MySQL Enterprise Authentication – AD * | 389/tcp | Y | Endast om extern autentisering till LDAP används | |||
Nyckelhantering (för TDE, Nyckelfunktioner etc.) * | ||||||
KMIP – används med Oracle Key Vault, Gemalto KeySecure, Thales Vormetric key management server, Fornetix Key Orchestration * | varierar, se specifik dokumentation för nyckelhanterare/nyckelfunktioner. | Y | Krävs endast om TDE använder en KMIP-server | |||
Nyckeltjänster – AWS KMS * | 443/tcp | Y | Krävs endast om TDE använder AWS KMS | |||
MEB backup | ||||||
Kommunicera med lokal instans | 3306/tcp | Y | Optionell – kan ansluta med tcp|socket|pipe|memory | |||
Om Innodb Cluster/Group Replication | 3306/tcp | Y | Krävs för InnoDB Cluster Backup | |||
Oracle Object Store | 443/tcp | Y | Optionell | |||
AWS S3 | 443/tcp | Y | Optionell | |||
Säkring av mediahanteraren (SBT API) * | Variationer – Se specifik dokumentation för mediehanteraren för säkerhetskopiering | Varumärkesberoende | Optionellt |