CyStack logo
  • Sản phẩm & Dịch vụ
  • Giải pháp
  • Bảng giá
  • Công ty
  • Tài liệu
Vi

vi

Mục lục

Trang chủBlog10 Bước Bảo Mật Ứng Dụng ...
Operations Security

10 Bước Bảo Mật Ứng Dụng Web Hiệu Quả

10 phút đọc01/07/2020
CyStack Author
LinhDTM

Storyteller in the tech & cybersecurity space, bringing five years’ expertise in turning complex ideas into persuasive, memorable content. Eternally curious about new technologies and committed to staying ahead of the curve in security trends and threat intelligence.

0 lượt xem
Reading Time: 10 minutes

Là một người sở hữu trang web có trách nhiệm, bạn chắc chắn đã nhận thức được tầm quan trọng của bảo mật. Đặc biệt, đối với các ứng dụng web phục vụ nhu cầu người dùng thì vấn đề an toàn luôn cần được đặt lên trên hết.

Theo số liệu dưới đây, số lượng các cuộc tấn công DDoS đã liên tục tăng trong vài năm qua và dự kiến sẽ tiếp tục tăng trong tương lai.

Mặc dù không thể đảm bảo rằng mức độ bảo mật sẽ luôn là 100%, vì vẫn có những sự cố bất ngờ có thể xảy ra. Tuy nhiên, các công ty vẫn có thể thực hiện được một số phương pháp sau đây để giảm thiểu khả năng gặp phải các sự cố bảo mật ứng dụng web.

Lên kế hoạch bảo mật ứng dụng web

Bạn không thể bảo mật ứng dụng web hiệu quả nếu không có kế hoạch thực hiện. Đáng tiếc là nhiều công ty thường không có kế hoạch bài bản và cuối cùng không đạt được kết quả nào như kỳ vọng.

Hãy bàn bạc với đội bảo mật CNTT của mình để phát triển một kế hoạch bảo mật ứng dụng web chi tiết. Bản kế hoạch đó cần phác thảo được các mục tiêu của tổ chức, chẳng hạn như bạn muốn nâng cao mức độ tuân thủ chung của toàn công ty hoặc cần bảo vệ thương hiệu của mình trước những bê bối bảo mật.

Trong bản kế hoạch cũng cần có thứ tự ưu tiên những ứng dụng nào trước và cách kiểm tra bảo mật cho các ứng dụng đó. Cho dù kiểm thử thủ công, thông qua giải pháp đám mây, thông qua phần mềm trên trang web, thông qua nhà cung cấp dịch vụ được quản lý, hay thông qua một số phương tiện khác… thì cũng đều cần được hoạch định trước.

Dù bản kế hoạch hoặc checklist về bảo mật sẽ khác nhau tùy thuộc vào cơ sở hạ tầng của mỗi công ty, bạn có thể tham khảo Checklist 6 bước kiểm tra bảo mật web app của Synopsys để làm điểm bắt đầu.

Ngoài ra, nếu tổ chức đủ lớn, bản kế hoạch chi tiết của bạn cần nêu rõ tên các cá nhân trong tổ chức – những người sẽ tham gia duy trì liên tục các bước bảo mật ứng dụng web. Cuối cùng, hãy đảm bảo rằng bạn đã tính toán tất cả các chi phí mà tổ chức sẽ phải chi trả cho các hoạt động này.

Liệt kê tất cả ứng dụng web mà bạn sở hữu

Trên thực tế, hầu hết các tổ chức đều có nhiều ứng dụng giả mạo đang chạy ngầm và thường không nhận ra chúng cho đến khi gặp phải sự cố. Bạn sẽ không thể duy trì bảo mật cho ứng dụng web nếu không biết chính xác công ty mình đang sử dụng những ứng dụng nào.

Có bao nhiêu ứng dụng tất cả? Vị trí của chúng ở đâu? Việc thực hiện kiểm kê như vậy có thể khá tốn thời gian, nhưng nó mang lại rất nhiều lợi ích cho việc bảo mật về lâu dài.

Trong khi liệt kê lại các ứng dụng, hãy ghi lại mục đích của từng ứng dụng. Rất có thể sau khi kiểm kê xong xuôi bạn sẽ thấy nhiều ứng dụng dư thừa hoặc không còn cần thiết. Bản kiểm kê này sẽ có ích cho các bước sau đó nữa, vì vậy hãy dành đủ thời gian để làm và đảm bảo bạn nắm được từng ứng dụng một.

Sắp xếp thứ tự ưu tiên cho các ứng dụng web

Sau khi hoàn thành kiểm kê các ứng dụng web đang có, bước tiếp theo cần làm là sắp xếp chúng theo thứ tự ưu tiên.

Hãy sắp xếp các ứng dụng thành ba loại như sau:

  1. Cực kỳ quan trọng
  2. Quan trọng
  3. Trung bình

Các ứng dụng cực kỳ quan trọng chủ yếu là những ứng dụng phải đối mặt với những tác nhân bên ngoài và chứa thông tin khách hàng. Đây là những ứng dụng nên được quản lý trước, vì hacker có khả năng sẽ nhắm đến và khai thác chúng nhiều nhất.

Các ứng dụng quan trọng có thể là ứng dụng nội bộ hoặc bên ngoài và chứa một số thông tin nhạy cảm.

Các ứng dụng có mức độ ưu tiên trung bình là các ứng dụng ít tiếp xúc với những yếu tố bên ngoài nhiều hơn, nhưng cũng vẫn cần phải kiểm tra sau hai loại trên.

Bằng cách phân loại các ứng dụng như vậy, bạn có thể dành những bài kiểm thử bao quát cho các ứng dụng cực kỳ quan trọng và sử dụng các bài kiểm thử ít chuyên sâu hơn cho các ứng dụng ít quan trọng hơn. Điều này sẽ giúp bạn sử dụng hiệu quả nhất các tài nguyên của công ty và công việc cũng sẽ tiến triển nhanh hơn.

Sắp xếp thứ tự ưu tiên cho các lỗ hổng

Khi duyệt danh sách các ứng dụng web trước khi kiểm thử, bạn cần quyết định những lỗ hổng nào cần phải loại bỏ ngay và những lỗ hổng nào không đáng lo ngại.

Thực tế là hầu hết các ứng dụng web đều có nhiều rất nhiều lỗ hổng. Báo cáo an ninh website 2019 của CyStack đã phân tích hơn 9.000 website bị hack tại Việt Nam và phân loại theo nền tảng:

Thống kê số website bị hack theo nền tảng quản trị nội dung - Báo cáo an ninh website 2019 CyStack
Tỷ lệ phân bố các trang web bị nhiễm độc dựa trên nền tảng – Năm 2019

Tìm được tất cả các lỗ hổng trong tất cả các ứng dụng web là điều không thể mà cũng không nên tốn thời gian. Ngay cả sau khi phân loại các ứng dụng theo mức độ quan trọng, bạn cũng sẽ tốn kha khá thời gian để kiểm thử tất cả những ứng dụng đó. Nếu giới hạn chỉ kiểm tra các lỗ hổng mang tính đe dọa nghiêm trọng nhất, bạn sẽ tiết kiệm được rất nhiều thời gian và sẽ hoàn thành công việc nhanh hơn.

Việc xác định tập trung vào lỗ hổng nào phụ thuộc vào việc bạn đang sử dụng các ứng dụng nào. Bạn nên thực hiện một vài biện pháp bảo mật tiêu chuẩn (sẽ được nói rõ hơn ở phía dưới) tuy nhiên với một số lỗ hổng nhất định của ứng dụng thì cần phải nghiên cứu và phân tích sâu.

Hãy lưu ý rằng khi có kết quả kiểm thử, bạn có thể sẽ nhận ra rằng mình đã bỏ qua một số vấn đề nhất định. Đừng ngại tái kiểm thử để nhóm lại các lỗ hổng và tập trung vào các lỗ hổng vừa phát hiện thêm.

Sử dụng ít đặc quyền nhất có thể khi chạy ứng dụng

Ngay cả khi đã đánh giá và kiểm thử tất cả các ứng dụng web và loại bỏ các lỗ hổng nguy hiểm nhất, thì các rủi ro vẫn còn tồn tại.

Mỗi ứng dụng web có các đặc quyền cụ thể trên cả máy tính cục bộ và máy tính từ xa. Những đặc quyền này nên được điều chỉnh hợp lý để tăng cường bảo mật.

Lời khuyên là hãy sử dụng ít đặc quyền nhất cho tất cả các tài khoản, trên tất cả các ứng dụng của bạn.

Quản trị viên sẽ là người có quyền cao nhất, được phép thay đổi cài đặt hệ thống. Ngoài ra, tất cả những người dùng khác chỉ được phép thực hiện các tác vụ nằm trong phạm vi nhiệm vụ của họ.

Trường hợp hiếm khi xảy ra đó là các đặc quyền trong ứng dụng bị điều chỉnh không chính xác dẫn tới một số người dùng không thể truy cập các tính năng mà họ cần thì vẫn có thể xử lý sau được. Tốt hơn hết là trong tình huống này thì “cẩn tắc vô áy náy”.

Phương án phòng vệ tạm thời

Ngay cả khi bạn điều hành một startup nhỏ thì vẫn có thể mất vài tuần, thậm chí vài tháng để triển khai các giải pháp bảo mật cho ứng dụng web.

Trong thời gian đó, bạn hoàn toàn có thể thực hiện các biện pháp bảo vệ tạm thời để tránh sự cố đáng tiếc xảy ra. Dưới đây là một vài gợi ý dành cho bạn:

  1. Loại bỏ chức năng không an toàn: Nếu có một chức năng làm cho ứng dụng dễ bị tấn công hơn thì hãy xem xét loại bỏ tạm thời chức năng đó trong thời gian này.
  2. Sử dụng tường lửa ứng dụng web (WAF) để bảo vệ ứng dụng khỏi các lỗ hổng phiền toái.

WAF sẽ lọc và chặn lưu lượng HTTP không mong muốn vào ứng dụng web và giúp bảo vệ ứng dụng khỏi các cuộc tấn công XSS, SQL injection…

Trong suốt quá trình này, các ứng dụng web hiện tại cần phải được theo dõi liên tục để đảm bảo rằng chúng không bị xâm phạm bởi các bên thứ ba. Nếu công ty hoặc trang web của bạn bị tấn công trong thời gian này, hãy tìm ra điểm yếu và giải quyết trước khi tiếp tục công việc khác. Bạn nên tập thói quen ghi chép cẩn thận các lỗ hổng đó và cách xử lý chúng để có thể xử lý các sự cố trong tương lai với cách thức tương tự.

Một yếu tố khác mà nhiều tổ chức không nghĩ tới khi thực hiện các biện pháp về bảo mật ứng dụng web là sử dụng cookies. Cookies rất thuận tiện cho các doanh nghiệp và người dùng. Chúng cho phép trang web ghi nhớ người dùng đã truy cập để các lượt truy cập trong tương lai nhanh hơn và trong nhiều trường hợp là được cá nhân hóa nhiều hơn. Tuy nhiên, cookies cũng có thể bị hacker thao túng để đoạt quyền truy cập vào các khu vực được bảo vệ.

Chắc chắn chúng ta sẽ không thể dừng việc sử dụng cookies, vì chúng quá tiện lợi. Tuy nhiên bạn cần xem xét điều chỉnh cài đặt cookies để giảm thiểu rủi ro bị tấn công.

  1. Đầu tiên, không bao giờ sử dụng cookies để lưu trữ thông tin rất nhạy cảm hoặc quan trọng. Ví dụ: không sử dụng cookies để ghi nhớ mật khẩu của người dùng, vì điều này sẽ giúp hacker dễ dàng truy cập trái phép.
  2. Đặt ngày hết hạn cho cookies. Việc lưu trữ cookie vô thời hạn mang lại nhiều rủi ro hơn là lợi ích.
  3. Cuối cùng, hãy cân nhắc việc mã hóa thông tin được lưu trữ trong cookies mà bạn sử dụng.

Thực hiện các biện pháp bảo mật web sau đây

Ngoài những điều đã nêu bên trên, có một số đề xuất bảo mật ứng dụng web mà bạn có thể thực hiện ngay với tư cách là chủ sở hữu trang web hoặc doanh nghiệp:

  • Sử dụng HTTPS và chuyển hướng tất cả lưu lượng (traffic) HTTP sang HTTPS.
  • Hỗ trợ ngăn chặn các cuộc tấn công cross-site scripting bằng cách triển khai X-XSS header chống lại các cuộc tấn công XSS.
  • Thực hiện chính sách bảo mật nội dung.
  • Ngăn chặn sự tham gia của con người vào các cuộc tấn công xen giữa (MitM) bằng cách kích hoạt các khóa công khai (public key pin).
  • Áp dụng subresource integrity cho các phần tử