회원가입 | 고객센터 |
DESIGNONEX
디자인원엑스
Q&A
지식공유
공지사항
DX마켓
통계
로그인 회원가입
고객센터

DX Security — CSRF 보안 플러그인 1.1.0

D DX관리자
2026.09.02 09:10 2 0
원본 게시글 링크
https://designonex.com/dxcms-plugin/view/1788271204236664
패치 버전
1.1.0

DX Security — CSRF 방어 패치 내역


v1.1.0 — 2026-09-02

버그 수정

관리자 페이지 정상 요청 차단 오탐 수정

  • 증상: 플러그인 활성화/비활성화 등 관리자 페이지의 정상적인 POST 요청이 "요청 차단됨" 화면으로 차단됨
  • 원인: DX_CSRF_ORIGIN_HARD=true(기본값) 상태에서 브라우저 form submit이 Origin 헤더를 전송하지 않으면 ORIGIN_ABSENT 판정으로 차단됨
  • 수정:
    • DX_CSRF_ORIGIN_HARD 기본값을 truefalse로 변경
    • Origin 헤더가 없는 요청은 경고 로그만 기록하고 통과 (코어 CSRF 토큰이 실질적 방어 담당)
    • Origin 헤더가 있고 다른 사이트인 경우는 기존과 동일하게 차단


정책 변경

Origin 검증 정책 명확화

상황 v1.0.0 v1.1.0
Origin 있음 + 같은 사이트 통과 통과
Origin 있음 + 다른 사이트 차단 차단 (동일)
Origin 없음 (form submit 등) 차단 경고 로그 후 통과
null Origin 차단 통과 (CSRF 토큰으로 충분)


관리자 Step-Up 대상 경로 축소

  • v1.0.0: 관리자 모든 경로에 Origin 필수 요구
  • v1.1.0: 고위험 경로만 Origin 필수
    /admin/security
    /admin/permission/delete
    /admin/member/delete
    /admin/config/reset
    
    플러그인 활성화, 게시판 관리 등 일반 관리 작업은 해당하지 않음


보안 원칙 유지

이 수정은 보안 수준을 낮추지 않습니다.

1차 방어: 코어 CSRF 토큰 (randomHex(64) + hash_equals + expire)
          → Origin 없어도 토큰 없으면 차단

2차 방어: Origin 검증 (이 플러그인)
          → Origin이 있고 다른 사이트이면 차단

결론: Origin 없는 요청은 1차 방어(토큰)가 담당
      2차 방어(Origin)는 Origin이 있을 때만 작동


v1.0.0 — 2026-09-01

최초 릴리스

  • Origin / Referer 검증 (C1)
  • JSON body CSRF 토큰 파싱 (C2)
  • 인증 경계 CSRF Token Rotation (C3)
  • CSRF 실패 감사 로그 (C4)
  • 반복 실패 Rate Limit (C5)
  • GET 상태변경 감지 및 차단 (C6)
  • 관리자 Step-Up CSRF 강화 (C7)
  • CSRF 예외 Endpoint 허용목록 관리 (C8)

댓글0

로그인 후 댓글을 작성할 수 있습니다.
45
전체 회원
1,366
전체 게시글
2,731
전체 댓글
30
오늘 방문
53,422
전체 방문
0
현재 접속
인기글 7일 이내
최신글
최신댓글
내 플레이리스트
플레이리스트가 비어있습니다
스튜디오 게시판에서
플레이리스트에 담기 버튼을
눌러보세요
목록
목록