728x90
honeypot은 비정상적인 접근을 탐지하기 위해 의도적으로 설치해 둔 시스템을 의미합니다. 따라서 django-honeypot은 누군가 진짜 admin 사이트가 아닌 개발자가 설정해놓은 admin 사이트에 접근을 시도하였을 경우 해당 로그인 기록을 저장하는 기능을 합니다. 다음은 honeypot 설치 코드입니다.
pip install django-admin-honeypot
설치가 완료되면 settings.py에서 INSTALLED_APPS에 'admin_honeypot'을 추가해줍니다.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'admin_honeypot',
]
마찬가지로 settings.py에 urlpatterns에 다음과 같이 코드를 수정해줍니다. 수정 후에는 admin/으로 들어가서 로그인을 시도하면 해당 컴퓨터에 대한 정보가 ORM에 저장되게 됩니다. 이전과 같이 superuser로 로그인을 하려면 securelogin/로 이동하면 됩니다.
urlpatterns = [
path('admin/', include('admin_honeypot.urls', namespace='admin_honeypot')),
path('securelogin/', admin.site.urls),
]
위에 설명한 모든 것을 설정하였으면 아래와 같이 migrate를 진행해줍니다.
python manage.py migrate
migrate까지 완료한 후에 admin/ 경로로 로그인을 시도 후 django ORM에 저장된 데이터입니다.
path, user name, ip, session key, user agent의 정보들이 저장된 것을 확인할 수 있습니다.
728x90
'Python > Django' 카테고리의 다른 글
[Django] related_name은 뭐야? (0) | 2021.07.01 |
---|---|
[Django] Javasrcipt에서 ORM 정보 사용하기 (0) | 2021.06.29 |
[Django] decouple은 뭐야? (1) | 2021.06.25 |
[Django] pagination은 뭐야? (0) | 2021.06.24 |
[Django] smtpauthenticationerror 해결 (0) | 2021.06.23 |