Est-ce suffisant d'ajouter des règles iptables sans redémarrer?

24

(Serveur Ubuntu) Im en cours d'exécution

sudo iptables -A INPUT -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 4/sec -j ACCEPT

et alors

sudo iptables-save

Pour obtenir la fonction des règles iptables, suffit-il de faire uniquement la commande ci-dessus (sans redémarrer iptables)?

cewebugil
la source

Réponses:

15

Pour plus de clarté, la iptables-savefonction de la commande n'est pas d'activer des règles, son but est d'enregistrer les règles pour une utilisation ultérieure. Les utilisations courantes sont:

iptables-save > iptables.dat

Cela enregistre les règles actuelles dans iptables.dat. Vous pouvez restaurer cet ensemble de règles avec la commande:

iptables-restore < iptables.dat

Vous pouvez mettre cette ligne rc.localpour restaurer les règles après le redémarrage, car un redémarrage efface toutes les règles par défaut.

Jonnyuser
la source
7
Et n'oubliez pas iptables-applysi vous voulez rester calme. (10 secondes par défaut)
gertas
13

@cewebugil Dans la mesure où votre question d'origine est suffisante, il suffit d'appliquer les règles IPTABLE. Au moment où vous appliquez la règle IPTABLE, elle devient immédiatement active. Mais elle ne survivra pas à un redémarrage.

Pour pouvoir survivre à IPTABLES un redémarrage dans votre fichier de configuration réseau / etc / network / interfaces fichier (je fais référence à un système Debian / Ubuntu), vous devez en ajouter où
pre-up iptables-restore < firewall.txt

Vérifiez cette confusion de thread lors de la configuration d'un pare-feu sur le pont et ce lien http://www.debian-administration.org/articles/445

Deux bonnes pratiques pour vous sauver d'une serrure

1) C'est toujours une bonne idée lors du test d'IPTABLES d'avoir une entrée de tâche cron qui vide vos règles toutes les 15 minutes environ. vous évitera un verrouillage éventuel si une règle IPTABLE était incorrecte.

2) Cela peut également être fait par

 iptables-restore < iptables_rules; sleep 30; iptables-restore < clean_rules

L'idée est d'appliquer les règles, d'attendre 30 secondes et d'appliquer un ensemble de règles pour autoriser tout accès. Lorsque vous exécutez cette ligne, appuyez sur Entrée plusieurs fois et deux choses peuvent se produire:

Vos règles vous ont bloqué (en appuyant sur Entrée ne s'affiche pas à l'écran, alors attendez le temps de s'épuiser et elles seront effacées; Si vos règles fonctionnent et vous pouvez voir les nouvelles lignes à l'écran, CTRL + C avant la fin du sommeil et tu es bon.

Utilisateur enregistré
la source
15
Vous pouvez également utiliser iptables-apply -t 30 iptables_rules. iptables-applyattendra que vous confirmiez positivement les règles appliquées, et si après 30 secondes vous ne répondez pas, il reviendra aux règles précédentes.
pepoluan
@pepoluan merci pour cette information que je ne connaissais pas.
Utilisateur enregistré le
ouais, je viens de découvrir ça la semaine dernière. maintenant je ne peux pas vivre sans :-)
pepoluan
12

Oui, une fois que vous avez ajouté une règle à iptables, elle devient immédiatement active - c'est pourquoi vous devez être prudent avec vos règles car il est possible de vous verrouiller.

user9517 prend en charge GoFundMonica
la source