Iptables pour serveur en SSH

Fermé
Lilou - 13 juil. 2022 à 10:30
barnabe0057 Messages postés 14445 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 26 mai 2024 - 13 juil. 2022 à 16:13

Bonjour,

J'ai un serveur hébergé sur OVH depuis peu, dont j'ai accès par SSH. Sur ce serveur est installé un outil de collecte de données (Cyber), sur Linux et accessible à partir d'une interface Web.

Cet outil doit être accessible que par mon réseau en SSH et pour l'interface Web.

J'ai donc créé les tables suivantes :

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
2703K  188M ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
38531 5164K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
 195K 6576K ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
    9   432 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpts:6100:6200
    5   260 ACCEPT     tcp  --  *      *       xxx.xxx.xx.xx        0.0.0.0/0            tcp dpt:80
  336 17472 ACCEPT     tcp  --  *      *       xxx.xxx.xx.xx        0.0.0.0/0            tcp dpt:443
   10   580 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:xxxx (ssh)

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         


Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
2703K  188M ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
 215K   15M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
   21 12096 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpts:6100:6200
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            xxx.xxx.xx.xx        tcp dpt:443
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            xxx.xxx.xx.xx        tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp spt:xxxx (ssh)

En "policy" ACCEPT, j'ai ajouté les différentes règles :

- permettre la boucle locale

- maintenir les connexions établies

- autoriser le ping

- autoriser l'accès aux ports 6100 et 6200 car je crois qu'OVH s'en sert pour le monitoring

- autoriser l'accès https et http pour mon adresse réseau (freebox)

-  autoriser l'accès SSH via un nouveau port

J'ai ensuite passé la Policy en DROP pour les trois règles, INPUT, OUTPUT, FORWARD (en espérant qu'il fallait bien faire comme cela, c'était pour m'éviter d'être bloqué)

Ensuite, j'ai recherché sur internet comment éviter le plus possible certaines attaques du type DDOS, flood etc.

J'ai trouvé ces commandes :

# Anti ddos 

iptables -A INPUT -p tcp --syn -m limit --limit 2/s --limit-burst 30 -j ACCEPT

# Anti scan 

iptables -A INPUT -p tcp --tcp-flags ALL NONE -m limit --limit 1/h -j ACCEPT
iptables -A INPUT -p tcp --tcp-flags ALL ALL -m limit --limit 1/h -j ACCEPT

# Ainsi que pour l'ICMP :

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

Premièrement, pense-vous que la table créée est bien faite ? Est-ce qu'il n'y a pas un problème d'ordre des règles, un manque d'optimisation ou de sécurité.

Ensuite est-ce que les règles ci-dessus pourraient convenir ? (je comprends tout à fait à quoi elles servent, mais j'ai encore du mal à repérer toutes les vulnérabilités possibles).

Aussi, je n'ai rien mis dans FORWARD, pour moi, il n'y en a pas l'utilité mais je me trompe peut-être

1 réponse

barnabe0057 Messages postés 14445 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 26 mai 2024 4 909
Modifié le 13 juil. 2022 à 13:39

Bonjour,

Et sinon, ça te dit pas d'utiliser ufw au lieu de iptables ?

Ca serait plus simple à configurer.



0

Bonjour, merci pour ta réponse.

UFW permet de simplifier les règles à entrer, je l'ai utilisé pour d'autres situations mais ici je souhaite ajouter des règles assez complexes et parfois non compatible avec UFW (non présentes dans ce sujet).

L'idée de ce poste est que je puisse voir si j'ai oublié ou mal protégé mon serveur. De plus, j'aimerais être sûr que je n'ai pas à utiliser la règle Forward, j'ai toujours du mal avec celle-ci.

0
barnabe0057 Messages postés 14445 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 26 mai 2024 4 909 > Lilou
Modifié le 13 juil. 2022 à 16:23

Ok je comprends.

0