A Prévention des attaques par déni de service

Cette annexe décrit une méthode qui permet de prévenir les attaques par déni de service (DoS/Denial of Service) sur le serveur STA. Suivez ces procédures uniquement une fois que la configuration initiale de la bibliothèque a été effectuée avec succès. Après la configuration des IPTables, vous devez vous assurer que STA surveille toujours vos bibliothèques.

Cette annexe comprend les sections suivantes :

Remarque:

Les procédures décrites dans cette annexe sont facultatives et fournies uniquement à titre informatif. La sécurité du site reste du ressort du client.

Ecran Overview

Pour protéger le serveur des attaques par déni de service, configurez le logiciel Linux pour les IPTables afin d'établir les règles qui filtrent les ports et/ou les adresses IP. Sur la base de la configuration de STA, Oracle recommande d'attribuer des règles au port UDP 162 et aux valeurs de port sur lesquelles les serveurs gérés par STA sont exécutés.

Remarque:

Reportez-vous au Guide d'installation et de configuration de STA pour obtenir des informations sur les ports, notamment les valeurs de port par défaut qu'utilise STA.

L'Exemple de script d'IPTables peut être utilisé pour définir une règle d'entrée sur le serveur afin de bloquer les hôtes qui tentent de se connecter à partir des critères suivants :

  • Une interface Ethernet spécifique

  • Un port spécifique

  • Un protocole spécifique

  • Le nombre de demandes sur une période définie

Si le nombre de demandes de connexion émanant d'un hôte est dépassé durant cette période, cet hôte est bloqué et interdit de connexion pendant le reste de cette période.

Configuration des règles d'IPTables

Pour configurer les règles d'IPTables :

  1. Copiez la source de l'Exemple de script d'IPTables dans un éditeur de texte.

  2. Modifiez les variables suivantes pour les adapter à votre environnement :

    • INTERFACE : définit l'interface Ethernet sur laquelle surveiller les attaques.

    • PORT : définit le numéro de port sur lequel surveiller les attaques.

    • PROTO : définit le protocole (TCP ou UDP).

    • HITS et TIME : déterminez des valeurs raisonnables pour le nombre de demandes de connexion (HITS) réalisées sur une période donnée (TIME), exprimée en secondes, avant qu'un hôte soit bloqué.

  3. Sauvegardez le script sur votre système et exécutez-le.

    Les nouvelles règles sont ajoutées aux IPTables et prennent effet immédiatement.

Exemple de script d'IPTables

Voici un exemple de script d'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