Pot exista de la unul până la peste zece porturi utilizate în cadrul ecosistemului MySQL. Depinde cu adevărat de ceea ce ați activat, de componentele pe care le folosiți, de modul în care aplicațiile dumneavoastră se conectează și de alte caracteristici ale mediului dumneavoastră.
Din punct de vedere al securității, aceste porturi trebuie să fie deschise suficient de larg pentru a permite diverselor componente care ar trebui să comunice să vorbească, blocând în același timp orice altceva care încearcă să intre – scopul fiind acela de a aplica principiul de securitate al „celui mai mic privilegiu”. Evident, ceea ce nu trebuie să faceți este să deschideți toate porturile pentru a face lucrurile să funcționeze, doar pentru a descoperi mai târziu că v-ați lăsat complet expus și că ați fost piratat. Nu fiți „acel administrator sau DBA”.
Desigur, modul în care blocați și deschideți porturile cu reguli adecvate de intrare și ieșire depinde de mediul dumneavoastră – unde aveți diverse instrumente firewall, VPN-uri, capacități ale sistemelor de operare etc. În cazul unora dintre pachetele noastre de instalare, obiectivul nostru este de a fi sigur în mod implicit, precum și de a fi ușor de utilizat, și vă vom asista, dar de obicei numai pentru porturile cele mai importante. De exemplu, programul de instalare MySQL pentru Windows va adăuga reguli la firewall-ul Windows, sau pachetele Linux adaugă reguli la SELinux sau AppArmor.
Cu toate acestea, pentru porturile mai puțin comune, opționale sau specifice produselor externe, nu le deschidem pentru dvs. în pachetele noastre, așa că va trebui să faceți acest lucru singur în acele cazuri. Cu comenzi precum cea pentru SELinux, cum ar fi
semanage port -a -t mysqld_port_t -p tcp <port deschis pentru mysqld>
În orice caz, pentru acest blog scopul este doar conștientizarea porturilor, așa că am vrut doar să le enumăr pentru a mă asigura că sunt cunoscute și înțelese în raport cu
- Ce sunt
- Cine le folosește
- Când sunt folosite
- Comunicarea este criptată în mod implicit (Da, în majoritatea cazurilor)
- Limitarea accesului
Acest referat se aplică la MySQL 5.7 și 8.0
Vizual arată cam așa.
Aceasta NU este o referință completă – tabelele de mai jos oferă referința completă.
Sau pentru toate detaliile consultați
- Relația detaliată a porturilor MySQL – PDF
.
Și un tabel practic de referință rapidă MySQL PORT
MySQL Ports
Tehnologie | Portul implicit | SSL|Enc Def. | Required | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Client – Conexiuni server (msql client, connectors, mysqldump, mysqlpump) |
|||||||||||||
MySQL Client to Server – MySQL Protocol – 3306 | 3306/tcp | Y | Y dacă nu se folosește doar 33060 | ||||||||||
MySQL Client to Server – New X Protocol – 33060 | 33060/tcp | Y | Y dacă nu se folosește doar 3306 | ||||||||||
MySQL Shell | 3306/tcp | Y | Y dacă nu se utilizează doar 33060 | ||||||||||
MySQL Client to Server – New X Protocol – 33060 | 33060/tcp | Y | Y | Y dacă nu se utilizează doar 3306 | |||||||||
Pentru verificări, de la Shell la serverul GR în timpul configurării clusterului InnoDB. | 33061/tcp | Y | Y dacă se execută InnoDB Cluster | ||||||||||
MySQL Workbench | |||||||||||||
MySQL Client to Server – MySQL Protocol – 3306 | 3306/tcp | Y | Opțional – alege cel puțin 1 | ||||||||||
MySQL Client to Server – New X Protocol – 33060 | 33060/tcp | Y | Opțional – alege cel puțin 1 | ||||||||||
Se conectează prin tunel SSH | 22/tcp | Y | Opțional – alege cel puțin 1 | ||||||||||
Conexiuni client – router – | |||||||||||||
MySQL Client Any SQL to Router – MySQL Protocol | 6446/tcp | Inherited | Required if Router provides RW access | ||||||||||
MySQL Client ReadOnly SQL to Router – MySQL Protocol | 6447/tcp | „” | Required if Router provides ReadOnly access | ||||||||||
MySQL Router to Server – MySQL Protocol | 3306/tcp | „” | Required | ||||||||||
MySQL Client Any API calls to Router – New X Protocol – 33060 | 6448/tcp | „” | Required if Router oferă acces RW | ||||||||||
MySQL Client ReadOnly Calls to Router – New X Protocol – 33060 | 6449/tcp | „” | Required if Router provides ReadOnly access | ||||||||||
MySQL Router to Server – New X Protocol – 33060 | 33060/tcp | „” | Required | ||||||||||
High Availability | 33061/tcp | Y | Y | ||||||||||
MySQL Replication | 3306/tcp | Y | Y | Y | Y | Y | |||||||
Autentificare externă * | |||||||||||||
MySQL Enterprise Autentificare – LDAP * | 389/tcp | Y | Numai dacă se utilizează Autentificarea externă la LDAP. De asemenea, acceptă utilizarea SASL | ||||||||||
MySQL Enterprise Authentication – AD * | 389/tcp | Y | Numai dacă se utilizează Autentificarea externă la LDAP | ||||||||||
Gestiunea cheilor (pentru TDE, Keyring Functions, etc.) * | |||||||||||||
KMIP – utilizat cu Oracle Key Vault, Gemalto KeySecure, serverul de gestionare a cheilor Thales Vormetric, Fornetix Key Orchestration * | Variază, A se vedea documentația specifică pentru managerul de chei/cavitatea de chei. | Y | Numai necesar dacă TDE utilizează un server KMIP | ||||||||||
Key Services – AWS KMS * | 443/tcp | Y | Este necesar numai dacă TDE utilizează AWS KMS | ||||||||||
MEB backup | |||||||||||||
Comunicarea cu instanța locală | 3306/tcp | Y | Opțional – | ||||||||||
În cazul în care Innodb Cluster/Group Replication | 3306/tcp | Y | Required for InnoDB Cluster Backup | ||||||||||
Oracle Object Store | 443/tcp | Y | Opțional | ||||||||||
AWS S3 | 443/tcp | Y | Opțional | ||||||||||
Backup to Media Manager (SBT API) * | Variază – A se vedea documentația specifică managerului de medii de backup | Depinde de furnizor | Opțional |