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)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 pkts bytes target     prot opt in     out     source               destination
Chain RH-Firewall-1-INPUT (2 references)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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