Tenemos una replicación del servidor SQL en su lugar. Estoy tratando de asegurarme de que la replicación se produzca a través de canales seguros. Dado que eso MASTER_SSL_Allowed
es cierto ("Sí"), ¿esto sugiere que las cosas viajan a través de SSL / TLS?
¿Cómo puedo estar seguro de que la conexión de replicación está encriptada? ¿Cómo puedo prohibir efectivamente el tráfico no cifrado entre el maestro y la replicación?
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.10.100
Master_User: slave_user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000192
Read_Master_Log_Pos: 37748817
Relay_Log_File: mysqld-relay-bin.000032
Relay_Log_Pos: 1244
Relay_Master_Log_File: mysql-bin.000092
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: omega
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 37748817
Relay_Log_Space: 124980
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: Yes
Master_SSL_CA_File: /etc/mysql/certs/omega-ca-cert.pem
Master_SSL_CA_Path:
Master_SSL_Cert: /etc/mysql/certs/omega-client-cert.pem
Master_SSL_Cipher:
Master_SSL_Key: /etc/mysql/certs/omega-client-key.pem
tcpdump
,Wireshark
o de otro analizador de paquetes de red. Esa es la mejor manera en que puedo pensar para demostrar que la replicación está ocurriendo a través de TLS en lugar de texto sin cifrar. La técnica de "verificar el maestro" aquí no es útil, porque solo muestra si el maestro puede soportar TLS, no si realmente se está utilizando. Del mismo modo, es posible que desee asegurarse de que TLS realmente esté funcionando antes de modificar losGRANT
s para que el usuario requiera TLS.