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.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.
Para configurar reglas de iptables:
Copie el origen de Ejemplo de secuencia de comandos de iptables en un editor de texto.
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
Guarde la secuencia de comandos en el sistema y ejecútela.
Las nuevas reglas se agregan a iptables y entran en efecto de inmediato.
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