보안 정책
LPIC.cc는 출시 첫날부터 보안과 개인정보 보호를 사후 대응이 아닌 핵심 설계 원칙으로 다뤄 왔습니다. 아래는 프로덕션 환경에서 상시 운영 중인 보안 조치의 개요입니다.
핵심 보안 조치
전 구간 HTTPS 암호화
모든 연결을 HTTPS(TLS 1.2 이상)로 강제하고 장기 HSTS를 적용하여, 브라우저가 평문 통신으로 되돌아가는 것을 거부하도록 했습니다. 트래픽은 종단 간 암호화되어 중간자 공격자가 내용을 읽거나 변조할 수 없습니다.
bcrypt 비밀번호 해시
사용자가 설정한 공유 비밀번호는 업계 표준인 bcrypt 단방향 해시로 저장됩니다. 당사 서버조차 원문을 복원할 수 없으며, 평문 비밀번호는 어떤 시스템에도 존재하지 않습니다.
파일 자동 만료
업로드된 파일은 마지막 조회 후 30일 동안 보관됩니다. 보관 기간이 지나면 공유 링크는 즉시 만료되고 파일은 삭제 대기열에 등록됩니다. 별도의 관리가 필요 없으며, 만료된 파일에는 누구도 접근할 수 없습니다.
단기 서명 업로드 URL
업로드 시 서버는 짧은 유효 기간의 서명 URL을 발급하여 브라우저가 클라우드 오브젝트 스토리지로 파일을 직접 전송하도록 합니다. URL은 곧 만료되며 재사용이 불가능하므로 무단 업로드를 차단합니다.
엄격한 Content Security Policy
기본적으로 모든 외부 리소스를 차단하고, 필요한 최소한의 출처만 허용합니다. X-Frame-Options 및 Referrer-Policy 헤더와 함께 적용하여 XSS, 클릭재킹, 리퍼러 누출의 공격면을 최소화합니다.
다계층 요청 속도 제한
로그인, 업로드, 비밀번호 검증과 같은 민감한 엔드포인트에 속도 제한을 적용하며, 비정상 행위가 감지되면 즉시 쿨다운에 들어갑니다. 정상 사용자에게 영향을 주지 않으면서 무차별 대입과 자동화 공격을 차단합니다.
Cloudflare Turnstile 기반 보이지 않는 봇 방어
주요 양식에는 Cloudflare Turnstile을 적용하여 기기 및 행동 신호로 사람과 봇을 백그라운드에서 구분합니다. 이미지 퍼즐 없이도 작동해 사용자 경험을 방해하지 않습니다.
IP 마스킹 로깅
전체 IP 주소는 절대 저장되지 않습니다. 분석·보안 로그에 기록하기 전에 마스킹 처리(예: 1.2.3.***)하며, 원본 IP는 실시간 방어 판단에 필요한 순간에만 메모리에 존재했다가 즉시 폐기되어, 로그가 유출되더라도 피해 범위를 최소화합니다.
추가 보안 조치
| 조치 | 내용 |
|---|---|
| 파라미터화 쿼리 | 모든 데이터베이스 쿼리는 파라미터 바인딩을 사용하여 SQL Injection 공격면을 근본적으로 차단합니다. |
| 입력값 검증 | API 엔드포인트는 schema 검증(required, min, max, email 등)을 강제하여, 잘못된 입력이 비즈니스 로직에 도달하기 전에 거부됩니다. |
| CSRF 방어 | 상태를 변경하는 모든 요청은 별도의 CSRF Token 검증을 요구하며, Cookie에는 HttpOnly + Secure + SameSite=Strict를 함께 설정하여 크로스 사이트 요청 위조를 원천 차단합니다. |
| 엄격한 CORS 정책 | 공식 도메인만 API를 호출할 수 있으며, 승인되지 않은 출처의 요청은 모두 거부됩니다. |
| Cloudflare DDoS 방어 | 엣지 노드가 비정상 트래픽을 자동 감지 및 완화하여, 공격 트래픽이 원본 서버에 도달하기 전에 차단합니다. |
| 민감 필드 마스킹 로그 | 로깅 프레임워크가 IP, Token, 비밀번호 등 민감 항목을 기본적으로 마스킹합니다. 로그가 유출되더라도 민감한 값이 함께 노출되지 않습니다. |
책임 있는 취약점 공개
LPIC.cc에서 보안 취약점을 발견하셨다면, [email protected]으로 비공개로 제보해 주시기 바랍니다. 당사는 다음을 약속드립니다:
- 제보 접수 후 48시간 이내에 확인 회신을 드립니다.
- 선의의 보안 연구자에 대해서는 법적 조치를 취하지 않습니다.
- 수정 사항이 배포된 후, 원하실 경우 이 페이지에 공개 감사 인사를 게재합니다.
다른 사용자에게 영향을 주지 않도록, 프로덕션 환경에 대한 자동화 스캔이나 부하 테스트는 삼가 주시기 바랍니다.
최종 업데이트: 2026년 4월 21일