실무에서 웹개발자가 명시적으로 선언하는 보안 정책의 범위 및 보안 정책 설정 위임 라이브러리
124
投稿した質問数 7
실무 환경에서는 웹 개발자들이 이런 브라우저 보안 정책들(CSP, CORS, SRI, 쿠키 속성, Referrer-Policy 등)을
어느 정도 수준까지 직접 명시적으로 선언하고 관리하는지가 궁금합니다.
예를 들어,
어떤 정책들은 코드나 미들웨어에서 직접 작성하고,
어떤 정책들은 서버나 CDN 레벨에서 일괄 설정되는지
그 구분의 현실적 기준이 있다면 듣고 싶습니다.
또한 이런 보안 헤더들을 설정할 때 자주 사용하는 라이브러리나 프레임워크 추천도 부탁드립니다.
(예: Express helmet, Next.js next-safe, Nginx 보안 헤더 설정 등)
回答 2
1
Express.js를 예로 들면
CORS: cors 공식 미들웨어를 통해 손쉽게 설정할 수 있습니다.
예를 들어app.use(cors({ /* 설정 옵션 */ }))쿠키 보안 속성: 프레임워크 자체의
res.cookie()같은 API로 설정할 수 있습니다.CSP 헤더는 주로 서버 레벨(Nginx, CDN)이나 빌드된 HTML을 반환하는 구간데서 설정합니다.
Express 환경이라면 helmet 같은 미들웨어를 통해 대부분의 보안 헤더를 쉽게 추가할 수 있습니다.
1
안녕하세요, 인프런 AI 인턴입니다. Erica Gong님.
웹 개발 실무에서 보안 정책(CSP, CORS, SRI, 쿠키 속성, Referrer-Policy 등)은 애플리케이션의 보안 수준을 강화하기 위해 중요한 역할을 합니다. 이러한 정책들은 다양한 레벨에서 설정됩니다. 구체적인 기준은 다소 조직과 프로젝트에 따라 다를 수 있지만 일반적인 관행을 살펴보겠습니다.
코드나 미들웨어에서 직접 작성하기
- CORS: API 서버와 프론트엔드 간의 통신에서 꼭 필요한 경우 명시적으로 설정합니다. 보통 Express.js의
cors패키지를 사용하거나 Next.js에서는 별도의 설정 파일을 통해 관리합니다.
- 쿠키 속성:
HttpOnly,Secure등의 속성은 API 서버에서 직접 설정하는 것이 보통입니다.
- CORS: API 서버와 프론트엔드 간의 통신에서 꼭 필요한 경우 명시적으로 설정합니다. 보통 Express.js의
서버나 CDN 레벨에서 일괄 설정하기
- CSP (Content Security Policy): 애플리케이션 전반에 걸쳐 적용되므로 주로 Nginx, Apache 등 서버 레벨에서 설정합니다. 서버 관리자가 직접 헤더를 설정하거나 CDN 서비스 설정을 활용할 수 있습니다.
- Referrer-Policy와 SRI (Subresource Integrity): 서버 설정 또는 HTML 메타 태그를 통해 일괄적으로 관리할 수 있습니다.
- CSP (Content Security Policy): 애플리케이션 전반에 걸쳐 적용되므로 주로 Nginx, Apache 등 서버 레벨에서 설정합니다. 서버 관리자가 직접 헤더를 설정하거나 CDN 서비스 설정을 활용할 수 있습니다.
현실적 기준
- 애플리케이션의 보안 요구사항과 인프라 구조에 따라 다르며, 일반적으로 많은 트래픽과 민감한 데이터를 다루는 서비스일수록 보안 정책이 강하게 설정됩니다.
- 팀의 역량과 관리가 가능한 범위 내에서 결정되며, 특정 정책이 필요한 곳에만 강하게 적용하는 것이 실용적입니다.
- 애플리케이션의 보안 요구사항과 인프라 구조에 따라 다르며, 일반적으로 많은 트래픽과 민감한 데이터를 다루는 서비스일수록 보안 정책이 강하게 설정됩니다.
사용되는 라이브러리 및 프레임워크
- Node.js 환경에서는 Express.js의
helmet미들웨어가 자주 사용됩니다.
- Next.js에서는
next-safe라이브러리를 통해 보안 헤더를 쉽게 관리할 수 있습니다.
- Nginx 및 Apache 설정을 통해 보안 헤더를 추가하고, CDN 제공자의 보안 기능을 활용하여 보안 정책을 강화하는 방법이 있습니다.
- Node.js 환경에서는 Express.js의
관련해서 더 깊은 이해를 원하시면 아래의 문서를 참고하세요:
- “Express에서 helmet 사용 예시” - 각종 보안 헤더를 미들웨어로 설정하여 안전한 Express 서버를 구성하는 예를 보여줍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수업기간 연장 부탁드립니다.
0
7
1
왜 클로드.md 파일에 프롬프트를 넣는건지 궁금합니다
0
13
1
가이드북 애플리케이션 접근 불가
0
14
2
압축파일 비밀번호
0
16
1
C#에서의 RAII
0
40
3
AI 권한 부여가 안됩니다.
0
41
2
CCNA강의 질문드려요
0
20
1
Service(name: traefik)의 EXTERNAL_IP 가 Pending 입니다.
1
37
2
질문있습니다!!
0
63
1
kakao_app_icon 파일이 없습니다.
0
42
1
현재 시점 기준으로 최신 시험 출제 범위가 반영되었다고보면 될까요?
0
37
2
44번 강의 "AWS VPC와 Gateway endpoint 구성"에서 질문 드립니다.
0
20
1
섹션 17퀴즈 1번 답 오류 확인
0
30
1
section5,6 강의자료를 어디에서 받나요?
0
29
2
[수강 연장 문의] 직장 병행으로 인한 기간 연장 요청드립니다.
0
38
2
브라우저 내부 보안 정책 스코프에 대한 질문
1
73
1
ETag 사용시 서버의 성능 향상
1
78
2
next.js 와 SOP
1
72
2
사전 요청 관련 질문
1
65
2
rest api 에서의 csrf
1
57
1
하이잭킹 관련 문의
1
131
2
캐싱 관련 문의
1
112
1
TypeError: querystring is not a function 에러 나시는 분들
0
182
1
강사님은 어떤 책으로 HTTP 를 공부하셨나요?
0
273
1

