Constructeur de modèle protocole/port
Construire des règles de pare-feu à partir de modèles CSV
Quick Add Common Services
| Name | Protocol | Port | End Port | |
|---|---|---|---|---|
Output Format
Simple Output
tcp/80 tcp/443
Le Protocol/Port Template Builder génère une syntaxe de règles de firewall cohérente à partir d'une entrée CSV structurée spécifiant les protocoles et les ports. Fournissez un CSV comme TCP,443,HTTPS,0.0.0.0/0,192.168.1.20 et un modèle de pattern, et obtenez des règles correctement formatées pour iptables, nftables, les groupes de sécurité AWS ou tout format personnalisé.
Comprendre la création de règles de firewall par modèle
Construire des règles de firewall à la main est l'une des tâches les plus sujettes aux erreurs en administration réseau. Chaque règle suit la même structure -- protocole, port, source, destination, action -- mais la syntaxe exacte diffère entre chaque plateforme de firewall. Une règle iptables ne ressemble en rien à une règle nftables, qui ne ressemble en rien à une définition JSON de groupe de sécurité AWS. Lorsque vous devez créer 20 ou 30 règles pour le déploiement d'une nouvelle application, formater manuellement chacune dans la syntaxe cible est fastidieux et introduit inévitablement des fautes de frappe qui font échouer silencieusement les règles.
L'approche par modèle résout ce problème en séparant les données (ce que vous voulez autoriser) du format (comment votre firewall l'exprime). Vous décrivez vos besoins en ports une seule fois dans un CSV simple -- protocole, port, description, source, destination -- puis vous appliquez un modèle pour générer les règles dans la syntaxe souhaitée. Si vous migrez plus tard d'iptables vers nftables, vous ne réécrivez pas 30 règles à la main. Vous changez le modèle et régénérez. Si l'équipe de sécurité vous remet une feuille de calcul de ports approuvés, vous l'utilisez directement comme entrée plutôt que de transcrire manuellement chaque ligne en syntaxe firewall.
Cela est surtout important dans les environnements où la cohérence est critique. Lorsque plusieurs membres de l'équipe écrivent des règles de firewall à la main, vous vous retrouvez avec un formatage incohérent, des commentaires manquants, une casse de protocole inconsistante et des variations de syntaxe subtiles qui rendent les règles plus difficiles à relire et à auditer. Un modèle garantit que chaque règle suit exactement le même pattern, avec des commentaires générés automatiquement à partir du champ description, faisant de votre configuration firewall une source de documentation fiable plutôt qu'une collection ad hoc de commandes écrites à la main.
Comment construire des règles de firewall à partir de modèles CSV
- Préparez vos données CSV avec des colonnes pour le protocole (TCP, UDP ou les deux), le port ou plage, la description, et éventuellement la source/destination
- Choisissez ou personnalisez un modèle de règle pour votre plateforme de firewall cible
- L'outil applique la substitution de variables pour générer une règle par ligne CSV
- Vérifiez les règles générées
- Copiez la sortie et appliquez-la à votre configuration de firewall
Format d'entrée CSV
protocol,port,description,source,destination
TCP,22,SSH Management,10.0.0.0/8,192.168.1.10
TCP,80,HTTP Web Traffic,0.0.0.0/0,192.168.1.20
TCP,443,HTTPS Web Traffic,0.0.0.0/0,192.168.1.20
UDP,53,DNS Queries,10.0.0.0/8,192.168.1.5
TCP,3306,MySQL Database,192.168.1.0/24,192.168.1.30
TCP,8080-8085,App Server Ports,10.0.0.0/8,192.168.1.40
Exemples de sortie par modèle
Règles iptables
# SSH Management
iptables -A INPUT -p tcp -s 10.0.0.0/8 -d 192.168.1.10 --dport 22 -j ACCEPT
# HTTP Web Traffic
iptables -A INPUT -p tcp -s 0.0.0.0/0 -d 192.168.1.20 --dport 80 -j ACCEPT
# HTTPS Web Traffic
iptables -A INPUT -p tcp -s 0.0.0.0/0 -d 192.168.1.20 --dport 443 -j ACCEPT
# DNS Queries
iptables -A INPUT -p udp -s 10.0.0.0/8 -d 192.168.1.5 --dport 53 -j ACCEPT
# MySQL Database
iptables -A INPUT -p tcp -s 192.168.1.0/24 -d 192.168.1.30 --dport 3306 -j ACCEPT
Règles nftables
# SSH Management
nft add rule inet filter input ip saddr 10.0.0.0/8 ip daddr 192.168.1.10 tcp dport 22 accept
# HTTP Web Traffic
nft add rule inet filter input ip daddr 192.168.1.20 tcp dport 80 accept
JSON AWS Security Group
{
"IpPermissions": [
{
"IpProtocol": "tcp",
"FromPort": 22,
"ToPort": 22,
"IpRanges": [{"CidrIp": "10.0.0.0/8", "Description": "SSH Management"}]
},
{
"IpProtocol": "tcp",
"FromPort": 443,
"ToPort": 443,
"IpRanges": [{"CidrIp": "0.0.0.0/0", "Description": "HTTPS Web Traffic"}]
}
]
}
Variables de modèle
| Variable | Description | Exemple de valeur |
|---|---|---|
{protocol} | Protocole depuis le CSV | tcp |
{PROTOCOL} | Protocole en majuscules | TCP |
{port} | Numéro de port ou plage | 443 ou 8080-8085 |
{port_start} | Port de début de plage | 8080 |
{port_end} | Port de fin de plage | 8085 |
{description} | Description depuis le CSV | HTTPS Web Traffic |
{source} | IP/CIDR source | 10.0.0.0/8 |
{destination} | IP/CIDR destination | 192.168.1.20 |
Quand utiliser le générateur de modèles
- Construction de configurations de firewall initiales à partir des feuilles de calcul de besoins en ports des applications
- Standardisation des formats de règles entre les membres de l'équipe pour garantir une syntaxe cohérente
- Génération de règles depuis des feuilles de calcul de l'équipe sécurité documentant les ports et accès approuvés
- Migration entre plateformes de firewall en réappliquant le modèle au même CSV pour une syntaxe différente
- Création de documentation-as-code où le CSV sert à la fois de documentation lisible et de source de configuration
- Génération en masse de règles lors de l'intégration de nouvelles applications nécessitant de nombreuses entrées de firewall
Fonctionnement de la substitution de variables
Substitution de base
L'outil lit chaque ligne du CSV et remplace les variables du modèle par les valeurs des colonnes correspondantes. Un modèle comme :
iptables -A INPUT -p {protocol} --dport {port} -j ACCEPT # {description}
Appliqué à la ligne TCP,443,HTTPS Web Traffic produit :
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS Web Traffic
Gestion des plages de ports
Pour les plages de ports comme 8080-8085, la variable {port} contient la chaîne de plage complète. Les variables {port_start} et {port_end} fournissent les extrémités individuelles pour les plateformes nécessitant des paramètres de port from/to séparés (comme les AWS Security Groups).
Expansion de protocole
Lorsque la colonne protocole est both ou TCP/UDP, l'outil génère deux règles par ligne -- une pour TCP et une pour UDP -- assurant une couverture complète sans duplication manuelle.
Construction de modèles en pratique
Le plus grand avantage de l'approche par modèle n'est pas la génération initiale des règles -- c'est la maintenance continue. Lorsque vous ajoutez un nouveau service à votre infrastructure, vous ajoutez une ligne à votre CSV et régénérez les règles. Lorsque vous migrez vers une nouvelle plateforme de firewall, vous changez le modèle et régénérez. Lorsque l'équipe de sécurité demande une liste de tous les ports ouverts, le CSV est déjà cette liste. Le CSV devient votre source unique de vérité pour la politique firewall, et les règles générées ne sont qu'une sortie calculée.
Pour les équipes qui utilisent des outils d'infrastructure-as-code comme Terraform ou Ansible, le générateur de modèles comble le fossé entre la documentation de ports lisible par les humains et la configuration lisible par les machines. L'équipe de sécurité maintient une feuille de calcul de ports approuvés, l'exporte en CSV, et le générateur de modèles produit les définitions de variables Terraform ou les paramètres de tâches Ansible. Cela élimine l'étape de transcription manuelle où les erreurs sont le plus souvent introduites, et maintient la documentation de l'équipe de sécurité synchronisée avec la configuration réelle.
Un conseil pratique : incluez toujours le champ description dans votre CSV et configurez votre modèle pour l'émettre en tant que commentaire. Les règles de firewall sans commentaires sont un cauchemar de maintenance. Dans six mois, personne ne se souviendra pourquoi le port 8443 est ouvert vers 10.0.0.0/8. Un commentaire comme "HTTPS Alternate -- API Gateway pour App Mobile" rend l'objectif immédiatement clair lors des audits et des revues de changements.
Questions fréquentes
Puis-je utiliser des modèles personnalisés pour des plateformes non listées ?
Oui. Le système de modèles est basé sur du texte avec une simple substitution de variables. Définissez n'importe quelle chaîne de modèle utilisant les variables disponibles et l'outil l'appliquera à vos données CSV. Cela fonctionne pour les firewalls propriétaires, les scripts personnalisés ou tout format de configuration basé sur du texte.
Comment les plages de ports sont-elles gérées dans le modèle ?
Si une ligne CSV spécifie une plage comme 8080-8085, la variable {port} contient 8080-8085 tel quel. Pour les plateformes nécessitant des valeurs de début et de fin séparées (comme FromPort/ToPort d'AWS), utilisez {port_start} et {port_end} qui renvoient respectivement 8080 et 8085. Pour les ports uniques, les deux variables renvoient la même valeur.
L'outil valide-t-il les numéros de ports et les adresses IP ?
Oui. Chaque ligne CSV est validée avant l'application du modèle. Les numéros de ports invalides (en dehors de 0-65535), les adresses IP malformées et les protocoles non reconnus sont signalés par des erreurs, et la ligne correspondante est omise de la sortie.
Puis-je générer des règles de refus ainsi que des règles d'autorisation ?
Oui. Le modèle est entièrement personnalisable. Pour des règles de refus iptables, utilisez un modèle comme iptables -A INPUT -p {protocol} --dport {port} -j DROP # {description}. Vous pouvez maintenir des modèles séparés pour les règles d'autorisation, de refus, de journalisation et de limitation de débit, et appliquer celui qui est approprié à vos données CSV.
Comment gérer les services qui nécessitent à la fois TCP et UDP ?
Définissez la colonne protocole à both ou TCP/UDP dans votre ligne CSV. L'outil génère automatiquement deux règles séparées -- une pour TCP et une pour UDP -- à partir d'une seule ligne CSV. Cela assure une couverture de protocole complète sans nécessiter la duplication manuelle de la ligne.
Outils associés
- Port Validator - Valider les numéros de ports (0-65535)
- Port List Expander - Etendre les plages de ports en ports individuels
- Port List Compressor - Compresser des listes de ports en plages
- URL Parser - Analyser les URL en schéma, hôte, port, chemin et requête
- iptables Rule Generator - Générer des règles iptables depuis un CSV