ice rabbit programming

[보안] 계정 및 인증 관리 본문

Development/Secutiry

[보안] 계정 및 인증 관리

판교토끼 2021. 10. 5. 21:56

(아이패드에 필기가 있었는데, 아이패드가 충전하다가 망가지는 바람에 소실되어, 이후 글은 따로 저장해둔 요약본을 참고합니다.)


기본적으로 웹 서비스에는 '인증'이 들어가게 되고, 인증과 권한 관리를 위해 계정 관리가 들어간다. 로그인 프로세스는 암호화되지 않은 페이지에서 수행되지 않도록 해야 한다.

또한, 모든 인증 작업은 SSL 통신으로 이루어져야 하고, 모든 자격 증명은 해쉬(hash) 형태여야 한다. 인증 자체 만큼이나 방어나 관리도 중요한데, 가장 단순하고 많은 공격인 무작위 대입 공격 방지를 위해 로그인 시도 횟수 제한을 두고, 세션 쿠키 최신화 및 폐기 등의 관리 프로세스를 가진다.

탈취 방지도 중요한데, URL에 토큰과 같은 정보를 노출하지 않고, 자격 증명 등을 취약한 수단으로 주고받지 않는 것이 좋다.

정책적으로는 대부분의 웹사이트에서 널리 쓰이는 방식이 있다. 사용자가 비밀번호 변경 시에 기존 비밀번호를 알고 있는지 재확인하고, 세션 만료 기간 설정 및 자동 로그아웃, 사용자가 쉽게 접근 가능한 로그아웃 링크 노출 등이다.

계정이 탈취되면 사실상 막을 수 있는 방법이 극히 적기 때문에, 이를 관리하는 것이 상당히 중요하다고 볼 수 있다.

'Development > Secutiry' 카테고리의 다른 글

[보안] 중요 정보 노출  (2) 2022.03.05
[보안] 접근제어  (0) 2021.12.19
[보안] 쿠키 및 세션 관리  (0) 2021.03.24
[보안] 파일 업로드/다운로드 취약점  (0) 2021.01.17
[보안] XSS(사이트 간 스크립팅)  (0) 2020.05.01