ernestas-poskus.iptables

ansible-iptables pour la configuration des pare-feu réseau internes et externes

État de la construction RHEL Fedora Ubuntu Debian Licence BSD

Installation

ansible-galaxy install ernestas-poskus.iptables

Exigences

Aucune.

Dépendances

Aucune.

Variables de rôle

---
# fichier de défauts pour ansible-iptables

##########################
# configuration IPv4
##########################

# Action par défaut pour : :INPUT DROP
iptables_initial_input_action: DROP

# Action par défaut pour : :FORWARD ACCEPT
iptables_initial_forward_action: ACCEPT

# Action par défaut pour : :OUTPUT ACCEPT
iptables_initial_output_action: ACCEPT

# Autoriser l'interface de boucle locale (localhost)
iptables_allow_loopback: true

# Autoriser les connexions établies et liées
iptables_allow_established_connections: true

# Autoriser la résolution DNS
iptables_allow_dns: false

# Autoriser le trafic NTP pour la synchronisation horaire
iptables_allow_ntp: true

# Autoriser les requêtes ICMP ping
iptables_allow_icmp: true

# Liste des supports du réseau interne :
# - IP's
# - HÔTES (iptables_internal_ips_from_hosts doit être activé)
iptables_internal_network: []

# Résoudre l'IP interne à partir de l'hôte donné
iptables_internal_ips_from_hosts: false

# Interface des hôtes internes
iptables_internal_hosts_interface: "{{ ansible_default_ipv4.interface }}"

# Configuration du réseau interne
iptables_internal_ports:
  - '1024:65535'
  - '111' # Portmapper
  - '161:162' # Protocole de gestion de réseau simple (SNMP)
  - '22' # ssh

# Protocoles du réseau interne
iptables_internal_protocols:
  - 'tcp'
  - 'udp'

# Configuration du réseau externe
iptables_external_ports:
  - '22' # ssh

# Protocoles du réseau externe
iptables_external_protocols:
  - 'tcp'

# Règles supplémentaires pour iptables
iptables_additional_rules: []

# Journaliser les paquets rejetés
iptables_log_dropped_packets: false

# Limite de journalisation des paquets rejetés en minutes
iptables_log_dropped_limit: 15

# Niveau de journalisation de la journalisation des paquets rejetés
iptables_log_logging_level: 4

##########################
# configuration IPv6
##########################

# Action par défaut pour : :INPUT DROP
iptables6_initial_input_action: DROP

# Action par défaut pour : :FORWARD ACCEPT
iptables6_initial_forward_action: ACCEPT

# Action par défaut pour : :OUTPUT ACCEPT
iptables6_initial_output_action: ACCEPT

# Autoriser l'interface de boucle locale (localhost)
iptables6_allow_loopback: true

# Autoriser les connexions établies et liées
iptables6_allow_established_connections: true

# Autoriser la résolution DNS
iptables6_allow_dns: false

# Autoriser le trafic NTP pour la synchronisation horaire
iptables6_allow_ntp: true

# Autoriser les requêtes ICMP ping
iptables6_allow_icmp: true

# Liste des supports du réseau interne :
# - IP's
# - HÔTES (iptables6_internal_ips_from_hosts doit être activé)
iptables6_internal_network: []

# Résoudre l'IP interne à partir de l'hôte donné
iptables6_internal_ips_from_hosts: false

# Interface des hôtes internes
iptables6_internal_hosts_interface: "{{ ansible_default_ipv4.interface }}"

# Configuration du réseau interne
iptables6_internal_ports:
  - '1024:65535'
  - '111' # Portmapper
  - '161:162' # Protocole de gestion de réseau simple (SNMP).
  - '22' # ssh

# Protocoles du réseau interne
iptables6_internal_protocols:
  - 'tcp'
  - 'udp'

# Configuration du réseau externe
iptables6_external_ports:
  - '22' # ssh

# Protocoles du réseau externe
iptables6_external_protocols:
  - 'tcp'

# Règles supplémentaires pour iptables
iptables6_additional_rules: []

# Journaliser les paquets rejetés
iptables6_log_dropped_packets: false

# Limite de journalisation des paquets rejetés en minutes
iptables6_log_dropped_limit: 15

# Niveau de journalisation de la journalisation des paquets rejetés
iptables6_log_logging_level: 4

# NAT
iptables_nat_prerouting: ACCEPT
iptables_nat_output: ACCEPT
iptables_nat_postrouting: ACCEPT

iptables4_nat_additional_rules: []

iptables6_nat_additional_rules: []

Exemple de Playbook

Création d'un réseau interne à partir des hôtes donnés

- name: Configuration des iptables
  hosts: all
  sudo: yes
  roles:
    - role: ernestas-poskus.iptables
      iptables_internal_network: "{{ groups['all'] }}"
      iptables_internal_ips_from_hosts: true # lorsqu'on utilise des hôtes, cela doit être activé
      iptables_log_dropped_packets: true
      iptables_log_dropped_limit: 1

Création d'un réseau interne à partir d'une liste d'IP

- name: Configuration des iptables
  hosts: all
  sudo: yes
  roles:
    - role: ernestas-poskus.iptables
      iptables_internal_network:
       - 192.168.0.1
       - 192.168.0.2
       - 192.168.0.3
      iptables_log_dropped_packets: true
      iptables_log_dropped_limit: 1

Licence

Droit d'auteur (c) 2016, Ernestas Poskus Tous droits réservés.

La redistribution et l'utilisation sous forme de source et binaire, avec ou sans modification, sont autorisées sous réserve que les conditions suivantes soient respectées :

  • Les redistributions du code source doivent conserver l'avis de droit d'auteur ci-dessus, cette liste de conditions et le disclaimer suivant.

  • Les redistributions sous forme binaire doivent reproduire l'avis de droit d'auteur ci-dessus, cette liste de conditions et le disclaimer suivant dans la documentation et/ou d'autres matériaux fournis avec la distribution.

  • Ni le nom d'ansible-iptables ni les noms de ses contributeurs ne peuvent être utilisés pour approuver ou promouvoir des produits dérivés de ce logiciel sans autorisation écrite spécifique préalable.

CE LOGICIEL EST FOURNI PAR LES DÉTENTEURS DE DROITS D'AUTEUR ET LES CONTRIBUTEURS "EN L'ÉTAT" ET TOUTES GARANTIES EXPRESSES OU IMPLICITES, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES IMPLICITES DE COMMERCIALITÉ ET D'ADAPTATION À UN USAGE PARTICULIER SONT REJETÉES. EN AUCUN CAS LE DÉTENTEUR DES DROITS D'AUTEUR OU LES CONTRIBUTEURS NE POURRONT ÊTRE TENUS RESPONSABLES DES DOMMAGES DIRECTS, INDIRECTS, ACCESSOIRES, SPÉCIAUX, EXEMPLAIRES OU CONSÉCUTIFS (Y COMPRIS, MAIS SANS S'Y LIMITER, L'OBTENTION DE BIENS OU SERVICES DE REMPLACEMENT ; PERTE D'UTILISATION, DE DONNÉES OU DE PROFITS ; OU INTERRUPTION D'ACTIVITÉ) QUEL QU'EN SOIT LE CAUSE ET SUR N'IMPORTE QUELLE THÉORIE DE RESPONSABILITÉ, QUE CE SOIT EN VERTU D'UN CONTRAT, DÉLICTUEL, OU AUTRE (Y COMPRIS LA NÉGLIGENCE OU AUTRES) DÉCOULANT DE QUELQUE MANIÈRE QUE CE SOIT DE L'UTILISATION DE CE LOGICIEL, MÊME SI AVERTI DE LA POSSIBILITÉ DE TELS DOMMAGES.

Informations sur l'auteur

Twitter : @ernestas_poskus

À propos du projet

iptables management role for configuring internal & external networks

Installer
ansible-galaxy install ernestas-poskus.iptables
Licence
bsd-3-clause
Téléchargements
81
Propriétaire
pragmatic & ambitious