특히 인증 / 액세스 관점에서 웹 사이트의 관리 섹션을 보호하기 위해 사람들이 모범 사례를 고려하는 것이 무엇인지 알고 싶습니다.
물론 SSL을 사용하고 모든 액세스를 로깅하는 것과 같은 명백한 것들이 있지만, 사람들이 기준을 설정한다고 생각하는 이러한 기본 단계 바로 위의 위치가 궁금합니다.
예를 들면 :
- 일반 사용자에게 사용하는 것과 동일한 인증 메커니즘에 의존하고 있습니까? 그렇지 않다면 무엇입니까?
- 동일한 '애플리케이션 도메인'에서 관리 섹션을 실행하고 있습니까?
- 관리 섹션을 발견하지 못하도록하기 위해 어떤 단계를 수행합니까? (또는 '모호함'전체를 거부합니까?)
지금까지 답변자의 제안은 다음과 같습니다.
- 무차별 대입 공격을 방지하기 위해 각 관리자 암호 확인에 인위적인 서버 측 일시 중지를 도입합니다. [개발자 아트]
- 동일한 DB 테이블을 사용하여 사용자 및 관리자에 대해 별도의 로그인 페이지 사용 (관리 영역에 대한 액세스 권한을 부여하는 XSRF 및 세션 탈취 중지) [Thief Master]
- 또한 관리 영역에 웹 서버 네이티브 인증을 추가하는 것도 고려해보십시오 (예 : .htaccess를 통해) [Thief Master]
- 여러 번의 관리자 로그인 시도 실패 후 사용자 IP 차단 고려 [Thief Master]
- 관리자 로그인 시도 실패 후 보안 문자 추가 [도용자]
- 사용자와 관리자에게 똑같이 강력한 메커니즘 (위의 기술 사용)을 제공합니다 (예 : 관리자를 특별히 대하지 않음) [Lo'oris]
- 2 단계 인증 고려 (예 : 클라이언트 인증서, 스마트 카드, 카드 공간 등) [JoeGeeky]
- 신뢰할 수있는 IP / 도메인에서만 액세스를 허용하고 가능하면 기본 HTTP 파이프 라인 (예 : HttpModules를 통해)에 검사를 추가하십시오. [JoeGeeky]
- [ASP.NET] IPrincipal 및 Principal 잠그기 (불변 및 열거 불가능하게 만들기) [JoeGeeky]
- 권한 상승 연합-예를 들어 관리자의 권한이 업그레이드되면 다른 관리자에게 이메일을 보냅니다. [JoeGeeky]
- 관리자를위한 세분화 된 권한 고려-예를 들어 역할 기반 권한보다는 관리자 별 표시 작업에 대한 권한 정의 [JoeGeeky]
- 관리자 생성 제한-예를 들어 관리자는 다른 관리자 계정을 변경하거나 생성 할 수 없습니다. 이를 위해 잠긴 'superadmin'클라이언트를 사용하십시오. [JoeGeeky]
- 클라이언트 측 SSL 인증서 또는 RSA 유형 keyfob (전자 토큰) 고려 [Daniel Papasian]
- 인증을 위해 쿠키를 사용하는 경우 관리 페이지와 일반 페이지에 대해 별도의 쿠키를 사용하십시오 (예 : 다른 도메인에 관리 섹션을 배치). [다니엘 파파 시아]
- 가능하다면 관리 사이트를 공용 인터넷이 아닌 사설 서브넷에 유지하는 것이 좋습니다. [존 하트 삭]
- 웹 사이트의 관리자 / 정상 사용 컨텍스트간에 이동할 때 인증 / 세션 티켓 재발급 [Richard JP Le Guen]