Khi sử dụng Amazon Web Services (AWS) để quản lý các máy chủ, bạn sẽ được cung cấp một chuỗi các kí tự, gọi là access key. Access key là điều kiện bắt buộc để bạn có thể truy cập vào các dịch vụ và máy chủ của mình trên AWS từ các phần mềm ứng dụng hay từ giao diện dòng lệnh. Nếu chỉ dùng giao diện đồ họa AWS Management Concole, bạn không cần tới access key. Bạn có thể xem access key này giống như là một mật khẩu truy cập, và mỗi tài khoản sẽ có một key riêng.
Một Access Key sẽ bao gồm hai chuỗi:
Access Key ID (ví dụ) YFTYUEFIOIUFYEGFWENFIE
Secret Access Key (ví dụ) gierhiugrgfreb/gferguYWGBOirhuguig
Vấn đề không có gì nghiêm trọng khi bạn cất giữ access key của mỗi tài khoản một cách cẩn thận và bảo mật. Tuy nhiên, có rất nhiều trường hợp nhân viên của các công ty thường để thông tin access key vào các thư mục dự án và vô tình đưa key lên các công cụ quản lý mã nguồn nhưng không hề hay biết. Trong số đó, Github dường như là công cụ dễ phơi bày nhất nếu lỡ có ai đó đăng tải access key do tính chất mở của các dự án trên mạng xã hội dành cho lập trình viên này.
Một khi key đã nằm trên Github, trừ khi bạn thiết lập cho dự án của mình ở dạng riêng tư (private), mọi file nằm trong dự án đều có thể được xem bởi bất kì ai. Đây chính là điều nguy hiểm nhất vì hacker có thể trộm được key và làm chuyện xấu và bạn sẽ phải là người trả tiền cho chuyện xấu đó!
Bản thân TRG International đã gặp một trường hợp như vậy vào những ngày đầu công ty bắt đầu làm việc với AWS. Một access key của công ty đã bị lộ trên Github dẫn đến việc tin tặc lén tạo thêm nhiều máy chủ ảo (instance) mới trên AWS và vận hành nó cho những mục đích riêng. Do các máy chủ mới được tạo ra ở những vùng quốc gia mà TRG không thường sử dụng nên việc phát hiện có phần chậm trễ, trong khi email cảnh báo từ Amazon lại không được quan tâm đúng mức.
Kết quả là, sau vài ngày lén vận hành máy chủ ảo, tin tặc đã khiến chi phí AWS của Amazon đội lên mức nhiều chục nghìn đô la. Ngay khi phát hiện sự cố, TRG đã nhanh chóng xóa hết tất cả những máy chủ ảo bị tạo lập trái phép, đồng thời đổi access key và thông báo ngay tới Amazon để được hỗ trợ thêm. Sau một thời gian hỗ trợ, Amazon đã giúp TRG khôi phục lại hệ thống về nguyên trạng, đồng thời gỡ bỏ khoảng chi phí phát sinh do các hoạt động của tin tặc. Tất nhiên, có thể tình huống của công ty bạn sẽ khác nên việc hỗ trợ từ Amazon cũng sẽ khác so với TRG.
Tóm lại, một vài chia sẻ với các bạn nếu công ty hay cá nhân bạn có sử dụng AWS:
- Không sử dụng tài khoản gốc (root) để tạo access key, thay vào đó hãy tạo những tài khoản con, giới hạn quyền truy cập cho những tài khoản này và chỉ thực hiện quản lý instance bằng tài khoản con.
- Hãy cất giữ access key vào AWS một cách cẩn thận.
- Không đưa access key lên các công cụ quản lý mã nguồn online có tính mở như Github
- Nếu có sự cố xảy ra, đảm bảo rằng bạn kiểm tra máy chủ ở tất cả các vùng (region) mà AWS cho phép, không chỉ kiểm tra ở các vùng mà bạn thường làm việc.
Đặt thông báo để AWS nhắn tin cảnh báo cho bạn khi mức độ sử dụng tăng cao bất thường, đồng thời phân loại riêng email từ AWS để dễ dàng quản lý.
**Nếu thông tin từ bài blog hữu ích với bạn, hãy đăng ký để nhận những bài blog mới của TRG (bên phải)