Pages : 1
#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
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)
Pages : 1