A 서비스 거부 공격 방지

이 부록에서는 STA 서버에 대한 DoS(서비스 거부) 공격을 방지하기 위한 방법을 설명합니다. 초기 라이브러리 구성이 성공한 후에만 이 절차를 따르십시오. IPTables를 구성한 후 STA가 라이브러리를 성공적으로 모니터하고 있는지 확인해야 합니다.

이 부록은 다음 절로 구성됩니다.

주:

이 부록의 절차는 선택 사항이며 정보 제공용으로만 제공됩니다. 사이트 보안은 고객의 책임입니다.

개요

서버를 DoS 공격에서 보호하려면 Linux iptables 소프트웨어를 구성하여 포트 및/또는 IP 주소를 필터링하는 규칙을 설정합니다. Oracle은 STA 구성에 따라 STA 관리 서버가 실행 중인 UDP 162 및 포트 값에 규칙을 연결할 것을 권장합니다.

주:

STA가 사용하는 기본 포트 값을 비롯한 포트 정보는 STA 설치 및 구성 설명서를 참조하십시오.

iptables 샘플 스크립트는 서버의 입력 규칙을 정의하는 데 사용하여 다음과 같은 조건을 기반으로 연결을 시도하는 호스트를 차단할 수 있습니다.

  • 특정 이더넷 인터페이스

  • 특정 포트

  • 특정 프로토콜

  • 지정된 기간 내 요청 수

호스트 연결 수가 해당 기간 내에 초과되는 경우 해당 호스트는 나머지 기간 동안 추가 연결에서 차단됩니다.

iptables 규칙 구성

iptables 규칙을 구성하려면 다음을 수행합니다.

  1. iptables 샘플 스크립트의 소스를 텍스트 편집기에 복사합니다.

  2. 환경에 맞게 다음 변수를 수정합니다.

    • INTERFACE—공격을 감시할 이더넷 인터페이스를 정의합니다.

    • PORT—공격을 감시할 포트 번호를 정의합니다.

    • PROTO—프로토콜(TCP 또는 UDP)을 정의합니다.

    • HITSTIME—서버를 차단하는 데 사용되는 값, 즉 지정된 초 단위 기간(TIME) 내 요청 수(HITS)의 적절한 값을 결정합니다.

  3. 스크립트를 시스템에 저장하고 실행합니다.

    새 규칙은 iptables에 추가되며 즉시 적용됩니다.

iptables 샘플 스크립트

다음은 iptables 샘플 스크립트입니다.

# The name of the iptable chain

CHAIN=INPUT

# The ethernet interface to watch for attacks

INTERFACE=eth0

# The port number to watch for attacks

PORT=80

# The protocol (tcp or udp)

PROTO=tcp

# A server that sends HITS number of requests within TIME seconds will be blocked

HITS=8

TIME=60

# Log filtered IPs to file

touch /var/log/iptables.log

grep iptables /etc/syslog.conf 1>/dev/null 2>&1

if [$? -ne 0 ]; then

echo kern.warning /var/log/iptables.log >>

/etc/syslog.conf

echo touch /var/log/iptables.log >> /etc/syslog.conf

/etc/init.d/syslog restart

fi

# Undo any previous chaining for this combination of chain, proto, hits, and time

/sbin/iptables -L $CHAIN |grep $PROTO |grep $HITS |grep $TIME 1>/dev/null 2>&1

if [$? -eq 0 ]; then

R=0

while [$R -eq 0 ]; do

/sbin/iptables -D $CHAIN 1 1>/dev/null 2>&1

R=$?

done

fi

# Logging rule

/sbin/iptables --append $CHAIN --jump LOG --log-level 4

# Interface rule

/sbin/iptables --insert $CHAIN --proto $PROTO --dport $PORT --in-interface $INTERFACE --match state --state NEW --match recent --set

# Blocking rule

/sbin/iptables --insert $CHAIN --proto $PROTO --dport $PORT --in-interface $INTERFACE --match state --state NEW --match recent --update --seconds $TIME --hitcount $HITS --jump DROP