GIỚI THIỆU CHUNG
Phạm vi áp dụng
Tài liệu này cung cấp hướng dẫn về bảo đảm an toàn thông tin cho các nền tảng công nghệ mở, đặc biệt là những ứng dụng web Hướng dẫn tập trung vào các nguy cơ mất an toàn thông tin, yêu cầu an toàn cơ bản và biện pháp bảo đảm an toàn khi vận hành và khai thác các nền tảng này.
Đối tượng áp dụng
Các cơ quan và tổ chức liên quan đến nghiên cứu, phát triển và quản lý nền tảng công nghệ mở nên tham khảo tài liệu hướng dẫn này để nâng cao mức độ bảo đảm an toàn thông tin cho hệ thống thông tin mà họ quản lý.
Giải thích từ ngữ, định nghĩa
Trong hướng dẫn này, "công nghệ mở" được định nghĩa bao gồm tiêu chuẩn mở, mã nguồn mở và phần mềm mở Nền tảng sử dụng công nghệ mở, hay còn gọi là nền tảng, là sản phẩm được nghiên cứu, thiết kế, xây dựng và phát triển dựa trên công nghệ mở.
Nguyên tắc bảo đảm an toàn thông tin cho nền tảng công nghệ mở
1 Việc bảo đảm an toàn thông tin cho nền tảng công nghệ mở được thực hiện thường xuyên, liên tục từ khâu thiết kế, xây dựng, vận hành đến khi hủy bỏ; tuân thủ theo tiêu chuẩn, quy chuẩn kỹ thuật
2 Nền tảng công nghệ mở khi thiết kế, xây dựng phải bảo đảm đáp ứng các chức năng an toàn thông tin theo tiêu chuẩn, quy chuẩn kỹ thuật
3 Nền tảng công nghệ mở khi đưa vào vận hành, khai thác phải đáp ứng các yêu cầu về thiết kế, thiết lập theo quy định về bảo đảm an toàn hệ thống thông tin theo cấp độ.
CÁC NGUY CƠ MẤT AN TOÀN THÔNG TIN ĐỐI VỚI NỀN TẢNG SỬ DỤNG CÔNG NGHỆ MỞ
Nguy cơ mất an toàn thông tin trong quá trình phát triển
2.1.1 Không xác định được các yêu cầu an toàn đầu vào
Việc không xác định rõ các yêu cầu an toàn trong quá trình phát triển nền tảng có thể gây ra rủi ro mất an toàn thông tin khi nền tảng được đưa vào vận hành và sử dụng.
Khi không xác định được các yêu cầu an toàn chức năng cần thiết cho nền tảng trong quá trình phát triển, chẳng hạn như chức năng xác thực, nền tảng sẽ không đáp ứng được các tiêu chuẩn an toàn liên quan đến việc thiết lập chính sách xác thực khi đưa vào khai thác và sử dụng.
Trong quá trình phát triển nền tảng, các yêu cầu an toàn đầu vào rất quan trọng và có thể bao gồm nhiều nhóm yêu cầu khác nhau Những yêu cầu này bao gồm an toàn về thiết kế, chức năng an toàn của nền tảng, an toàn trong vòng đời phát triển, cũng như an toàn đối với chuỗi cung ứng.
2.1.2 Nguy cơ mất an toàn thông khi phát triển nền tảng a) Những nguy cơ mất an toàn thông tin trong quá trình thiết kế
Sau khi xác định các yêu cầu đầu vào, việc thiết kế, phát triển và tích hợp các thành phần của nền tảng là rất quan trọng để đảm bảo an toàn Nếu đơn vị phát triển không có thiết kế tổng thể về các thành phần, chức năng và nguyên lý hoạt động, cũng như không kiểm soát các thành phần từ bên thứ ba, sẽ dẫn đến nguy cơ mất an toàn thông tin cho nền tảng.
Trong quá trình phát triển, việc xác định các yêu cầu an toàn đầu vào là rất quan trọng Nền tảng cần được thiết kế tổng thể với các chức năng và yêu cầu cho từng thành phần cụ thể, đồng thời xác định mối quan hệ logic và phân quyền hợp lý Điều này giúp đảm bảo an toàn dữ liệu khi trao đổi và chia sẻ giữa các thành phần, từ đó giảm thiểu nguy cơ mất an toàn thông tin trong quá trình phát triển.
Sau khi có thiết kế tổng thể cho nền tảng, đơn vị phát triển có thể thực hiện phát triển nền tảng theo thiết kế
Trong quá trình phát triển nền tảng, đơn vị phát triển có thể phải đối mặt với một số nguy cơ phổ biến sau:
Việc lựa chọn nền tảng gốc không an toàn có thể dẫn đến nhiều điểm yếu trong hệ thống phát triển Những nền tảng này thường dựa trên các cơ sở kế thừa và có thể gặp phải các vấn đề như thiết kế không an toàn, không đáp ứng các chức năng bảo mật cần thiết, và tồn tại nhiều lỗ hổng cũng như điểm yếu khác.
Phát triển mã nguồn nền tảng không an toàn có thể dẫn đến việc thiếu các biện pháp kiểm soát dữ liệu đầu vào, tạo ra những điểm yếu mà tin tặc có thể khai thác Những lỗ hổng này có thể bị lợi dụng để thực hiện các cuộc tấn công như SQL Injection, OS command injection, RFI, LFI, Xpath Injection, XSS, và CSRF.
Việc sử dụng các thư viện và thành phần của bên thứ ba không an toàn có thể gây rủi ro cho nền tảng, vì nhiều hệ thống thường dựa vào những thư viện có sẵn thay vì phát triển từ đầu.
Khi các thư viện được lựa chọn có lỗ hổng hoặc điểm yếu về an toàn thông tin, điều này cũng đồng nghĩa với việc nền tảng sử dụng những thư viện này sẽ gặp phải rủi ro tương tự Ngoài ra, quá trình tích hợp các thư viện vào hệ thống cũng tiềm ẩn nguy cơ mất an toàn thông tin.
Khi tích hợp các thành phần của nền tảng, các đơn vị phát triển phải đối mặt với nhiều nguy cơ mất an toàn mới Những nguy cơ này không chỉ tồn tại trong từng thành phần mà còn phát sinh khi các thành phần được kết nối với nhau, dẫn đến các vấn đề về kiểm soát truy cập, phân quyền, lỗi xử lý logic và việc trao đổi dữ liệu an toàn giữa các thành phần.
Nguy cơ mất an toàn thông tin trong quá trình vận hành, khai thác
Khi nền tảng được triển khai và vận hành trong một hệ thống thông tin cụ thể, sẽ xuất hiện những nguy cơ mới về mất an toàn thông tin, đặc biệt từ góc độ an toàn hệ thống thông tin.
2.2.1 Tồn tại các lỗ hổng, điểm yếu an toàn thông tin
Nền tảng công nghệ mở trong quá trình phát triển giúp kiểm soát và hạn chế các lỗ hổng an toàn thông tin đã biết Tuy nhiên, khi được đưa vào vận hành, nền tảng này có thể phát sinh những điểm yếu và lỗ hổng mới chưa được công bố trước đó.
Trước khi đưa nền tảng vào sử dụng, việc kiểm tra và đánh giá an toàn thông tin là rất cần thiết Nếu không thực hiện, các lỗ hổng và điểm yếu trong quá trình phát triển có thể gây ra nguy cơ mất an toàn cho hệ thống thông tin mà nền tảng đó được triển khai.
Một số nguồn thông tin trực tuyến cung cấp thông tin về các điểm yếu an toàn thông tin cơ quan, tổ chức có thể tham khảo như [1,2,3,24,25]
Khi sử dụng thư viện hoặc thành phần từ bên thứ ba, nền tảng có nguy cơ bị cài cắm phần mềm độc hại Vì vậy, các cơ quan và tổ chức cần thực hiện biện pháp xác minh nguồn gốc của các thành phần này để đảm bảo an toàn cho hệ thống.
Khi nền tảng được đưa vào vận hành, nếu tồn tại lỗ hổng hoặc điểm yếu về an toàn thông tin, tin tặc có thể lợi dụng để cài cắm phần mềm độc hại, từ đó khai thác những lỗ hổng này.
Một số công cụ trực tuyến hỗ trợ kiểm tra và cung cấp thông tin liên quan đến mã độc cơ quan, tổ chức có thể tham khảo như [4,26,27]
2.2.3 Không thiết lập, cấu hình các chức năng bảo mật cho nền tảng
Trong quá trình phát triển, nền tảng cần được triển khai các chức năng an toàn thông tin như xác thực, nhật ký hệ thống và quản lý truy cập Tuy nhiên, nếu không được thiết lập và cấu hình phù hợp với các yêu cầu an toàn theo chính sách của cơ quan, tổ chức, nền tảng có thể trở thành mục tiêu tấn công, khai thác và bị chiếm quyền điều khiển.
2.2.4 Không cấu hình tăng cường bảo mật khi đưa vào sử dụng
Khi triển khai nền tảng, việc cấu hình tăng cường bảo mật (cứng hóa) là rất quan trọng để tránh nguy cơ mất an toàn thông tin Nếu không vô hiệu hóa các thành phần chức năng và tài khoản không sử dụng, cũng như không thiết lập chính sách mật khẩu an toàn, hệ thống sẽ trở thành điểm yếu dễ bị tấn công bởi tin tặc.
Cơ quan, tổ chức cần tăng cường cấu hình bảo mật cho nền tảng khi đưa vào sử dụng, bên cạnh việc thiết lập và cấu hình các chức năng bảo mật cần thiết.
Nguy cơ mất an toàn thông tin từ các yếu tố bên ngoài
Khi đưa nền tảng vào vận hành và khai thác trong hệ thống thông tin, việc đảm bảo an toàn thông tin không chỉ dựa vào nền tảng mà còn phụ thuộc vào các thành phần khác của hệ thống.
2.3.1 Nguy cơ liên quan đến an toàn hạ tầng mạng
Hạ tầng mạng cần được thiết kế và cấu hình đúng cách để đảm bảo an toàn thông tin Nếu không, sẽ có nguy cơ mất an toàn trong quá trình vận hành, khai thác và sử dụng nền tảng.
Các nguy cơ mất an toàn từ hạ tầng mạng bao gồm thiếu công nghệ và giải pháp bảo vệ, cấu hình không đúng trên thiết bị mạng và thiết bị bảo mật, cũng như sự tồn tại của các lỗ hổng và điểm yếu trong an toàn thông tin.
Các cơ quan, tổ chức khi tích hợp nền tảng vào hệ thống thông tin cần áp dụng các giải pháp và công nghệ để thiết lập hệ thống đáp ứng yêu cầu an toàn cơ bản theo quy định Việc đảm bảo an toàn thông tin cho hạ tầng mạng phải tuân thủ các yêu cầu được nêu rõ trong chương 4 của hướng dẫn này.
2.3.2 Nguy cơ liên quan đến an toàn máy chủ
Khi triển khai nền tảng trên máy chủ không an toàn, sẽ phát sinh nguy cơ mất an toàn thông tin trong quá trình vận hành, khai thác và sử dụng nền tảng đó.
Các nguy cơ mất an toàn từ máy chủ bao gồm điểm yếu an toàn thông tin trên hệ điều hành, việc không thiết lập cấu hình máy chủ đáp ứng yêu cầu an toàn cơ bản, và thiếu cấu hình tăng cường bảo mật trước khi đưa vào sử dụng.
Các cơ quan và tổ chức cần kiểm tra và đánh giá an toàn thông tin khi đưa nền tảng vào hệ thống thông tin Việc thiết lập cấu hình và tăng cường bảo mật cho máy chủ là cần thiết để đáp ứng các yêu cầu an toàn cơ bản theo quy định Chi tiết về việc triển khai bảo đảm an toàn thông tin cho máy chủ được hướng dẫn cụ thể trong chương 4 của tài liệu này.
2.3.3 Nguy cơ liên quan đến an toàn ứng dụng
Nền tảng có thể được xem như một ứng dụng đặc biệt, nhưng bài viết này sẽ tập trung vào các rủi ro an toàn liên quan đến ứng dụng được triển khai trên nền tảng Nếu ứng dụng không an toàn, tin tặc có thể tấn công và khai thác, từ đó tạo cơ hội để tấn công leo thang vào nền tảng.
Các nguy cơ mất an toàn từ ứng dụng bao gồm điểm yếu an toàn thông tin, việc không thiết lập cấu hình ứng dụng theo yêu cầu an toàn cơ bản, và thiếu cấu hình tăng cường bảo mật trước khi đưa vào sử dụng.
Các cơ quan, tổ chức khi tích hợp nền tảng vào hệ thống thông tin cần tiến hành kiểm tra và đánh giá an toàn thông tin Điều này bao gồm việc thiết lập cấu hình và tăng cường bảo mật cho ứng dụng nhằm đáp ứng các yêu cầu an toàn cơ bản theo quy định Chi tiết về việc triển khai đảm bảo an toàn thông tin cho ứng dụng được trình bày cụ thể trong chương 4 của hướng dẫn này.
2.3.4 Nguy cơ liên quan đến an toàn dữ liệu
Khi đưa nền tảng vào vận hành và khai thác, các nguy cơ an toàn dữ liệu có thể ảnh hưởng đến tính bí mật, nguyên vẹn và khả dụng của dữ liệu Những rủi ro này bao gồm việc lưu trữ dữ liệu nhạy cảm trên nền tảng không được mã hóa, thiếu cơ chế kiểm tra tính toàn vẹn, không đảm bảo các điều kiện sao lưu dự phòng, và sử dụng giao thức mạng không có chức năng mã hóa và xác thực thông tin Việc truyền và trao đổi dữ liệu giữa nền tảng với các thành phần khác trong hệ thống thông tin cũng cần được xem xét kỹ lưỡng để bảo vệ an toàn dữ liệu.
Các cơ quan, tổ chức cần thực hiện các biện pháp bảo đảm an toàn dữ liệu khi đưa nền tảng vào hệ thống thông tin, nhằm đáp ứng các yêu cầu an toàn theo quy định Chi tiết về việc triển khai các biện pháp này được trình bày trong chương 4 của hướng dẫn.
YÊU CẦU AN TOÀN CƠ BẢN CHO NỀN TẢNG SỬ DỤNG CÔNG NGHỆ MỞ
Xác thực
Chức năng xác thực yêu cầu người sử dụng xác thực khi truy cập vào cấu hình, quản trị hoặc dữ liệu không công khai trên nền tảng Các yêu cầu cơ bản bao gồm: thiết lập cấu hình ứng dụng để xác thực người sử dụng, lưu trữ thông tin xác thực hệ thống một cách mã hóa, thiết lập chính sách mật khẩu, hạn chế số lần đăng nhập sai trong khoảng thời gian nhất định, mã hóa thông tin xác thực khi gửi qua mạng, ngăn chặn đăng nhập tự động vào các ứng dụng quan trọng, vô hiệu hóa tài khoản sau nhiều lần đăng nhập sai và cho phép thực hiện phương thức xác thực đa nhân tố.
Kiểm soát truy cập
Chức năng kiểm soát truy cập cho phép thiết lập chính sách truy cập khi người dùng quản trị nền tảng, bao gồm các yêu cầu xác thực cơ bản như: chỉ cho phép kết nối mạng an toàn khi truy cập từ xa, thiết lập thời gian chờ để tự động đóng phiên kết nối, giới hạn địa chỉ mạng quản trị được phép truy cập, phân quyền truy cập và quản trị cho từng người dùng hoặc nhóm người dùng khác nhau, giới hạn số lượng kết nối đồng thời, thiết lập quyền tối thiểu cho tài khoản quản trị và tài khoản kết nối cơ sở dữ liệu, tách biệt cổng quản trị với cổng cung cấp dịch vụ, và khóa tạm thời quyền quản trị ngoài giờ làm việc theo chính sách tổ chức.
Nhật ký hệ thống
Chức năng nhật ký hệ thống ghi lại thông tin quan trọng liên quan đến hoạt động, thay đổi cấu hình và lỗi phát sinh trong quá trình sử dụng nền tảng Các yêu cầu cơ bản bao gồm: ghi nhật ký hệ thống với thông tin về truy cập ứng dụng, đăng nhập quản trị, lỗi hoạt động và thay đổi cấu hình; quản lý và lưu trữ nhật ký trên hệ thống quản lý tập trung; lưu trữ dự phòng dữ liệu nhật ký quan trọng trên hệ thống lưu trữ riêng biệt và có mã hóa; và phân quyền truy cập, quản lý dữ liệu nhật ký cho các tài khoản quản trị khác nhau.
An toàn ứng dụng và mã nguồn
Chức năng an toàn ứng dụng và mã nguồn là rất quan trọng trong việc kiểm soát dữ liệu đầu vào và đầu ra Các yêu cầu cơ bản bao gồm: kiểm tra tính hợp lệ của thông tin đầu vào trước khi xử lý, xác minh tính hợp lệ của thông tin đầu ra trước khi gửi về máy yêu cầu, và bảo vệ chống lại các tấn công phổ biến như SQL Injection, XSS, và CSRF Ngoài ra, cần có khả năng kiểm soát và thông báo lỗi từ ứng dụng, đồng thời đảm bảo không lưu trữ thông tin xác thực hay bí mật trong mã nguồn.
Bảo mật thông tin liên lạc
Chức năng bảo mật thông tin liên lạc yêu cầu nền tảng sử dụng các giao thức mạng và chức năng mã hóa để bảo vệ dữ liệu trong môi trường mạng khỏi bị lộ lọt và thay đổi trái phép Các yêu cầu cơ bản bao gồm: a) Mã hóa thông tin và dữ liệu trước khi truyền qua mạng; b) Sử dụng chữ ký số từ cơ quan có thẩm quyền để bảo vệ dữ liệu và ngăn chặn hành vi chối bỏ; c) Sử dụng thiết bị phần cứng chuyên dụng cho việc mã hóa và giải mã dữ liệu.
Sao lưu dự phòng
Chức năng sao lưu dự phòng đảm bảo lưu trữ dữ liệu an toàn và tính khả dụng của chúng Các yêu cầu cơ bản bao gồm: a) Tự động sao lưu dữ liệu quan trọng như cơ sở dữ liệu, thông tin nghiệp vụ và tập tin cấu hình hệ thống; b) Gán nhãn loại dữ liệu theo quy tắc đã được thiết lập; c) Thiết lập cấu hình để gửi dữ liệu dự phòng về hệ thống lưu trữ tập trung.
BẢO ĐẢM AN TOÀN THÔNG TIN CHO NỀN TẢNG SỬ DỤNG CÔNG NGHỆ MỞ TRONG QUÁ TRÌNH VẬN HÀNH, KHAI THÁC SỬ DỤNG
Bảo đảm an toàn cho hệ thống thông tin triển khai nền tảng
Hệ thống thông tin cần được thiết kế để đáp ứng yêu cầu an toàn theo TCVN 11930:2017, với việc phân tách các vùng mạng về mặt chức năng và quản lý truy cập Các vùng mạng cơ bản bao gồm: mạng nội bộ, mạng biên, DMZ, máy chủ nội bộ, mạng không dây, máy chủ cơ sở dữ liệu, vùng quản trị và quản trị thiết bị hệ thống Hệ thống cũng cần triển khai các phương án kỹ thuật phù hợp với yêu cầu an toàn tương ứng, tùy thuộc vào cấp độ và số lượng các vùng mạng trong hệ thống thông tin nền tảng.
Hệ thống triển khai nền tảng TCVN 11930:2017
4.1.2 Triển khai các biện pháp bảo vệ Để đáp ứng được các yêu cầu về thiết kế và phương án kỹ thuật Một số giải pháp, công nghệ có thể được tham khảo sử dụng như dưới đây: a) Tường lửa: Sử dụng để quản lý truy cập giữa các mạng bên ngoài vào hệ thống mạng và giữa các vùng mạng trong hệ thống của cơ quan, tổ chức Tùy thuộc vào năng lực thực tế của mỗi hệ thống thông tin, tường lửa có thể triển khai theo nhiều phương án khác nhau: (1) sử dụng thiết bị tường lửa tập trung và phân các vùng mạng bởi các giao diện của tường lửa; (2) chia thiết bị tường lửa vật lý và nhiều tường lửa logic và triển khai độc lập cho mỗi vùng mạng; (3) triển khai thiết bị tường lửa độc lập, chuyên dụng cho mỗi vùng mạng b) Phòng chống xâm nhập: Phát hiện xâm nhập và tấn công mạng từ các mạng bên ngoài vào hệ thống mạng và giữa các vùng mạng trong hệ thống của cơ quan, tổ chức Tương tự như với cách triển khai đối với thiết bị tường lửa, thiết bị phòng chống xâm nhập cũng có thể triển khai theo 03 cách ở trên Tuy nhiên, việc đặt thiết bị phòng chống xâm nhập sẽ làm giảm hiệu năng hoạt động của hệ thống mạng Do đó, căn cứ vào khả năng xử lý của thiết bị phòng chống xâm nhập để triển khai vị trí phù hợp Trường hợp thiết bị phòng chống xâm nhập có hiệu năng xử lý cao có thể triển khai tại vùng mạng biên để giám sát tổng thể lưu lượng mạng Trường hợp năng lực xử lý hạn chế thì xem xét ưu tiên bảo vệ các vùng mạng như vùng DMZ, vùng máy chủ nội bộ, vùng máy chủ cơ sở dữ liệu c) Phòng chống tấn công từ chối dịch vụ: Bảo vệ, phòng chống tấn công từ chối dịch vụ (DoS/DDoS) vào hệ thống máy chủ dịch vụ của hệ thống Giải pháp này được triển khai tại vùng mạng biên để phòng DoS/DDoS Trên thực tế có nhiều thiết bị tường lửa có tích hợp chức năng phòng tấn công DoS/DDoS Trường hợp hệ thống được xác định là hệ thống thông tin cấp độ 4 hoặc 5 thì hệ thống phòng chống tấn công DoS/DDoS cần được triển khai dưới dạng thiết bị độc lập, chuyên dụng d) Kết nối mạng riêng ảo VPN: Phục vụ việc thiết lập và quản lý kênh kết nối mạng an toàn, cho phép quản trị hệ thống từ xa Để bảo đảm an toàn khi quản thị hệ thống từ xa, hệ thống cần được thiết lập chính sách để không cho phép kết nối trực tiếp từ mạng Internet mà thông thường phải thông qua một máy chủ quản trị trong vùng mạng quản trị Do đó, cần thiết phải có thiết bị hoặc phương án kết nối VPN cho phép kết nối từ xa vào máy quản trị để từ máy đó thực hiện quản trị cấu hình và dữ liệu của hệ thống đ) Tường lửa chuyên dụng bảo vệ máy chủ cơ sở dữ liệu: Phục vụ việc quản lý và phòng chống tấn công vào máy chủ cơ sở dữ liệu thông qua các cấu truy vấn cơ sở dữ liệu e) Hệ thống phòng, chống phần mềm độc hại trên môi trường mạng: Phục vụ việc phát hiện và chặn lọc phần mềm độc hại trên môi trường mạng Để triển khai phương án phòng, chống phần mềm độc hại hiệu quả, giải pháp cần kết hợp giữa việc triển khai phần mềm phòng, chống mã độc trên các máy với việc triển khai giải pháp trên môi trường mạng Việc triển khai giải pháp trên môi trường mạng cho phép phát hiện các kết nối tới máy chủ C&C (Máy chủ điều khiển hoạt động của mạng máy tính ma - botnet) và các hành vi mã độc khác tại các điểm có lưu lượng mạng tập trung g) Hệ thống giám sát hệ thống thông tin tập trung: Phục vụ giám sát, theo dõi thời gian thực hoạt động của hệ thống mạng nhằm bảo đảm tính khả dụng của hệ thống Hệ thống này nhận thông tin hoặc kết nối tới các thiết bị mạng, máy chủ và ứng dụng để thu thập các thông tin liên quan đến trạng thái, tài nguyên hệ thống, cho phép người quản trị theo dõi thời gian thực trạng thái của toàn hệ thống để đưa ra những hành động kiểm soát kịp thời Hệ thống này được sử dụng để bảo đảm tính khả dụng của hệ thống trong quá trình vận hành, khai thác h) Hệ thống giám sát an toàn hệ thống thông tin tập trung: Phục vụ việc quản lý, phân tích, giám sát sự kiện an toàn thông tin tập trung để phát hiện và cảnh báo sớm nguy cơ mất an toàn thông tin Tương tự như đối với hệ thống giám sát hệ thống thông tin tập trung, hệ thống này cũng nhận thông tin hoặc kết nối tới các thiết bị mạng, máy chủ và ứng dụng để thu thập các thông tin liên quan đến sự kiện bảo mật, thay đổi chính sách hay truy nhập để phát hiện tấn công mạng và các hành vi dị thường Hệ thống này cho phép người quản trị theo dõi, phát hiện và cảnh báo sớm các nguy cơ mất an toàn thông tin có thể xảy ra trên hệ thống i) Hệ thống lưu trữ tập trung: Phục vụ việc quản lý và sao lưu dự phòng tập trung Hệ thống này được sử dụng để lưu trữ dữ liệu của toàn bộ hệ thống bao gồm: các ảnh của hệ điều hành (nếu hệ thống triển khai trên nền ảo ảo hóa), các tệp tin cấu hình hệ thống, cơ sở dữ liệu và các thông tin riêng của tổ chức, cá nhân nếu có k) Hệ thống phòng, chống mã độc trên máy chủ/máy trạm: Hệ thống phần mềm được cài đặt trên máy chủ/máy trạm và được quản lý bởi một hệ thống tập trung cho phép quản lý phát hiện và phòng chống mã độc trên các máy chủ/máy trạm l) Hệ thống phòng, chống thất thoát dữ liệu: Phục vụ việc theo dõi, giám sát và phòng chống thất thoát thông tin/dữ liệu quan trọng qua môi trường mạng m) Hệ thống quản lý tài khoản đặc quyền: Phục vụ việc quản lý tài khoản và phân quyền truy nhập vào các thành phần của hệ thống tập trung
4.1.3 Thiết lập cấu hình hệ thống
Sau khi hoàn tất thiết kế hệ thống và trang bị các giải pháp cần thiết, bước tiếp theo là thiết lập cấu hình hệ thống nhằm đảm bảo yêu cầu an toàn Việc này bao gồm cấu hình hạ tầng mạng, máy chủ, ứng dụng và dữ liệu, tương ứng với từng cấp độ theo tiêu chuẩn TCVN 11930.
Hệ thống triển khai nền tảng
An toàn mạng An toàn máy chủ
Kiểm tra, đánh giá an toàn thông tin cho nền tảng
Để đảm bảo an toàn thông tin khi triển khai nền tảng, các cơ quan và tổ chức cần tiến hành kiểm tra và đánh giá an toàn thông tin nhằm phát hiện và khắc phục các lỗ hổng, điểm yếu Quy trình kiểm tra và đánh giá an toàn thông tin sẽ được hướng dẫn chi tiết dưới đây.
4.2.1 Xác định phương pháp thực hiện
Kiểm tra và đánh giá an toàn thông tin có thể được thực hiện thông qua nhiều phương pháp khác nhau Một trong những phương pháp đó là đánh giá hộp trắng, trong đó người đánh giá có quyền truy cập đầy đủ vào tất cả thông tin liên quan đến nền tảng, bao gồm thiết kế, nguyên lý hoạt động và mã nguồn.
Kỹ thuật đánh giá hộp trắng cho phép đánh giá toàn diện các vấn đề liên quan đến nền tảng, nhưng đòi hỏi độ phức tạp cao, đặc biệt trong việc đánh giá mã nguồn Với lượng mã dòng lệnh lớn và mối liên hệ phức tạp trong ứng dụng, việc đánh giá cần có công cụ chuyên dụng để đảm bảo hiệu quả.
Đánh giá hộp trắng và hộp đen là hai kỹ thuật quan trọng trong việc đánh giá an ninh của các cơ quan, tổ chức Đối với đánh giá hộp trắng, có nhiều công cụ chuyên dụng mà các tổ chức có thể tham khảo Trong khi đó, đánh giá hộp đen yêu cầu người đánh giá không có thông tin đầy đủ về nền tảng, mà chỉ biết một số thông tin cơ bản như phiên bản và mục tiêu đánh giá Người đánh giá trong phương pháp này cần đóng vai trò như một kẻ tấn công, thu thập thông tin về mục tiêu, phân tích dữ liệu và thực hiện các thử nghiệm tấn công để phát hiện các điểm yếu trong hệ thống.
Để thực hiện đánh giá hộp đen cho các cơ quan, tổ chức, có thể tham khảo một số công cụ chuyên dụng như [8,10,22,23] Bên cạnh đó, đánh giá hộp xám là một kỹ thuật quan trọng, trong đó người đánh giá sẽ có thêm thông tin về nền tảng, bao gồm nguyên lý hoạt động và tài khoản đăng nhập.
Kỹ thuật đánh giá hộp xám tương tự như đánh giá hộp đen, nhưng người đánh giá không chỉ là tin tặc tấn công từ bên ngoài mà còn có thể đóng vai trò như người dùng bình thường trong hệ thống Họ thực hiện các thử nghiệm tấn công nhằm leo thang đặc quyền vào hệ thống, giúp phát hiện những lỗ hổng bảo mật từ cả hai phía.
4.2.2 Tiêu chí đánh giá an toàn thông tin
Nền tảng sử dụng công nghệ mở có thể phát triển thành nhiều loại ứng dụng khác nhau, nhưng chủ yếu hiện nay là ứng dụng web Hướng dẫn này sẽ cung cấp các tiêu chí đánh giá cho nền tảng ứng dụng web, dựa trên bộ tiêu chuẩn quốc tế OWASP về bảo mật ứng dụng web Trong đó, 10 tiêu chí phổ biến bao gồm kiểm tra lỗi chèn mã thực thi độc hại (Injection).
- Kiểm tra lỗ hổng SQL
- Kiểm tra lỗ hổng XXE
- Kiểm tra lỗ hổng LDAP b) Kiểm tra lỗi xác thực (Broken Authentication)
- Kiểm tra lỗ hổng Session Fixation
- Kiểm tra lỗi Session Hijacking
- Kiểm tra giao thức Web sử dụng c) Kiểm tra lỗ hổng XSS
- Kiểm tra DOM based XSS d) Kiểm tra lỗi phân quyền (Broken Access Control)
- Kiểm tra phân quyền dữ liệu
- Kiểm tra phân quyền chức năng
- Kiểm tra phân quyền truy cập đ) Kiểm tra lỗi sai sót cấu hình bảo mật (Security Misconfiguration)
- Kiểm tra Respone khi thực hiện truy vấn gây lỗi
- Không thay đổi mật khâu mặc định
- Lộ đường dẫn thư mục
- Kiểm tra đã tắt chế độ debug khi ứng dụng được chạy
- Cài đặt dịch vụ không cần thiết e) Kiểm tra lỗi dò rỉ dữ liệu nhạy cảm (Sensitive Data Exposure)
- Kiểm tra đường truyền có sử dụng mã hóa không
- Kiểm tra mật khẩu gửi đi có được mã hóa không
Ensure that passwords and sensitive user information are stored securely with encryption Assess the system for insufficient attack protection and identify any vulnerabilities related to Cross-Site Request Forgery (CSRF) Additionally, verify the use of components that may have known vulnerabilities to enhance overall security.
- Kiểm tra library, Framework Vulnerabilities có tồn tại các lỗ hổng không
- Kiểm tra Webserver k) Kiểm tra API an toàn (Underprotected APIs)
4.2.3 Các bước thực hiện kiểm tra, đánh giá
Việc thực hiện kiểm tra, đánh giá được thực hiện theo các bước cơ bản sau: a) Khảo sát thu thập thông tin nền tảng
Khảo sát và cung cấp đủ thông tin cho việc đánh giá, gồm:
- Phạm vi đánh giá chi tiết;
- Thông tin tên miền (URL);
- Thông tin hệ thống thông tin triển khai nền tảng;
- Thông tin cấu trúc và nguyên lý hoạt động của nền tảng;
- Thông tin về mã nguồn (nếu thực hiện đánh giá hộp trắng);
- Thông tin các điểm vào ứng dụng (Input);
- Thông tin về link và các thông tin nhạy cảm
Bước này có thể một số công cụ như Nmap, Metasploit để sử dụng c) Lập kế hoạch kiểm tra, đánh giá
Thực hiện lập kế hoạch đánh giá, trong đó nội dung kế hoạch cần làm rõ:
- Phạm vi đánh giá (Đối tượng đánh giá + tiêu chí đánh giá)
- Phương pháp đánh giá/quy trình đánh giá;
- Phân công nhân sự triển khai;
- Kế hoạch triển khai chi tiết (time line) d) Quét và xác minh lỗ hổng mất an toàn thông tin
Thực hiện rà soát và đánh giá các lỗ hổng bảo mật theo phương pháp đã đề cập ở mục 4.2.1 Đồng thời, tiến hành tấn công thử nghiệm để khai thác lỗ hổng và thu thập thông tin cần thiết.
Thực hiện các thử nghiệm khai thác với các lỗ hổng đã phát hiện, cụ thể công như sau:
- Xác định danh sách các lỗ hổng sẽ thử nghiệm (từ các phần trên);
- Thử nghiệm các mã khai thác theo từng loại lỗ hổng;
- Xây dựng mã khai thác tự động, tùy biến theo lỗ hổng;
- Xác định các cơ chế bảo mật của nền tảng;
- Thử nghiệm các cơ chế vượt quan ngăn chặn như mã hóa biến, thêm giá trị encode …
- Thử nghiệm khai thác lấy thông tin;
- Thử nghiệm khai thác thực thi lệnh từ xa e) Lập báo cáo kết quả kiểm tra, đánh giá an toàn thông tin
Nội dung báo cáo cần đưa ra:
- Phạm vi đánh giá (Đối tượng đánh giá + tiêu chí đánh giá);
- Phương pháp đánh giá/quy trình đánh giá, Công cụ đánh giá;
Kết quả đánh giá an toàn thông tin bao gồm các chi tiết lỗi như tên lỗi, mô tả lỗi, mức độ ảnh hưởng và bằng chứng cụ thể Ngoài ra, cần đưa ra khuyến nghị về các biện pháp khắc phục và xây dựng phương án để xử lý các lỗ hổng an toàn thông tin hiệu quả.
Để đảm bảo an toàn thông tin, cần xây dựng phương án khắc phục cho từng lỗ hổng và điểm yếu đã được phát hiện trong các bước trước Đồng thời, việc lập báo cáo và lưu trữ hồ sơ cũng rất quan trọng để theo dõi và quản lý tình hình an ninh.
Xây dựng báo cáo và lưu trữ toàn bộ hồ sơ liên quan đến quá trình kiểm tra đánh giá nền tảng.
Thiết lập cấu hình, tăng cường bảo mật cho nền tảng
Sau khi kiểm tra và đánh giá an toàn thông tin để khắc phục các lỗ hổng và điểm yếu, việc thiết lập cấu hình và tăng cường bảo mật (hardening) là cần thiết để tối ưu hóa chính sách bảo mật cũng như nâng cao hiệu suất xử lý của nền tảng.
Để đảm bảo an toàn cho nền tảng khi đưa vào sử dụng trong hệ thống, cần bảo vệ không chỉ thông tin của nền tảng mà còn cả các thành phần khác như mạng, máy chủ, ứng dụng và dữ liệu Việc thiết lập cấu hình và tăng cường bảo mật cho tất cả các thành phần này là vô cùng quan trọng.
Hướng dẫn này tập trung vào việc bảo đảm an toàn thông tin cho nền tảng được triển khai hoặc quản lý qua ứng dụng web Nội dung dưới đây sẽ hướng dẫn cách cứng hóa các thành phần liên quan nhằm bảo vệ an toàn cho nền tảng này.
4.3.1 Cứng hóa hệ điều hành
Để cứng hóa hệ điều hành hiệu quả, cần thực hiện một số bước cơ bản như sau: thiết lập các phân vùng mạng an toàn, vô hiệu hóa các giao thức và dịch vụ không cần thiết hoặc không an toàn, cấu hình giao diện mạng và tường lửa, rà soát và gỡ cài đặt phần mềm không sử dụng, xóa tài khoản người dùng không cần thiết và phân quyền hợp lý, thiết lập chính sách mật khẩu mạnh, bật chế độ ghi nhật ký hệ thống, và thiết lập chính sách cập nhật cho hệ điều hành.
Cơ quan, tổ chức có thể tham khảo một số hướng dẫn chi tiết việc cứng hóa hệ điều hành tại [11-17]
Để thực hiện cứng mạng hiệu quả, cần thực hiện một số bước cơ bản như sau: cấu hình chức năng xác thực trên thiết bị để xác thực người dùng khi quản trị trực tiếp hoặc từ xa; thiết lập chỉ cho phép kết nối mạng an toàn khi truy cập thiết bị từ xa; không cho phép quản trị trực tiếp từ mạng bên ngoài, mà phải qua các máy quản trị trong hệ thống; hạn chế số lần đăng nhập sai từ địa chỉ mạng; phân quyền truy cập cho các tài khoản quản trị khác nhau; nâng cấp và xử lý các điểm yếu an toàn thông tin trước khi đưa thiết bị vào sử dụng; và xóa bỏ thông tin cấu hình cũng như dữ liệu trên thiết bị khi thay đổi mục đích sử dụng hoặc gỡ bỏ khỏi hệ thống.
4.3.3 Cứng hóa dịch vụ web
Để thực hiện cứng dịch vụ web hiệu quả, cần thực hiện một số bước cơ bản như: rà soát và vô hiệu hóa các thành phần, dịch vụ không sử dụng hoặc không an toàn; thiết lập chính sách xác thực và phân quyền truy cập cho quản trị dịch vụ; lọc các truy vấn đầu vào không an toàn; thiết lập các giao thức mạng an toàn và vô hiệu hóa các giao thức không an toàn; và cuối cùng là thiết lập chính sách cập nhật định kỳ cho dịch vụ web.
Cơ quan, tổ chức có thể tham khảo một số hướng dẫn chi tiết việc cứng hóa dịch vụ web tại [28, 29]
4.3.4 Cứng hóa ứng dụng web
Để thực hiện cứng mạng hiệu quả, cần thực hiện một số bước cơ bản như: kiểm tra và đánh giá an toàn thông tin, xử lý các điểm yếu trước khi đưa vào sử dụng; rà soát và vô hiệu hóa các thành phần ứng dụng không sử dụng hoặc không an toàn; thiết lập chính sách xác thực và phân quyền truy cập quản trị ứng dụng; thiết lập chính sách lọc các truy vấn đầu vào không an toàn; và thiết lập chính sách kết nối và truy cập cơ sở dữ liệu an toàn.
Cơ quan, tổ chức có thể tham khảo một số hướng dẫn chi tiết việc cứng hóa ứng dụng web tại [30].