Tuần trước chúng tôi đã viết về tuần đầu tiên của cảm biến trên digimasi.com: 1.744 yêu cầu từ bot, 2/3 trong số đó đi tìm tệp .env. Giờ thì tuần thứ hai đã ghi xong, từ thứ Hai 19 đến Chủ nhật 25 tháng 10. Số yêu cầu gần như không đổi, nhưng số bot ghé đến nhiều hơn hẳn, và thứ chúng tìm đang bắt đầu thay đổi.
Con số
- 1.809 yêu cầu từ 137 địa chỉ IP, ghi nhận từ 0:00 ngày 19 tháng 10 đến hết ngày 25 tháng 10, giờ Jakarta.
- Các địa chỉ đó được đăng ký ở 30 quốc gia. Đó là nơi đặt máy chủ, chưa chắc là nơi của người đứng sau.
- Mạng lớn nhất gửi khoảng 1/3 số yêu cầu (612), nhưng từ 28 địa chỉ khác nhau. Tuần trước, gần một nửa số yêu cầu chỉ đến từ 3 địa chỉ.
- 16 yêu cầu mang theo tên đăng nhập hoặc mật khẩu đoán mò, gửi tới những trang đăng nhập vốn không tồn tại.
Không yêu cầu nào thành công. Các tệp chúng tìm không hề có trên website của chúng tôi, nên mọi yêu cầu đều nhận trang "không tìm thấy".
So với tuần đầu tiên
- Số yêu cầu gần như bằng nhau, số địa chỉ tăng một nửa: từ 1.744 lên 1.809 yêu cầu, nhưng địa chỉ IP tăng từ 91 lên 137. Trung bình mỗi địa chỉ gửi khoảng 13 yêu cầu, giảm từ khoảng 19.
- .env vẫn đứng đầu, nhưng tỷ lệ giảm: từ 1.141 (gần 2/3) xuống 936 yêu cầu, khoảng một nửa. Số địa chỉ tìm nó lại tăng, từ 39 lên 50.
- WordPress tăng gấp đôi: từ 197 lên 395 yêu cầu, và từ 50 lên 72 địa chỉ.
- Thư mục .git cũng tăng gấp đôi: từ 76 lên 150 yêu cầu, và từ 20 lên 42 địa chỉ. /.git/config giờ là đường dẫn bị yêu cầu nhiều thứ hai (52 lần, từ 34 địa chỉ).
- Tệp PHP giảm: từ 198 xuống 112 yêu cầu.
Vậy tuần này không phải bot chăm chỉ hơn, mà là bot đông hơn. Nhiều địa chỉ ghé qua hơn, mỗi địa chỉ gửi ít yêu cầu hơn.
Chúng tìm gì
- Tệp cấu hình bí mật .env (936 yêu cầu, 50 địa chỉ). Tám trong mười đường dẫn bị yêu cầu nhiều nhất là biến thể của .env: /.env (62), /.env.local (34), /.env.backup (30), /.env.production (28), /.env.development (26), /.env.old (26), /.env.example (25) và /.env.save (24). Bot đoán những cái tên mà lập trình viên hay đặt cho bản sao hoặc phiên bản khác của tệp này.
- WordPress (395 yêu cầu, 72 địa chỉ). Trong đó có /xmlrpc.php (28 yêu cầu từ 21 địa chỉ), lối vào thường bị dùng để đoán mật khẩu. Website của chúng tôi không dùng WordPress.
- Thư mục lịch sử mã nguồn .git (150 yêu cầu, 42 địa chỉ).
- Tệp PHP (112 yêu cầu). Website của chúng tôi cũng không dùng PHP.
- Các tệp cấu hình khác (100 yêu cầu).
- Khóa cloud và máy chủ (55 yêu cầu, 20 địa chỉ).
- Tệp sao lưu (36 yêu cầu, 6 địa chỉ). Nhóm này lần đầu xuất hiện trong tuần: đoán tên các tệp nén và bản xuất cơ sở dữ liệu.
- Trang quản trị (24 yêu cầu) và đường dẫn riêng của một số framework (1).
Đáng chú ý: phân tán hơn
Tuần trước, một mạng (Virtualine Technologies) gửi 846 yêu cầu chỉ từ 3 địa chỉ, gần một nửa tổng số. Tuần này mạng đó giảm còn 325 yêu cầu từ 5 địa chỉ. Vị trí đầu giờ là Google LLC: 612 yêu cầu, nhưng từ 28 địa chỉ. Tiếp theo là TECHOFF SRV LIMITED (273 từ 11 địa chỉ), TC DATACENTER (185 từ 8 địa chỉ) và DigitalOcean (77 từ 24 địa chỉ). Tên mạng ở đây là chủ sở hữu dải địa chỉ, thường là nhà cung cấp máy chủ hoặc cloud. Ai thuê máy chủ ở đó cũng có thể dùng, nên không có nghĩa là chính công ty đó gửi các yêu cầu.
Các quốc gia cũng đồng đều hơn. Đức vẫn đứng đầu (376 yêu cầu), nhưng thấp hơn nhiều so với 950 của tuần trước. Hà Lan (347), Mỹ (270, từ 30 địa chỉ), Bỉ (238) và Ba Lan (185) theo sau, còn Ý (100) và Nhật Bản (59) lọt vào top mười.
Về các lần đoán đăng nhập
Có 16 lần đoán đăng nhập, bằng tuần trước, nhưng hai con số này không so sánh trực tiếp được. Từ tuần này, chúng tôi không còn tính pingback của WordPress là lần đoán đăng nhập, vì chúng mang địa chỉ web chứ không phải tên đăng nhập và mật khẩu. Vậy cả 16 lần tuần này đều là những lần thử đăng nhập thật. Giống tuần trước, không lần nào dùng tên đăng nhập phổ biến như "admin", nên danh sách tên đăng nhập trong ghi nhận hằng tuần vẫn trống.
Tự kiểm tra website của bạn
Bạn có thể tự kiểm tra tất cả trong năm phút, trên chính website của mình:
- Mở yourdomain.com/.env trên trình duyệt. Kết quả đúng là "không tìm thấy". Nếu thấy nội dung tệp, hãy chuyển tệp ra khỏi thư mục công khai ngay, rồi đổi mọi mật khẩu và khóa có trong đó.
- Thử cả các biến thể: /.env.local, /.env.backup, /.env.production, /.env.example. Ngay cả tệp mẫu đôi khi cũng chứa khóa thật.
- Mở yourdomain.com/.git/config. Kết quả cũng phải là "không tìm thấy". Nếu hiện ra chữ, thư mục .git của bạn ai cũng mở được, kéo theo cả lịch sử mã của website.
- Đừng để tệp sao lưu (.zip, .sql, .tar.gz) trong thư mục website. Hãy lưu ở nơi không thể truy cập từ internet.
- Nếu dùng WordPress: tắt xmlrpc.php nếu không dùng đến, giới hạn số lần đăng nhập, và bật xác minh hai bước cho tài khoản quản trị. Tuần này có 72 địa chỉ khác nhau thử WordPress trên website của chúng tôi, dù chúng tôi hoàn toàn không dùng nó.
Về dữ liệu này
Chúng tôi chỉ quan sát. Toàn bộ dữ liệu đến từ những bot tự tìm đến digimasi.com; chúng tôi không bao giờ quét website của người khác và không hiển thị địa chỉ IP ở đây. Những địa chỉ rõ ràng đang tấn công sẽ được báo cáo cho AbuseIPDB. Cách làm đầy đủ có ở trang phương pháp, và số liệu từng tuần có ở trang ghi nhận hằng tuần.
Dữ liệu: Nghiên cứu bảo mật của Digimasi, ghi nhận hằng tuần của cảm biến (https://doi.org/10.5281/zenodo.23655270).
Chúng tôi sẽ tiếp tục ghi nhận và so sánh kết quả qua từng tuần.