Skip to content

Commit c18dfbd

Browse files
authored
improve Vietnamese translation
1 parent e5e6cc6 commit c18dfbd

1 file changed

Lines changed: 25 additions & 25 deletions

File tree

README-vi.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,44 +7,44 @@ Những giải pháp an toàn và cách khắc phục khi thiết kế, kiểm t
77
---
88

99
## Xác thực (Authentication)
10-
- [ ] Không sử dụng `Basic Auth` Sử dụng giao thức xác thực tiêu chuẩn (chẳng hạn. [JWT](https://jwt.io/), [OAuth](https://oauth.net/)).
11-
- [ ] Không cung cấp các thông tin `Authentication`, `token generation`, `password storage`. Sử dụng các tiêu chuẩn.
10+
- [ ] Không sử dụng `Basic Auth`. Sử dụng giao thức xác thực tiêu chuẩn (chẳng hạn [JWT](https://jwt.io/) hay [OAuth](https://oauth.net/)).
11+
- [ ] Không tự thiết kế lại các giải pháp `Authentication`, `token generation`, `password storage`. Hãy sử dụng các giải pháp tiêu chuẩn.
1212
- [ ] Sử dụng `Max Retry` và chức năng Auto Block ở trang Login.
1313
- [ ] Mã hóa các dữ liệu nhạy cảm.
1414

1515
### JWT (JSON Web Token)
16-
- [ ] Sử dụng các mã ngẫu nhiên (`JWT Secret`) để tăng sự khó khăn của việc tấn công Brute Force.
17-
- [ ] Không loại bỏ các thuật toán từ tải trọng. Bắt buộc sử dụng thuật toán trong backend (`HS256` hoặc `RS256`).
18-
- [ ] Đặt thời hạn hết hạn token (`TTL`, `RTTL`) càng ngắn càng tốt.
16+
- [ ] Sử dụng khóa ngẫu nhiên (`JWT Secret`) để tăng sự khó khăn của việc tấn công Brute Force.
17+
- [ ] Không sử dụng các thuật toán có trong `Payload` của người dùng. Bắt buộc sử dụng thuật toán phía backend (`HS256` hoặc `RS256`).
18+
- [ ] Đặt thời hạn token (`TTL`, `RTTL`) càng ngắn càng tốt.
1919
- [ ] Không lưu các thông tin nhạy cảm trong JWT, nó có thể [dễ dàng](https://jwt.io/#debugger-io) được giải mã.
2020

2121
### OAuth Ủy quyền hoặc chứng thực giao thức
22-
- [ ] Luôn xác nhận `redirect_uri` server-side để chỉ cho phép các URL trong danh sách.
23-
- [ ] Luôn luôn cố gắng trao đổi mã và không phải là các tokens (không cho phép `response_type=token`).
24-
- [ ] Sử dụng tham số `state` cùng với bảng băm ngẫu nhiên để bảo vệ CSRF ở tiến trình xác thực OAuth.
25-
- [ ] Xác định phạm vi mặc định, và xác nhận các tham số phạm vi cho mỗi ứng dụng..
22+
- [ ] Luôn xác nhận `redirect_uri` phía server để chỉ cho phép redirect đến các URL tin cậy.
23+
- [ ] Ưu tiên sử dụng `response_type=code` thay vì `response_type=token`).
24+
- [ ] Sử dụng tham số `state` cùng một giá trị hash ngẫu nhiên để chống lại tấn công CSRF trong quá trình xác thực OAuth.
25+
- [ ] Định nghĩa phạm vi mặc định, và xác nhận các tham số phạm vi cho mỗi ứng dụng.
2626

2727
## Quyền
28-
- [ ] Giới hạn truy cập (Throttling) để phòng tránh các tấn công DDoS / brute-force.
28+
- [ ] Giới hạn request (Throttling) để phòng tránh các tấn công DDoS / brute-force.
2929
- [ ] Sử dụng giao thức HTTPS ở phía server để tránh MITM (Man In The Middle Attack).
30-
- [ ] Sử dụng tiêu đề `HSTS` với SSL để tránh tấn công SSL Strip.
30+
- [ ] Sử dụng `HSTS` header với SSL để tránh tấn công SSL Strip.
3131

3232
## Input
33-
- [ ] Sử dụng các phương thức HTTP phù hợp với từng phương thức: `GET (đọc)`, `POST (tạo mới)`, `PUT/PATCH (cập nhật/sửa)`, and `DELETE (để xóa bản ghi)`, và phản hồi với `405 Method Not Allowed` nếu yêu cầu không phù hợp với tài nguyên được yêu cầu.
33+
- [ ] Sử dụng các HTTP method phù hợp với từng hành động: `GET (đọc)`, `POST (tạo mới)`, `PUT/PATCH (cập nhật/sửa)`, `DELETE (để xóa bản ghi)`, và phản hồi `405 Method Not Allowed` nếu HTTP method không phù hợp với tài nguyên được request.
3434
- [ ] Xác nhận dữ liệu `content-type` ở mỗi tiêu đề (Content Negotiation) chỉ cho phép những định dạng được hỗ trợ (chẳng hạn như. `application/xml`, `application/json`, vv) và phản hồi `406 Not Acceptable` nếu không khớp.
35-
- [ ] Xác nhận dữ liệu `content-type` được chấp nhận khi gửi lên (chẳng hạn như. `application/x-www-form-urlencoded`, `multipart/form-data`, `application/json`, vv).
36-
- [ ] Xác nhận đầu vào dữ liệu người dùng để tránh các lỗ hổng phổ biến (chẳng hạn như. `XSS`, `SQL-Injection`, `Remote Code Execution`, vv).
37-
- [ ] Không sử dụng các dữ liệu nhạy cảm như (`credentials`, `Passwords`, `security tokens`, or `API keys`) tại URL, tuy nhiên có thể sử dụng header Authorization để xác thực.
38-
- [ ] Sử dụng các dịch vụ API Gateway để bật bộ nhớ cache, Rate Limit policies (chẳng hạng như. `Quota`, `Spike Arrest`, `Concurrent Rate Limit`) và deploy APIs resources linh động hơn.
35+
- [ ] Xác nhận dữ liệu `content-type` được chấp nhận khi gửi lên (chẳng hạn như. `application/x-www-form-urlencoded`, `multipart/form-data`, `application/json`...).
36+
- [ ] Kiểm tra dữ liệu truyền lên từ người dùng để tránh các lỗ hổng phổ biến (chẳng hạn như `XSS`, `SQL-Injection`, `Remote Code Execution`...).
37+
- [ ] Không sử dụng các dữ liệu nhạy cảm như (`credentials`, `Passwords`, `security tokens`, or `API keys`) tại URL, sử dụng header Authorization để xác thực.
38+
- [ ] Sử dụng API Gateway để kích hoạt cache, Rate Limit policies (chẳng hạng như. `Quota`, `Spike Arrest`, `Concurrent Rate Limit`) và deploy APIs resources linh động hơn.
3939

4040
## Processing
41-
- [ ] Kiểm tra các điểm đầu cuối đều được bảo vệ để tránh các tiến trình xác thực bị hỏng.
41+
- [ ] Đảm bảo rằng các endpoint chỉ xử lý dữ liệu sau khi đã qua bước xác thực
4242
- [ ] Nên tránh việc sử dụng ID của tài nguyên. Sử dụng `/me/orders` thay vì `/user/654321/orders`.
43-
- [ ] Không tự động tăng ID. Sử dụng UUID để thay thế.
44-
- [ ] Nếu bạn muốn phân tích các tập tin XML, hãy chắc chắn các phần tử không được bật để tránh `XXE` (XML tấn công thực thể từ bên ngoài).
45-
- [ ] Nếu bạn muốn phân tích các tập tin XML, đảm bảo việc mở rộng thực thể không được kích hoạt để tránh để tránh `Billion Laughs/XML bomb` qua việc tấn công.
43+
- [ ] Không nên thiết kế ID dạng tự động tăng. Sử dụng UUID để thay thế.
44+
- [ ] Nếu bạn muốn parse XML, hãy chắc chắn rằng `entity parsing` không được kích hoạt để tránh tấn công `XXE` (XML external entity attack).
45+
- [ ] Nếu bạn muốn parse XML, hãy chắc chắn rằng `entity expansion` không được kích hoạt để tránh tấn công `Billion Laughs/XML bomb`.
4646
- [ ] Sử dụng CDN để tải lên tệp tin.
47-
- [ ] Nếu bạn đang cần xử lý với lượng dữ liệu lớn, sử dụng các kỹ thuật Workers và Queues để xử lý tác vụ dưới nền càng nhiều càng tốt và giúp phản hồi nhanh để tránh bị chặn HTTP.
47+
- [ ] Nếu bạn đang cần xử lý với lượng dữ liệu lớn, sử dụng các kỹ thuật Workers và Queues để xử lý tác vụ dưới nền càng nhiều càng tốt và giúp phản hồi nhanh để tránh bị timeout HTTP.
4848
- [ ] Đừng quên tắt chế độ DEBUG.
4949

5050
## Output
@@ -53,14 +53,14 @@ Những giải pháp an toàn và cách khắc phục khi thiết kế, kiểm t
5353
- [ ] Thêm `Content-Security-Policy: default-src 'none'` vào response headers.
5454
- [ ] Loại bỏ các header chứa thông tin nhạy cảm như phiên bản web server, ví dụ: `X-Powered-By`, `Server`, `X-AspNet-Version`, v.v...
5555
- [ ] Bắt buộc có `content-type` trong response headers, nếu bạn trả về `application/json` thì header `content-type` sẽ có giá trị `application/json`.
56-
- [ ] Không gửi các thông tin nhạy cảm như `credentials`, `Passwords`, `security tokens`.
57-
- [ ] Trả về status code tương ứng với hành động đã hoàn thành. (chẳng hạn. `200 OK`, `400 Bad Request`, `401 Unauthorized`, 405 `Method Not Allowed`, v.v...).
56+
- [ ] Không trả về client các thông tin nhạy cảm như `credentials`, `Passwords`, `security tokens`.
57+
- [ ] Trả về status code tương ứng với hành động đã hoàn thành. (chẳng hạn. `200 OK`, `400 Bad Request`, `401 Unauthorized`, `405 Method Not Allowed`...).
5858

5959
## CI & CD ( Tích hợp và triển khai liên tục)
6060
- [ ] Kiểm tra thiết kế và thực hiện đầy đủ việc test với unit/integration.
6161
- [ ] Áp dụng quy trình đánh giá code và bỏ qua việc tự phê duyệt.
62-
- [ ] Đảm bảo các thành phần của dịch vụ được duyệt với phần mềm AV trước khi được đẩy lên bản chính, bao gồm các thư viện và các sự phụ thuộc khác.
63-
- [ ] Thiết kế một giải pháp rollback (quản lý dữ liệu) cho việc triển khai.
62+
- [ ] Đảm bảo các thành phần của dịch vụ được quét với các anti virus trước khi đưa ra phiên bản production, bao gồm các thư viện và các gói khác.
63+
- [ ] Thiết kế một giải pháp rollback cho việc triển khai.
6464

6565

6666
---

0 commit comments

Comments
 (0)