IP 주소로 접근 제어하기

매뉴얼웍스 6.0.18 버전부터 지원합니다.

사용자 IP 접근 제어는 매뉴얼웍스에 접근할 수 있는 클라이언트 IP를 허용하거나 차단하는 기능입니다. 외부에 공개한 서버에서 특정 사무실, VPN, 운영망 등에서만 접속을 허용해야 할 때 사용합니다.

이 기능은 시작 스크립트 옵션 설정으로 활성화한 후 콘솔 명령으로 설정합니다. 기본 모드는 허용 모드이며, IP 주소는 단일 IP, CIDR, 와일드카드, 범위 형식을 지원합니다.

시작 스크립트 옵션 3rabbitz.enable_ip_filter 값이 true일 때만 동작합니다. 이 기능을 사용하려면 서버 시작 옵션에 -D3rabbitz.enable_ip_filter=true를 추가한 후 매뉴얼웍스를 다시 시작합니다.

설정 확인하기

콘솔에서 다음 명령어를 실행합니다.

list-ip-filter

현재 IP 접근 제어 활성화 여부, 접근 제어 모드, 등록한 IP 주소 목록, 프록시 헤더 신뢰 여부를 확인합니다.

허용 모드 사용하기

허용 모드에서는 등록한 IP 주소에서 온 요청만 접근할 수 있습니다. 등록하지 않은 IP 주소의 요청은 차단합니다.

콘솔에서 다음 명령어를 실행합니다.

set-ip-filter-mode -mode allow
add-ip-filter -address 203.0.113.10
add-ip-filter -address 192.168.0.0/24

위 예에서는 203.0.113.10 단일 IP와 192.168.0.0/24 대역에서 온 요청만 허용합니다.

허용 모드를 사용할 때는 현재 관리자가 접속한 IP 주소를 먼저 등록해야 합니다. 현재 접속 IP 주소는 /r/api/client_ip 주소에서 확인할 수 있습니다. 현재 접속 IP를 등록하지 않으면 설정 직후 관리자도 접속할 수 없을 수 있습니다.

차단 모드 사용하기

차단 모드에서는 등록한 IP 주소에서 온 요청만 차단합니다. 등록하지 않은 IP 주소의 요청은 허용합니다.

콘솔에서 다음 명령어를 실행합니다.

set-ip-filter-mode -mode deny
add-ip-filter -address 198.51.100.20
add-ip-filter -address 10.0.0.0/8

위 예에서는 198.51.100.20 단일 IP와 10.0.0.0/8 대역에서 온 요청을 차단합니다.

IP 주소 삭제하기

등록한 IP 주소를 삭제하려면 콘솔에서 다음 명령어를 실행합니다.

remove-ip-filter -address 203.0.113.10

등록한 IP 주소를 모두 삭제하려면 다음 명령어를 실행합니다.

clear-ip-filter

IP 주소 목록이 비어 있으면 접근 제어 모드와 관계없이 모든 요청을 허용합니다.

프록시 환경에서 사용하기

로드 밸런서나 리버스 프록시 뒤에서 매뉴얼웍스를 실행하면 실제 사용자 IP 대신 프록시 서버 IP가 클라이언트 IP로 인식될 수 있습니다. 신뢰할 수 있는 프록시가 X-Forwarded-For 같은 헤더로 사용자 IP를 전달한다면 다음 명령어를 실행합니다.

trust-ip-filter-proxy

프록시 헤더를 신뢰하지 않으려면 다음 명령어를 실행합니다.

untrust-ip-filter-proxy

인터넷에서 직접 접근할 수 있는 서버에서는 프록시 헤더를 신뢰하지 않는 것이 안전합니다. 신뢰할 수 있는 로드 밸런서나 리버스 프록시가 앞단에 있을 때만 프록시 헤더 신뢰 옵션을 사용합니다.

지원하는 IP 형식

다음 형식을 지원합니다.

잘못된 IP 주소나 CIDR 형식은 일치하지 않는 항목으로 처리합니다.