Quotidien Shaarli

Tous les liens d'un jour sur une page.

August 18, 2014

Tarpit & iptables : les armes fatales anti-DDOS ! - Communauté Magento francophone » Communauté Magento francophone

Utilisation d'iptables et de l'argument TARPIT pour contrer les attaques DDOS. Très intéressant !

Installation de Subsonic sur un VPS GANDI et Ubuntu 12.04 - sorrodje.alter-it.org

Un article intéressant pour l'installation de Subsonic (gestion d'une bibliothèque musicale en ligne) avec des infos intéressantes sur la configuration du serveur.

ssh-keygen : générer une clé rsa de plus de 2048 bits.

Quand on utilise ssh-keygen pour générer une clé, on laisse généralement la taille par défaut mais il est possible pour RSA de spécifier avec l'argument "-b" suivi de la taille.
| ========
| simon@ordi:~$ ssh-keygen -t rsa -b 8192
| ========

Reverse DNS - un outil pour retrouver le domaine à partir de l'adresse IP.

Quand j'essaye avec l'adresse IP de mon serveur : 42.15.34.10
10.34.15.42.in-addr.arpa domain name pointer 10.ip-42-15-34.eu.

Linux : utiliser iptables pour bloquer les chaines de caractères (1ere partie) [ DFind ]

J'ai installé logwatch et j'ai vu quelque chose qui m'a semblé suspect dans les logs :
| ========
| --------------------- httpd Begin ------------------------
| Requests with error response codes
| 400 Bad Request
| /w00tw00t.at.ISC.SANS.DFind:): 1 Time(s)
| ========

J'ai cherché un peu et j'ai vu que ça correspondait à une requête d'un scanner de vulnérabilités ( DFind ). Pour le bloquer et jeter les paquets, on peut rajouter une règle iptables. Dans la foulée on rajoute une autre règle qui bloque les requêtes HTTP qui utilisent l'IP au lieu du nom de domaine : ======== simon@ordi:~$ sudo nano /etc/init.d/firewall #Bloquer w00tw00t.at.ISC.SANS. iptables -I INPUT -d xx.xx.xx.xx -p tcp --dport 80 -m string --to 70 --algo bm --string 'GET /w00tw00t.at.ISC.SANS.' -j DROP
#Bloquer toutes les requêtes HTTP qui utilisent l'IP au lieu du domaine
iptables -I INPUT -d xx.xx.xx.xx -p tcp --dport 80 -m string --to 700 --algo bm --string 'Host: xx.xx.xx.xx' -j DROP
========

(xx.xx.xx.xx est à remplacer par l'IP du serveur.)

On actualise iptables :
| ========
| simon@ordi:~$ sudo /etc/init.d/firewall
| ========

On peut vérifier que les deux règles sont bien prises en compte :
| ========
| simon@ordi:~$ sudo iptables -L INPUT -nvx
| Chain INPUT (policy DROP 15 packets, 1188 bytes)
| pkts bytes target prot opt in out source destination
| 7 2912 DROP tcp -- 0.0.0.0/0 xx.xx.xx.xx tcp dpt:80 STRING match "Host: xx.xx.xx.xx" ALGO name bm TO 700
| 0 0 DROP tcp -- 0.0.0.0/0 xx.xx.xx.xx tcp dpt:80 STRING match "GET /w00tw00t.at.ISC.SANS." ALGO name bm TO 70
| ========

J'ai testé en tapant http://xx.xx.xx.xx dans firefox, j'ai eu une erreur (timeout) et je vois que 7 paquets ont été rejetés. :-)