Lộ trình B?o m?t API

Hướng dẫn từng bước để trở thành một nhà phát triển Nhà phát triển B?o m?t API.

Quay lại trang chủ

Chú giải

Đề xuất
Lựa chọn thay thế
Tùy chọn

1 Xc th?c

Chung:
Trnh 'Xc th?c c? b?n', s? d?ng cc giao th?c tiu chu?n (v d?: JWT, OAuth).
??ng pht minh l?i bnh xe trong cc c? ch? xc th?c.
S? d?ng 'Th? l?i t?i ?a' v tnh n?ng kha trong ??ng nh?p.
S? d?ng m ha trn t?t c? d? li?u nh?y c?m.
JWT (JSON Web Token):
S? d?ng 'JWT Secret' t?t ?? gy kh kh?n cho cc cu?c t?n cng brute force.
Khng trch xu?t thu?t ton t? header; s? d?ng backend.
??t th?i gian h?t h?n token (TTL, RTTL) cng ng?n cng t?t.
Trnh l?u tr? d? li?u nh?y c?m trong payload c?a JWT.
Gi? payload nh? ?? gi?m kch th??c c?a token JWT.
OAuth:
Lun xc th?c 'redirect_uri' ? pha my ch?.
Trnh 'response_type=token' v c? g?ng ??i l?y code.
S? d?ng tham s? 'state' ?? ng?n ch?n cc cu?c t?n cng CSRF.
C m?t scope m?c ??nh v xc th?c scope cho m?i ?ng d?ng.

2 Ki?m sot truy c?p

Gi?i h?n yu c?u (throttling) ?? trnh cc cu?c t?n cng DDoS / Brute Force.
S? d?ng HTTPS ? pha my ch? v cc b? m ha an ton.
S? d?ng header HSTS v?i SSL ?? trnh cc cu?c t?n cng SSL Strip.
T?t li?t k th? m?c.
API ring t? ch? nn ???c truy c?p t? cc IP trong danh sch tr?ng.

3 ??u vo & X? l

Xc th?c ??u vo:
S? d?ng cc ph??ng th?c HTTP ph h?p cho ho?t ??ng (GET, POST, PUT, DELETE).
Xc th?c 'content-type' trn header c?a yu c?u.
Xc th?c ??u vo c?a ng??i dng ?? trnh cc l? h?ng ph? bi?n (v d?: XSS, SQLi).
S? d?ng header Authorization tiu chu?n cho d? li?u nh?y c?m.
S? d?ng d?ch v? API Gateway ?? b?t b? nh? ??m v gi?i h?n t?c ??.
X? l & ??u ra:
Ch? s? d?ng m ha pha my ch?.
?u tin s? d?ng UUID h?n l ID t? t?ng trong URL ti nguyn.
T?t phn tch th?c th? n?u b?n ?ang phn tch XML ?? trnh cc cu?c t?n cng XXE.
S? d?ng CDN ?? t?i t?p ln.
T?t ch? ?? g? l?i trong mi tr??ng s?n xu?t.
G?i header 'X-Content-Type-Options: nosniff'.
G?i header 'X-Frame-Options: deny'.
G?i header 'Content-Security-Policy: default-src 'none''.
Xa cc header nh?n d?ng (v d?: X-Powered-By).
B?t bu?c 'content-type' cho ph?n h?i c?a b?n.
Trnh tr? v? d? li?u nh?y c?m (thng tin xc th?c, token b?o m?t, v.v.).
Tr? v? m ph?n h?i ph h?p theo ho?t ??ng.

4 CI & CD

Ki?m tra thi?t k? v tri?n khai c?a b?n b?ng cc bi ki?m tra ??n v?/tch h?p.
S? d?ng quy trnh xem xt m v khng ch?p nh?n t? ph duy?t.
Lin t?c ch?y phn tch b?o m?t trn m c?a b?n.
Ki?m tra cc ph? thu?c c?a b?n ?? tm cc l? h?ng ? bi?t.
Thi?t k? m?t gi?i php khi ph?c cho cc l?n tri?n khai.

5 Gim st

S? d?ng ??ng nh?p t?p trung cho t?t c? cc d?ch v? v thnh ph?n.
S? d?ng cc tc nhn ?? gim st t?t c? cc yu c?u, ph?n h?i v l?i.
S? d?ng c?nh bo cho SMS, Slack, Email, Kibana, Cloudwatch, v.v.
??m b?o r?ng b?n khng ghi nh?t k b?t k? d? li?u nh?y c?m no.
S? d?ng h? th?ng IDS v/ho?c IPS ?? gim st m?i th?.