개발자

장고 admin 페이지 보안

2024년 03월 03일조회 87

안녕하세요. 최근 장고를 공부중에 있는데 문득 admin 페이지의 보안이 안전한가에 대해 궁금증이 생겨 질문 드립니다. admin 계정을 만들 때 물론 아이디와 패스워드를 만들지만 이것만으로도 보안이 충분하다고 할 수 있나요?? 만약 누군가가 운 좋게 접속한다면 내부 DB 정보들을 볼 수 있을 텐데 어떻게 보안이 유지되나요? 예를 들어 무작위 대입 공격도 있을 수 있구요.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

인기 답변

포크코딩님의 프로필 사진

보안 관련한 문제는 두 가지로 나눠서 생각할 수 있습니다. 밖에서 오는 위협과 안에서 발생하는 위협입니다. 무작위 공격 같은 외부에서 오는 위협일 경우, 리버스 프록시나 클라우드 플레어 같은 도구들을 활용해 어느 정도 미연에 방지 가능합니다. 직접 구현하여 사용하신다면 특정 IP차단, MAC 주소를 통한 사용자 식별, 요청 큐를 통한 처리 등의 방법이 있겠습니다. 내부에서 발생하는 위협 같은 경우의 수가 너무 풍부합니다. 사실 창의적으로 나쁜 놈이나 멍청한 사람이 없기를 기도 하는게 원칙입니다. 그래도 일반적으로 지키는 지침은 존재합니다. 1. admin 페이지 클라이언트에 정보 노출을 최대한 줄이세요. 클라이언트에서 개발자 도구 등을 통해 알 수 있는 정보를 최대한 줄여야 합니다. 보통 난독화 등의 기술을 사용합니다. 2. 서버 내부 로직, sql을 추론할 수 있는 인터페이스 이름을 사용하지 마세요. 전부 그러기 쉽지 않지만 예민한 정보들에 한하여 이 지침을 적용할 수 있도록 노력해 보세요. 3. (http)요청 헤더를 엄격하게 다루세요. 프레임워크가 기본적으로 제공해 주는 요소들 위에 검증을 위한 헤더들을 사용하세요. 이 정도만 해도 어느 정도 위협에 대비할 수 있습니다. 사실 진짜 실력 있는 사람이 맘먹고 뚫으려고 하는 자들을 완전히 막을 길은 없습니다. 철저한 보안을 위해선 모니터링과 대응이 중요할거 같습니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 03월 03일

Django의 admin 페이지는 기본적으로 비밀번호 기반 인증을 사용하며, 이것이 누구나 접근할 수 있는 공개 웹사이트에서 관리자 도구를 제공하는 일반적인 방법입니다. 하지만 여러분께서 언급한대로, 이러한 기본적인 보안 조치만으로는 충분하지 않습니다. 왜냐하면 무작위 대입 공격(brute-force attack)이나 피싱(phishing) 등의 형식을 포함한 다양한 공격 유형에 취약하기 때문입니다. 다행히도 Django의 security middleware와 추가 설정 옵션들은 이런 위협들에 대해 좀 더 강력한 보호를 제공합니다. 예를 들어: 1. **HTTPS**: Django admin 인터페이스를 항상 HTTPS 프로토콜을 통해 서비스하는 것이 가장 좋습니다. django-secure라는 중간웨어가 이를 지원합니다. 2. **로그인 시도 제한**: 'django-axes'나 'django-defender' 같은 패키지를 사용하여 실패한 로그인 시도에 대해 제한을 둘 수 있습니다. 3. **Two-Factor Authentication**: Google Authenticator와 같은 OTP(One-Time Password) 앱을 사용하여 2단계 인증 프로세스를 구현함으로써 보안 수준을 높일 수 있습니다. 4. **Session Timeout**: 사용자의 세션이 일정 시간 동안 비활성화되면 자동으로 로그아웃되도록 설정할 수 있습니다. 이를 통해 접속이 끊긴 후에도 세션을 복구해 악용하는 것을 방지할 수 있습니다. 5. **IP Restriction**: IP 제한 기능을 이용하여 허용된 IP 주소만 관리자 페이지에 접근하게 할 수 있습니다. 6. **Django Admin Interface Customization**: Django admin url 변경, Django 관리자 인터페이스 커스터마이징 등을 활용해서 공격의 대상이 되는 것을 어렵게 만들 수 있습니다. 물론 이것들은 위협과 싸우는 몇 가지 전략일 뿐, 각 사이트와 애플리케이션의 요구사항에 따라 다른 추가 보안 조치가 필요할 수 있습니다. Django documentation은 앞서 언급된 사항 외에도 많은 보안 권장사항들을 제공합니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!