Cách cấu hình an toàn server MongoDB sản xuất
Cấu hình an toàn server MongoDB production
Nếu MongoDB là nơi lưu trữ tài liệu của bạn, thì bài viết này sẽ giúp bạn cấu hình mọi thứ một cách an toàn và đúng cách cho môi trường sẵn sàng production .
Hướng dẫn cài đặt MongoDB trình bày cách cài đặt MongoDB trên một server .
Như mọi khi, vui lòng đọc tài liệu chính thức về Bảo mật và Xác thực .
Các bước
Có hai đường dẫn được đề xuất khác nhau có sẵn. Đầu tiên là kết nối an toàn với database của bạn thông qua tunnel SSH. Giải pháp thay thế là cho phép kết nối với database của bạn qua internet. Trong số hai lựa chọn, lựa chọn trước được khuyến khích.
Kết nối qua tunnel SSH
Bằng cách kết nối với Server riêng Mongo VIrtual của bạn thông qua tunnel SSH, bạn có thể tránh được nhiều vấn đề bảo mật tiềm ẩn. Lưu ý là nếu không thì VPS của bạn phải bị khóa hoàn toàn với ít hoặc không có cổng nào khác được mở. Cấu hình SSH được đề xuất là chỉ khóa hoặc khóa + password .
Để cài đặt tunnel SSH, bạn cần đảm bảo :
- Bạn có thể SSH vào Mongo Server của bạn
- (Các) version Mongo của bạn được liên kết với localhost
Tiếp theo, chạy lệnh sau để khởi tạo kết nối:
# The \s are just to multiline the command and make it more readable ssh \ -L 4321:localhost:27017 \ -i ~/.ssh/my_secure_key \ ssh_user@mongo_db_server_host_or_ip
Hãy chạy qua từng bước sau:
- Đường hầm SSH chỉ cần SSH - không có chương trình / mã binary đặc biệt nào khác mà bạn cần
- Tùy chọn `-L` thông báo cho SSH cài đặt một tunnel mà cổng 4321 trên máy hiện tại của bạn sẽ chuyển tiếp đến server lưu trữ` localhost 'trên cổng `27017' trên Mongo Server đang được SSH vào
- Tùy chọn `-i` chỉ đơn giản là đại diện cho khuyến nghị được đưa ra ở trên để kết nối với SSH key chứ không phải password
- `Ssh_user @ mongo_db_server_host_or_ip` là tiêu chuẩn để cài đặt kết nối SSH
Số 2 thực sự là thịt của hướng dẫn. Điều này sẽ xác định cách bạn ra lệnh cho các ứng dụng hoặc dịch vụ của bạn kết nối với MongoDB Server.
Kết nối qua Internet
Nếu kết nối qua tunnel SSH không nhất thiết là một tùy chọn, bạn luôn có thể kết nối qua internet. Có một số chiến lược bảo mật cần xem xét ở đây.
Đầu tiên là sử dụng một cổng không chuẩn. Đây là một kỹ thuật xáo trộn nhiều hơn và đơn giản nghĩa là các bộ điều hợp kết nối mặc định sẽ không hoạt động.
# In your MongoDB configuration file, change the following line to something other than 27017 port = 27017
Thứ hai, bạn cần liên kết Mongo trực tiếp với địa chỉ IP của server ứng dụng của bạn . Đặt điều này thành 127.0.0.1 sẽ đảm bảo Mongo chỉ chấp nhận các kết nối local .
# In your MongoDB configuration file, change the following line to your application server's IP address bind_ip = 127.0.0.1
Cuối cùng, hãy xem xét sử dụng tính năng xác thực của MongoDB và đặt tên user và password . Để cài đặt điều này, hãy kết nối với MongoDB shell với quyền là administrator bằng lệnh `mongo` và thêm user . Sau khi hoàn tất, hãy đảm bảo bạn đang thêm tên user / password mới được thêm vào chuỗi kết nối MongoDB của bạn .
Kết luận
Vui lòng coi những điều trên là điểm khởi đầu chứ không phải là điểm cuối cùng cho bảo mật MongoDB. Một yếu tố chính KHÔNG được đề cập ở đây là các luật firewall server . Để xem các đề xuất firewall 10gen cho MongoDB, hãy xem tài liệu bảo mật của họ.
Tài nguyên
- http://serverfault.com/questions/237762/how-to-make-a-secure-mongodb-server
- http://security.stackexchange.com/questions/7610/how-to-secure-a-mongodb-instance/7655#7655
- http://www.mongodb.org/display/DOCS/Home
- http://www.mongodb.org/display/DOCS/Security+and+Authentication
- http://hamant.net/2011/05/09/ssh-tricks/
Các tin liên quan
Cách cài đặt Linux, nginx, MySQL, PHP (LEMP) trên CentOS 62012-06-13
Thiết lập server ban đầu với CentOS 6
2012-05-22
Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên CentOS 6
2012-05-22