Những tin đồn hot nhất trên Twitter

best leaks on twitter

Thực hành xác thực tốt nhất

API keys và tokens của bạn cần được bảo vệ cẩn thận. Những thông tin này liên quan trực tiếp đến ứng dụng phát triển của bạn và các tài khoản Twitter đã ủy quyền bạn thực hiện yêu cầu thay mặt. Nếu keys của bạn bị lộ, kẻ xấu có thể sử dụng chúng để thực hiện yêu cầu tới các endpoint của Twitter từ phía ứng dụng của bạn hoặc tài khoản đã ủy quyền, điều này có thể gây ra việc truy cập vượt quá giới hạn tốc độ, tiêu tốn số lượng truy cập đã thanh toán hoặc thậm chí đưa ứng dụng của bạn bị tạm ngừng.

Các mục tiêu sau đây bao gồm những thực hành tốt nhất mà bạn nên xem xét khi quản lý API keys và tokens của mình.

Tái tạo API keys và tokens

Nếu bạn tin rằng API keys của bạn đã bị lộ, bạn nên tái tạo chúng bằng cách làm theo các bước sau:

  1. Truy cập trang “Projects and Apps” trong trang quản lý phát triển của bạn.
  2. Nhấp vào biểu tượng “Keys and tokens” (🗝️) bên cạnh ứng dụng liên quan.
  3. Nhấp vào nút “Regenerate” bên cạnh các keys và tokens mà bạn muốn tái tạo.

Nếu bạn muốn tái tạo Access Tokens hoặc Bearer Tokens của mình thông qua chương trình, bạn có thể làm điều này bằng cách sử dụng các endpoint xác thực.

  • Nếu bạn muốn tái tạo Access Tokens, bạn phải vô hiệu hóa tokens của mình bằng cách sử dụng endpoint POST oauth/invalidate_token, sau đó tái tạo tokens của bạn bằng cách sử dụng quy trình 3-legged OAuth.
  • Nếu bạn muốn tái tạo Bearer Token, bạn phải vô hiệu hóa token của mình bằng cách sử dụng endpoint POST oauth2/invalidate_token, sau đó tái tạo token của bạn bằng cách sử dụng endpoint POST oauth2/token.

Tạo một tệp trung tâm cho các bí mật

Việc có một tệp như .ENV hoặc bất kỳ tệp .yaml nào để chứa các bí mật của bạn là một lựa chọn có thể hữu ích, nhưng hãy đảm bảo có một tệp .gitignore chắc chắn có thể ngăn bạn gửi nhầm chúng lên kho lưu trữ git.

Biến môi trường

Viết mã sử dụng các biến môi trường có thể hữu ích. Ví dụ, trong Python:

import os

consumer_key = os.environ.get("CONSUMER_KEY")
consumer_secret = os.environ.get("CONSUMER_SECRET")

Trong terminal của bạn, bạn có thể viết như sau:

export CONSUMER_KEY='xxxxxxxxxxxxxxxxxxx'
export 'CONSUMER_KEY'='xxxxxxxxxxxxxxxxxxxxxxx'

Mã nguồn và quản lý phiên bản

Lỗi bảo mật phổ biến nhất mà các nhà phát triển mắc phải là việc lưu API keys và tokens trong mã nguồn được lưu trữ phiên bản trên các hệ thống kiểm soát phiên bản như GitHub và BitBucket. Nhiều kho lưu trữ mã nguồn này có khả năng truy cập công khai. Lỗi này xảy ra thường xuyên đến mức có bot đào tiền từ API keys.

  • Sử dụng biến môi trường máy chủ. Bằng cách lưu trữ API keys trong biến môi trường, bạn có thể tránh việc đưa chúng vào mã nguồn và phiên bản. Điều này cũng cho phép bạn sử dụng các keys khác nhau cho các môi trường khác nhau một cách dễ dàng.
  • Sử dụng tệp cấu hình không được theo dõi bởi quản lý phiên bản. Thêm tên tệp vào tệp .gitignore của bạn để loại bỏ tệp khỏi việc theo dõi của quản lý phiên bản.
  • Nếu bạn loại bỏ API keys khỏi mã nguồn sau khi đã sử dụng quản lý phiên bản, API keys vẫn có thể truy cập thông qua các phiên bản trước của mã nguồn. Hãy tái tạo API keys của bạn, như mô tả trong phần sau.
Read more  Bảng xếp hạng series Love Live

Cơ sở dữ liệu

Nếu bạn cần lưu trữ access tokens của mình trong cơ sở dữ liệu, hãy giữ các điều sau trong đầu:

  • Hạn chế truy cập vào cơ sở dữ liệu sao cho access tokens chỉ có thể đọc được bởi chủ sở hữu của token.
  • Hạn chế quyền chỉnh sửa/viết vào bảng cơ sở dữ liệu cho access tokens – điều này nên được tự động hóa bằng hệ thống quản lý khóa.
  • Mã hóa access tokens trước khi lưu trữ trong các cơ sở dữ liệu.

Công cụ quản lý mật khẩu

Công cụ quản lý mật khẩu như 1password hay Last Pass có thể giúp bạn lưu trữ keys và tokens của mình một cách an toàn. Bạn nên tránh chia sẻ chúng trong các công cụ quản lý mật khẩu được sử dụng chung.

Lưu trữ web & cookies

Có hai loại lưu trữ web: LocalStorage và SessionStorage. Chúng đã được tạo ra để cải thiện việc sử dụng Cookies vì dung lượng lưu trữ web cao hơn nhiều so với lưu trữ cookie. Tuy nhiên, có những ưu và nhược điểm khác nhau cho từng tùy chọn lưu trữ này.

Lưu trữ web: LocalStorage

Bất cứ điều gì được lưu trữ trong lưu trữ web cục bộ là lâu dài. Điều này có nghĩa là dữ liệu sẽ tồn tại cho đến khi được xóa một cách rõ ràng. Tuy nhiên, bạn cần cẩn thận khi sử dụng LocalStorage, vì bất kỳ thay đổi/thêm mới dữ liệu nào sẽ có sẵn trong tất cả các lần truy cập sau này vào trang web tương ứng. Thông thường, chúng tôi không khuyến khích sử dụng LocalStorage, mặc dù có một số ngoại lệ. Nếu bạn quyết định sử dụng LocalStorage, điều quan trọng là nó hỗ trợ chính sách cùng nguồn gốc, vì vậy tất cả dữ liệu được lưu trữ ở đây chỉ có thể được truy cập qua cùng một nguồn gốc. Một lợi ích về hiệu suất khác của việc sử dụng LocalStorage là giảm lưu lượng giao thông client-server do dữ liệu không cần được gửi lại máy chủ cho mỗi yêu cầu HTTP.

Read more  Tokyo Ghoul Re Chapter 36: A Rollercoaster of Action and Twists

Lưu trữ web: SessionStorage

SessionStorage tương tự như LocalStorage, nhưng điểm khác biệt chính là SessionStorage không bền vững. Khi cửa sổ (hoặc tab, tùy thuộc vào trình duyệt bạn đang sử dụng) được sử dụng để viết vào SessionStorage bị đóng, dữ liệu sẽ bị mất. Điều này hữu ích trong việc hạn chế quyền truy cập vào token của bạn trong một phiên người dùng. Sử dụng SessionStorage thường được ưa chuộng hơn LocalStorage khi nghĩ từ quan điểm bảo mật. Như LocalStorage, những lợi ích của chính sách cùng nguồn gốc và giảm lưu lượng giao thông client-server cũng áp dụng cho SessionStorage.

Cookies

Cookies là cách truyền thống hơn để lưu trữ dữ liệu phiên. Bạn có thể thiết lập thời gian hết hạn cho mỗi cookie, cho phép dễ dàng thu hồi và hạn chế quyền truy cập. Tuy nhiên, lưu lượng giao thông client-server sẽ tăng khi sử dụng cookies, vì dữ liệu được gửi trở lại máy chủ cho mỗi yêu cầu HTTP. Nếu bạn quyết định sử dụng cookies, bạn cần bảo vệ chống lại hiện tượng thu giữ phiên. Mặc định, cookies được gửi dưới dạng văn bản thuần túy qua HTTP, điều này khiến nội dung của chúng dễ bị nghe trộm qua gói tin và/hoặc tấn công người giữ giữa khi kẻ tấn công có thể sửa đổi giao thông của bạn. Bạn luôn nên thực thi HTTPS để bảo vệ dữ liệu của mình khi truyền. Điều này cung cấp tính bảo mật, toàn vẹn (của dữ liệu) và xác thực. Tuy nhiên, nếu ứng dụng web của bạn có sẵn cả thông qua HTTP và HTTPS, bạn cũng sẽ muốn sử dụng cờ ‘Secure’ trên cookie. Điều này sẽ ngăn kẻ tấn công có thể gửi liên kết đến phiên bản HTTP của trang web của bạn cho người dùng và nghe trộm yêu cầu HTTP kết quả.

Một cách phòng vệ phụ khác chống lại việc thu giữ phiên khi sử dụng cookies là xác minh lại danh tính người dùng trước khi thực hiện bất kỳ hành động quan trọng nào. Một cờ nữa để cân nhắc để cải thiện bảo mật của cookies của bạn là cờ ‘HttpOnly’. Cờ này cho biết trình duyệt rằng cookie đang xét sẽ chỉ có thể truy cập từ máy chủ được chỉ định. Bất kỳ cố gắng nào của kịch bản phía client đều bị cấm bởi cờ này, do đó giúp bảo vệ khỏi hầu hết các cuộc tấn công kéo theo chéo (XSS).

Read more  Tsugu Tsugumomo Season 3: Ngày phát hành, Tóm tắt, Diễn viên, Đánh giá, Cốt truyện, Giới thiệu, Lịch phát sóng & Nơi xem?

Bước tiếp theo

  • Quản lý ứng dụng Twitter của bạn và cài đặt API keys và các thiết lập tương ứng trong trang quản lý phát triển của bạn.
  • Tìm hiểu thêm về bảo mật ứng dụng web:
    • Open Web Application Security Project (OWASP): Đây là một nguồn tài nguyên tốt để hiểu các khái niệm cơ bản về bảo mật ứng dụng web, bao gồm các lỗ hổng phổ biến, khai thác và các biện pháp bảo vệ tương ứng. OWASP là một dự án mã nguồn mở được đóng góp bởi cộng đồng an ninh thông tin trực tuyến. Tham khảo “OWASP Top 10” để tìm hiểu về các lỗ hổng phổ biến nhất bị khai thác trong ứng dụng web.
    • Dự án OWASP Webgoat: Một dự án nhỏ hơn trong dự án OWASP lớn hơn. Webgoat là một ứng dụng web không an toàn được thiết kế, phát triển và duy trì bởi cộng đồng OWASP. Nó nhằm mục đích giảng dạy các bài học về bảo mật ứng dụng web cho bất kỳ ai quan tâm. Đây là một nguồn tài nguyên thực tế hơn có thể cho phép người dùng học về các vấn đề bảo mật cụ thể và khai thác lỗ hổng thực tế trong ứng dụng được lưu trữ.
    • “24 Deadly Sins of Software Security: Lỗi lập trình và cách khắc phục” của M. Howard, D. Leblanc và J. Viega: Cuốn sách này bao gồm các chủ đề bảo mật (lỗ hổng, biện pháp phòng ngừa và khắc phục) ở quy mô lớn và tổng quan hơn. Tuy nhiên, phần về bảo mật ứng dụng web cũng cung cấp một số thông tin hữu ích về các lỗi phổ biến và cách khắc phục chúng, có thể là một nguồn tài nguyên bổ sung cho việc học tập về bảo mật ứng dụng web của bạn.

Fecomic – Nơi bạn tìm thấy những tin tức mới nhất về manga và anime. Ghé thăm trang web của chúng tôi tại đây.