+3

Vứt Điện Thoại Sang Một Bên: Giữ Trọn "Flow" Cùng Authenticator Extension

Hãy tưởng tượng kịch bản này (mình cá là ngày nào bạn cũng gặp): Bạn đang trong trạng thái "nhập thần", ngón tay lướt trên bàn phím như múa. Bạn cần SSH vào server Production để check gấp một cái log, hoặc cần login vào AWS Console để config lại cái S3.

Màn hình hiện lên dòng chữ lạnh lùng: "MFA code required".

Nhịp gõ phím của bạn khựng lại. Bạn bắt đầu đưa mắt tìm cái điện thoại đang vứt lăn lóc đâu đó trên bàn. Cầm điện thoại lên -> Mở khóa FaceID -> Vuốt tìm app Google Authenticator -> Chờ load -> Cố gắng ghi nhớ 6 con số đang nhấp nháy đỏ chót -> Bỏ điện thoại xuống -> Gõ lại lên bàn phím.

Chưa kể, lúc bạn cầm điện thoại lên, có tin nhắn Messenger hiện ra, bạn lỡ tay bấm vào... và thế là trạng thái "Flow" (dòng chảy tập trung) của bạn chính thức tan vỡ.

Một Vibe Coder không cho phép những thao tác vật lý thừa thãi cắt ngang luồng suy nghĩ của mình. Giải pháp ở đây không phải là tắt 2FA (tuyệt đối không!), mà là mang 2FA lên thẳng trình duyệt.

1. Bản chất của 2FA: Không nhất thiết phải nằm trên điện thoại

Rất nhiều anh em lầm tưởng rằng mã 6 số 2FA (công nghệ TOTP - Time-Based One-Time Password) bắt buộc phải sinh ra từ một cái App trên điện thoại.

Thực tế, lúc bạn quét mã QR để cài 2FA, cái mã QR đó chỉ chứa một chuỗi ký tự bí mật (Secret Key). App trên điện thoại dùng Secret Key đó kết hợp với Thời gian hiện tại để đẻ ra 6 con số.

Vậy thì, tại sao Trình duyệt (Chrome/Edge/Firefox) của chúng ta không tự làm việc đó luôn? Đó là lúc Authenticator Extension (cái tiện ích có icon hình mã QR) xuất hiện như một đấng cứu thế.

2. Sức mạnh của Authenticator Extension

Chỉ cần cài tiện ích Authenticator (Mã nguồn mở) vào trình duyệt, cuộc đời dev của bạn sẽ rẽ sang một trang mới, nhàn hạ và "chill" hơn rất nhiều:

  • Tốc độ ánh sáng: Khi màn hình hiện yêu cầu nhập mã 2FA, tay bạn KHÔNG CẦN RỜI KHỎI CHUỘT. Chỉ việc click vào icon Authenticator trên thanh công cụ -> Click vào tài khoản cần lấy -> Mã 6 số TỰ ĐỘNG ĐƯỢC COPY vào clipboard.
  • Bạn chỉ việc Ctrl + V (hoặc Cmd + V). Mất đúng 2 giây. Xong!
  • Quét QR trực tiếp trên màn hình: Thay vì phải cầm điện thoại chĩa vào màn hình máy tính để quét mã, Extension này có công cụ "chụp màn hình" phần chứa mã QR và tự động giải mã cái Secret Key lưu vào luôn. Cực kỳ ảo diệu!
  • Backup (Sao lưu) an toàn: Hồi xưa xài Google Authenticator trên điện thoại, rớt mất điện thoại là coi như mất trắng quyền truy cập, khóc ròng đi xin reset. Với Extension này, bạn có thể Export toàn bộ Secret Key ra một file mã hóa, lưu lên Google Drive. Đổi máy tính mới? Import vào là chạy tiếp.

3. Đánh đổi bảo mật (Trade-offs): Có an toàn không?

Sẽ có những chuyên gia bảo mật nhảy vào và nói: "Lưu mật khẩu và 2FA trên CÙNG một thiết bị (máy tính) thì gọi gì là 2FA nữa? Nếu máy tính bị hack thì mất cả chì lẫn chài!"

Họ nói đúng. Nguyên tắc của 2FA là "Một thứ bạn biết (Password)" và "Một thứ bạn sở hữu (Điện thoại)". Gom chung lại thì rủi ro sẽ tăng lên.

Nhưng Vibe Coder là người biết cân bằng giữa Bảo mật và Tiện lợi. Để an toàn tối đa khi xài Extension này, bạn phải tuân thủ 2 nguyên tắc thép:

  1. Chỉ cài trên máy tính làm việc cá nhân. Tuyệt đối không cài và import 2FA lên máy tính công cộng, máy tính ở quán net hay máy mượn của người khác.
  2. Bật Master Password (Mật khẩu cấp cao). Extension Authenticator có tính năng khóa bằng mật khẩu. Khi bạn tắt trình duyệt bật lại, bạn phải nhập đúng mật khẩu này thì nó mới hiện mã 2FA ra. Hãy bật nó lên! Máy tính có bị hack, hacker cũng không lấy được Secret Key của bạn.

Lời kết

Việc tối ưu năng suất đôi khi không đến từ việc bạn gõ code nhanh bao nhiêu, mà đến từ việc bạn loại bỏ được bao nhiêu "việc vặt" ra khỏi quy trình của mình. Vứt điện thoại sang một bên, cắm mắt vào màn hình và giữ trọn vẹn cái "vibe" của những dòng code. Hãy cài thử Authenticator Extension, bạn sẽ tự hỏi: "Tại sao mình không xài cái này sớm hơn nhỉ?".

Chủ đề tiếp theo: Quản Lý Bí Mật - Khi .env Cũng Không Còn An Toàn

Chúng ta vừa bàn về Secret Key của 2FA cho tài khoản cá nhân. Vậy còn Secret của dự án thì sao? Password của Database, API Key của Stripe, Secret Token của JWT... bạn lưu ở đâu?

"Thì lưu trong file .env chứ đâu!" - 99% lập trình viên sẽ trả lời như vậy. Nhưng bạn có biết, chỉ cần một con thư viện NPM độc hại (malicious package) lọt vào dự án, nó có thể âm thầm đọc sạch file .env của bạn và gửi về server của Hacker chỉ trong 1 tích tắc?

Khi hệ thống lớn lên, file .env nằm tênh hênh trên ổ cứng server đã trở thành một quả bom nổ chậm. Ở bài viết tới, chúng ta sẽ đàm đạo về Secret Management (Quản lý bí mật) với các vũ khí hạng nặng như AWS Secrets Manager hoặc Doppler. Đừng để dự án bay màu chỉ vì một phút lơ là nhé! Đón đọc phần sau!


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.