Dans cet article


Offres d'emploi

Tags

Firewall, GeoIP et IPTables

Firewall, GeoIP et IPTables

De plus en plus de serveurs sont attaqués par du flooding HTTP, mettant à genou votre serveur Apache, l’empêchant ainsi de répondre aux vraies requêtes qui lui sont adressées.

Il est possible de se battre contre ces requêtes avec fail2ban par exemple ou d’autres solutions, mais contre une attaque de type DDOS ou aucune adresse IP n’est identique entre deux requêtes les efforts sont souvent vains.

Le meilleur moyen trouvé pour faire baisser significativement le nombre de flood HTTP est de limité les pays pouvant accéder à votre serveur. Il est possible pour cela d’utiliser le mod GeoIP d’Apache. Celui-ci, reposant sur la base GeoIP permettra d’interdire la réponse aux requêtes de certains pays.

Mais cette solution est souvent insuffisante car le Apache est quand même obligé de traiter chaque requête.

La meilleure solution est donc d’utiliser GeoIP au niveau du firewall, qui rejetera directement les requêtes en consommant un minimum de ressources CPU.

Nous allons voir ici comment installter GeoIP et l’utiliser avec IPTables, le firewall le plus classique en environnement Linux. L’installation décrite ci-dessous est faite sur une Debian 7.

Toutes les opérations suivantes doivent être faite en utilisateur « root ».

Installer dans un premier temps les paquets nécessaires : 

<span >apt-get install libtext-csv-xs-perl module-assistant geoip-database libgeoip1 unzip wget</span>

Puis installer le module xtables-addons:

apt-get install xtables-addons-dkms linux-headers-$(uname -r)

Une fois ces opérations effectuées, vous pouvez installer GeoIP :

mkdir /usr/share/xt_geoip
cd /usr/share/xt_geoip
wget <a href="http://terminal28.com/wp-content/uploads/2013/10/geoip-dl-build.tar.gz" target="_blank">http://terminal28.com/wp-<
wbr />content/uploads/2013/10/geoip-<
wbr />dl-build.tar.gz</a>
tar xvf geoip-dl-build.tar.gz
./xt_geoip_dl
./xt_geoip_build -D . *.csv
rm -fr geoip-dl-build.tar.gz

Voilà vous devez maintenant être dans la possibilité d’utiliser geoip directement dans votre configuration IPTables.

Pour vérifier que geoip sera bien pris en compte, effectuer la commande suivante qui vous affichera l’aide de l’utilisation de geoip:

iptables -m geoip --help

Si l’affichage de l’aide ne se fait pas, c’est que vous avez surement raté une des étapes ci-dessus.

Si la commande fonctionne, vous pouvez alors paramétrer IPTables avec une règle acceptant ou interdisant certains pays. 

Par exemple pour interdire tous les pays sauf la France et l’Allemagne sur le port 80 en tcp:

iptables -A INPUT -p tcp --dport 80  -m geoip --src-cc DE,FR -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

Evidemment, ce filtre est destiné a des sites internet plutôt localisés et pas internationaux, mais certains pays sont passés maitres dans l’art du spamming et flooding et peuvent être a priori interdits de manière systématique.

L'équipe AXOPEN

Voir aussi les articles suivants

Firewall dans un environnement virtualisé

Firewall dans un environnement virtualisé

Le 03/12/2012 par Expert technique JEE

Le premier élément de la sécurisation d’un environnement est la présence d’un firewall entre Internet, et votre environnement. Cet élément doit être le seul point d’entrée de votre environnement, protégeant ainsi toutes vos machines d’attaques possibles venant de l’extérieur. Prenons le cas d’un environnement classique comprenant un ou plusieurs serveur HTTP Apache, un ou plusieurs clusters de serveurs d’applications, et un SGBD, quelque soit le moteur. Il parait évident qu’aucun n’accès direct doit être possible entre Internet et un serveur d’application, ou la base de données.
Lire l'article

Sécuriser votre application web contre les attaques dans un cloud
Suite à de nombreuses attaques sur les applications web, voici résumé dans cet article des pistes possibles pour s’en protéger.   Présentation de l’architecture typique d’une application web L’architecture typique d’une application web est la suivante: Un front Apache (ou IIS) qui joue le rôle de point d’entrée unique de l’application. Généralement, il fait office de proxy vers votre application web. Et souvent même de load balancer. L’application étant généralement développée en JAVA (ou .
Lire l'article

Architecture applicative web dans un cloud

Architecture applicative web dans un cloud

Le 05/12/2013 par Expert technique JEE

Avec l’arrivée des offres « Private cloud » bon marché, il devient intéressant de virtualiser entièrement ses serveurs et son architecture web. Avec des systèmes de virtualisation comme VMWare et vSphère, il est très facile pour le même prix de créer un grand nombre de machines virtuelles et ainsi de découper au mieux son architecture web pour isoler chaque composante, et apporter robustesse aux différentes instances de services. L’objectif de cet article est donc de faire un retour d’expérience afin de fournir un exemple d’architecture type dans la mise en place et l’exploitation d’une application web.
Lire l'article