Outils pour utilisateurs

Outils du site


anthony_messe:ansible:roles

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
anthony_messe:ansible:roles [2018/06/01 09:13]
Anthony Messé
anthony_messe:ansible:roles [2018/06/14 13:02] (Version actuelle)
Anthony Messé
Ligne 62: Ligne 62:
     │   ​    ​└── main.yml     │   ​    ​└── main.yml
     ├── update_upgrade     ├── update_upgrade
 +    │   ├── files
 +    │   │   └── sources.list
     │   └── tasks     │   └── tasks
     │   ​    ​└── main.yml     │   ​    ​└── main.yml
Ligne 212: Ligne 214:
  
 #Vous pouvez décommenter les paramètres suivants pour utiliser l'​authentification #Vous pouvez décommenter les paramètres suivants pour utiliser l'​authentification
-#wpa=2 +wpa=2 
-#wpa_passphrase=votre_mot_de_passe +wpa_passphrase=votre_mot_de_passe 
-#wpa_key_mgmt=WPA-PSK +wpa_key_mgmt=WPA-PSK 
-#wpa_pairwise=CCMP +wpa_pairwise=CCMP 
-#rsn_pairwise=CCMP+rsn_pairwise=CCMP
  
 #Pour nous permettre d'​obtenir la liste des stations connectées #Pour nous permettre d'​obtenir la liste des stations connectées
Ligne 251: Ligne 253:
     src: "{{ role_path }}/​files/​torrc"​     src: "{{ role_path }}/​files/​torrc"​
     dest: /​etc/​tor/​torrc     dest: /​etc/​tor/​torrc
 +</​code>​
 +
 +Dans le dossier /tor/files/ créez un fichier torrc et collez-y le contenu suivant
 +
 +<​code>​
 +#Adresse virtualle de Tor (voir le man pour plus d'​infos)
 +VirtualAddrNetworkIPv4 10.192.0.0/​10
 +#Pour résoudre les noms de domaine via Tor
 +AutomapHostsOnResolve 1
 +#Port vers lequel on va rediriger le trafic
 +TransPort 10.255.255.254:​9040
 +#Port vers lequel on va rediriger les requêtes DNS
 +DNSPort 10.255.255.254:​5353
 </​code>​ </​code>​
  
Ligne 276: Ligne 291:
   copy:   copy:
     src: "{{ role_path }}/​files/​dnsmasq.conf"​     src: "{{ role_path }}/​files/​dnsmasq.conf"​
-    dest: /etc/dnsmasq/​dnsmasq.conf+    dest: /​etc/​dnsmasq.conf
 </​code> ​   </​code> ​  
 +
 +Dans le dossier /​dnsmasq/​files/​ créez un fichier dnsmasq.conf et collez-y le contenu suivant
 +
 +<​code>​
 +#​L'​interface wifi sur laquelle on va distribuer les adresses
 +interface=wlx503eaa3d7d6c
 +#Les interfaces sur lesquelles on ne distribue pas d'​adresses
 +no-dhcp-interface=lo,​ eth0
 +#La plage d'​adresses distribuées
 +dhcp-range=10.0.0.10,​10.255.255.250,​255.0.0.0,​12h
 +#On désactive le serveur DNS de dnsmasq (activé par défaut)
 +port = 0
 +#On active les logs
 +log-queries
 +log-facility=/​var/​log/​syslog
 +#On donne le serveur DNS (quelle que soit l'​adresse,​ les requêtes seront redirigées vers Tor)
 +dhcp-option=6,​10.255.255.254
 +</​code>​
  
 === iptables === === iptables ===
Ligne 287: Ligne 320:
     src: "{{ role_path }}/​files/​iptables_access_point.sh"​     src: "{{ role_path }}/​files/​iptables_access_point.sh"​
     dest: /​usr/​local/​sbin/​iptables_access_point.sh     dest: /​usr/​local/​sbin/​iptables_access_point.sh
 +    owner: root
 +    group: root
 +    mode: 01777
 - name: Création du fichier service iptables - name: Création du fichier service iptables
   copy:   copy:
Ligne 293: Ligne 329:
 - name: Activation du service iptables - name: Activation du service iptables
   systemd:   systemd:
-     ​name: ​iptables+     ​name: ​iptables_access_point
      ​enabled:​ yes      ​enabled:​ yes
      ​masked:​ no      ​masked:​ no
 +</​code>​
 +
 +Dans le dossier /​iptables/​files/​ créez un fichier iptables_access_point.sh et collez-y le contenu suivant
 +
 +<​code>​
 +#!/bin/sh
 +#Variables
 +_trans_port="​9040"​
 +_dns_port="​5353"​
 +_interface_wifi="​wlx503eaa3d7d6c"​
 +_tor_uid=`id -u debian-tor`
 +_router="​10.255.255.254"​ #Adresse du router (adresse de la machine ayant le point d'​accès wifi)
 +_reseau_wifi="​10.0.0.0/​8"​
 +_interface_phy="​eth0"​
 + 
 +#On efface toutes les règles iptables
 +iptables -F
 +iptables -X
 +iptables -t nat -F
 +iptables -t nat -X
 +iptables -t mangle -F
 +iptables -t mangle -X
 + 
 +#On met les policy
 +iptables -P INPUT DROP
 +iptables -P FORWARD DROP
 +iptables -P OUTPUT DROP
 +ip6tables -P INPUT DROP
 +ip6tables -P FORWARD DROP
 +ip6tables -P OUTPUT DROP
 +#On redirige le traffic TCP vers Tor
 +iptables -t nat -A PREROUTING -i $_interface_wifi -p tcp --syn -j REDIRECT --to-ports $_trans_port
 +#On redirige les requêtes DNS vers Tor
 +iptables -t nat -A PREROUTING -i $_interface_wifi -p udp --dport 53 -j REDIRECT --to-ports $_dns_port
 + 
 +#On log le trafic entrant
 +iptables -A INPUT -i $_interface_wifi -m state --state NEW -j LOG --log-prefix "New input connection: "
 +#On autorise les requêtes DHCP à entrer
 +iptables -A INPUT -i $_interface_wifi -p udp --dport 67:68 --sport 67:68 -j ACCEPT
 +#On autorise les connexions déja établies
 +iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
 +#On autorise la boucle locale
 +iptables -A INPUT -d $_router -i $_interface_wifi -p udp -m udp --dport $_dns_port -j ACCEPT
 +#On autorise les requêtes vers le routeur pour le traffic TCP
 +iptables -A INPUT -d $_router -i $_interface_wifi -p tcp -m tcp --dport $_trans_port --tcp-flags FIN,​SYN,​RST,​ACK SYN -j ACCEPT
 +#On autorise le trafic vers eth0
 +iptables -A INPUT -i $_interface_phy -j ACCEPT
 +ip6tables -A INPUT -i $_interface_phy -j ACCEPT
 +
 +#On drop le paquet si il n'est pas dans l état new, established,​ ou related
 +iptables -A OUTPUT -m state --state INVALID -j DROP
 +#On autorise ls connexions déja établies
 +iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
 +#On autorise les requêtes DHCP à sortir
 +iptables -A OUTPUT -o $_interface_wifi -p udp --dport 67:68 --sport 67:68 -j ACCEPT
 +#On autorise le traffic issu de la carte
 +iptables -A OUTPUT -o $_interface_phy -j ACCEPT
 +ip6tables -A OUTPUT -o $_interface_phy -j ACCEPT
 +</​code>​
 +
 +Dans le dossier /​iptables/​files/​ créez un fichier iptables_access_point.service et collez-y le contenu suivant
 +
 +<​code>​
 +[Unit]
 +Description=Setup firewall
 +After=network.target local-fs.target
 +
 +[Service]
 +RemainAfterExit=true
 +ExecStart=/​usr/​local/​sbin/​iptables_access_point.sh
 +
 +[Install]
 +WantedBy=multi-user.target
 +
 </​code>​ </​code>​
  
Ligne 324: Ligne 434:
     dest: /​etc/​rsyslog.conf     dest: /​etc/​rsyslog.conf
 </​code>​ </​code>​
 +
 +Dans le dossier /​logs/​files/​ créez un fichier rsyslog.conf et collez-y le contenu suivant
 +
 +<​code>​
 +module(load="​imuxsock"​) # provides support for local system logging
 +module(load="​imklog"​) ​  # provides kernel logging support
 +
 +# Use traditional timestamp format.
 +$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
 +
 +# Set the default permissions for all log files.
 +$FileOwner root
 +$FileGroup adm
 +$FileCreateMode 0640
 +$DirCreateMode 0755
 +$Umask 0022
 +
 +# Where to place spool and state files
 +$WorkDirectory /​var/​spool/​rsyslog
 +
 +#On charge le module relp (output)
 +module(load="​omrelp"​)
 +#On log avec le protocole relp vers une adresse et un port précis
 +action(type="​omrelp"​ target="​192.168.16.11"​ port="​20514"​ tls="​on"​)
 +</​code>​
 +
  
 === ntp === === ntp ===
Ligne 353: Ligne 489:
 </​code>​ </​code>​
  
 +Dans le dossier /​update_upgrade/​files/​ créez un fichier sources.list et collez-y le contenu suivant
 +
 +<​code>​
 +deb http://​deb.debian.org/​debian stretch main contrib non-free
 +deb-src http://​deb.debian.org/​debian stretch main contrib non-free
 + 
 +deb http://​deb.debian.org/​debian stretch-updates main contrib non-free
 +deb-src http://​deb.debian.org/​debian stretch-updates main contrib non-free
 + 
 +deb http://​security.debian.org/​debian-security/​ stretch/​updates main contrib non-free
 +deb-src http://​security.debian.org/​debian-security/​ stretch/​updates main contrib non-free
 +</​code>​
  
 Puis comme précédemment,​ on exécute le fichier ansible Puis comme précédemment,​ on exécute le fichier ansible
   ansible-playbook access_point.yml   ansible-playbook access_point.yml
anthony_messe/ansible/roles.1527837225.txt.gz · Dernière modification: 2018/06/01 09:13 par Anthony Messé