Gately v0.6.1.1 출시
2026년 10월 30일
v0.6.1.1 다운로드 · GitHub Release
웹 경로 탐색 차단
침입 방지의 규칙 출처에 「웹 경로 탐색」이 추가되었습니다. 로그를 읽지 않고 웹 서비스가 처리한 요청을 직접 셉니다.
- 하나 이상의 리스너로 제한할 수 있으며 비워 두면 전체입니다. 경로 규칙은 와일드카드(
*는/에도 일치, 대소문자 구분 없음)와~로 시작하는 정규식을 지원하며,//.env,/a/../.env같은 표기도 정규화된 경로로 똑같이 일치합니다. - 기본으로 404와 444만 세므로 존재하는 페이지에 대한 요청은 세지 않습니다. 「모든 상태 코드」(경로 규칙과 함께) 또는 「알 수 없는 도메인만」으로 바꿀 수 있습니다.
- 내장 템플릿 3개: 웹 미끼 경로(
/.env,/.git,wp-login.php,phpinfo.php, phpMyAdmin 등, 1회 접근 시 차단), 알 수 없는 도메인 스캔(1분 안에 5회), 웹 404 탐색(1분 안에 10회). - 횟수, 시간 창, 차단 기간, 허용 목록, 단계적 차단, nftables 동기화는 다른 규칙과 공유하며, 어느 리스너에서 발동한 차단이든 모든 서비스에 적용됩니다.
웹 서비스 리스너 카드의 「탐색 차단」은 해당 리스너를 미리 선택하고 미끼 경로 템플릿을 적용합니다. 규칙을 편집할 때 요청 경로를 붙여 넣어 테스트할 수 있습니다. 자세한 내용은 침입 방지 · 웹 경로 탐색을 참고하세요.
인증 사용자 페이지
사이드바 「Web」 그룹에 「인증 사용자」 페이지가 추가되었습니다. 공유 사용자, 싱글 사인온 도메인, 비밀번호 직접 변경, OIDC ID 공급자를 한곳에서 관리하고, 사이트를 리스너별로 나열해 필터와 전체 선택으로 공유 사용자를 쓸 사이트를 일괄 지정할 수 있습니다. 인증이 꺼진 사이트를 체크하면 웹 인증도 켜집니다. 공유 사용자로만 인증하는 사이트는 실수로 공개되지 않도록 여기서 해제할 수 없고, 포워드 인증을 쓰는 사이트는 체크할 수 없습니다. 모든 변경은 「저장」을 누르면 함께 적용되며, 하나라도 검증에 실패하면 아무것도 저장되지 않습니다. API는 GET/PUT /api/webservice/users입니다.
공유 사용자의 비밀번호 직접 변경
「인증 사용자」 페이지에서 「비밀번호 직접 변경」을 켜면 공유 사용자(내장 OIDC로 앱에 로그인하는 사용자 포함)는 /__gately_auth/password(발급자 도메인에서는 /__gately_oidc/password)에서 현재 비밀번호와 인증 코드를 입력해 비밀번호를 바꿀 수 있으며, 모든 사이트의 세션은 즉시 만료됩니다. 파일 서비스 공유 사용자는 「파일 공유 사용자」 페이지에 별도 스위치가 있고 같은 페이지에서 변경합니다. 평문 또는 bcrypt 저장 방식은 그대로 유지되며 WebDAV, FTP, SMB는 바로 새 비밀번호를 사용합니다. 실패 횟수는 로그인과 같은 속도 제한·자동 차단에 포함되며, 같은 계정은 1분에 한 번만 변경할 수 있습니다. 자세한 내용은 웹 서비스 · 비밀번호 직접 변경을 참고하세요.
거부 시 연결 끊기
사이트 「보안」 탭에 「거부 방식」이 추가되었습니다. 「연결 끊기」를 선택하면 차단, IP 접근 제어(경로 규칙 포함) 또는 국가 필터로 거부된 요청에 아무것도 보내지 않고, 접근 로그에는 444로 기록합니다. 허용 목록과 함께 쓰면 "내 IP는 정상 접근, 나머지는 모두 끊기"를 구현할 수 있습니다. 속도 제한과 WAF 차단은 그대로입니다. 문서에는 연결 끊기의 한계도 적었습니다. TCP와 TLS 핸드셰이크는 이미 끝난 상태이고, HTTP/2와 HTTP/3에서는 해당 요청만 재설정되며, 스캐너로부터 포트를 숨기려면 침입 방지 차단이 필요합니다.
Cloudflare 터널 라우팅 규칙
토큰 터널에 선택 사항인 Cloudflare API 토큰을 입력하면 카드의 「라우팅」에서 터널의 원격 설정을 바로 읽고 쓸 수 있습니다. 호스트 이름, 경로 정규식, 서비스와 함께 「원본 인증서 검증 건너뛰기」와 원본 Host 헤더를 설정할 수 있으며, 실행 중인 cloudflared는 다시 시작하지 않아도 반영합니다. 저장할 때 설정 버전을 확인해 다른 곳에서 한 변경을 덮어쓰지 않으며, 호스트 이름에 프록시가 켜진 CNAME 레코드를 만들 수 있고 기존 레코드는 그대로 두고 목록으로 보여 줍니다. 자세한 내용은 Cloudflare 터널 · 라우팅 규칙을 참고하세요.
로그 「제외」 필터
로그 뷰어에 「제외」 입력란이 추가되었습니다. 그중 어느 단어라도 포함한 로그를 숨기며 키워드와 함께 적용됩니다. 로그 API에는 대응하는 exclude 매개변수가 추가되었습니다.
수정 및 개선
- 미끼 포트와 스캔 감지에서 영구 차단을 선택하면 저장에 실패하던 문제(#41).
- 라우팅 규칙: 서비스 주소 끝에 단독으로 붙은
/를 자동으로 제거합니다(cloudflared는 경로가 있는 서비스를 거부합니다). 로컬 설정 파일로 관리되는 터널은 저장 전에 확인합니다. 터널을 가리키지만 프록시가 꺼진 CNAME은 충돌로 보고합니다. 도메인은 터널이 속한 계정에서만 찾습니다. - 웹 서비스 전역 설정 대화상자는 더 이상 공유 사용자와 OIDC 설정을 제출하지 않으므로 「인증 사용자」 페이지에서 방금 저장한 변경을 덮어쓰지 않습니다.
- 경로 탐색은 방문자가 요청한 원래 경로로 비교하며(재작성 규칙은 집계에 영향을 주지 않음), 접근 로그에도 원래 경로를 기록합니다. 아주 긴 경로는 앞과 끝 부분만 비교하고, 차단 사유의 줄바꿈 등 제어 문자는 이스케이프합니다.
- 비밀번호 직접 변경 저장에 실패하면 화면에는 공통 안내만 표시하고 자세한 이유는 로그에 기록합니다.
- API 문서의 일부 여러 단락 설명에 중국어와 번역문이 섞여 있던 문제.
업그레이드 안내
- Docker는 새 이미지를 받은 뒤 컨테이너를 다시 만드세요. OpenWrt는 새
.apk/.ipk를 덮어 설치하세요. fnOS는 앱 센터에서 새.fpk를 직접 설치하세요. 그 밖의 설치 방식은 "시스템 설정"에서 온라인 업그레이드할 수 있습니다. - 「모든 상태 코드」이면서 경로 규칙이 없고 「알 수 없는 도메인만」도 꺼진 저장된 경로 탐색 규칙은 다음에 편집해 저장할 때 거부됩니다. 경로 규칙을 추가하세요.