मैं कैसे सत्यापित कर सकता हूं कि मैं अपने एसएसएल से कनेक्ट करने के लिए एसएसएल का उपयोग कर रहा हूं?


24

मैंने SSL की अनुमति देने के लिए अपने सर्वर को कॉन्फ़िगर किया है, और अपने क्लाइंट को संशोधित किया है ~ / .my.cnf इसलिए मैं SSL का उपयोग करता हूं:

[client]
ssl
ssl-cipher=DHE-RSA-AES256-SHA
ssl-ca=~/certs/ca-cert.pem

जब मैं अपने क्लाइंट के साथ लॉग इन करता हूं और स्टेटस देखता हूं, तो यह एसएसएल लाइन पर एक सिफर को सूचीबद्ध करता है:

mysql> \s
--------------
SSL:            Cipher in use is DHE-RSA-AES256-SHA

यह सुनिश्चित करने के लिए कि कनेक्शन सुरक्षित है, वायरशर्क जैसी कोई चीज स्थापित किए बिना, क्या मैं यह मान सकता हूं कि मैं इस जानकारी के आधार पर एसएसएल के माध्यम से जुड़ रहा हूं?

जवाबों:


33

क्लाइंट से, बस चलाते हैं status। यदि यह कनेक्शन SSL का उपयोग कर रहा है, तो आपको SSL पंक्ति में कुछ दिलचस्प मिलेगा।

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.5.30, for Linux (x86_64) using readline 5.1

Connection id:      12
Current database:
Current user:       replicator@domU-12-31-39-10-54-BD.compute-1.internal
SSL:            Cipher in use is DHE-RSA-AES256-SHA
Current pager:      stdout
Using outfile:      ''
Using delimiter:    ;
Server version:     5.5.30-log MySQL Community Server (GPL)
Protocol version:   10
Connection:     boston.hugskeep.wstudent.com via TCP/IP
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:       3306
Uptime:         44 min 49 sec

Threads: 2  Questions: 16  Slow queries: 0  Opens: 34  Flush tables: 1  Open tables: 27  Queries per second avg: 0.005
--------------

mysql>

यदि यह कनेक्शन SSL का उपयोग नहीं कर रहा है, तो आपको मिलेगा:

SSL:            Not in use

आप भी उपयोग कर सकते हैं:

mysql> SHOW STATUS LIKE 'Ssl_cipher';
+---------------+--------------------+
| Variable_name | Value              |
+---------------+--------------------+
| Ssl_cipher    | DHE-RSA-AES256-SHA |
+---------------+--------------------+
1 row in set (0.00 sec)

mysql>

लेकिन मुझे लगता है कि पहला अधिक आकर्षक है, और निश्चित रूप से टाइप करना आसान है।


show status like 'Ssl_version'SSL / TLS प्रोटोकॉल संस्करण का उपयोग करने के लिए भी उपयोगी हो सकता है।
जोआओ कोस्टा

क्या आप जानते हैं कि किसी विशिष्ट उपयोगकर्ता के लिए ऐसा करने का कोई तरीका है। सिर्फ वर्तमान उपयोगकर्ता नहीं? - stackoverflow.com/questions/56203365/...
committedandroider

मुझे यकीन नहीं है कि अब इसे बदल दिया गया है। मेरे लिए भी मैं एसएसएल का उपयोग नहीं कर रहा हूं, यह SSL: Cipher in use is DHE-RSA-AES256-SHAमेरे लिए दिखाता है।
साडे

1

यह मरदब mysql पर लागू होता है (शुद्ध mysql में कोशिश नहीं की गई है):

mysql -h xxx.xxx.xxx.xxx -u testuser --ssl

'--ll' आपको बताएगा कि क्या ssl सक्षम है, बिना, यह कहेगा कि 'उपयोग में नहीं'


WARNING: --ssl is deprecated and will be removed in a future version. Use --ssl-mode instead.MySQL 5.6.4
साडे


0

MySQL 5.6.4

मुझे इस पर यकीन नहीं है

शो स्टैटस 'Ssl_cipher' को पसंद करता है;

बाद के संस्करणों में बदल दिया गया है। मेरे लिए भले ही मैं एसएसएल का उपयोग नहीं कर रहा हूं, यह SSL: Cipher in use is DHE-RSA-AES256-SHAमेरे लिए दिखाता है।

SSL का उपयोग कर रहा है या नहीं, इसकी पुष्टि के लिए आप निम्न का उपयोग कर सकते हैं।

ubuntu@ip-111-22-3-444:~$ mysql -h 111.22.3.444 -u dbuser --ssl-mode=VERIFY_IDENTITY -p
ERROR 2026 (HY000): SSL connection error: CA certificate is required if ssl-mode is VERIFY_CA or VERIFY_IDENTITY
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.