보안은 웹 애플리테이션을 안전하게 운영하는 데 있어서 가장 기본이 되는 요소이며, 사용자의 신뢰를 얻기 위한 필수 조건이다.
사용자의 개인정보를 보호하고, 웹 애플리케이션의 신뢰성을 유지할 수 있다.
CRSF(Cross Site Request Forgery) 는 인증된 사용자가 의지와 무관하게 웹 애플리케이션에 특정 요청을 보내도록 유도하는 공격 행위를 말한다.
특정 웹사이트가 사용자의 웹 브라우저를 신용해서 발생하는 공격이다. 사용자가 로그인한 상태에서 공격자가 준비한 악의적인 요청을 서버에 전송하게 만든다. 이 과정에서 사용자는 자신도 모르는 사이에 공격자가 의도한 행위를 실행하게 된다. 예를 들면, 데이터 등록, 수정, 삭제 등이 있다.
사용자가 인증한 세션에서 웹 어플리케이션은 정상적인 요청과 비정상적인 요청을 구분하지 못하기 때문에 가능
Referrer 검증 : 백엔드에서 요청의 referrer를 확인하여 도메인이 일치하는지 검증하는 방법
Security Token(CSRF 토큰) 사용
: 서버에서 생성한 암호화된 token을 클라이언트에 전달하고,
이후 사용자는 매 요청마다 token을 함께 전송하며 서버와 요청의 정당성을 검증하는 방법
→ token을 재사용할 수 없도록 유효 시간을 설정하거나, 로그아웃시 세션 만료시키는 것도 좋은 방법이다.
중요한 기능을 사용할 때에는 사용자의 세션을 검증하고 재인증을 유도하는 것도 좋다.
SameSite 쿠키 속성 설정 : 쿠키가 다른 사이트의 요청에 의해 전송되지 않도록 제한하는 방법
CAPTCHA