Fala Daniel, como vai?
Sua preocupação com Admin é muito relevante. Pensando nisso, existe uma biblioteca que implementa uma falsa tela de Admin, capturando informações como ip, nome de user e senha da tentativa de acesso, horário e outras informações.
Você pode conferir essa lib neste link.
Porém, como vamos acessar o Admin real da aplicação?
Observe esse trecho de código:
urlpatterns = [
path('admin/', include('admin_honeypot.urls', namespace='admin_honeypot')),
path('controle-geral/', admin.site.urls),
]
O caminho de acesso do Admin real da aplicação, não é /admin
e sim /controle-geral
. Esse caminho do /admin
leva para armadilha dessa lib que comentei acima.
Além disso, você pode incluir também uma autenticação via JWT. Para ler mais sobre isso, recomendo esse link.
Deu para sacar a ideia?
: )