좋아요!
정답률 53%
문제별 결과
환경 변수(.env)에 비밀키를 저장하는 것이 코드에 하드코딩하는 것보다 안전하다.
환경 변수는 코드와 분리되어 Git에 노출될 위험이 적습니다. 하지만 서버 보안도 중요합니다.
개인정보를 로그에 기록하면 안 된다.
비밀번호, 신용카드, 주민번호 등 민감 정보는 로그에 남기면 안 됩니다. 마스킹 처리가 필요합니다.
Content Security Policy(CSP)는 XSS 공격을 방지하는 HTTP 헤더이다.
CSP로 허용된 리소스 출처만 로드하도록 제한하여 인라인 스크립트 등의 XSS를 방어합니다.
Zero Trust 보안 모델은 네트워크 내부의 트래픽도 신뢰하지 않는다.
Zero Trust는 "아무것도 신뢰하지 말고 항상 검증하라"는 원칙으로, 내부 네트워크도 검증합니다.
SSRF(Server-Side Request Forgery)는 서버를 통해 내부 네트워크에 접근하는 공격이다.
공격자가 서버를 중개하여 내부 리소스(메타데이터 API, 내부 서비스)에 접근합니다. URL 화이트리스트로 방어합니다.
SQL Injection은 사용자 입력을 검증하지 않았을 때 발생할 수 있다.
Prepared Statement나 ORM을 사용하면 SQL Injection을 방지할 수 있습니다.
RBAC(Role-Based Access Control)은 역할 기반으로 접근 권한을 관리한다.
사용자에게 역할(admin, editor, viewer)을 할당하고, 역할에 따라 권한을 부여합니다.
SSH 키 인증은 비밀번호 인증보다 안전하다.
SSH 키는 무차별 대입 공격에 매우 강하며, 개인 키가 노출되지 않으면 안전합니다.
CSRF(Cross-Site Request Forgery)는 사용자가 의도하지 않은 요청을 보내게 한다.
로그인된 사용자의 세션을 이용해 악성 사이트에서 자동으로 요청을 보냅니다.
Salt는 같은 비밀번호라도 다른 해시값을 생성하도록 하는 임의의 값이다.
Salt를 추가하면 같은 비밀번호도 사용자마다 다른 해시값이 되어 Rainbow Table 공격을 방지합니다.
Subresource Integrity(SRI)는 CDN에서 로드하는 스크립트의 무결성을 검증한다.
<script integrity="sha384-...">로 해시를 확인하여 CDN이 해킹되어도 변조된 스크립트 실행을 방지합니다.
비밀번호는 길수록 보안에 좋다.
긴 비밀번호는 무차별 대입 공격에 더 오래 걸립니다. 복잡성보다 길이가 더 효과적입니다.
CORS preflight 요청은 OPTIONS 메서드를 사용한다.
브라우저는 실제 요청 전에 OPTIONS 요청을 보내 서버가 교차 출처 요청을 허용하는지 확인합니다.
CSRF 토큰은 XSS 공격을 방어하기 위한 것이다.
CSRF 토큰은 CSRF 공격을 방어합니다. XSS 방어에는 입력 이스케이프, CSP 등이 사용됩니다.
bcrypt로 해싱된 비밀번호는 원래 비밀번호로 복호화할 수 없다.
bcrypt는 단방향 해시 함수입니다. 비밀번호 확인은 같은 방식으로 해시하여 비교합니다.