‫Tôi sử dụng bí mật Docker cho mật khẩu của mình, nhưng
‫điều này chỉ tạo một tệp RAM trong vùng chứa.
‫Nếu ai đó xâm nhập vào vùng chứa, họ có thể
‫xem tệp giống như ứng dụng của tôi.
‫Có và không.
‫Tuyệt quá. Chúng ta sẽ tiếp tục nói chuyện. Có cách nào
‫tốt hơn để làm điều này không? Mã hóa nội dung của bí mật?
‫Sau đó, giải mã bên trong ứng dụng theo cách mà hacker
‫không thể tìm ra.
‫Thực tế ở đây
‫là ứng dụng của bạn phải có bí mật ở đâu đó và
‫chúng sẽ không được mã hóa trong bộ nhớ, đúng không.
‫Mọi thứ tôi biết đang giải mã những thứ được mã hóa, nó
‫đang giải mã nó vào bộ nhớ. Nếu một tin tặc có
‫quyền root trong vùng chứa của bạn, thì nó
‫sẽ có thể lấy được nội dung đó.
‫Nếu họ đủ hiểu biết, họ sẽ có thể có được
‫những thứ đó, đúng không.
‫Bước đầu tiên không chạy ứng dụng của bạn dưới
‫dạng root trong vùng chứa.
‫Sau đó, họ không thể lẫn lộn với bất kỳ thứ
‫gì bên ngoài ứng dụng. Chúng không thể chạy các tiện ích hệ
‫thống khác trong vùng chứa có thể đọc được tất cả bộ nhớ, đúng không.
‫Điều thứ hai là thực sự có, cách an toàn
‫nhất mà tôi nghĩ chúng ta đã thấy là một cái gì đó giống
‫như kho tiền và mật khẩu một lần nơi chúng được tạo, chúng
‫được ứng dụng của bạn sử dụng, sau đó chúng bị vứt
‫bỏ và không còn nữa tốt. Thực tế là hầu hết mọi người
‫chưa sẵn sàng cho điều đó. Hầu hết các ứng dụng của mọi người không thể xử lý điều đó.
‫Bạn biết đấy, bạn không thể xoay khóa API Twitter năm phút một lần
‫cho mọi ứng dụng khởi chạy, đúng không.
‫Những thứ như thế này. Điều tốt nhất
‫tiếp theo là ngăn tệp đó vĩnh viễn
‫trên đĩa.
‫Một bảo mật Kubernetes
‫và bảo mật Docker, những ... xin lỗi bí mật, bí mật
‫Kubernetes và bí mật Swarm là một số cách tốt
‫nhất mà tôi từng thấy để tìm ra cách
‫lưu trữ mật khẩu trên một tệp
‫giả mạo trong RAM. Bạn có thể đặt các quyền đó để chỉ
‫ứng dụng của bạn mới có thể đọc được, đúng không.
‫Vì vậy, nếu ai đó tham gia bằng cách nào đó với một người dùng
‫khác, không phải là bạn nhất thiết phải
‫có một người dùng khác trong vùng chứa, nhưng bạn có thể khóa những người đó lại
‫để họ chỉ đọc, chỉ người dùng mới có thể đọc được đó là
‫ứng dụng của bạn. Đó là loại công cụ, đúng.
‫Vì vậy, đó thực sự là nó.
‫Điều duy nhất mà tôi thấy tốt hơn là vẫn lưu trữ chúng trong bộ nhớ,
‫vẫn lưu trữ chúng mà không được mã hóa.
‫Nó chỉ không lưu trữ chúng cục bộ.
‫Vì vậy, bạn phải sử dụng một API từ
‫xa như Vault, HashiCorp's Vault hoặc một số hệ thống khác cung
‫cấp mật khẩu một lần. Nhưng một lần nữa, những thứ đó sẽ phải được
‫xây dựng trên toàn bộ hệ thống của bạn. Bạn phải thiết kế
‫toàn bộ. Và đó là rất nhiều công việc, đúng.
‫Trong khi đó, sử dụng những bí mật trong Kubernetes và
‫Swarm, bạn thường có thể hoàn thành công việc đó trong
‫cùng một ngày, đúng không. Bạn có thể triển khai điều đó
‫cho bất kỳ ứng dụng nào, ngay cả khi phải đặt chúng làm biến môi trường vì
‫các ứng dụng cũ hơn yêu cầu mọi thứ trong biến môi trường.
‫Vì vậy, bạn có thể có chúng trong bí mật và sau đó, trong thời
‫gian chạy, có những bí mật đó được đưa vào các biến
‫môi trường nếu bạn phải làm như vậy. Nhưng, tôi muốn nói 99% thời
‫gian, các khách hàng tư vấn của tôi, họ đang xử lý các ứng dụng cũ.
‫Khi tôi nói di sản, tôi thực sự muốn nói đến mọi thứ trước
‫các thùng chứa, tức là hầu hết các ứng dụng, đúng không.
‫Chúng tôi đã dành 30 năm để tạo ra các ứng dụng không
‫có vùng chứa trước khi chúng tôi có chúng.
‫Vì vậy, chúng tôi có rất nhiều thứ thường xuyên.
‫Vì vậy, hầu hết các nhóm chỉ đang tìm cách đưa mọi thứ vào thùng
‫chứa và lưu trữ chúng được mã hóa trên đĩa, đúng không.
‫Nếu chúng nằm trên đĩa, chúng đã được mã hóa.
‫Kubernetes và Swarm đều có thể làm được điều đó.
‫Tôi nghĩ nếu bạn đang sử dụng bí mật, bạn đã giỏi
‫hơn 99% những người tôi thấy, bởi vì rất ít người đang sử
‫dụng điều phối và cũng sử dụng bí mật.
‫Đó là một nhóm rất, rất nhỏ, một nhóm người.
‫Vì vậy, tôi nghĩ bạn ở đó khá tốt.