사이트 보안

사이트 보안을 위해 할 수 있는 것은 많이 있습니다. 이 문서는 더 유용한 정보를 제공하는 다른 문서의 링크를 포함한 여러 가지 제안 사항을 제공합니다.

참고 : 이 문서는 작성 중에 있어 완성되지 않았으며, 문서의 제안 사항을 따르더라도 사이트가 완전히 안전하다는 보장은 없습니다.

사용자 정보 보안

양식 자동 완성을 끄는 법

Gecko는 양식 필드의 자동 완성을 지원합니다. 즉, 양식의 값을 기억하고 있다가 다음에 사이트를 방문할 때 자동으로 불러올 수 있습니다. 특정 데이터 유형의 경우, 이 기능을 비활성화할 수 있습니다.

사생활과 :visited 선택자

이 문서에서는 악의적인 사이트가 사용자의 검색 기록을 파악하는 기능을 제거하는 getComputedStyle() 메서드의 변경 사항에 대해 설명합니다.

보안 알고리즘을 이용한 해쉬 암호 (OWASP)

암호를 일반 텍스트로 저장하면 공격자가 사이트 사용자의 정확한 암호를 알고 유출하여 잠재적으로 사용자를 위험에 빠뜨릴 수 있습니다. 오래되었거나 안전하지 않은 해쉬 알고리즘(예: md5)을 사용하는 경우에도 동일한 문제가 발생할 수 있습니다. 메시지 다이제스트 알고리즘(예: md5와 sha) 대신 암호별 해쉬 알고리즘(예: Argon2, PBKDF2, scrypt 또는 bcrypt)을 사용해야 합니다. 이 문서는 암호를 저장 사용할 때 사용할 모범 사례를 보여줍니다.

콘텐츠 보안

서버 MIME 유형을 올바르게 구성하기

잘못된 MIME 유형이 사이트에 잠재적인 보안 문제를 일으킬 수 있는 몇 가지 상황이 있습니다. 이 문서는 그 중 일부를 설명하고 올바른 MIME 유형으로 파일을 제공하도록 서버를 구성하는 방법을 보여줍니다.

HTTP Strict Transport Security

Strict-Transport-Security: HTTP 헤더를 사용하면 웹사이트를 HTTPS를 통해서만 접근할 수 있음을 지정할 수 있습니다.

HTTP 접근 제어

Cross-Origin Resource Sharing 표준은 다른 도메인에서 로드할 수 있는 콘텐츠를 지정하는 방법을 제공합니다. 이를 사용하여 사이트가 부적절하게 사용되는 것을 방지할 수 있습니다. 또한 이를 사용하여 다른 사이트에서 사용하도록 명시적으로 허용된 리소스를 설정할 수 있습니다.

콘텐츠 보안 정책

교차 사이트 스크립팅(XSS)과 데이터 삽입 공격을 포함한 특정 유형의 공격을 감지하고 완화하는 데 도움이 되는 추가 보안 계층입니다. 이러한 공격은 데이터 도용부터 사이트 손상 또는 맬웨어 배포까지, 모든 곳에 사용됩니다. 코드는 피해자에 의해 실행되며 공격자는 접근 제어를 우회하고 사용자를 가장할 수 있습니다.

X-Frame-Options 응답 헤더

X-Frame-Options: HTTP 응답 헤더는 브라우저가 <frame>에서 페이지를 렌더링하도록 허용해야 하는지의 여부를 나타내는 데 사용할 수 있습니다. 사이트는 이를 이용하여 콘텐츠가 다른 사이트에 포함되지 않도록 함으로써 클릭재킹 공격을 피할 수 있습니다.

웹사이트 구성을 통한 접근 제어

사이트를 보호하는 가장 좋은 방법입니다. 특정 IP를 무시하고, 웹사이트의 특정 영역에 대한 접근을 제한하고, 다른 파일을 보호하고, 이미지 핫링크로부터 보호하는 등의 작업을 할 수 있습니다. 예를 들어 .htaccess 파일은 Apache HTTP Server에서 호스팅되는 웹 사이트에 사용됩니다.

같이 보기