Aller au contenu principal

Paramètres de pare-feu

Utilisez les informations suivantes pour définir la configuration du pare-feu.

Définir le pare-feu par défaut

La section par défaut déclare des paramètres de pare-feu globaux qui ne s'appliquent pas à des zones spécifiques.

Tableau 1. Définir le pare-feu par défaut
Syntaxe
  • sudo uci set firewall.@defaults[0].input=<input>
  • sudo uci set firewall.@defaults[0].output=<output>
  • sudo uci set firewall.@defaults[0].forward=<forward>
  • sudo uci set firewall.@defaults[0].syn_flood=<syn_flood>
  • sudo uci set firewall.@defaults[0].drop_invalid=<drop_invalid>
Tableau 2. Paramètres
NomTypeRequisPar défautDescription

entrée

chaîne

non

REJETER

Définissez la stratégie pour la chaîne ENTRÉE du tableau de filtre.

sortie

chaîne

non

REJETER

Définissez la stratégie pour la chaîne SORTIE du tableau de filtre.

transfert

chaîne

non

REJETER

Définissez la stratégie pour la chaîne TRANSFERT du tableau de filtre.

syn_flood

booléen

non

0

Activez la protection contre les inondations SYN (rendue obsolète par le paramètre synflood_protect).

drop_invalid

booléen

non

0

Supprimez les modules non valides (par exemple, ne correspondant à aucune connexion active).

Exemple de commandes :

Tableau 3. Exemple de commandes
  • sudo uci set firewall.@defaults[0].input=ACCEPT
  • sudo uci set firewall.@defaults[0].output= ACCEPT
  • sudo uci set firewall.@defaults[0].forward= ACCEPT
  • sudo uci set firewall.@defaults[0].syn_flood=1
  • sudo uci set firewall.@defaults[0].drop_invalid=1
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart

Ajout d'une nouvelle zone

Cette section définit les propriétés communes de « test ». Les options d’entrée et de sortie définissent les stratégies par défaut pour le trafic entrant et sortant de cette zone, tandis que l’option de transfert décrit la stratégie propre au trafic transféré entre les différents réseaux de la zone. Les réseaux couverts indiquent les réseaux disponibles qui font partie de cette zone.

Tableau 4. Ajout d'une nouvelle zone
Syntaxe
  • sudo uci add firewall zone
  • sudo uci set firewall.@zone[-1].name=<name>
  • sudo uci set firewall.@zone[-1].input=<input>
  • sudo uci set firewall.@zone[-1].output=<output>
  • sudo uci set firewall.@zone[-1].forward=<forward>
  • sudo uci set firewall.@zone[-1].masq=<masq>
  • sudo uci set firewall.@zone[-1].mtu_fix=<mtu_fix>
  • sudo uci set firewall.@zone[-1].network=<network>
  • sudo uci set firewall.@zone[-1].family=<family>
  • sudo uci set firewall.@zone[-1].masq_src=<masq_src>
  • sudo uci set firewall.@zone[-1].masq_dest=<masq_dest>
  • sudo uci set firewall.@zone[-1].conntrack=<conntrack>
  • sudo uci set firewall.@zone[-1].log=<log>
  • sudo uci set firewall.@zone[-1].log_limit=<log_limit>
  • udo uci commit firewall
Tableau 5. Paramètres

Paramètre

Type

Requis

Par défaut

Description

nom

nom de la zone

Oui

aucune

Nom de zone unique. 11 caractères correspond à la longueur maximale du nom de zone du pare-feu.

entrée

chaîne

non

REJETER

Définissez la stratégie pour la chaîne ENTRÉE du tableau de filtre.

sortie

chaîne

non

REJETER

Définissez la stratégie pour la chaîne SORTIE du tableau de filtre.

transfert

chaîne

non

REJETER

Définissez la stratégie pour la chaîne TRANSFERT du tableau de filtre.

masq

booléen

non

0

Indique si le trafic de zone sortant doit être masqué : cette option est généralement activée sur la zone wan.

mtu_fix

booléen

non

0

Activez la retenue MSS pour le trafic de zone sortant.

réseau

liste

non

aucune

Liste des interfaces connectées à cette zone. Si cette valeur n’est pas spécifiée et qu'aucun(e) option, sous-réseau ou périphérique supplémentaire* n'est fourni(e), la valeur de nom est utilisée par défaut. Les interfaces d’alias définies dans la configuration réseau ne peuvent pas être utilisées en tant que réseaux « autonomes » valides. Utilisez la syntaxe de liste comme expliqué dans uci.

famille

chaîne

non

0

Famille de protocoles (IPv4, IPv6 ou autre) pour laquelle générer des règles iptables.

masq_src

liste des sous-réseaux

non

0.0.0.0/0

Limitez le masquage aux sous-réseaux sources donnés. La négation est possible en faisant précéder le sous-réseau par ! ; plusieurs sous-réseaux sont autorisés.

masq_dest

liste des sous-réseaux

non

0.0.0.0/0

Limitez le masquage aux sous-réseaux de destination donnés. La négation est possible en faisant précéder le sous-réseau par ! ; plusieurs sous-réseaux sont autorisés.

conntrack

booléen

non

1 si le masquage est utilisé, sinon 0

Forcer le suivi de connexion pour cette zone (voir la remarque relative au suivi des connexions).

journal

booléen

non

0

Créez des règles de journalisation pour le trafic rejeté et abandonné dans cette zone.

log_limit

chaîne

non

10/minute

Limite le nombre de messages de journal par intervalle.

Exemple de commandes :

Tableau 6. Exemple de commandes
  • sudo uci add firewall zone
  • sudo uci set firewall.@zone[-1].name=test
  • sudo uci set firewall.@zone[-1].input=ACCEPT
  • sudo uci set firewall.@zone[-1].output= ACCEPT
  • sudo uci set firewall.@zone[-1].forward= ACCEPT
  • sudo uci set firewall.@zone[-1].masq=<masq>
  • sudo uci set firewall.@zone[-1].mtu_fix=<mtu_fix>
  • sudo uci set firewall.@zone[-1].network=<network>
  • sudo uci set firewall.@zone[-1].family=<family>
  • sudo uci set firewall.@zone[-1].masq_src=<masq_src>
  • sudo uci set firewall.@zone[-1].masq_dest=<masq_dest>
  • sudo uci set firewall.@zone[-1].conntrack=<conntrack>
  • sudo uci set firewall.@zone[-1].log=<log>
  • sudo uci set firewall.@zone[-1].log_limit=<log_limit>
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart

Ajout d'un nouveau transfert

Les sections de transfert contrôlent le flux de trafic entre les zones et peuvent activer la retenue MSS pour des directions spécifiques. Une règle de transfert ne couvre qu'une direction. Pour autoriser des flux de trafic bidirectionnels entre deux zones, deux transferts sont requis, avec src et dest inversés dans chacun d'eux.

Tableau 7. Ajout d'un nouveau transfert
Syntaxe
  • sudo uci set firewall.@zone[-1].src=<src>
  • sudo uci set firewall.@zone[-1].dest=<dest>
  • sudo uci commit firewall
Tableau 8. Paramètres
ParamètreTypeRequisPar défautDescription

src

nom de la zone

Oui

aucune

Indique la zone source de trafic. Doit faire référence à l’un des noms de zone définis.

dest

nom de la zone

Oui

aucune

Indique la zone de destination de trafic. Doit faire référence à l’un des noms de zone définis.

Exemple de commandes :

Tableau 9. Exemple de commandes
  • sudo uci set firewall.@zone[-1].src=test
  • sudo uci set firewall.@zone[-1].dest=lan
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart

Ajout d'un nouveau transfert de port

Les transferts de port (DNAT) sont définis par des sections de redirection. Tout le trafic entrant sur la zone source spécifiée qui correspond aux règles données sera dirigé vers l’hôte interne spécifié. Les redirections sont également communément appelées « transfert de port » et « serveurs virtuels ». Les plages de ports sont spécifiées sous la forme début:fin, par exemple 6666:6670. Cela s’apparente à la syntaxe iptables.

Tableau 10. Ajout d'un nouveau transfert de port
Syntaxe
  • sudo uci add firewall redirect
  • sudo uci set firewall.@redirect[-1].enabled=<enabled>
  • sudo uci set firewall.@redirect[-1].name=<name>
  • sudo uci set firewall.@redirect[-1].proto=<proto>
  • sudo uci set firewall.@redirect[-1].src=<src>
  • sudo uci set firewall.@redirect[-1].src_mac=<src_mac>
  • sudo uci set firewall.@redirect[-1].src_ip=<src_ip>
  • sudo uci set firewall.@redirect[-1].src_port=<src_port>
  • sudo uci set firewall.@redirect[-1].src_dip=<src_dip>
  • sudo uci set firewall.@redirect[-1].src_dport=<src_dport>
  • sudo uci set firewall.@redirect[-1].dest=<dest>
  • sudo uci set firewall.@redirect[-1].dest_ip=<dest_ip>
  • sudo uci set firewall.@redirect[-1].dest_port=<dest_port>
  • sudo uci set firewall.@redirect[-1].reflection=<reflection>
  • sudo uci commit firewall
Tableau 11. Paramètres
ParamètreTypeRequisPar défautDescription

activé

chaîne

non

1 ou oui

Activez ou non la règle de redirection.

nom

chaîne

non

aucune

Nom de redirection unique.

proto

numéro ou nom de protocole

Oui

tcp udp

Faites correspondre le trafic entrant à l’aide du protocole donné.

src

nom de la zone

non

oui pour la cible DNAT

Indique la zone source de trafic. Doit faire référence à l’un des noms de zone définis. Pour les transferts de port classiques, il s’agit généralement de wan.

src_mac

adresse mac

non

aucune

Faites correspondre le trafic entrant de l’adresse mac spécifiée.

src_ip

adresse IP

non

aucune

Faites correspondre le trafic entrant de l’adresse ip de la source spécifiée.

src_port

port ou plage

non

aucune

Faites correspondre le trafic entrant émanant du port source ou de la plage de ports donné(e) (ex : « 5000-5100 ») sur l’hôte client.

src_dip

adresse IP

oui pour la cible SNAT

aucune

Pour DNAT, faites correspondre le trafic entrant dirigé vers l’adresse IP de destination indiquée. Pour SNAT, réécrivez l’adresse source à l’adresse donnée.

src_dport

port ou plage

non

aucune

Pour DNAT, faites correspondre le trafic entrant dirigé vers le port ou la plage de ports de destination donné(e) (ex : « 5000-5100 ») sur cet hôte. Pour SNAT, réécrivez les ports de source à la valeur donnée.

dest

nom de la zone

oui pour la cible SNAT

aucune

Indique la zone de destination de trafic. Doit faire référence à l’un des noms de zone définis. Pour la cible DNAT sur l’ajustement d’attitude, la réflexion NAT ne fonctionne que si elle est égale à LAN.

dest_ip

adresse IP

oui pour la cible DNAT

aucune

Pour DNAT, redirigez le trafic entrant correspondant à l’hôte interne indiqué. Pour SNAT, faites correspondre le trafic dirigé à l’adresse indiquée. Pour DNAT, si la valeur dest_ip correspond aux adresses IP locales du routeur, comme illustré dans la commande ifconfig, la règle est traduite dans une règle DNAT + entrée « accept ». Dans le cas contraire, il s’agit d’une règle de DNAT + transfert.

dest_port

port ou plage

non

aucune

Pour DNAT, redirigez le trafic entrant correspondant au port donné vers l’hôte interne. Pour SNAT, faites correspondre le trafic dirigé aux ports indiqués. Un seul port ou une seule plage peut être spécifié(e) (par exemple, « 5000-5100 »), et non pas des ports disparates, comme avec les règles (voir ci-après).

réflexion

booléen

non

1

Activez la réflexion NAT pour cette redirection ; applicable aux cibles DNAT.

Exemple de commandes :

Tableau 12. Transfert du trafic http (et non pas HTTPS) vers le serveur Web qui s’exécute sur 192.168.1.10 :
  • sudo uci add firewall redirect
  • sudo uci set firewall.@redirect[-1].enabled=1
  • sudo uci set firewall.@redirect[-1].proto=tcp
  • sudo uci set firewall.@redirect[-1].src=wan
  • sudo uci set firewall.@redirect[-1].src_dport=80
  • sudo uci set firewall.@redirect[-1].dest=lan
  • sudo uci set firewall.@redirect[-1].dest_ip=192.168.1.10
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart

Ajout d'une nouvelle règle de trafic

Les transferts de port (DNAT) sont définis par des sections de redirection. Tout le trafic entrant sur la zone source spécifiée qui correspond aux règles données sera dirigé vers l’hôte interne spécifié. Les redirections sont également communément appelées « transfert de port » et « serveurs virtuels ». Les plages de ports sont spécifiées sous la forme début:fin, par exemple 6666:6670. Cela s’apparente à la syntaxe iptables.

Tableau 13. Ajout d'une nouvelle règle de trafic
Syntaxe
  • sudo uci add firewall rule
  • sudo uci set firewall.@rule[-1].enabled=<enabled>
  • sudo uci set firewall.@rule[-1].name=<name>
  • sudo uci set firewall.@rule[-1].family=<family>
  • sudo uci set firewall.@rule[-1].proto=<proto>
  • sudo uci set firewall.@rule[-1].src=<src>
  • sudo uci set firewall.@rule[-1].src_mac=<src_mac>
  • sudo uci set firewall.@rule[-1].src_ip=<src_ip>
  • sudo uci set firewall.@rule[-1].src_port=<src_port>
  • sudo uci set firewall.@rule[-1].dest=<dest>
  • sudo uci set firewall.@rule[-1].dest_ip=<dest_ip>
  • sudo uci set firewall.@rule[-1].dest_port=<dest_port>
  • sudo uci set firewall.@rule[-1].target=<target>
  • sudo uci set firewall.@rule[-1].weekdays=<weekdays>
  • sudo uci set firewall.@rule[-1].monthdays=<monthdays>
  • sudo uci set firewall.@rule[-1].start_time=<start_time>
  • sudo uci set firewall.@rule[-1].stop_time=<stop_time>
  • sudo uci set firewall.@rule[-1].start_date=<start_date>
  • sudo uci set firewall.@rule[-1].stop_date=<stop_date>
  • sudo uci set firewall.@rule[-1].utc_time=<utc_time>
  • uci commit firewall
Tableau 14. Paramètres
ParamètreTypeRequisPar défautDescription

activé

booléen

non

Oui

Activez ou désactivez la règle.

nom

chaîne

non

aucune

Nom de règle unique.

famille

chaîne

non

n'importe laquelle

Famille de protocoles (IPv4, IPv6 ou autre) pour laquelle générer des règles iptables.

proto

numéro ou nom de protocole

non

tcp udp

Faites correspondre le trafic entrant à l’aide du protocole donné. Il peut s’agir de l’un des protocoles tcp, udp, tcpudp, udplite, icmp, esp, ah, sctp ou de tous, ou d’une valeur numérique, représentant l’un de ces protocoles ou un autre. Un nom de protocole de /etc/protocols est également autorisé. Le nombre 0 équivaut à tous.

src

nom de la zone

oui (facultatif depuis le pare-feu v2, version 58 et versions ultérieures)

aucune

Indique la zone source de trafic. Doit faire référence à l’un des noms de zone définis.

src_mac

adresse mac

non

aucune

Faites correspondre le trafic entrant de l’adresse mac spécifiée.

src_ip

adresse IP

non

aucune

Faites correspondre le trafic entrant de l’adresse ip de la source spécifiée.

src_port

port ou plage

non

aucune

Faites correspondre le trafic entrant du port source ou de la plage de ports source spécifié(e) (par exemple, « 5000:5100 », la plage de ports ne s’applique pas à tous les protocoles), si le proto approprié est spécifié. Plusieurs ports peuvent être spécifiés comme « 80 443 465 » 1.

dest

nom de la zone

non

aucune

Indique la zone de destination de trafic. Doit faire référence à l’un des noms de zone définis ou * pour n'importe quelle zone. Si cette option est spécifiée, la règle s’applique au trafic transféré. Dans le cas contraire, elle est traitée comme une règle d’entrée.

dest_ip

adresse IP

non

aucune

Faites correspondre le trafic entrant dirigé vers l’adresse IP de destination indiquée. Sans zone de destination, il est considéré comme une règle d’entrée.

dest_port

port ou plage

non

aucune

Faites correspondre le trafic entrant dirigé au port de destination ou à la plage de ports de destination spécifié(e) (par exemple, « 5000:5100 », la plage de ports ne s’applique pas à tous les protocoles), si le proto approprié est spécifié. Plusieurs ports peuvent être spécifiés comme « 80 443 465 » 1.

cible

chaîne

Oui

DÉPÔT

Activez la réflexion NAT pour cette redirection ; applicable aux cibles DNAT.

jours de semaine

liste des jours de semaine

non

(toujours)

Si cette option est spécifiée, faites correspondre le trafic uniquement durant les jours de la semaine spécifiés, par exemple dim/lun/jeu/ven, ce qui correspond à dimanche, lundi, jeudi et vendredi. La liste peut être inversée en la faisant précéder d’un point d’exclamation, par exemple ! sam dim indiquera que la mise en correspondance du trafic doit se faire tous les jours sauf le samedi et le dimanche.

jours du mois

liste de dates

non

(toujours)

Si cette option est spécifiée, faites correspondre le trafic durant certains jours donnés du mois, par exemple, 2 5 30, ce qui signifie que le trafic ne doit être mis en correspondance que le 2, le 5 et le 30 du mois. La liste peut être inversée en la faisant précéder d’un point d’exclamation, par exemple ! 31, ce qui signifiera que la mise en correspondance doit se faire tous les jours sauf le 31 du mois.

start_time

heure (hh:mm:ss)

non

(toujours)

Si cette option est spécifiée, ne faites correspondre le trafic qu’après l’heure de la journée indiquée (incluse).

stop_time

heure (hh:mm:ss)

non

(toujours)

Si cette option est spécifiée, ne faites correspondre le trafic qu’avant l’heure de la journée indiquée (incluse).

start_date

date (aaaa-mm-jj)

non

(toujours)

Si cette option est spécifiée, ne faites correspondre le trafic qu’après la date indiquée (incluse).

stop_date

date (aaaa-mm-jj)

non

(toujours)

Si cette option est spécifiée, ne faites correspondre le trafic qu’avant la date indiquée (incluse).

utc_time

booléen

non

0

Traitez toutes les valeurs d’heure données en heure UTC et non en heure locale.

Exemple de commandes :

Tableau 15. Bloque toutes les tentatives de connexion de l’adresse d’hôte spécifiée.
  • sudo uci add firewall rule
  • sudo uci set firewall.@rule[-1].enabled=1
  • sudo uci set firewall.@rule[-1].src=lan
  • sudo uci set firewall.@rule[-1].dest=wan
  • sudo uci set firewall.@rule[-1].dest_ip=123.45.67.89
  • sudo uci set firewall.@rule[-1].target=REJECT
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart

Ajout d'une nouvelle NAT source

Une NAT source modifie un paquet sortant de sorte qu’il semble que le système de commutateur intégré est la source du paquet.

Exemple de commandes :
Tableau 16. Définition de la NAT source pour le trafic UDP et TCP

Définissez une NAT source pour le trafic UDP et TCP dirigé vers le port 123 qui est issu de l’hôte avec l’adresse IP 10.55.34.85.

L’adresse source est réécrite dans 63.240.161.99 :

  • sudo uci add firewall redirect
  • sudo uci set firewall.@redirect[-1].enabled=1
  • sudo uci set firewall.@redirect[-1].src=lan
  • sudo uci set firewall.@redirect[-1].src_ip=10.55.34.85
  • sudo uci set firewall.@redirect[-1].src_dip=63.240.161.99
  • sudo uci set firewall.@redirect[-1].dest=wan
  • sudo uci set firewall.@redirect[-1].dest_port=123
  • sudo uci set firewall.@redirect[-1].target=SNAT
  • sudo uci commit firewall
  • sudo /etc/init.d/firewall restart