Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/01/2013, à 03:26

devphp

Amélioré mon firewall

Bonjour,

Je continue mon aventure avec iptables et fail2ban. Je redécouvre petit a petit des outils tel que hping et nmap.

Considérons que mon petit VPS (OVH VPS CLASSIC) est l'ennemis, je lance une attaque avec hping sur un port fermer de mon serveur dédié (OVH SP 16G).
Tout le temps ou hping est lancé, mon serveur est absolument inaccessible.

J'essaye donc de me protégé, puisque je n'ai eu aucune difficulté a trouvé un moyen d'attaqué, une solution pour me défendre doit existé. D'autant plus que l'attaquant est un tout petit serveur VPS, un peu comme si un gamin mettait K.O. Chuck Norris d'une claque ^^

Voici mon firewall, je sais qu'il est incomplet. J'ai encore beaucoup de difficulté a assimilé le fonctionnement, upd/tcp/both et la plurialité des filtres possibles. JE me suis beaucoup inspiré de script pioché ici et là.

#!/bin/sh
iptables=$(which iptables)

echo "Mise à 0"
$iptables -t filter -F
$iptables -t filter -X

echo "On bloque tout"
$iptables -t filter -P INPUT DROP
$iptables -t filter -P FORWARD DROP
$iptables -t filter -P OUTPUT DROP

echo "Ne pas casser les connexions établies"
$iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

echo "Autorise le loopback"
$iptables -t filter -A INPUT -i lo -j ACCEPT
$iptables -t filter -A OUTPUT -o lo -j ACCEPT

echo "Autorise le ping"
$iptables -A INPUT  -p icmp -m limit --limit 10/second -j ACCEPT
$iptables -A INPUT -p icmp -j DROP 

echo "Drop des scanner"
$iptables -A INPUT -p tcp --tcp-flags FIN,URG,PSH FIN,URG,PSH -j DROP
$iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
$iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

echo "Broadcast silencieux"
$iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP

echo "DNS:53"
$iptables -A OUTPUT --protocol udp --destination-port 53 -j ACCEPT
#iptables -A INPUT -p tcp --syn --dport 53 -m iplimit --iplimit-above 10 --iplimit-mask 24 -j REJECT

#echo "SSH IN/OUT:22"
$iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
$iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
$iptables -N SSH
$iptables -I SSH -m recent --update --seconds 30 --hitcount 4 --name SSHLIMIT -j DROP

echo "NTP Out:123"
$iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

echo "HTTP:80 + HTTPS Out:443"
$iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
$iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT

echo "HTTP:80 + HTTPS In:443:8443"
$iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
$iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
$iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT

$iptables -A INPUT   -j LOG --log-prefix "FIREWALL IN "
#$iptables -A OUTPUT  -j LOG --log-prefix "FIREWALL OUT "
$iptables -A FORWARD -j LOG --log-prefix "FIREWALL FW "

$iptables -N LOGGING
$iptables -A LOGGING -j LOG --log-prefix "FIREWALL DP "
$iptables -A LOGGING -j DROP

Comment puis-je me protégé, me défendre face a de tel attaque ?


Ubuntu 12.04 (Xfce) 64bits
Intel® Core™ i5 CPU M 520 @ 2.40GHz × 4

Priorité à la prévention, faite des back-up fréquent.

Hors ligne

#2 Le 30/01/2013, à 09:46

Haleth

Re : Amélioré mon firewall

wikipedia a écrit :

Hping, logiciel créé par Salvatore Sanfilippo, fonctionne en envoyant des paquets TCP à un port de destination puis en signalant les paquets qu'il reçoit en retour. Les paquets reçus peuvent révéler une image assez claire des commandes d'accès au pare-feu grâce aux paquets bloqués, rejetés ou abandonnés.

C'est ca une "attaque" ?
Y'a aucun risque avec ce genre d'outil, donc aucun besoin de le "bloqué".
Si c'est des tentatives de connexions/requêtes alacon, ton fail2ban va le gérer tout seul.

Ton code iptables est intrinséquement puéril, je te susurre d'utiliser celui-la:

iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT

Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#3 Le 30/01/2013, à 18:12

devphp

Re : Amélioré mon firewall

Autrement dis, le mieux serai de tout accepter et de faire confiance a fail2ban ?


Ubuntu 12.04 (Xfce) 64bits
Intel® Core™ i5 CPU M 520 @ 2.40GHz × 4

Priorité à la prévention, faite des back-up fréquent.

Hors ligne

#4 Le 30/01/2013, à 18:14

Haleth

Re : Amélioré mon firewall

fail2ban est fait pour bloquer les gens qui bruteforce l'un de tes services
accepter quoi ? accepter les paquets pour lesquels tu as mis un serveur ? Ca serait débile de les bloquer, non ?


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#5 Le 30/01/2013, à 18:28

Pseudo supprimé

Re : Amélioré mon firewall

tu fais comme avec scanlogd, sauf que tu remplaces le iptables-all par iptables-tarpit

action = iptables-tarpit[name=ALL]

tu dois recréer un fichier "action" comme "iptables-all"

edit: regarde du côté du blog de nicolargo

Dernière modification par Titouan (Le 30/01/2013, à 18:32)