- Mastering MongoDB 3.x
- Alex Giamas
- 211字
- 2021-08-20 10:10:57
Encrypting communication using TLS/SSL
Communication between the mongod or mongos server and the client mongo shell or applications should be encrypted. This is supported in most MongoDB distributions from 3.0 and onwards but we need to take care that we download the proper version with SSL support.
After that, we need to get a signed certificate from a trusted certificate authority or sign our own. Using self-signed certificates is fine for pre-production systems but in production it will mean that mongo servers won't be able to verify our identity, leaving us susceptible to man-in-the-middle attacks; thus using a proper certificate is highly recommended.
To start our MongoDB server with SSL we need the following:
$ mongod --sslMode requireSSL --sslPEMKeyFile <pem> --sslCAFile <ca>
Where <pem> is our .pem signed certificate file and <ca> is the .pem root certificate from the certificate authority that contains the root certificate chain.
These options can also be defined in our configuration file mongod.conf or mongos.conf in a YAML file format:
net:
ssl:
mode: requireSSL
PEMKeyFile: /etc/ssl/mongodb.pem
CAFile: /etc/ssl/ca.pem
disabledProtocols: TLS1_0,TLS1_1,TLS1_2
Here, we specified a PEMKeyFile, a CAFile, and also that we won't allow the server to start with certificates that follow the TLS1_0, TLS1_1 or TLS1_2 versions. These are the available versions for disabledProtocols at this time.
- ArchiCAD 19:The Definitive Guide
- 大數據導論:思維、技術與應用
- Practical Data Analysis
- 21小時學通AutoCAD
- Blockchain Quick Start Guide
- 數據運營之路:掘金數據化時代
- 最后一個人類
- Hadoop Real-World Solutions Cookbook(Second Edition)
- 計算機系統結構
- Blender 3D Printing by Example
- 單片機C語言程序設計完全自學手冊
- 從零開始學JavaScript
- The DevOps 2.1 Toolkit:Docker Swarm
- 青少年VEX IQ機器人實訓課程(初級)
- 工業機器人入門實用教程