web-dev-qa-db-fra.com

Comment puis-je autoriser la connexion SSH à partir d'un sous-réseau IP sur le port 10022 à l'aide d'iptables?

Je dois configurer un serveur avec une adresse IP publique pour les tests de bande passante et je dispose déjà d'un script pour supprimer tout le trafic entrant, à l'exception des ports dont j'ai besoin. J'ai changé le port ssh de default (22) en un autre (appelons-le XXXXX; désolée pour la paranoïa mais nous venons de nous faire pirater la semaine dernière).

Ma question est donc la suivante: comment autoriser une plage d'adresses IP à ssh sur le serveur via ce port spécifique?

Le script que j'ai mentionné plus tôt:

iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -A INPUT -i em1 -p tcp --dport XXXXX -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o em1 -p tcp --sport XXXXX -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o em1 -p tcp --dport XXXXX -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i em1 -p tcp --sport XXXXX -m state --state ESTABLISHED -j ACCEPT

Il me suffit donc d’ajouter la plage ip pour pouvoir ssh à distance.

2
Mike

Utilisez l'option -s de iptables. Il accepte une adresse IP de la forme nnn.nnn.nnn.nnn ou avec un masque (nnn.nnn.nnn.nnn/nnn.nnn.nnn.nnn ou nnn.nnn.nnn.nnn/nn). Donc, pour autoriser par exemple les connexions de nnn.nnn.nnn. *, Vous pouvez écrire

iptables -A INPUT -s nnn.nnn.nnn.0/255.255.255.0 -i em1 -p tcp --dport XXXXX -m state --state NEW,ESTABLISHED -j ACCEPT

ou

iptables -A INPUT -s nnn.nnn.nnn.0/24 -i em1 -p tcp --dport XXXXX -m state --state NEW,ESTABLISHED -j ACCEPT

(voir par exemple ici pour le calcul du masque de réseau)

Si vous ne pouvez pas créer de masque de réseau, je crains fort que vous deviez dupliquer la règle pour chacune des adresses IP que vous souhaitez autoriser à vous connecter à votre serveur.

En général, cependant, je n'ai jamais trouvé travailler directement avec iptables très agréable, on peut rapidement perdre la vue d'ensemble. J'irais probablement quelque chose comme shorewall .

1
January