J'ai quelques plages d'adresses IP auxquelles je veux que mon serveur puisse se connecter et à partir duquel les utilisateurs peuvent se connecter. Tout le reste doit être bloqué.
Comment dois-je faire cela avec iptables?
Mon système d'exploitation est une distribution Linux basée sur Debian.
Je suggère de saisir un outil de configuration de pare-feu, tel que Firestarter , et de partir de là. Voici cependant quelques notions de base.
#Flush existing rules
iptables -F
# Set up default DROP rule for eth0
iptables -P INPUT DROP
# Allow existing connections to continue
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Accept everything from the 192.168.1.x network
iptables -A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT
# Allow connections from this Host to 192.168.2.10
iptables -A OUTPUT -o eth0 -d 192.168.2.10 -j ACCEPT
iptables -I INPUT -s <allowed_ip> -j ACCEPT #(repeat this line as needed)
iptables -P INPUT DROP
Cela transformera votre système en un système inexistant pour les ordinateurs non autorisés.
Si vous souhaitez autoriser des plages arbitraires plutôt que des sous-réseaux entiers, vous pouvez utiliser le module iptables 'iprange':
iptables -P INPUT DROP
iptables -A INPUT -m iprange --src-range 192.168.1.30-50 -j ACCEPT
par exemple, autorisera le trafic provenant de toutes les machines dont l'adresse est comprise entre 192.168.1.30 et 192.168.1.50.
Si vous souhaitez autoriser le trafic entrant et sortant vers la même plage d'adresses IP, je vous suggère de créer une chaîne spécifique autorisant ces IP et ciblant toutes les cibles d'entrée et de sortie:
--définissez les politiques par défaut à abandonner:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
--créer la nouvelle chaîne:
iptables -N allowed_ips
--si la source fait partie de la plage autorisée, acceptez
iptables -A allowed_ips -m iprange --src-range 192.168.1.30-50 -j ACCEPT
- Sinon, retournez à la chaîne d'appel pour poursuivre le traitement
iptables -A allowed_ips -j RETURN
- faire en sorte que tout le trafic entrant et sortant de la machine passe par notre nouvelle chaîne
iptables -A INPUT -j allowed_ips
iptables -A OUTPUT -j allowed_ips
et c'est tout! bien sûr, vous devrez peut-être des règles supplémentaires, telles que celle autorisant tout le trafic depuis/vers l'interface lo, etc.
Une fois que vous êtes satisfait de vos règles, vous voulez probablement les enregistrer . Les commentaires dans ce lien ont plusieurs options sur la façon de procéder.
Un générateur de règles iptables facile à utiliser pour les besoins simples est fw . Le paquet est disponible dans debian unstable.
Essayez également Firestarter . Disponible en lenny.
Vous pouvez également utiliser ferm que j'utilise également depuis un an et qui m'a beaucoup aidé dans des cas tels que les règles de pare-feu conditionnelles.