Bonjour,
Ayant un serveur dédié, avec 1 ip dédiée sur VMware, et 2 VMs (Windows & Debian) les tâches attribuées sont:
- Debian : LiteSpeed web server (free)
- Windows server 2003 : Game server sur 2 ports spécifiques accessibles depuis l'extérieur.
Le souci c'est que je me fais ddos à gogo dessus et le parefeu de VMware ESXi est juste trop basique.
Du coup j'ai envisagé sérieusement à passer vers Citrix XenServer 6, seulement je suis en phase de documentation on va dire sur Iptables qui est un poil complexe sur certains aspects et vu le nombre d'attaques possibles, il y a de quoi être dérouté.
J'utilise des IP Failover donc la config est en bridge, pas de NAT.
Voici les règles du firewall sachant que XenCenter utilise les ports 443 et 5060:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
1 2 3
| pkts bytes target prot opt in out source destination
0 0 ACCEPT gre -- any any anywhere anywhere
3191K 3161M RH-Firewall-1-INPUT all -- any any anywhere anywhere |
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
1 2
| pkts bytes target prot opt in out source destination
0 0 RH-Firewall-1-INPUT all -- any any anywhere anywhere |
Chain OUTPUT (policy ACCEPT 1274K packets, 1507M bytes)
pkts bytes target prot opt in out source destination
Chain RH-Firewall-1-INPUT (2 references)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| pkts bytes target prot opt in out source destination
275K 964M ACCEPT all -- lo any anywhere anywhere
4 240 ACCEPT icmp -- any any anywhere anywhere icmp any
0 0 ACCEPT esp -- any any anywhere anywhere
0 0 ACCEPT ah -- any any anywhere anywhere
0 0 ACCEPT udp -- any any anywhere 224.0.0.251 udp dpt:mdns
0 0 ACCEPT udp -- any any anywhere anywhere udp dpt:ipp
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ipp
0 0 ACCEPT udp -- xenapi any anywhere anywhere udp dpt:bootps
2910K 2196M ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT udp -- any any anywhere anywhere state NEW udp dpt:ha-cluster
116 6636 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:ssh
13 692 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:http
104 5452 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:https
5256 640K REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited |
XENSERVER:
Je pensais delete les ports du HA:Cluster, delete la possibilité de requête icmp pour éviter les pings de scan, après j'ai pas compris l'esp et ah ...
Je suppose que le mdns doit être le master dns vu que les paquets sont acceptés pour la destination 224.0.0.251 ?
DEBIAN, WEBSERVER:
Je pensais mettre un accept des connexions entrantes (any) vers l'ip failover du serveur web qui est sur debian en port 80.
Router l'ip failover sur l'ip dédiée de xenserver.
Protection DDOS SYN flood:
1 2
| iptables -A input -d ipfailover -p tcp --dport 80 -j ACCEPT
iptables -A input -d ipfailover -p tcp --syn -m iplimit --iplimit-above 5 -j DROP |
Je suppose qu'il faut recompiler netfilter pour avoir droit d'utiliser iplimit en option ?
Tarpit est envisagé d'après ce que j'ai pu voir, son efficacité semble redoutable, mais ne semble pas être en place sur XenServer 6.
Windows, Game Server:
1 2
| iptables -A input -d ipfailover -p tcp --dport 11002 -j ACCEPT
iptables -A input -d ipfailover -p tcp --dport 11008 -j ACCEPT |
Windows Disposera d'un serveur Oracle, celui ci pourrait communiquer avec le serveur web qui serait sur Debian grâce au client OCI, l'environnement serait sécurisé étant donné que le firewall de Xen bloquerait les tentatives de connexion sur les ports du listener d'oracle.
Mais j'imagine que je dois router les paquets de connexion entre debian et oracle sur windows, et donc les accepter sur le firewall étant donné que les VM sont en bridge et donc les paquets de connexion oracle "sortent" et re-rentrent avec l'ip source du serveur web.
iptables -A input -s ipfailover(debian) -p tcp --dport 1521 -j ACCEPT
Un environnement déjà complexe ...
Quelques conseils seraient les bienvenus, c'est à se casser la tête tout ça.
Merci
Partager