Nội dung bài viết
Video học lập trình mỗi ngày
Thường những bài viết về việc bảo mật hệ thống rất ít người quan tâm, nhưng số ít còn lại đa số thường là chất lượng theo định luật 20/80. Nhưng viết vẫn phải viết, cho mình cho người và cho mai sau... Trước tiên chúng ta ai cũng biết việc bảo mật hệ thống trong cơ sở dữ liệu lại quan trọng như thế nào? Nhưng hãy xem qua một số tư liệu và khái niệm sau.
Phần 1: Encrypt Mongodb - Từ người mới cho đến người cũ đều vỗ tay
Phần 2: Encrypt Mongodb - Dựa vào Authentication và Authorization
Chuyển đổi số là gì
Bạn biết đấy, xem chương trình Shark tank (Thương vụ bạc tỷ), thì Shark Bình luôn là người nói về chuyển đổi số. Đúng là như vậy, kỷ nguyên chuyển đổi số đang là một xu thế hiện nay. Bất kỳ một doanh nghiệp nào, dù lớn hay bé thì cũng không nên đừng ngoài xu thế này. Nhiều doanh nghiệp nhỏ mà tôi tiếp xúc, thì đang còn thờ ơ với việc này. Và họ cho rằng, không sao, có mấy nhà phân phối lớn họ chưa làm được đó. Mình cứ từ từ.
Không phải như vậy đâu, hệ thống lớn thì như một con tàu trọng tải lớn vậy, đồng ý rằng nó ra khơi bắt được nhiều cá hơn, không có nghĩa là nó sẽ bắt hết cá ở đại dương. Không có một con thuyền nào làm được điều đó. Đó là ưu điểm, nhưng nhìn lại nhược điểm thì có thể thấy điểm lớn chính là việc bẻ lái để đi hướng khác không hề dễ dàng so với một con thuyền nhỏ bẻ lái.
Xác định ngay từ đầu, sẽ khắc phục được những bẻ lái không thật sự cần thiết. Đó mới là điều quan trọng của mỗi DN. Nhỏ đôi khi là một lợi thế trong kỷ nguyên chuyển đổi số.
Ví dụ về chuyển đổi số
Thường thì nghe nhiều những để hình dung thì chúng ta sẽ có những ví dụ này sau đây.
Ví dụ 1: một nhân viên kinh doanh, trước đến giờ phải ghi lại danh sách những khách hàng của mình, mua gì? khi nào? Giá thế nào? Sau đó tập hợp chúng lại và phân tích. Sau khi thay đổi và áp dụng công nghệ thông tin vào việc đó. Thì hiệu quả tăng cao, hệ thống tự động nhắc nhở, "ê, mày quên ông a rồi sao, giờ này năm ngoái thới tiết nóng bức, ông A mua cái này nè...". Chúng ta chợt nhận ra rằng, chúng ta đã quên mất điều rằng "80 doanh số mang lại cho doanh nghiệp là từ 20% khác hàng". Trong đó 80% của 20% đó là khách hàng cũ...
Ví dụ 2: Nhà tôi có hai nhóc, trước kia chưa có nhóc thứ 2 thì mỗi tuần phải chạy đi xem pizza có bán không? Nếu đến mà hết thì phải chạy ở chỗ khác. Mệt thấy bà nội. Và từ ngày PizzaHut có màn chào đón bằng app mới thì mọi việc đến với tôi quá tuyệt vời. Trên đường về nhà order ngay. "Em gái, tầm 30 phút nữa anh đến lấy hàng của em nhé. Em gái: Ok anh, em đợi". Thấy chưa, ngon không?
Nhiều lắm, nhưng tôi chỉ lấy hai ví dụ cụ thể để cho các bạn biết 2 điểm chủ yếu ở đây, đó là nên tập trung vào ngành nào cho tương lai, tốt nghiệp một phát là có bao nhiêu chỗ mời làm việc. Và việc thứ hai tầm quan trọng của việc chuyển đổi số.
Chính vì kỷ nguyên chuyển đổi đổi nhiều đến thế, thì tương lai sẽ có nhiều hệ thống được sinh ra. Việc đưa dữ liệu từ giấy lên internet rất nhiều, vì vậy chúng ta cần phải bảo về tài nguyên đó như thế nào? Bạn không muốn tài khoản ngân hàng của mình bị người ta biết ngoài những người chuyên môn chứ? Và sau đây chúng ta sẽ đi hàng loạt bài viết về "Bảo mật MongoDB, điều cần thiết cho mọi lập trình viên."
Encrypt Mongodb
MongoDB hay được gọi là Mongo, là một cơ sở dữ liệu lưu trữ thông tin được sử dụng trong nhiều ứng dụng web hiện đại tính đến thời điểm bây giờ. Giống như Mysql, hay Oracle thì việc sử dụng Mongo phải tuân thủ các phương pháp bảo mật tốt nhất và để ngăn chặn dữ liệu bị mất trong trường hợp xảy ra thảm họa và để giữ cho dữ liệu khỏi tay của các tác nhân độc hại như một số vụ kiện xảy ra năm 2020 với Facebook đấy.
Giới hạn quyền truy cập MongoDB
Chúng tôi sẽ cố gắng giúp bạn hiểu được nhiều hơn và bản thân người viết cũng vậy. Tôi nhìn thấy, chắc chắn bạn sẽ nhìn thấy.
Cách cơ bản nhất bạn có thể bảo vệ dữ liệu bạn lưu trữ trong MongoDB là giới hạn quyền truy cập mạng vào máy chủ mà cơ sở dữ liệu đang chạy. Một cách để làm điều này là cung cấp một mạng riêng ảo (VPN). VPN thể hiện kết nối của nó như thể nó là một mạng riêng cục bộ, cho phép liên lạc an toàn giữa các máy chủ bên trong nó. Bằng cách chạy MongoDB đằng sau VPN, bạn có thể chặn quyền truy cập vào bất kỳ máy nào không được kết nối với cùng một VPN.
Tuy nhiên, riêng VPN có thể không đủ để ngăn người dùng trái phép truy cập vào cài đặt MongoDB của bạn. Ví dụ: có thể có một số lượng lớn người cần quyền truy cập vào VPN của bạn nhưng chỉ một vài người trong số họ cần quyền truy cập vào cơ sở dữ liệu Mongo của bạn. Bạn có thể kiểm soát chi tiết hơn ai có quyền truy cập vào dữ liệu của bạn bằng cách thiết lập tường lửa trên máy chủ cơ sở dữ liệu của bạn.
Tường lửa hay còn gọi là Firewall cung cấp bảo mật mạng bằng cách lọc lưu lượng đến và đi dựa trên một tập hợp các quy tắc do người dùng xác định. Các công cụ tường lửa thường cho phép bạn xác định các quy tắc với mức độ chính xác cao, cho phép bạn linh hoạt cấp cho các kết nối từ các địa chỉ IP cụ thể quyền truy cập vào các cổng cụ thể trên máy chủ của bạn. Ví dụ: bạn có thể viết các quy tắc chỉ cho phép máy chủ ứng dụng truy cập vào cổng trên máy chủ cơ sở dữ liệu của bạn được cài đặt MongoDB sử dụng.
Một cách khác để hạn chế tiếp xúc mạng của cơ sở dữ liệu của bạn là định cấu hình ràng buộc IP . Theo mặc định, MongoDB chỉ bị ràng buộc với localhost khi cài đặt. Điều này có nghĩa là, không cần cấu hình thêm, cài đặt Mongo mới sẽ chỉ có thể chấp nhận các kết nối bắt nguồn từ localhost hoặc cùng một máy chủ mà phiên bản MongoDB được cài đặt.
Cài đặt mặc định này là an toàn, vì nó có nghĩa là cơ sở dữ liệu chỉ có thể truy cập được đối với những người đã có quyền truy cập vào máy chủ mà nó được cài đặt. Tuy nhiên, cài đặt này sẽ gây ra sự cố nếu bạn cần truy cập cơ sở dữ liệu từ xa từ một máy khác. Trong những trường hợp như vậy, bạn cũng có thể liên kết phiên bản của mình với địa chỉ IP hoặc tên máy chủ nơi máy tính từ xa có thể truy cập máy chủ cơ sở dữ liệu.
Tài nguyên liên quan bạn nên tìm kiếm:
Firewall là gì và nó hoạt động như thế nào?
VPN là gì?
Cách định cấu hình quyền truy cập từ xa cho MongoDB trên Ubuntu