- 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
- Getting Started with Clickteam Fusion
- Mastering VMware vSphere 6.5
- 計算機應用基礎·基礎模塊
- 控制與決策系統仿真
- Python Data Science Essentials
- 完全掌握AutoCAD 2008中文版:綜合篇
- Excel 2007常見技法與行業應用實例精講
- 人工智能:語言智能處理
- IBM? SmartCloud? Essentials
- Flash CS5二維動畫設計與制作
- 大數據時代的調查師
- ROS Robotics By Example(Second Edition)
- ARM嵌入式系統開發完全入門與主流實踐
- 案例解說虛擬儀器典型控制應用