web-dev-qa-db-fra.com

FirewallD: Autoriser les connexions uniquement à partir de certaines adresses IP

J'essaie d'utiliser un pare-feu pour limiter l'accès à un serveur Centos à partir d'autres machines du réseau. Il possède une seule interface réseau et fonctionnent dans la zone Public. Disons que l'adresse IP de ce serveur 10.10.1.20.

Ce que je veux faire, c'est d'autoriser uniquement des machines avec des adresses IP 10.10.1.125 et 10.10.1.126 pour pouvoir connecter (SSH et HTTPS) à ce serveur. Aucune des autres adresses IP ne devrait être capable de se connecter à ce serveur (ou même savoir qu'elle existe).

J'ai essayé d'utiliser les riches règles de Firewalld comme suit (le 10.10.1.20)

Sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="10.10.1.0/24" drop'

Sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="10.10.1.125" accept'

Sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="10.10.1.126" accept'

Mais cela ne semble pas fonctionner. Je ne peux pas faire de connexions SSH à 10.10.1.20 du 10.10.1.125 ou 10.10.1.126.

J'ai essayé d'entrer dans les règles dans l'ordre inverse, mais cela ne fonctionne toujours pas.

Quelqu'un peut-il m'aider ici? Dois-je changer la zone de public vers une chute plus restrictive comme une chute avant que les règles que j'ai écrites ci-dessus puissent être appliquées?

3
thisisshantzz

Les règles riches ne sont pas le moyen d'y aller. Ils vont simplement créer de la confusion, maintenant et plus tard.

Comprenez qu'un pare-feu -zone correspond à un ensemble de services que vous souhaiterez peut-être permettre et les sources du trafic de ces services.

Tout ce que vous avez à faire est de définir les services que vous souhaitez autoriser dans la zone (que vous avez probablement déjà fait), puis définissez les sources.

Les sources de la circulation peuvent être désignées de deux manières: par interface ou par adresse IP source. Le trafic qui correspond tout source passe ce chèque.

Donc, ce que vous voulez faire est d'ajouter les adresses IP autorisées à atteindre les services, puis à supprimer l'interface (le cas échéant).

firewall-cmd --zone=public --add-source=10.10.1.25
firewall-cmd --zone=public --add-source=10.10.1.26
firewall-cmd --zone=public --remove-interface=enp2s1
firewall-cmd --runtime-to-permanent

Et Notez que vous avez probablement ne PAS Voulez-vous le faire dans la zone public, mais créez une nouvelle zone. Cette zone a plusieurs choses configurées pour être autorisées par défaut (telle que DHCP), ce qui pourrait vous causer des problèmes si vous supprimez l'interface et restreignez la zone par adresse IP source.

8
Michael Hampton