1
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
Giới thiệu Trong những năm gần đây, phát triển mô hình SaaS là xu hướng kinh doanh khởi nghiệp hấp dẫn trong giới công nghệ. Do đặc tính tiện lợi và giá cả cạnh tranh của các sản phẩm SaaS so với On-premise, khách hàng yêu thích SaaS. Mặt khác, chính những nền tảng, hạ tầng được cung cấp thông qua đám mây như FaaS, IaaS, PaaS cũng khiến cho việc phát triển SaaS dễ dàng hơn. Tuy nhiên, bảo mật cho sản phẩm SaaS luôn là một vấn đề khiến nhiều Giám đốc công nghệ và Trưởng nhóm bảo mật đau đầu tìm lời giải. Công nghệ đám mây càng phát triển, tin tặc càng có nhiều bề mặt và vector tấn công khác nhau. Rủi ro mất an toàn cho cả nhà phát triển và người dùng cuối luôn hiện hữu và ngày một tăng cao. Đó là lí do tài liệu này ra đời. Đây là checklist mà mọi SaaS CTOs và trưởng nhóm bảo mật có thể sử dụng để tăng cường bảo mật cho sản phẩm của mình. Danh sách này có thể chưa đầy đủ nhất, vì vấn đề bảo mật còn phụ thuộc vào tiềm lực và quy mô cụ thể của doanh nghiệp, nhưng chúng tôi hi vọng bạn vẫn có thể tìm được những quy tắc và biện pháp bảo mật phù hợp với doanh nghiệp của mình tại đây. Nhóm tác giả Biên tập: CyStack
2
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
3
MỤC LỤC 1. Hãy đảm bảo rằng tên miền của bạn được bảo vệ
06
2. Chống giả mạo tên miền Phishing
06
3. Hãy trung thực và minh bạch về hoạt động thu thập dữ liệu của bạn
06
4. Đảm bảo tất cả các dịch vụ quan trọng của bạn được bảo mật
07
5. Không chia sẻ wifi nội bộ
07
6. Có chính sách an toàn thông tin cho trang web
07
7. Xây dựng chính sách bảo mật nội bộ
08
8. Triển khai chương trình Bug Bounty
08
9. Thống kê chi tiết các tài sản số doanh nghiệp sở hữu
09
10. Có kế hoạch ứng phó với sự cố an ninh
09
11. Xây dựng môi trường doanh nghiệp đề cao an toàn an ninh
09
12. Tuyệt đối tuân thủ trong công việc
09
13. Chuẩn bị để scale-up
10
14. Tận dụng các công cụ có sẵn để tăng cường bảo mật
10
1. Tất cả nhân viên đều cần có thói quen bảo mật
11
2. Yêu cầu sử dụng xác thực 2 yếu tố
11
3. Có chính sách bảo mật đặc thù cho việc áp dụng BYOD
11
4. Luôn đảm bảo nhân sự khóa máy tính của họ
12
5. Sử dụng trình quản lý mật khẩu để tránh sử dụng mật khẩu yếu
12
6. Có quy trình bảo mật rõ ràng cho nhân viên mới và nhân viên sắp nghỉ
12
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
4
7. Không chia sẻ tài khoản
13
8. Sử dụng một giải pháp quản trị tài khoản tập trung
13
9. Thuê kỹ sư bảo mật đầu tiên của bạn
13
10. Giám sát người dùng máy tính của bạn
13
1. Sử dụng giao thức HTTPS để bảo vệ người dùng của bạn
14
2. Thực hiện kiểm thử bảo mật cho Website
14
3. Cô lập dữ liệu ở cấp độ mạng
14
4. Luôn cập nhật OS & Docker của bạn
15
5. Sao lưu thường xuyên
15
6. Giới hạn các dịch vụ nội bộ (địa chỉ IP, VPNs...)
15
7. Lưu trữ log tập trung
16
8. Bảo vệ ứng dụng của bạn khỏi các cuộc tấn công DDoS
16
9. Giám sát các dịch vụ mở
16
10. Theo dõi sự bất thường trong số liệu của bạn
16
1. Có checklist để đánh giá tính bảo mật của code
17
2. Sử dụng các công cụ phân tích bảo mật tĩnh
17
3. Thêm lỗi bảo mật vào công cụ theo dõi sự cố của bạn
17
4. Không tự sáng tạo các hình thức mã hóa
18
5. Thực hiện các phiên kiểm tra bảo mật
18
6. Áp dụng vòng đời phát triển an toàn
18
7. Đào tạo bảo mật cho các kỹ sư của bạn
19
8. Tự động hóa bảo mật trong SDLC
19
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
5
1. Không sử dụng quyền admin khi không cần thiết
20
2. Giám sát các bên thứ ba
20
3. Sử dụng dịch vụ bảo vệ theo thời gian thực
20
4. Thuê một nhóm pentester bên ngoài
21
5. Tự động hóa bảo mật khi ứng dụng của bạn được triển khai
21
6. Bảo mật FaaS
21
1. Áp dụng chính sách mật khẩu đối với khách hàng
22
2. Khuyến khích người dùng của bạn sử dụng xác thực hai yếu tố và nâng cấp dịch vụ xác thực
22
3. Giám sát những hoạt động đáng ngờ của người dùng
22
4. Nhân đôi quyền riêng tư của người dùng
23
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
1. HÃY ĐẢM BẢO RẰNG TÊN MIỀN CỦA BẠN ĐƯỢC BẢO VỆ Đầu tiên, tên miền cần được gia hạn thường xuyên. Hãy áp dụng một số biện pháp phòng ngừa khi đăng ký tên miền để giảm thiểu nguy cơ bị chiếm quyền điều khiển, ví dụ như khóa tính năng chuyển giao tên miền hoặc đăng ký đầy đủ thông tin với tên miền .vn để được luật pháp bảo vệ khi có tranh chấp.
2. CHỐNG GIẢ MẠO TÊN MIỀN PHISHING Kẻ xấu có thể mua tên miền tương tự như tên miền của bạn bằng cách bỏ bớt các chữ cái hoặc sử dụng từ đồng âm để tấn công phishing nhắm vào người dùng và nhân viên của bạn. Ví dụ phishng.com thay vì phishing.com. Đăng ký trước các tên miền trông giống nhau sẽ giúp bạn ngăn chặn điều này. Ngoài ra, thường xuyên kiểm tra Certificate Transparency có thể giúp chủ động phát hiện các cuộc tấn công. >> Tìm hiểu về Certificate Transparency giúp phát hiện chứng chỉ SSL giả mạo
3. HÃY TRUNG THỰC VÀ MINH BẠCH VỀ HOẠT ĐỘNG THU THẬP DỮ LIỆU CỦA BẠN Nếu bạn bị rò rỉ dữ liệu, tin tặc có thể công khai dữ liệu mà chúng lấy được trên web đen. Khách hàng của bạn cần được biết về những dữ liệu bạn đang lưu trữ để không bị bất ngờ nếu tình huống trên xảy ra. Khách hàng đã và đang nắm được việc dữ liệu cá nhân của mình đang bị theo dõi bởi doanh nghiệp. Minh bạch trong việc thu thập thông tin, cho phép khách hàng tự kiểm soát dữ liệu cá nhân của mình và tạo ra giá trị tương xứng là cách tốt nhất để trấn an khách hàng và khích lệ họ tự nguyện cung cấp thêm thông tin. 6
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
4. ĐẢM BẢO TẤT CẢ CÁC DỊCH VỤ QUAN TRỌNG CỦA BẠN ĐƯỢC BẢO MẬT Nhiều công ty sẽ sử dụng các dịch vụ và nền tảng của một bên thứ 3 như Google Apps, Slack và Wordpress để làm việc. Các dịch vụ này đều có sẵn những cài đặt giúp tăng mức độ bảo mật mà bạn nên xem qua. Hơn nữa, hãy đảm bảo rằng tất cả các dịch vụ này được cập nhật thường xuyên. Bởi kẻ xấu có thể lợi dụng lỗ hổng từ các dịch vụ này để tấn công doanh nghiệp của bạn, bao gồm cả sản phẩm SaaS. Tham khảo bài viết: Toàn cảnh bảo mật trong kỷ nguyên dịch vụ đám mây - chia sẻ của chuyên gia Nguyễn Hữu Trung tại Vietnam Web Summit 2019 Hà Nội.
5. KHÔNG CHIA SẺ WIFI NỘI BỘ Chia sẻ mạng wifi của công ty với khách hoặc hàng xóm có thể cho họ cơ hội thu thập thông tin trên mạng của bạn và cho phép họ truy cập các tài nguyên được bảo vệ bởi IP. Hãy sử dụng một mạng wifi riêng biệt dành cho khách khách. Đồng thời, hãy đổi mật khẩu mạng wifi này định kỳ để phòng tránh rủi ro bị tấn công qua mạng wifi. Bạn cũng có thể thiết lập một router wifi riêng dành cho khách để phòng tránh các cuộc tấn công tiềm tàng.
6. CÓ CHÍNH SÁCH AN TOÀN THÔNG TIN CHO TRANG WEB Chính sách ATTT là một mục trên trang web của công ty bạn mô tả cách bạn bảo mật dữ liệu người dùng và cách bạn phản hồi các báo cáo lỗ hổng đến từ bên ngoài. Bạn nên khuyến khích các báo cáo lỗi (lỗ hổng bảo mật) một cách có trách nhiệm thông qua chương trình Tiết lộ lỗ hổng VDP. Đồng thời, bạn nên có một quy trình ưu tiên xử lí các báo cáo này. >> Công bố dự án cộng đồng VDP, WhiteHub khuyến khích hacker mũ trắng tiết lộ lỗ hổng giúp doanh nghiệp bảo vệ dữ liệu người dùng
7
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
7. XÂY DỰNG CHÍNH SÁCH BẢO MẬT NỘI BỘ Tài liệu này cần làm rõ các yêu cầu bảo mật trong doanh nghiệp cũng như xác định các cá nhân chịu trách nhiệm và cá nhân liên quan. Ngoài ra, phạm vi áp dụng của các điều khoản trong tài liệu cũng như hình thức xử phạt khi vi phạm cũng cần được nêu rõ.
8. TRIỂN KHAI CHƯƠNG TRÌNH BUG BOUNTY Chương trình Bug bounty là các chương trình nhằm khuyến khích các hacker mũ trắng tham gia phát hiện và báo cáo lại các lỗ hổng trong hệ thống của bạn với mức thưởng xứng đáng. Để tự quản lý chương trình Bug bounty, doanh nghiệp cần có đội ngũ bảo mật riêng để đánh giá các lỗ hổng được phát hiện. Ngoài ra, các giải pháp Bug bounty được cung cấp bởi các bên thứ ba như WhiteHub có thể giản hóa toàn bộ quá trình thiết lập và quản lý để mọi doanh nghiệp có thể tiếp cận giải pháp này. >> Bug Bounty là gì? Tổng quan về Bug Bounty. >> Nền tảng đầu tiên tại Việt Nam hỗ trợ doanh nghiệp triển khai Bug Bounty bài bản, chuyên nghiệp.
8
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
9. THỐNG KÊ CHI TIẾT CÁC TÀI SẢN SỐ DOANH NGHIỆP SỞ HỮU Nắm rõ các tài nguyên công ty sở hữu là điều kiện tiên quyết để có kế hoạch xử lý rủi ro phù hợp và kiểm soát các điểm trọng yếu trong hệ thống nhằm đưa ra các phương án bảo mật phù hợp. Trong trường hợp có sự cố xảy ra, việc tính toán mức thiệt hại cũng đơn giản hơn khi đã có sẵn bản thống kê tài sản số đầy đủ.
10. CÓ KẾ HOẠCH ỨNG PHÓ VỚI SỰ CỐ AN NINH Bằng cách lên kế hoạch trước khi có vấn đề xảy ra, cá nhân chịu trách nhiệm tại thời điểm xảy ra khủng hoảng có thể thông báo về sự cố với các bên liên quan một cách hiệu quả để có phương án xử lý nhanh nhất cả về mặt kỹ thuật cũng như truyền thông.
11. XÂY DỰNG MÔI TRƯỜNG DOANH NGHIỆP ĐỀ CAO AN TOÀN AN NINH Sai lầm vẫn thường xảy ra. Mọi người vẫn nhấp vào các email lừa đảo, sử dụng lại mật khẩu cũ hoặc bỏ qua các lỗ hổng trong code của họ. Mọi người cần hiểu rằng sai lầm luôn luôn xảy ra và nếu họ nghĩ rằng có một vài điểm bất thường trong hệ thống, họ nên báo cáo cho bạn ngay lập tức thay vì tìm cách che giấu nó. Bạn chỉ có thể đạt được điều này khi xây dựng được văn hóa công ty không đổ lỗi và tạo ra sự an toàn về tâm lý cho nhân viên.
12. TUYỆT ĐỐI TUÂN THỦ TRONG CÔNG VIỆC Sai lầm vẫn thường xảy ra. Mọi người vẫn nhấp vào các email lừa đảo, sử dụng lại mật khẩu cũ hoặc bỏ qua các lỗ hổng trong code của họ. Mọi người cần hiểu rằng sai lầm luôn luôn xảy ra và nếu họ nghĩ rằng có một vài điểm bất thường trong hệ thống, họ nên báo cáo cho bạn ngay lập tức thay vì tìm cách che giấu nó. Bạn chỉ có thể đạt được điều này khi xây dựng được văn hóa công ty không đổ lỗi và tạo ra sự an toàn về tâm lý cho nhân viên.
9
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
13. CHUẨN BỊ ĐỂ SCALE-UP Mỗi doanh nghiệp sẽ có một quy trình phát triển khác nhau. Đối với nhiều start-up, điều này xảy ra ở rất nhiều các cấp độ, từ quy mô đội ngũ bán hàng cho đến sự phát triển trong đội ngũ kỹ sư, mở văn phòng mới, v.v ... Mỗi sự kiện mở rộng này đều mang đến những thách thức cụ thể. Ví dụ, bạn sẽ kiểm soát vấn đề an ninh của mình như thế nào trong một văn phòng mới ở nước ngoài nếu các nhân viên ở đó không nói cùng một ngôn ngữ với bạn? Việc đánh giá các chính sách và phương pháp bảo mật phù hợp với từng sự kiện mở rộng cụ thể là rất quan trọng trong trường hợp trên.
14. TẬN DỤNG CÁC CÔNG CỤ CÓ SẴN ĐỂ TĂNG CƯỜNG BẢO MẬT Bạn có thể sẽ muốn tập trung vào việc tăng cường bảo mật thông qua việc áp dụng các phương pháp bảo mật nội bộ thông minh và hiệu quả. Tuy nhiên, khi công ty của bạn phát triển hơn, việc sử dụng một số công cụ bảo mật có sẵn sẽ trở nên rất hữu ích. Chẳng hạn, AWS với AWS Trusted Advisor sẽ cung cấp cho bạn thông tin chi tiết về các biện pháp bạn có thể sử dụng để bảo mật cơ sở hạ tầng. Ngoài ra còn rất nhiều các công cụ khác có thể giúp bạn với các phần khác nhau, từ ứng dụng đến cơ sở hạ tầng. Tìm hiểu thêm: Cloud Security - Công cụ giám sát bảo mật hoàn hảo dành cho các dịch vụ AWS
10
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
1. TẤT CẢ NHÂN VIÊN ĐỀU CẦN CÓ THÓI QUEN BẢO MẬT Con người thường là mắt xích yếu nhất trong chuỗi bảo mật. Lợi dụng mắt xích này, tin tặc có thể sử dụng các hình thức phishing (tấn công lừa đảo) để chiếm đoạt dữ liệu, lây nhiễm ransomware hay thậm chí chiếm quyền điều khiển hệ thống. Do đó, cần tăng cường nhận thức của nhân viên để giảm thiểu rủi ro những nhân viên này bị rơi vào bẫy của tin tặc.
2. YÊU CẦU SỬ DỤNG XÁC THỰC 2 YẾU TỐ Tất cả nhân viên của bạn nên sử dụng xác thực 2 yếu tố (2FA). Bằng cách thêm 2FA, bạn sẽ có thêm một lớp bảo mật nữa. Nếu mật khẩu của nhân viên của bạn bị đánh cắp, kẻ tấn công vẫn sẽ bị khóa đăng nhập trừ khi họ có quyền truy cập vào yếu tố thứ hai (ví dụ: ứng dụng điện thoại hoặc văn bản). Là một CTO, vai trò của bạn là đảm bảo mọi người tuân thủ quy tắc này. Điện thoại là thiết bị được sử dụng phổ biến nhất cho việc xác thực các yếu tố thứ hai, và do đó cần được bảo mật cẩn thận (ví dụ: bằng mật mã hoặc vân tay).
3. CÓ CHÍNH SÁCH BẢO MẬT ĐẶC THÙ CHO VIỆC ÁP DỤNG BYOD Chính sách BYOD (Bring your own devices - Sử dụng thiết bị cá nhân) mà các doanh nghiệp áp dụng đang đe dọa làm tăng nguy cơ xảy ra rò rỉ dữ liệu cũng như các vấn đề bảo mật khác. Bằng cách yêu cầu mã hóa các thiết bị của nhân viên như máy tính xách tay và điện thoại di động, nguy cơ thông tin nội bộ bị lộ có thể được giảm thiểu. Ngoài ra, thiết bị được sử dụng cần được cập nhật các bản vá bảo mật liên tục.
11
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
4. LUÔN ĐẢM BẢO NHÂN SỰ KHÓA MÁY TÍNH CỦA HỌ Văn phòng công ty là không gian tương đối an toàn, tuy nhiên vẫn tồn tại rủi ro do vẫn có những cá nhân không thuộc nội bộ công ty - đối tác, khách hàng, nhân viên vệ sinh,... - bước vào trong khu vực này. Khóa máy tính khi không sử dụng, do đó, là một thói quen không thể thiếu. Ngoài ra, các thiết bị lưu trữ như USB, ổ cứng và ngay cả các tài liệu bản in cũng cần được giữ ở vị trí an toàn để tránh xảy ra mất mát.
5. SỬ DỤNG TRÌNH QUẢN LÝ MẬT KHẨU ĐỂ TRÁNH SỬ DỤNG MẬT KHẨU YẾU Mật khẩu không đủ mạnh hoặc sử dụng một mật khẩu cho nhiều tài khoản vẫn là sai lầm mà nhân viên thường xuyên mắc phải. Để giải quyết triệt để tình trạng này, nên sử dụng một ứng dụng quản lý mật khẩu để chắc chắn tất cả các mật khẩu được sử dụng đều có độ phức tạp cao cũng như hạn chế việc phải tự ghi nhớ quá nhiều mật khẩu. Một số trình quản lý mật khẩu tuyệt vời là: • https://www.dashlane.com • https://lastpass.com • https://onelogin.com • Keypass.
6. CÓ QUY TRÌNH BẢO MẬT RÕ RÀNG CHO NHÂN VIÊN MỚI VÀ NHÂN VIÊN SẮP NGHỈ VIỆC Quy trình này bao gồm các bước cần thực hiện khi doanh nghiệp tiếp nhận một nhân viên, nhà thầu, nhân viên thực tập, hay bất kỳ vị trí nào cho phép cá nhân đó tiếp cận đến các thông tin nội bộ. Tương tự, khi có một cá nhân rời khỏi công ty, các bước bảo mật cần thiết cũng cần được đảm bảo để tránh nguy cơ xảy ra rò rỉ dữ liệu.
12
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
7. KHÔNG CHIA SẺ TÀI KHOẢN Chia sẻ tài khoản sẽ khiến bạn khó xác định được ai đang sử dụng dịch vụ hoặc nhận dạng người đã thực hiện một số hành động nhất định. Nó cũng làm cho việc loại bỏ quyền truy cập tài khoản khi nhân viên rời khỏi công ty khó khăn hơn, tăng nguy cơ tài khoản đó bị lợi dụng để thực hiện ý đồ xấu.
8. SỬ DỤNG MỘT GIẢI PHÁP QUẢN TRỊ TÀI KHOẢN TẬP TRUNG Việc sử dụng các giải pháp quản lý tài khoản tập trung cho toàn bộ nhân viên của của công ty là cách tốt nhất để giúp bạn trong việc chia sẻ quyền khi sử dụng các ứng dụng hoặc khi cần dữ liệu cũng như khi cần cập nhật thông tin của nhân viên hay gửi thông báo đến nhân viên… Hiện nay, nhiều giải pháp có thể giúp bạn việc này thay vì phải tự đi triển khai riêng một giải pháp cho mình, điển hình là G suite của Google hoặc Office 365 của Microsoft.
9. THUÊ KỸ SƯ BẢO MẬT ĐẦU TIÊN CỦA BẠN Khi công ty của bạn phát triển, bạn sẽ muốn có một chuyên gia bảo mật và tập trung trách nhiệm bảo mật sản phẩm của công ty lên họ. Để xác định xem công ty của bạn có cần có một chuyên gia bảo mật nội bộ không, hãy tự hỏi mình xem liệu bạn đã có một lộ trình bảo mật hay chưa và nếu câu trả lời là chưa, thì đây là lúc bạn nên cân nhắc lên chiến lược xem lộ trình bảo mật của bạn là gì và tìm một kỹ sư bảo mật đáp ứng được mong muốn của bạn.
10. GIÁM SÁT NGƯỜI DÙNG MÁY TÍNH CỦA BẠN Bạn càng có nhiều nhân viên, nguy cơ bị xâm phạm an ninh càng lớn. Sử dụng một hệ thống HIPS trên phần cứng của nhân viên có thể giúp bạn phát hiện sớm bất kỳ sự cố nào thông qua các cảnh báo và thông báo.
13
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
1. SỬ DỤNG GIAO THỨC HTTPS ĐỂ BẢO VỆ NGƯỜI DÙNG Mã hóa thông tin liên lạc không chỉ đảm bảo tính riêng tư mà còn bảo vệ khách hàng khỏi sự nhòm ngó của tin tặc trong quá trình sử dụng ứng dụng hoặc website. Không chỉ vậy, việc sử dụng giao thức HTTP cũ còn khiến Chrome đánh dấu “Không bảo mật” cho website, gây giảm thứ hạng tìm kiếm cũng như khiến người dùng hoài nghi khi thực hiện các tác vụ thanh toán trên website. Một giải pháp phổ và biến miễn phí để mã hóa thông tin là: https://letsencrypt.org/ Đọc thêm: Cài chứng chỉ SSL miễn phí với Let’s Encrypt
2. THỰC HIỆN KIỂM THỬ BẢO MẬT CHO WEBSITE Các trang web luôn phải đối mặt với nguy cơ bị tin tặc khai thác lỗ hổng, đặc biệt là các website Thương mại điện tử, các ứng dụng web Fintech, ví điện tử hay Agency du lịch online - OTA. Đó là lí do trang web của bạn cần phải được kiểm thử bảo mật thường xuyên. Tuy nhiên, chi phí kiểm thử pentest thường khá đắt đỏ, khiến cho nhiều doanh nghiệp nhỏ và startup không có cơ hội tiếp cận do ngân sách bảo mật hạn chế. Đó là lý do bạn nên xem xét triển khai giải pháp Bug Bounty để kiểm thử cho website của mình. Tham khảo: Tại sao Bug Bounty là giải pháp phù hợp cho SME và startup?
3. CÔ LẬP DỮ LIỆU Ở CẤP ĐỘ MẠNG Chỉ nên cho phép truy cập vào các API công khai. Cần tách biệt các mạng để ngăn chặn các hành vi truy cập vào cơ sở dữ liệu trái phép. Bằng cách này, doanh nghiệp có thể ngăn kẻ tấn công truy cập vào cơ sở dữ liệu của doanh nghiệp để tiến hành bẻ khóa mật khẩu hoặc khai thác lỗ hổng 14
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
4. LUÔN CẬP NHẬT OS & DOCKER CỦA BẠN Bạn nên tải xuống tất cả các bản cập nhật bảo mật của OS và Docker và cập nhật máy của bạn thường xuyên. Nếu bạn đang sử dụng dịch vụ của một nhà cung cấp PAAS (Heroku, AWS Beanstalk, v.v ...), họ sẽ thực hiện cập nhật cho bạn. Nếu không, bạn sẽ cần phải tự làm điều đó. Theo chuyên gia Nguyễn Hữu Trung, người có 7 năm kinh nghiệm nghiên cứu chuyên sâu về An toàn thông tin, Những rủi ro tới từ việc sử dụng dịch vụ của AWS và Docker hầu hết đến từ việc cấu hình sai (misconfiguration) của người dùng. Những nhân viên quản trị hệ thống (system admin) và lập trình viên (developer) cần trang bị kiến thức bảo mật để cấu hình dịch vụ đám mây và sử dụng Docker an toàn. Tham khảo thêm các mẹo bảo mật dành cho SysAd và Dev tại bài viết Toàn cảnh bảo mật trong kỷ nguyên dịch vụ đám mây
5. SAO LƯU THƯỜNG XUYÊN Hãy sao lưu tất cả các dữ liệu quan trọng của bạn. Đảm bảo rằng tất cả các bản sao lưu này được khôi phục thường xuyên để chắc chắn rằng chúng vẫn hoạt động. S3 của Amazon Web Service là một tính năng rẻ và hiệu quả để bạn sao lưu dữ liệu của mình. Tham khảo: How to Backup files to Amazon S3 – Amazon Web Services
6. GIỚI HẠN CÁC DỊCH VỤ NỘI BỘ (ĐỊA CHỈ IP, VPNS...) Các hệ thống nội bộ (cơ sở dữ liệu, các micro service không công khai...) chỉ nên được truy cập thông qua một giải pháp VPN được xác thực để hạn chế các truy cập từ bên ngoài, ví dụ: không bao giờ cho phép các ứng dụng hay người dùng bên ngoài truy cập trực tiếp đến máy chủ cơ sở dữ liệu. Các hệ thống chỉ sử dụng nội bộ (CRM, hệ thống quản trị...) hoặc các hệ thống đang ở giai đoạn alpha (chưa public) nên giới hạn truy cập thông qua địa chỉ IP (ví dụ: chỉ cho phép những người dùng có địa chỉ IP của công ty truy cập đến) hoặc sử dụng giải pháp VPN. Điều này khiến cho tin tặc gặp rất nhiều khó khăn nếu muốn tấn công vào hệ thống máy chủ cung cấp dịch vụ của doanh nghiệp.
15
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
7. LƯU TRỮ LOG TẬP TRUNG Log rất hữu ích để tìm hiểu về những gì đã xảy ra sau khi sự cố xảy ra. Nó có thể giúp bạn tìm kiếm xem kẻ tấn công đến từ đâu, và thậm chí là ai. Có rất nhiều giải pháp giúp bạn thu thập và quản lý log. Để đảm bảo quá trình log diễn ra hiệu quả, cần đồng bộ thời gian chính xác cho tất cả các thiết bị.
8. BẢO VỆ ỨNG DỤNG CỦA BẠN KHỎI CÁC CUỘC TẤN CÔNG DDOS Tấn công (DDoS) có thể gây nên tác động đáng kể đến trải nghiệm của khách hàng của bạn. Bạn có thể tích hợp trực tiếp lên mạng phân phối nội dung (CDN) một cách dễ dàng để phòng tránh tấn công DDoS. Ngoài ra, cũng có một số các công cụ phòng tránh DDoS khác mà bạn có thể tham khảo. Đọc thêm: https://www.cloudflare.com/ https://aws.amazon.com/cloudfront/
9. GIÁM SÁT CÁC DỊCH VỤ MỞ Nếu đội phát triển của bạn liên tục triển khai các dịch vụ mới, hãy chắn chắn rằng bạn đang giám sát họ kĩ càng, đảm bảo họ không đưa các dữ liệu và dịch vụ nhạy cảm ra bên ngoài (ví dụ một cơ sở dữ liệu có thể truy cập từ Internet mà không cần lọc mạng). Sử dụng máy quét mạng sẽ giúp bạn chắc chắn rằng không có dịch vụ bất ngờ nào bị công khai và sẽ cho bạn biết đâu là các dịch vụ mới dễ bị tổn thương và cần được cập nhập. Công cụ kiểm tra cloud: cystack.net/vi/cloud-security
10. THEO DÕI SỰ BẤT THƯỜNG CỦA MÁY CHỦ Những cuộc tấn công chiếm quyền điều khiển thường được tin tặc lợi dụng để đánh cắp dữ liệu hoặc thiết lập các máy chủ của bạn trở thành các máy đào tiền ảo hoặc các máy tính ma trong các mạng botnet. Các rủi ro này có thể được phát hiện bằng cách theo dõi các dấu hiệu bất thường trong các số liệu như băng thông mạng, mức tiêu thụ CPU, lượng RAM và ổ cứng sử dụng.
16
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
1. CÓ CHECKLIST ĐỂ ĐÁNH GIÁ TÍNH BẢO MẬT CỦA CODE Trong quá trình lập trình cần luôn luôn chú ý để duy trì tính bảo mật. Tùy thuộc vào từng vị trí của đoạn code, các yếu tố cần kiểm tra sẽ khác nhau. Một khung đánh giá bảo mật vô cùng phổ biến là quy trình kiểm tra bảo mật do OWASP công bố. Đọc thêm: Top 10 lỗ hổng bảo mật web phổ biến
2. SỬ DỤNG CÁC CÔNG CỤ PHÂN TÍCH BẢO MẬT TĨNH Các công cụ phân tích code tĩnh (SAST) có thể giúp xác định mục tiêu dễ bị tấn công an ninh của bạn. Nó cũng sẽ cải thiện nhận thức về vấn đề bảo mật của bạn bằng việc tích hợp trực tiếp danh sách kiểm tra vào quá trình duyệt lại code. Tuy nhiên, các công cụ này có thể sẽ tạo ra rất nhiều các báo động giả. Giải pháp tốt nhất là hãy tích hợp chúng như một phần của quy trình kiểm nghiệm, nhưng đừng phụ thuộc quá nhiều vào chúng. Một số công cụ tốt: Source Code Analysis Tools, FindBugs (Java), Brakeman (Ruby)
3. THÊM LỖI BẢO MẬT VÀO CÔNG CỤ THEO DÕI SỰ CỐ Mỗi nhà phát triển nên góp phần duy trì một danh sách các vấn đề bảo mật cần phải cải thiện trong tương lai. Thực hiện một danh sách có sẵn để đội kỹ thuật có thể tham khảo sẽ tăng cường ý thức bảo mật cho nhân sự công ty. Hãy xử lý các lỗi bảo mật như bất kỳ loại lỗi nào khác - xác định mức độ ưu tiên của chúng dựa trên việc chúng có thể bị khai thác hay không và hậu quả nếu chúng bị khai thác. Ngoài ra, hãy giữ các bản cáo cáo của các lỗi bảo mật nghiêm trọng để đội ngũ kỹ thuật có thể học hỏi và rút kinh nghiệm. Xem thêm: Các lỗi bảo mật mới nhất được cập nhật vào phần mềm CyStack Cloud Security 17
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
4. KHÔNG TỰ SÁNG TẠO CÁC HÌNH THỨC MÃ HÓA Luôn dựa vào các cơ chế, thư viện và các công cụ sẵn có. Mật mã là một mảng vô cùng đặc thù của an toàn thông tin. Tự tạo mật mã hoặc sử dụng khi chưa nắm rõ kiến thức sẽ dễ tạo ra các nguy cơ không đáng có. Các thư viện như na.cl sẽ cung cấp một số lựa chọn phù hợp.
5. THỰC HIỆN CÁC PHIÊN KIỂM TRA BẢO MẬT Toàn bộ đội ngũ kỹ thuật cần ngồi lại với nhau và dành thời gian tìm kiếm lỗ hổng trên toàn bộ các thành phần của ứng dụng. Quá trình này có thể bao gồm công tác kiểm tra tính độc lập của tài khoản, tính duy nhất của token, phát hiện các đường dẫn không được xác thực… Các công cụ cần sử dụng bao gồm web console của trình duyệt, cURL, và các công cụ do bên thứ ba phát triển. Bạn sẽ phụ thuộc rất nhiều vào trình điều khiển web và các công cụ của bên thứ 3 như Zap. Đội ngũ kỹ thuật công ty chính là người hiểu rõ nhất ứng dụng của bạn và sẽ biết điểm yếu cần khắc phục nằm ở đâu. Nếu bạn định thuê pentester bên ngoài, đây cũng là một dữ liệu có ích đối với họ. Đọc thêm: OWASP Testing Guide v4 Table of Contents
6. ÁP DỤNG VÒNG ĐỜI PHÁT TRIỂN AN TOÀN Vòng đời phát triển an toàn là một quy trình giúp giải quyết các vấn đề bảo mật tại thời điểm bắt đầu của một dự án. Mặc dù hiếm khi được sử dụng, nó sẽ cung cấp cho bạn những hiểu biết ở tất cả các giai đoạn của dự án, từ giai đoạn chạy kỹ thuật cho đến khi phát hành. Nó sẽ cho phép bạn thực thi các phương pháp tốt nhất tại mỗi giai đoạn của dự án. Đọc thêm: Lợi ích khi tích hợp Bug bounty vào vòng đời phát triển an toàn của sản phẩm
18
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
7. ĐÀO TẠO BẢO MẬT CHO CÁC KỸ SƯ CỦA BẠN Các ứng dụng an toàn bảo mật cao thường đi kèm với các nhà phát triển đề cao an toàn bảo mật. Các kỹ sư phần mềm của bạn cần phải nắm rõ các phương pháp tăng cường bảo mật tốt nhất để lập trình cũng như đánh giá bảo mật. Vì bảo mật thường không phải là yếu tố mà các nhà tuyển dụng cân nhắc trong quá trình tuyển dụng, một khóa đào tạo cơ bản khi mới vào làm việc sẽ giúp các kỹ sư của bạn nắm được những kỹ năng bảo mật cơ bản. Ngoài ra, hãy xem xét việc kiểm tra năng lực bảo mật trong quá trình tuyển dụng. Điều này sẽ giúp bạn định hình khóa đào tạo của bạn tốt hơn. “Tại Getfly, chúng tôi luôn chú trọng việc đào tạo bảo mật cho nhân viên, cử họ đi học những khóa đào tạo bảo mật ngắn hạn, và tổ chức thêm các khóa training ATTT nội bộ” - Mr. Nguyễn Hoàng Duy, Giám đốc công nghệ Getfly.
8. TỰ ĐỘNG HÓA BẢO MẬT TRONG SDLC Nếu các phương pháp bảo mật ảnh hưởng đến tốc độ phát triển của bạn, chúng sẽ được xem xét như một gánh nặng hơn là một bước đi có giá trị. Các phương pháp tốt nhất hiện nay là học hỏi từ DevOps và tìm cách đưa bảo mật đến gần hơn với các nhà phát triển. Tận dụng các công cụ có thể tự động kiểm tra và giám sát an ninh cũng là một giải pháp tốt. Bổ sung các công cụ SAST / DAST tự động, quét lỗ hổng phụ thuộc và các tính năng khác sẽ giúp bạn nắm được những sai sót trước khi quá muộn. Tuy nhiên, hãy lưu rằng bạn phải sàng lọc kỹ những báo cáo giả và hiểu rằng các công cụ trên còn tồn tại nhiều hạn chế. Đọc thêm: Lợi ích của tích hợp WhiteHub Bug Bounty vào SDLC Cloud Security - công cụ giám sát bảo mật tự động cho ứng dụng web và dịch vụ Cloud AWS.
19
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
1. KHÔNG SỬ DỤNG QUYỀN ADMIN KHI KHÔNG CẦN THIẾT Nhiều tác vụ của đội ngũ sản phẩm không cần chạy dưới quyền admin. Vì vậy nên hạn chế sử dụng tài khoản root (trong Unix) hoặc administrator (Windows). Trong trường hợp kẻ tấn công tấn công xâm phạm thành công ứng dụng của bạn, để chúng hoạt động như một người dùng bị hạn chế quyền sẽ khiến kẻ tấn công khó khăn hơn trong việc chiếm quyền hoặc xâm phạm các dịch vụ khác.
2. GIÁM SÁT CÁC BÊN THỨ BA Các ứng dụng thường được xây dựng dựa trên tài nguyên/công cụ đến từ một bên thứ ba. Một lỗ hổng bất kỳ trong các nền tảng này có thể đặt toàn bộ ứng dụng của bạn vào vùng nguy hiểm. Theo OWASP, một trong số những rủi ro bảo mật phổ biến nhất thường đến từ các lỗ hổng đã biết của một bên thứ ba. Hiện nay có một số các công cụ giúp bạn kiểm tra các lỗ hổng của bên thứ ba và đảm bảo rằng chúng đã được cập nhập lên phiên bản mới nhất.
3. SỬ DỤNG DỊCH VỤ BẢO VỆ THEO THỜI GIAN THỰC Những công cụ này bảo vệ các ứng dụng web khỏi các cuộc tấn công song song với ứng dụng đang chạy. Logic bảo vệ được chèn trực tiếp vào các ứng dụng. Các giải pháp này có thể chống lại tất cả các lỗ hổng nghiêm trọng như SQL injection, tấn công XSS và không để xảy ra cảnh báo sai. Tham khảo: CyStack Cloud Security - giám sát bảo mật web app và cloud service.
20
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
4. THUÊ MỘT NHÓM PENTESTER BÊN NGOÀI Các pentester sẽ có một cái nhìn ngoại cảnh về cơ sở hạ tầng cũng như sản phẩm của bạn, họ sẽ không coi nhẹ bất cứ phần nào và kiểm thử ngay cả những giả định cơ bản nhất. Bên cạnh đó, các cuộc tấn công giả định của pentester cũng cho bạn cái nhìn toàn cảnh về hệ thống và sản phẩm của mình dưới góc nhìn của một hacker mũ đen.
5. BẢO MẬT FAAS Nếu bạn sử dụng FaaS trong công ty của mình, bạn nên đảm bảo rằng nó không phải là điểm yếu bảo mật. Hãy bảo đảm rằng: - Code của bạn được tập trung trong kho lưu trữ dành riêng cho FaaS hoặc trong các chức năng phụ thuộc vào ứng dụng. - Triển khai được tập trung trong CI. - Giảm thiểu đặc quyền theo chức năng. Trên hết, FaaS nên tuân theo tất cả các tiêu chí bảo mật mà bạn áp dụng cho ứng dụng của bạn - từ thông số kỹ thuật đến phát triển và vận hành triển khai.
6. TỰ ĐỘNG HÓA BẢO MẬT KHI ỨNG DỤNG CỦA BẠN ĐƯỢC TRIỂN KHAI Có rất nhiều các công cụ cho phép tự động tùy chỉnh bảo mật trong quá trình triển khai sản phẩm. Hãy tận dụng các thông tin doanh nghiệp của bạn để tự động hóa giám sát và bảo vệ an ninh cho hệ thống. Bạn càng tự động hóa được nhiều thứ, bạn càng có nhiều khả năng mở rộng bảo mật của mình. 21
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
1. ÁP DỤNG CHÍNH SÁCH MẬT KHẨU ĐỐI VỚI KHÁCH HÀNG Tài khoản người dùng của bạn sẽ khó bị đánh cắp hơn nhiều nếu bạn yêu cầu họ sử dụng một mật khẩu mạnh mẽ. Tốt nhất, hãy yêu cầu một chính sách đặt mật khẩu mạnh và phổ biến để người dùng không cảm thấy bối rối hoặc không thể nhớ một vài ký tự đặc biệt trong mật khẩu của họ.
2. KHUYẾN KHÍCH NGƯỜI DÙNG CỦA BẠN SỬ DỤNG XÁC THỰC HAI YẾU TỐ VÀ NÂNG CẤP DỊCH VỤ XÁC THỰC Khi bạn có một tệp khách hàng cao cấp hơn, bạn sẽ bị yêu cầu phải áp dụng các biện pháp bảo mật mạnh mẽ hơn nữa cho sản phẩm của mình. Điều này sẽ bao gồm xác thực hai yếu tố, quản lý tài khoản dựa trên vai trò, đăng nhập một lần,...
3. GIÁM SÁT NHỮNG HOẠT ĐỘNG ĐÁNG NGỜ CỦA NGƯỜI DÙNG Một số người dùng có thể hành động một cách kỳ lạ trong ứng dụng của bạn. Có thể họ đang cố gắng hack hoặc lật đổ, làm phiền các khách hàng khác của bạn. Thông qua việc giám sát những hành vi này, bạn sẽ có thể ngăn chặn hoặc gắn cờ những người dùng bất hợp pháp.
22
The Future of Cybersecurity
CHECKLIST BẢO MẬT KHI XÂY DỰNG MỘT SẢN PHẨM SAAS
4. NHÂN ĐÔI QUYỀN RIÊNG TƯ CỦA NGƯỜI DÙNG Đã có rất nhiều cuộc tấn công thành công thông qua social engineering. Điều này đồng nghĩa với việc truy cập vào dữ liệu của người dùng là một vấn đề lớn đối với bạn. Yêu cầu sự đồng ý của người dùng trước khi cho phép bộ phận hỗ trợ/sale được truy cập vào dữ liệu của họ là một quy tắc tối thiểu. Truy cập này cũng nên được kiểm toán. Các biện pháp bảo mật tốt có thể khiến social engineering khó khăn hơn trong việc truy cập vào dữ liệu của người dùng.
TẠM KẾT Việc bảo mật sản phẩm SaaS đòi hỏi một chiến lược đúng đắn và thực thi hiệu quả. Hy vọng sau tài liệu này, các CTO và trưởng nhóm bảo mật sẽ có một kế hoạch tốt hơn để nâng cao an toàn cho sản phẩm cũng như doanh nghiệp của mình. Nhóm biên tập
THÔNG TIN LIÊN HỆ Công ty CP CyStack Việt Nam Website: https://cystack.net Email: contact@cystack.net Hotline: 0247 109 9656
23
The Future of Cybersecurity