A Prevención de ataques de denegación de servicio

En este apéndice, se describe un método para prevenir ataques de denegación de servicio (DoS) en el servidor de STA. Siga estos procedimientos solo después de que la configuración inicial de la biblioteca se haya realizado correctamente. Después de configurar IPTables, debe asegurarse de que STA siga supervisando correctamente las bibliotecas.

En este apéndice se incluyen las siguientes secciones:

Nota:

Los procedimientos de este apéndice son opcionales y se proporcionan solo con fines informativos. La seguridad del sitio es responsabilidad del cliente.

Descripción general

Para proteger el servidor contra ataques de DoS, configure el software de Linux iptables para establecer reglas que filtren puertos y/o direcciones IP. En función de la configuración de STA, Oracle recomienda anexar reglas a UDP 162 y los valores de puerto en los que se ejecutan los servidores gestionados de STA.

Nota:

Consulte Guía de instalación y configuración de STA para obtener información sobre los puertos, incluidos los valores de los puertos predeterminados que usa STA.

Ejemplo de secuencia de comandos de iptables se puede usar para definir una regla de entrada en el servidor para bloquear hosts que intenten conectarse, en función de estos criterios:

  • Una interfaz Ethernet específica

  • Un puerto específico

  • Un protocolo específico

  • La cantidad de solicitudes recibidas en un período especificado

Si se supera la cantidad de conexiones del host dentro de ese período, se bloquea a ese host para conexiones futuras hasta que finalice el período.

Configuración de reglas de iptables

Para configurar reglas de iptables:

  1. Copie el origen de Ejemplo de secuencia de comandos de iptables en un editor de texto.

  2. Modifique las siguientes variables según sea adecuado para su entorno:

    • INTERFACE: define la interfaz Ethernet que se debe observar para prevenir ataques

    • PORT: define el número de puerto que se debe observar para prevenir ataques

    • PROTO: define el protocolo (TCP o UDP)

    • HITS y TIME: decida los valores razonables para la cantidad de solicitudes (HITS) en un período dado en segundos (TIME) para bloquear un servidor

  3. Guarde la secuencia de comandos en el sistema y ejecútela.

    Las nuevas reglas se agregan a iptables y entran en efecto de inmediato.

Ejemplo de secuencia de comandos de iptables

A continuación, se presenta un ejemplo de secuencia de comandos de 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