Parefeu dureté maximale

Bonjour j’essais d’approfondir mes connaissances avec iptables et de comprendre plus en profondeur le fonctionnement du parefeu.

Mon objectif : n’autoriser que pour seule connexion sur un serveur le ssh en provenance de mon ip locale, (même pas le apt).

Donc j’ai un script qui ressemble à ca :

#!/bin/bash

#### INPUT ####
iptables -A INPUT -p tcp -s $IP --dport 22 -j ACCEPT

iptables -P INPUT DROP

#### OUTPUT ####
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -d $IP -p tcp --sport 22 -j ACCEPT

iptables -P OUTPUT DROP

#### FORWARD ####

iptables -P FORWARD DROP

première difficulté, la règle en sortie est bien écris? ma connexion finis par lâcher (pas tout de suite) et impossible de me reconnecter avec ce script.

Bonjour,

Personnellement j’utilise les fichiers host.allow et host.deny pour limiter l’accès au ssh: https://www.incredigeek.com/home/allow-ssh-access-from-a-specific-host-using-hosts-allow-and-hosts-deny-on-linux/

Je laisse les experts de iptables répondre à tes questions :slight_smile:

Il me semble que c’est déprécié désormais.
sinon perso j’utilise ufw et j’en suis très content.

Pas besoin de RELATED. Les paquets SSH ne sont jamais dans cet état.

Par contre une connexion TCP ou UDP peut engendrer l’envoi et la réception de paquets ICMP d’erreur dans l’état RELATED. Bloquer ces paquets peut empêcher ces connexions de fonctionner correctement.

iptables -A INPUT -p icmp --icmp-type destination-unreachable -m state --state RELATED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded -m state --state RELATED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type parameter-problem -m state --state RELATED -j ACCEPT

Et la même chose dans OUTPUT.

Aussi, certains processus locaux utilisent l’interface de loopback pour communiquer entre eux. Il est donc recommandé d’autoriser les paquets en entrée et en sortie sur cette interface.

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT