Chúng ta sẽ tạo trang đăng nhập Django Admin giả (honeypot) bằng package bên thứ ba. Trang giả này sẽ chặn mọi cố gắng đăng nhập - dù đúng hay sai mật khẩu - và ghi lại địa chỉ IP của kẻ tấn công vào database.
Thiết lập cơ bản
Cấu hình urls và thêm app vào INSTALLED_APPS trong settings.py.
Ví dụ chi tiết
1. Cài đặt package
pip install django-admin-honeypot
2. Cấu hình settings.py
INSTALLED_APPS += ['admin_honeypot']
3. Cấu hình URLs dự án (urls.py)
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', include('admin_honeypot.urls', namespace='admin_honeypot')),
path('secret/', admin.site.urls),
]
Thay thế URL admin thật bằng honeypot, chuyển admin thật sang endpoint /secret/.
4. Chạy migration
python manage.py makemigrations python manage.py migrate
Lệnh này tạo bảng lưu trữ các lần thử đăng nhập với session ID.
Kết quả
Truy cập https://127.0.0.1/admin/ - bạn sẽ thấy trang đăng nhập giả. Dù nhập đúng hay sai, đều không đăng nhập được và mọi lần thử đều được ghi log.

Truy cập https://127.0.0.1/secret/ để đăng nhập admin thật.

Trong database, bạn sẽ có bảng ghi lại tất cả các lần tấn công với IP, username, password, timestamp.