Sun Java System Messaging Server 6 2005Q4 관리 설명서

MTA에 대해 지정된 IP 액세스 연결 제한

Port Access 매핑 테이블에 conn_throttle.so 공유 라이브러리를 사용하여 특정 IP 주소가 MTA에 연결되는 횟수를 제한할 수 있습니다. 특정 IP 주소로 연결을 제한하는 기능은 서비스 거부 공격에 사용되는 과도한 연결을 방지하는 데 유용합니다.

conn_throttle.so는 특정 IP 주소가 MTA에 너무 자주 연결하는 것을 제한하기 위해 PORT_ACCESS 매핑 테이블에 사용되는 공유 라이브러리입니다. 모든 구성 옵션은 다음과 같이 연결 억제 공유 라이브러리에 대한 매개 변수로 지정됩니다.

$[msg_svr_base/lib/conn_throttle.so, throttle,IP-address ,max-rate]

IP-address는 원격 시스템의 점으로 구분된 십진수 형식의 주소이며, max-rate는 이 IP 주소에 대한 최대 분당 연결 비율입니다.

루틴 이름 throttle_p를 루틴 축소 버전의 throttle 대신 사용할 수 있습니다. throttle_p는 향후 기존에 너무 많이 연결했던 연결을 거부하게 됩니다. 최대 비율이 100인데 분당 250번의 연결이 시도된 경우에는 해당 분 내에 처음 100번의 연결 시도 후 원격 사이트가 차단되며 그 다음 1분 동안에도 차단됩니다. 즉, 매 분마다 시도된 전체 연결 수에서 최대 비율을 빼서 전체 연결 수가 최대 비율보다 크면 원격 시스템이 차단됩니다.

지정된 IP 주소가 분당 최대 연결 비율을 초과하지 않으면 공유 라이브러리 호출이 실패합니다.

해당 비율을 초과하면 호출에 성공하지만 아무 것도 반환하지 않습니다. 이 작업은 다음 예와 같이 $C/$E 조합으로 수행됩니다.

PORT_ACCESS 
  TCP|*|25|*|* \
$C$[msg_svr_base/lib/conn_throttle.so,throttle,$1,10] \
$N421$ Connection$ not$ accepted$ at$ this$ time$E

여기서

$C는 다음 테이블 항목에서 시작한 매핑 프로세스를 계속하여 이 항목의 출력 문자열을 매핑 프로세스에 대한 새 입력 문자열로 사용합니다.

$[msg_svr_base/lib/conn_throttle.so,throttle,$1,10]throttle을 라이브러리 루틴, $1을 서버 IP 주소, 그리고 10을 분당 연결 임계값으로 사용하는 라이브러리 호출입니다.

$N421$ Connection$ not$ accepted$ at$ this$ time은 액세스를 거부하고 “Connection not accepted at this time”이라는 메일과 함께 421 SMTP 코드(임시 부정 완료)를 반환합니다.

$E는 이제 매핑 프로세스를 닫습니다. 이 항목의 출력 문자열을 매핑 프로세스의 최종 결과로 사용합니다.