From d9bdb5da48d6d1a944558489afa6971df0df5ccb Mon Sep 17 00:00:00 2001 From: johann Date: Sat, 4 Jun 2022 12:10:12 +0200 Subject: [PATCH 1/2] ajout de l'article 2 du 3105 --- ..._Exit-la-box-op\303\251rateur-partie-2.md" | 328 ++++++++++++++++++ content/images/cisco-asa-pat-dmz-http-ssh.png | Bin 0 -> 56026 bytes .../iptabes-tutorial-input-forward-output.jpg | Bin 0 -> 21083 bytes content/seven-layers-of-OSI-model.png | Bin 0 -> 76091 bytes 4 files changed, 328 insertions(+) create mode 100644 "content/2022-06-01_Exit-la-box-op\303\251rateur-partie-2.md" create mode 100644 content/images/cisco-asa-pat-dmz-http-ssh.png create mode 100644 content/images/iptabes-tutorial-input-forward-output.jpg create mode 100644 content/seven-layers-of-OSI-model.png diff --git "a/content/2022-06-01_Exit-la-box-op\303\251rateur-partie-2.md" "b/content/2022-06-01_Exit-la-box-op\303\251rateur-partie-2.md" new file mode 100644 index 0000000..799ac12 --- /dev/null +++ "b/content/2022-06-01_Exit-la-box-op\303\251rateur-partie-2.md" @@ -0,0 +1,328 @@ +# Exit la box opérateur: Part 2 + +------ + + + + + +## Avant d'aller plus loin dans la technique... + +#### *Résumé de l'épisode précédent* + +Dans la première partie nous avons vu comment choisir une distribution, et un exemple personnel de routeur maison avec plusieurs interfaces réseaux. + +Nous nous sommes concentré sur l'infrastructure attendue (avec ou sans DMZ, quel type d'interface est nécessaire...) et comment activer le mode routeur. Linux est magique en ce sens, car en une seule commande on active le système d'exploitation pour que celui ci puisse router des paquets. + +D'ailleurs un petit rappel du modèle OSI, toujours intéressant de creuser un peu sur ce que fait concrètement un routeur, allons donc plus en profondeur: + + + +[Source]: https://community.fs.com/fr/blog/tcpip-vs-osi-whats-the-difference-between-the-two-models.html + + + +L'image ci dessus me parait assez parlante, on y voit les couches du modèle (qui est je le rappelle **un modèle théorique**), les normes/technologies utilisées par couche et le matériel qui concrètement exploite celles ci. On retiendra simplement: + +- La première couche, **Physique**, est le support utilisé pour transporter l'information. Dans mon cas, une fibre optique jusqu'à mon tranceiver puis ensuite du câble Ethernet. + +- La seconde couche, **Liaison de donnée** est celle qui va gérer les segments sur un réseau local. Sur cette couche on y retrouve les adresses Mac, intégrées aux cartes réseau par les constructeurs. + - Celles ci sont sensées être fixes, mais un des premiers trucs cool qu'on apprends en sécurité informatique est de faire du mac spoofing, pour les curieux je vous ramène à l['article Wikipédia dédié](https://en.wikipedia.org/wiki/MAC_spoofing). + - A noter que deux éléments actifs peuvent dialoguer via adresse mac sur un même réseau de Niveau 2. Pas besoin d'IP donc. + +- La troisième et dernière qui nous intéresse est la couche **Réseau**, c'est elle qui gère les sacro-saintes adresses IP. Utilisées même en local car faciles à retenir (sur 32 bits pour la V4 et 128 pour la V6) elles sont aujourd'hui présentes partout. + - Pour revenir sur l'activation du mode routeur sous Linux, ça va être le fait de permettre à l'OS de gérer sur une interface en entrée un paquet IP, de le décapsuler, (on monte donc dans la pile de protocole) puis de l'encapsuler sur l'autre interface. Pour les curieux c'est par [ici](https://developpement-informatique.com/article/378/principes-dencapsulation-et-decapsulation) + + - Un routeur gère beaucoup d'autres aspects, la notion de route, le NAT/PAT, l'interconnexion de protocoles routés. Dans notre cas on restera simplement sur le fait que ça soit l'élément entre notre opérateur, et nos réseaux locaux (si DMZ) + + + +#### *T'es mignon avec ta cape de prof de techno mais c'est quoi la suite?* + +Dans ce second article on va s'affairer à sécuriser tout d'abord son routeur avec un pare-feu, puis ensuite installer des outils pour gérer les services nécessaires à une utilisation classique d'un réseau local. + +En effet une fois qu'on a du matériel qui transfère correctement les requêtes, tout n'est pas joué. + +Il faut tout d'abord que les clients (ordinateurs, tablettes et tous les autres trucs installés dans la maison) puissent faire une résolution **DNS**. C'est crucial, sinon votre navigateur n'arrivera pas à résoudre une IP par un nom de domaine et l'inverse. D'autre part il faut que ces mêmes clients puissent obtenir une adresse IP locale via le **DHCP**, pour que nous n'ayons pas à paramétrer manuellement les 50 périphériques de la maison. + +- Pour le DNS nous installerons un outil qui en plus de faire office de serveur bloque également les publicités: [piHole](https://pi-hole.net/). Une fois correctement paramétré, cet outil est absolument génial. + +- Pour le DHCP nous installerons l'outil isc-dhcp-server (disponible sur les dépôts Debian), qui permet assez simplement de gérer les périphériques connectés à l'interface de votre choix. + + + +## En avant le déploiement...du firewall + +### Installation du pare-feu + +Iptables est le pare-feu utilisé par de nombreuses distributions. Il est robuste et une fois qu'on a compris comment le paramétrer il permet une grande souplesse dans la gestion des flux. Son petit frère [nftables](https://wiki.nftables.org/wiki-nftables/index.php/Main_Page) semble intéressant, cependant je n'ai jamais passé le pas de déployer celui ci, nous resterons donc sur du *old school*. + +Rien de plus simple pour l'installation: + +``` +root@router-debian:~# apt install iptables +``` + +Et là...bah il se passe rien. Normal car de base tout est ouvert: + +``` +root@router-debian:~# iptables -L +Chain INPUT (policy ACCEPT) +target prot opt source destination + +Chain FORWARD (policy ACCEPT) +target prot opt source destination + +Chain OUTPUT (policy ACCEPT) +target prot opt source destination +``` + +De la même manière pour le NAT (je développe la partie NAT/PAT plus bas dans l'article): + +``` +root@router-debian:~# iptables -L -t nat +Chain PREROUTING (policy ACCEPT) +target prot opt source destination + +Chain POSTROUTING (policy ACCEPT) +target prot opt source destination + +``` + +On voit effectivement que les chaines *INPUT/FORWARD/OUTPUT* sont en *ACCEPT*, et qu'il n'y a pas de règles plus spécifiques de définies. + +Je vous invite à lire [cet article](https://www.hostinger.fr/tutoriels/iptables) qui résume bien les grands axes, avec le petit schéma qui va bien; + + + +[source]: https://www.hostinger.fr/tutoriels/iptables + + + +Les règles en entrée du routeur (INPUT), celles qui sont transmises d'un réseau à l'autre (donc d'une interface à l'autre, FORWARD) et celles en sorties du routeur (OUTPUT) sont autorisées. + + + +#### Ceinture et bretelles + +Avant de commencer à jouer avec les règles - et donc de risque de se planter - on va créer un super script qui permettra de remettre à zéro le pare-feu en cas de problème. + +``` +touch ~/iptables_clear.sh +``` + +puis ajoutez: + +``` +#!/bin/bash + +iptables -F +iptables -X +iptables -t nat -F +iptables -t nat -X +iptables -t mangle -F +iptables -t mangle -X +iptables -P INPUT ACCEPT +iptables -P FORWARD ACCEPT +iptables -P OUTPUT ACCEPT +``` + +Enfin on active le script qu'il puisse être exécutable: + +``` +chmod +x ~/iptables_clear.sh +``` + +On a notre script qui nous permettra une RAZ en cas de pépin, à condition bien sûr d'avoir accès au routeur en direct. En ssh c'est une autre histoire... A noter également qu'un reboot de la machine à ce stade repasse les règles iptables par défaut. + + + +#### Le script Iptables + +##### Les règles classiques + +Passons maintenant à notre script qui va gérer l'ensemble de nos règles. Allons y par étapes: + +``` +#!/bin/bash + +#Flush +sudo iptables -F +sudo iptables -t nat -F + +#Loopback +iptables -A INPUT -i lo -j ACCEPT +iptables -A OUTPUT -o lo -j ACCEPT + +#Règles générales +iptables -P FORWARD DROP +iptables -P INPUT DROP +iptables -P OUTPUT ACCEPT + +#LOG +#iptables -A OUTPUT -d 109.0.66.20 -j LOG --log-prefix "iptables_DNS::" + +#Connexions en cours +iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT +iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT +iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT + +#ICMP +iptables -A INPUT -i eno1 -p icmp -j DROP +iptables -A INPUT -p icmp -j ACCEPT +``` + +- *Flush*: les deux premières lignes font une remise à zéro des règles dont celles du NAT +- *Loopback*: on autorise tout sur la boucle locale, nécessaire pour le bon fonctionnement de l'OS +- *Règles générales*: on bloque en entrée et transition, par contre j'ai fait le choix d'autoriser en sortie. + - avantage: règles simplifiées (sinon ça peut monter très vite) + - inconvénient: sécurité limitée (on ne contrôle pas les flux sortants) + +- *LOG*: peut être utile pour avoir des informations complémentaires dans /var/log (ici par exemple les logs à destination de l'ip 109.X.X.X.) +- *Connexions en cours*: permet d'autoriser une connexion lorsque celle ci est en état *Established* (exemple la connexion ssh pour gérer le routeur à distance) + +Le dernier exemple *ICMP* est donné pour comprendre comment iptables fonctionne. A savoir qu'il va prendre la première règle qui répond à la demande. **Ne mettez pas les règles les plus permissives en premier**, au risque que celles d'après ne servent à rien! + +Exempe ici nous avons: + +- *iptables -A INPUT -i eno1 -p icmp -j DROP*: je bloque les requêtes ICMP en entrée de l'interface eno1 (WAN). Les pings depuis internet sont bloqués. +- *iptables -A INPUT -p icmp -j ACCEPT:* les requêtes ICMP en entrées sont autorisées. + +Ca pourrait paraitre contradictoire, on bloque puis on autorise. Mais la subtilité est que dans le premier cas l'interface est indiquée, dans le second non. Du coup iptables va vérifier: si l'interface en question est bien *eno1* il s'arrête à la première. Dans le cas inverse il continue et donc traite la seconde règle qui autorise le traffic ICMP vers implicitement les autres interfaces. + + + +##### Les règles spécifiques à votre réseau + +Quelques exemples qui aideront à mettre en place un périmètre de sécurité sur l'ensemble des interfaces de votre routeur local: + +``` +#LAN +iptables -A INPUT -i enx9cebe8355797 -s 192.168.1.0/24 -j ACCEPT +iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.2.0/24 -j ACCEPT +iptables -A FORWARD -s 192.168.1.0/24 -o eno1 -j ACCEPT +``` + +Sur mon interface **LAN**: + +1. J'autorise en entrée sur l'interface indiquée les flux provenants du réseau 192.168.1.0/24 +2. J'autorise le transfère des requêtes depuis le réseau 192.168.1.0/24 vers le réseau 192.168.2.0/24 (ma DMZ) +3. J'autorise le transfère des requêtes depuis le réseau 192.168.1.0/24 vers l'interface eno1 en sortie (le WAN) + +``` +#DMZ +iptables -A INPUT -i enx000ec6ccbb04 -s 192.168.2.2 -j ACCEPT +iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.1.0/24 -j ACCEPT #LAN +iptables -A FORWARD -s 192.168.2.2 -d 217.X.X.X -p udp --dport 123 -j ACCEPT #NTP +iptables -A FORWARD -s 192.168.2.2 -d 185.X.X.X/29 -j ACCEPT #VPN +iptables -A FORWARD -s 192.168.2.2 -d 208.67.222.222 -p udp --dport 53 -j ACCEPT #DNS +``` + +Sur mon interface **DMZ**: + +1. J'autorise en entrée sur l'interface indiquée les flux provenant de l'ip 192.168.2.2 +2. J'autorise les flux provenant du réseau 192.168.2.0/24 vers les ips du LAN +3. J'autorise le transfère de requêtes depuis l'ip 192.168.2.2 vers le 217.X.X.X sur le port UDP 123 (NTP) +4. J'autorise le transfère de requêtes depuis l'ip 192.168.2.2 vers 185.X.X.X/29 pour monter le VPN +5. J'autorise le transfère de requêtes depuis l'ip 192.168.2.2 vers le 208.67.222.222 (opendns) sur le port 53 en UDP + +Ici on voit que c'est beaucoup plus restrictif, je permet à une seule ip de faire du NTP/DNS à destination d'un hôte et de monter un VPN sur une plage d'ip restreinte. L'idée est d'avoir un [kill switch](https://www.presse-citron.net/vpn/faq/kill-switch/), si mon tunnel VPN tombe, le matériel derrière n'a pas d'autres accès internet. Je préserve mon anonymat, à bon entendeur... + +``` +#WAN +iptables -A INPUT -i eno1 -p tcp --dport 51820 -j ACCEPT +``` + +Sur mon interface **WAN**: + +1. J'autorise le port 51820 en entrée (wireguard) + +Je n'ai en redirection de port qu'une seule entrée, vers mon serveur VPN wireguard qui fera l'objet d'un prochain article... + + + +#### Activation du pare-feu au redémarrage + +Les règles indiquées ci dessus ne sont pas exaustives, chaque réseau à ses spécificités. Toujours le choix difficile de placer le curseur entre une gestion aisée et pas trop chronophage de son réseau et une sécurité acceptable. + +Enfin pour finir, les règles iptables ne sont pas persistantes, du coup si vous ne voulez pas tout perdre au redémarrage alors il va falloir exécuter les commandes suivantes: + +``` +apt install iptables-persistent +``` + +Désormais les règles seront sauvegardées dans /etc/iptables/rules.vx. Simplement via la commande suivante: + +``` +iptables-save > /etc/iptables/rules.v4 +OU +ip6tables-save > /etc/iptables/rules.v6 +``` + + + +### Mise en place du NAT + +Faire un beau diagramme de flux ne suffira pas à avoir une installation fonctionnelle. Pour cela il va falloir mettre en place de la translation d'adresse pour que le routeur sache quels périphériques causent d'une interface à l'autre. + + + +[source]: https://cdn.networklessons.com/wp-content/uploads/2014/12/cisco-asa-pat-dmz-http-ssh.png + + + +*C'est presque à appréhender comme une seconde fonctionnalité d'iptable, d'ailleurs je vous invite à lire et comprendre à quoi sert le NAT pour avoir une configuration correcte.* + +Un excellent article que j'ai découvert récemment, qui vous expliquera absoluement tout ce que vous n'avez jamais voulu savoir sur le NAT, PAT et autre DNAT: + +[https://www.it-connect.fr/le-nat-et-le-pat-pour-les-debutants/]: https://www.it-connect.fr/le-nat-et-le-pat-pour-les-debutants/ + +Bon je *spoil*, on fait du PAT en sortie et du DNAT si vous avez besoin de rediriger des ports depuis internet vers un élément actif de votre réseau. + +Je l'ai indiqué précédemment Iptables gère très bien ça, on va parler de PREROUTING et POSTROUTING. Comme d'habitude on retrouve plétore de bonnes informatins sur le web, voici ce que j'ai trouvé qui me parait compréhensible: + + + +> ###### Chaine PREROUTING et cible DNAT +> +> Dans la chaine PREROUTING (avant routage) on ne peut modifier que l’adresse de destination (et les numéros de ports au cas où ils seraient déja utilisés), d’ou l’utilisation de la cible DNAT (NAT de destination). +> +> ###### Chaine POSTROUTING et cible SNAT +> +> Dans la chaine POSTROUTING (après routage) on ne peut modifier que l’adresse source, d’ou l’utilisation de la cible SNAT (NAT source). +> +> ###### Cible MASQUERADE +> +> Cette cible permet de déterminer l’adresse IP de sortie pour chaque paquet, ce qui est moins performant car il va vérifier l’interface de sortie pour chaque connexion. MASQUERADE est utilisée dans le cas d’une adresse IP publique dynamique, dans le cas d’IP fixe nous préfèrerons utiliser la cible SNAT en spécifiant l’adresse IP de sortie. + +[source]: http://www.admin6.fr/2012/03/regles-de-routage-simple-avec-iptables/ + + + +## Les services locaux + +blbalala + +### Déployons un serveur de nom de domaine + + + +### Déployons un serveur DHCP + + + + + +## Et pour finir... + +‌‌Nous avons donc un routeur fonctionnel, qui gère le niveau 3 et qui a pas mal d'outils intégrés par défaut pour faire du monitoring.Même si le système est à jour, **c'est un vrai gruyère**! En effet n'oublions pas que la box est en frontal d'internet, et qu'elle doit être blindée pour protéger votre réseau local. + +*Le second article de cette série corrigera le tir avec l'installation de iptables, qui en plus d'être un firewall de qualité permet de faire du NAT. Nous découvrirons également l'installation de services intéressants sur votre réseau local (serveur DNS, DHCP) pour que tout soit d'un coup beaucoup plus fonctionnel.* + +Sources supplémentaires: + +https://forum.geekzone.fr/t/internet-se-passer-des-boxs-operateurs/61355 + +https://forum.geekzone.fr/t/remplacer-sa-livebox-orange-par-son-propre-routeur/57315 + +https://lafibre.info/remplacer-livebox/pourquoi-remplacer-la-box-par-un-routeur/ \ No newline at end of file diff --git a/content/images/cisco-asa-pat-dmz-http-ssh.png b/content/images/cisco-asa-pat-dmz-http-ssh.png new file mode 100644 index 0000000000000000000000000000000000000000..d0d3ebe0d9b2de270bb354ec4ab289f0b4b2cc96 GIT binary patch literal 56026 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
q@KA+I@d3cy=$K?bmbGAwNvPW%leYP>Vk!m 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

fq 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 literal 0 HcmV?d00001 diff --git a/content/images/iptabes-tutorial-input-forward-output.jpg b/content/images/iptabes-tutorial-input-forward-output.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e324fc8c01d76309f7ff64561c3741d7850b9eee GIT binary patch literal 21083 zcmb@u1yo&IvM#)FcL?t8Zovt`-QC@tKyY_=cM0wUcXtgQ+%>qqoztgJpWCndj`9BS zPsUz*O4VF*O{uD{b}in2y#E9sONvT}0zg0j01)6G;C&Sk2!H?s2L}g(0A3&YKCK@^p1_}xmF%}L!J|Q6?8YT%D2>}@%0U-ehkPQkF z3K1F_kpLY9o#6jDz4ro8ph1~H)xkhW0H7!!U??E({QwT&0Kq{1NPs^RBos6RI2b4h z4DbO!fo=b+2Y!Qqf&yh&5F)m7C}s5-k_0GpT* zp1BWAH;(0hV*=4zx`XhU*%U-{^i|p^=;-Di{ja2`6Fi9I-y7BMMDFfmQJ%TgxtAh^~66# zx%R{_5HNfBBv<;+HmHMJwBgrLZy#|8_;-NUbjH`o3d^_dYh_;hG0hal3%gu0lq1A^ zzrcSo0LE}~II*{{&XmR4HYuhDsFAMKO*rdH&j^4N1O%ocK?EAaVu3*fsOVoe)x?be z4o5!Lt6q8+UE^H38ZPd91nn&i>#z8?L{2N10j-^>@&t6u1*|@^ddC?79WQU!slC2` z-RqAGgq4Z0O-HV`#D3t(_0C?Rsl#r(vP_1^_9E)479H?xjkt*z!c=T2TMrdIw;=1N4pFqOTEzQf?uU%}W8m zdB|mb+qik{kz2!;l>+UqK1F0i6!`I*(B@29vZPYQsA~jw3T1?Fl#=ynGQr~R?S@vL z8tb(N(qK;GtMCjF-s}H-1OUM3)i36WXP6yQcb-cqKNrCI<~!B)b)FMKz}|(M4i2=d zhO3?H_efs-nroaA0r2;Rg2wptXS?pXg+T=95buDDo9w68t%>P>>lxBwc7xD)t1R)E2Z4>{@ z>LVxQF=FgO6Qt=ekhZpGG{Elm8mGTVl_dx4_G02g0BzTay2L=xSfVNDqQhm_7yu)?{|H|Z5 z-$|M`4A$JQ$~m>kez=+H{RR z=Jq76!0>tBDU_Y#({UY?S|U)wc_?_l1MuA<_8-l1j!;s3auhdaJg*Ef1MQfVhMs6& zhc=z`yd5f|^|C!L&^ZW6>7Ec=&WFAN1tHbB$(8cO#gpLIjpbNTceI2N3+E0GSSJA; z%w+D#(BQY%4MLqd{`g5wJDvDDu}oQPSY9%!%h=sY>ZB*Q9}3@jjf`y6#MGTRlAE=! zp?DYPfx8Ls%{nYj)3|ajPVz|TGftZ zW?TY8n{<8{cc71FdCLVp&Guc9UIkQ@)uWwUM%1imk{ef!_bI8*GL9kU(s@Fr`T8r| z;YE}dC}mTVl{F-XfW>*oGVM$i85e2XXUq1qiYNr(#4%&g`2# z)GwVyuR+UCC113^kRrUfcyXVkPuQ%f7?aNt+{)M$@HKOC$2@UM>jQ@i0Kih*jb@ZP z`m})@WqSVrBR(FL^^`T*EF%c7t%^|r{9a&mbSHVv-v^|9?=Bbl(XY6i`*5fzWyPsjkjm|;{~sAavJSncaE}Rm@6~~e`t%ZI zU~Z(7^sAc7;@f|uhlIOY#^_q;AU^ypk3MR(;ha`cLOVWm|3&S|{|LRPCv8T@4mHL4 zHbMK6%ToK6;$uG(Q8iKVCnZVhJHX|N)2&bHj&o_ZtRp3B>SrX&Tq9JcKJ{KB zYr5u#x;mt%n)6fUhX$maEqLHL_%ngg9{a@>eUvxGjbFi7pss*ml{+)yWH0qTxB$c>&! zg`LMM$Ejd@BIbYf@K^3H4Wl=Y^-m4+{B`dB-!zPlv5rbhbH)_O)1g)0Io3~_zdHC= z22y8U+a{s~&&M+m?=B)p8k#=hJmPyoQsCk`o_Pm^e{HSrD_Bgh zKO)RyM+=CqBz!1oE9d>lXTgaW_k_j>vkY%Nqu#W{Ocylnvh6dgaq|%O%>LzXACol0 zg8*~g0fV^WpY4bo*&Uq1UBco!_VGyT*9EIeA#f!<=syb!a_@N7q9zCLU+msi<{2FY z7B6U^Fo)DNp$WL#Hg8B4j46&)?kEssc~E(#bkwx26pVS?a-t9pILR2PVk$@AMoCW` zg|9=O8k@Xw^30N4B7IT5-i9^CXOMF&+u5pc%;VWvD0&R(PSmk~cOmO%w|(4gA8k8` z|3!0=Ej3==>CVVf%6tAfK0fU;S=@AC(IBXh8=Mh!nJ#b!pFkUU7wn5p{WLcEC*d;yYrFNtWxVK{rlcg%q3I^VAoD zM|1k~@k=b^iGj6oHE}N6_sL>0hNv*=ZGC~8+is~!o|q46tn<)23NF!im@y^lX@jS< z8LgmXR9wl1I~i?;Z~C+AUm}KvHrBt8G+>S3XXq82vdw&wNt7D->~d}Th8^8M?9dl| zw%H}K?c&ARYJ^dL_><+z+HeQ)#kZoZbIZNm%dSP&j!^3yGh=A+IcWdtwoEkC`Pm9S zcvJLa5-DM{WM!>h#=wrT#^Q^=&@`+y-$#F!t?Qqrq{HT(VuU04jU*Jj(=r~sFP7J> zKcr^ur_j*Jc0hYrA-79L3dD&_0z6E;&AmsJu4XZp{B|oq)Zj*_ zYCp?~$7>ky{A&RJaa8}R6vjjG31V`4UA6$p@3HS)nz6$lkw{4<4~evd3OjvOrG&n!e?|fH?p9622 zqgrjtp?ny@X{KX^hhIp?FJ#+n-K#2|&!9Q_&SjiNPaV%vfN$06q;~;!G|sQFIKP@^ zF($&mN{Xj{UQSAX^`=$EP&VF>NPF6o50#d2x~HQf=fvEpqccAE=;FqTySK15ZkM9= ze^;sI^+3UkmqU(zQqTBiMiH$k5OnLZggWj-t#i8O%F0QE0|(Dgo4s$`-V~;P7{*Yx z5xdtu#;CdIQpjy3Hbm@Y!`59NU=dyLK z6A@~;G}F+np2>g2*uzUC!Y&3J`?=70Z8lKNG_miqPh`~WGuy&v|O+0jIsFt z@vQHqhYeDyCODwI$<}x>)OM0YRRRZMu?YosIxox2v*7^kfcYt`ZuUgB@72CZ$=7l< z%%L=?sf`-PF_01kMM9?1$4Ny#&^Stmy0JRy^2T;E`Ir(bOH-y_?(rk=Q3fBvIT{1D zTuMCgkm?n<`Y%Y;P!mb0p=IK;cz*u$TG!a7pvB$#G4&5FxqiFHk6k`H*p~l+Z|-X` zvlf3e7~_XQ2BwQ)*s-?%wAnQi%|qmxYKCoYjLH<5A9la3Vq8xsM`|g`j1u!`Lg#~$ zlZ9WWyZx4YRsXjz{GV0dWJQ))KK=?-nzWcV3NfZfnR)uXOuuJG@dw>^$D-tAz%m;1 z#b=3+Ah0&F&%drnrH80knohsUkz4OQC4g#D*dK9~F3AyJ&Tod)>lX7z_m~92T(1$) z=Hh)&uSun^1Fa*vgkV$DO(HHqx$|u3No6vFByVV$FV3bpUv~)3AHKY^njc#FgE_C} zh+BOz2LE#QADy-Tq1jkNBnCuV-I0Qe|EB43*-kUQ+irZN7E%6EYfvb-a=iMdFlDEw z&fuic1h+nkVL7@O`FL8CS?m2Nxiv%4y1aOIE8e)FSbQ|nrRr$HryZ$;>CsF}$=0NV z9=T;a(jlO=BC>htG1!Jpo6O1>`XjztsFH3ve_lN{SLvcJzVH0zALVx8^qZMm*3^;F z!B!A>$mEwl%7GJ@oH$z$(ZNZl3yYab%v0o;Z4S$9YhTQfSv{J*{?FmEz4aLuW zwxl|8y~AN1QrH$dUHESws7z6D-eedXA?`+zJ$OX8PoQ2=}8eQ6f+aSiNaSU z=xRs$DxA3#C$7SL%Vk9qk~)Y^%J>xm~V{(9xyRBFuXdm1Bs{?*Y#v8_`tS1;R> z$3=Q44LSm{h=)>a0N}}gS99X_I>Gf`Lr7)|$VLcUM zjY&3m~d z#-ZN>)Uj~Y6ksghbiq}ZgB^NKn}QWrjeR2!8_s&W^RlpmcgIN?h*^yFdWkX;*vCrG*St51Lmvb%b71$nj9s3Sl`xo4I#|M^Z8#fWdCF8G{PEfX|#P??m<; z@Rh%zIhZ#}YJ2EJoc~R9d&)sxn#qVHit);_VkYq zjxm+&AnFemQW}tko?fG&Y;_P4fk*H;yBB;|)*#>|hQlj6Y$AZJl`)(OmLhAsIR0@? z2MCpED!`d2D996oj*Do^ChmRGfW1P*oE=sRweL(8uCreJD2nVGjMc_nSkMwWN2t>2 zZ?LV@bQA$Q9}6PWL`Ga`+fP_X(1z?C>v1adBy?;GE&-V5u|Z_tVjeDyxEV0An(Nw_ zs-)kFAys^+eVRq;imNbtNw71mdI#7+HoOD<*4Ieb6wp7%v_eIU$&~GW_LwwUDp~5% z+|C_{uG~f8EInKDy|70<(_RGdS$SkJ06wbW@YBu`ut(7kJU67?3pHEMxeG_k(iL-+ zFzi9M6Fk`#>)A++)Qf*tZEzxp<))Pmu0q~dwTCY?6G?6tRc17E~0uh8m>x8Tc_ahXhr8uN|+EML#B;#wJoZ$9Ry1udW89E&< zzUwe?{0McPy0OAE4?+&+KNPv^-=(;5)Nm#O;DmI~3EV+0VA5GKPQNy_T^cZ~p zGXDB+U~}@H(9WNgu|Nn^?-UX@yh)^TvoecbUJ<7|RR9EW@irRhm$5P|TQ;3-X53V) z`H|C6s1Zl+Ks2={4VeaAC#-@z7si3=Nn+EIav8Wl%+aQI$u7{XDEaSrWM zaugjmA4*ViLrHH*Lcoaj>M6JqZ2e#3c@AXH2_m zLZ}}%QLSnj<1nK^Xaf%}2H^-S)Yrqa2O9;5la0`l6U?yvhwJDbE5^tmXCfaVB1Zza zn4ymv|EFyx21;iihR)Gi>=n~KhOj=g{z-fjjQa)5Jiu;Iy5kiroW#xP+?zqZnMMpB zkh|DtLtNDV84OiG9uCHKB?)jWsXSb{F5?bXcZ5WqjH?uFP_vqhPseDoIp{OOQ4uQ6 zl5RR@X+SmUKLmkpB1~t({aZ+-l%|damMPAh-DKVk0gS`&1*Pc^7_Ex$8_(+A?$Wv| z19kNaoz))u5RrMb8e&&f+F^VynX4Jr<0ak!1LC*Treu(r^&Q!hZRZ<{9ZkC70}j_Z zZPA0Av*)IqW2Nne2-r--h4hhs*`lfv;oV{27Nh~w&e8&S>Xq~gt17?eL0OyE*mR>8 zO?o3Y+t}+)PJ25zQRQ5*L7KSoWq+SAB0N#;PVH%YIff@Niz7o-8 zJtdNlvyfR7qjfQHtqB-d@apS=bmWD5SoV(RRK=LfQj}1`IJ$#F7SCcoS&xeqo5to< z*s6$vF@rg-vv^+&HtzA9iM>^&f<{MVkgdogT>ob2{2kN(0X){qDd zcR*ay`SJa_=ptHg?K>dPDPv9h%(ykjW_9ynOt_ya|fV%@3JNH`` z%#vP2MO~(a#Ke`6#!4&e=0ojpXo*1_<7UFo?Yu#^iWpnFjNf7lEpAxUOw`k0Wtub> z-vRAK6!|*>I94)cuY$p!?>I)H=RO7?mY>=?;g*&?gz?;b;%?-A!cePIa-n&qPcf}( zZwx`)TQQMrO>&{RSM11nU8&`rj?EOTi%BYN9#;-}BF^snwtyW3PePKaJMg@s!BW0%KUHqi>G@n)GrHmK`pI3@RO3W_rd+;v z6ZnJ3Grd>Js@3Utkyxc<`;_GC*TaPDs5s*-pjjGe@^hS;v^9HFZ^}i|MADsUoY9bX zO!ufGG2^r|XNpFbef#}Dx2#o z9H5KhKVmpn-o+OWik5{ff-!(3LCFfZ61O>eUX#2<2 zOihl2S6ryU2gJKSiS+wu6y?s3Ct4;CQg=E*fcz984tVatxKkZalUg}`mK?#7u zgd@gtDgHzVh2kbxIFZO&mN_BLTM0d+8?U(dR_YT@W{HFzIDE5#@TjnOe8YnhkQSgk zvP0h|KuiAtzVub1uV{YwXr)z6+2L+^4Q8V4WA`zq?8R(dpb<6>~paLaqqU9(1Ek*84K@VMbEPVK9icH|Bxu~2Ida)z%aLM+d@ zR6hl;aV^d{Qaa+5kPdwPwuntJ^5aD*4okn5MoshFUn~bVB(Xn~Ecl`=MXnJXB4wsN za8z1CqRk~$E83k%91kqno+ZolK~%<~*p{0^65;W!D7Lw-Bwgh#niQdn{Fx-HP3FNJ z?zoWl5A#-+K=`Q)_VOBYL0l~)w)30t-ws?g60w(Zkmdj1*X>J2c&mi;U;$|H_~g&9UCp(vUwXEn1`l zo*a_0Vm$f=8fG9*W+mORqN6!NyZ`jRxdA?AM#nhZBL5_%-=7Yin-)e*d^u3|)j})d zF!t$93(j8AKrElU>OCK7#xjRNMRP8gjCVM z!O1zUwr&QQh>1ns(J!yQrx!v{SU-N7Rmsr*laYNu{?-)+TVU+vpPqLF0ifqyc2bDN zT({+bdJ}JtXD747(<$*H>h$~Q&^2AdibI0X5}arTi&JLFI{@XRv%=#72)lsr>#1hS zm@S2qLm?3Xg?hZi=9bE8T5MNlYMahhPcNcwsphI~wI(NyQy{eVyO%e^m~P+Tm~F4O zh%tm{JT%+A$T6hioj6H59tHQ*S+vu$QRdr^1A!(~Q>OFeFg8-bIkf$>JXv`vz;X4i zQc_|PWpwaEiW7a=eilm8pbxI6#r}GH+&f@6D*2i4VY8=oQZDN%Ns5*0K4&=p+R$=` zW7&1d?;?2gf?Pdye`FnRnWrFw(rwq8xt7yZZ_r1^YntUtwDqVAWh>H_2CdL6yd&zZ zQEW;%USNm%F8OgE4l6k9ST8j^4fM^Uwl1td0naS#=Jt^9L4Pjo4jGr%VrUqHv^OY^^AM zE+c-L!E#$cGp87%j{Kxkw^YSHmcwqmWdvod60B%tMb2-E3yxbcLLWwl;`2eWe}G0+ zQe%`_muo1kh3y4JLaY=t39#;l|44df@i0TQCuEU2Z`#o@&BQ|qJ;1@xgma?7o17Mn zS;al-HpDIa@IQtY?U;2nsnjVjmWo?GARF(Dh}8=lX7;hPYJt|JK)WO#3PIwd#H1(K z3pMB}BJbE)Az>dw4Ck$TLGD$b`<(WQ>yD96$fPK?Lc^fpK;n&j|2IwOGp%9V4XoQu zRkAUQNQ{*R(6%30^rlp1meb)E1~Lwc<)S+jDIOeN)@qjsHyo-?O1o;L)OpAe%4sh> zeSO;q*Nd2f9W9Wl`j80J`++K$^O?K5!=#TaoYdZ%{T^PiEHv~`k)LT;KbeS$>U$;c zJl}2wVXHHPd$%OG4$%n5Nh(c}WKW4nDywYQAx)BxvSLvem3NnPa$BU&j7cv>YnnDV z&aoFHr&Z!LOqlN#TZz%LYBKq*3R@Wib;%ZV_8=Rd{l0<8xOly6i^sCHCG7MZceJi< zgE-MzcM@A^yWl3hKCWu5B=lAVUSx5>98XT4`j4npInvfwl)63F{y+C9Zcd*bq&2=9 z8s2!GC2xc>d#z+ZN#8O5%T%X#iuogWliCgy$U3P3U+-i+dcfc;!lRx4}VH)qP`oaJh&Gy^Y zQ`}OfQs9sv)q&5Xkk~VvFeqn!9;0(>wB)6pp+&r2?m+sr=O3cFmL}PsNA()=KA6vK z;Wr6aJRI5?TOp&wN9lhoaGqI9k{KwtMx)D}U2rkWS{oEm(VFr#nPLGOhqALN)UvHW zmoAnZ3vp=8MVqlsvIykNKgZw!BvLA=V0*n@I_$SHq0~Fwv2-}5A1RYGoM0(2}RF0=7 z$jpA&N(IN;jwIzv__BlDf%<*iF54!?1>PxV74P6~i2Jp6(#QI*Ld_C=y)yr1D|}&h zOY52`Fe)wd`}{lLsh0L3EcG%PNkqT6x6+nAvwM_$j9xZ$e+sA!o(nProSn?hqpe?O zCURQ2>+c0ep(D|MlyN3apr(&lm^V~63{j-dj1)J>U}!!951KACa@ zL7Mmmd(LNPupqIN#kvT6>yiNCWRXi^4;zH%4&{^7t5^W8uM&+%cP z75r@WG!#AGm6ZDT2T4*T85my+TaoFVLSY=<@2Q%!)LY;^!`GQCH!;KvMzr>-iN|5I zrggos9^%n5>;(xj=DTy6l(4G$@(?fJ{mZ_L2oSIKj%MuCS<9MXra7`CYe0LM6wpIi(VD(2 z8o#Pb69C@C_@SO&bpz-ZU`dRr+oxr(ZIZC=r{Wdpi+N?RTd~Fr)+r*qEV&n3K}-H* zVMJ^0p(ootAAnlG11(2|F8?o{(7nRaqF8CUS!%7LWRa?=0H@ZG;PP0nlA4JVD>u zA}>@d`QP+6)i+!ja7Fd%Klbjn1+jx5UZ$}~37tbYq%Ei+a7HDa>l&w>u#yMV%}GaP zQbD$-zo z?9PJaZWoOzNJzS*lS!hUa+sbLlRMPtGkfP%!ZJbtTS*H4C#hy8*z!`6OBr}z^oYLt z$1Oz-n(v2LKH{$mce0p)GI9LI$pbYnY?g}G=z|ae%hFU5G!>tpRY{T>*5Od?(!ucn!9u$3{8MiBXY>(_QNfG~>u7``Wl+z0|F|!2529fA4-KH~kvQ0QK zcZuh|0}|~_6cyhALpB#-DQwqG`x;ZCRy$Xm+qSGoFZKd3a|65DGb*3=@mAACvrvFX znU|WY-TFo6m83>HEVZ2y+l6a_1USjE8SS-6U8P?VD=|gj3x-k~VoSbu-o4(oPY?d; zXC3;*6cDE8z52%7-lI76l3tP@E6|@QJ#=K5gLi?QP-g@*NYISO&9tpHK2vA^X{>}f zMvxk5Pv7(rQM#rT{9(J`RVKB{yg~GuX}VbvX)kX}p=lekTfO$;m#V68bin^!ZH2n_ zii1GW6vd9Kj`+m;?8B*|mT^LE-)~)5bA339=J?-4JsOJ-@h|Ti7Jr>|JBgY&nY2aP zr8~~888}LTIpMzpoa-&E2gbYwiLPtkPJP-4&wJWOd(Ui!?p^xl;fd|Y(m@Evf026^ zq&y47?CIwZNo6&ECff6?`0``JGqX=+upX3)<+ly^r}6~qS6~4Qt&t+4n|3RMsb!EA zvi%bJ9|U1iUoFU%4h}0kqes6qrriwEoEqfs`F&}kruR}FIb-J)h-1Fyq26BnLu~JA zDHg+;0T6d^m>JjcA}7>$O)ZB=Syjn3=@wxlj!MFrRZ4c1e^C@GbUTOcZ?-Z?>u#bP zXkm<49{w(A6OB}nG*v-%y1`Rd(Mi=H;qOBVJ>qC-Viki`VC|u)a*HhZTD^Q;cn4_T zCzU(H?T8CPwGU>{h-up)F0>-;8YFgqFNxvq&;biZ*v&y+qrlzJ`x1ho3b`#n6w{;G zEZE7mt=G!gRJx9B_@$8}V}f8aB^u&8#(niv$=o45E1s{Yl;J_z8ZQaxa>IUcHgADE zF7X5u3G+%9%FXr6!5sH^7k>;53knt=J^s_ao$Pq#(6Uy0!{C4bn$D7(Y{ei{$(T_} z^<0bUaY)G3*NeMH3!5l!@~)~JZ)}YyaJVor1aa;U&8gfp7V6kS_N0OaP(+BNQaGaV z26d>t54S_>qASXy?v?9s)1q;OUqXvkhARP6yNH6M(6|Qe+GF<@bw!%}q{|Ji1%=6n zC@i*&FtKxRv>-kWD0 zdq~q@S zLq1+%jVBC^yNPBRoJSrJc}_W-6|3%WZ&e$UI@um>O4-j88$tNR%j2f*%t5_i7hf1e zQS}7c6}J#)9@?^W64NJZZscz^HNV) zW>2%2M=2^C!^-jUEr+PmYyU@q7nkGZ=V#hQ;*yH`{w2?C3&(ve4XcV-pdrB_CYs*; zZ1nmgS%~F8+Q%aY%YcefMsKJISE1*~=D#C`aQ_Nv850ZI94Hlbp`pyHx!KkK4rS1Y zu%++;X1pkLD{%pML*6gE*d2^O^FJzdz2QHgf@n1H4T*K!JWC*4R@E~^N<)z}Do&5< zE+C0!lm?=V{{lV?>c%YuYwreqsgEkifv*tEH!J1GGPEnBmZ-%ZrgVbt6<8{0ig#a1pHM^)>>bi<%ln)NPvS9o@&ZPG_Ec+*vN zI~&{kAx1_`Zg-FA+qxg~7l5=_Yp&BC0h^(WNW+#JEMma3RE(85Now7I&oQl%u%#sWHLfS#JL zCfA2&$(X39a09Zekp=hkv?b=+n&6zqWH*j|=u~{=+@vOn*E^EJSc|3kCFc(IW!`L%~3S zai!pYzC{Fr0w4xDx{wVV{Njk1@-F2C^=o@(wyx~|iX#<3eg{kr#7S!HdYH@S3Bo1w z0%)JnSx`~Q;73Y{qg7CIG-w7PR5dM%I@m22${ERP`bS6%gk{+p**`2%fgU)tGQKr} zP$_^=$&W~T4piA>9U4&mxWi0gimLkj3TbMh0B!_egKM5caVBmuK*j&G<~?96$8dgG zG*NImtf;_D%{(~Sr8H)%2!7{Fnq+}PORMvF zN7z?7ULF`T>&x~UZXCCgnJo>?Q=o|l=KBFm?h|iqt&PbK6AwG-wTgFuuvyZLFEDoh z5Qbj_d6`$9RybJA|;Tf53ek)$iPtYCv6Og*^cCKx(Z6UHg zRnz1MRmDU@>%fW7I8RLZBjpoZ@S;94#!}c8CtSnT1 ze(@#GBR{h68Dpy!@!(a0bVyONelW58Y2>Eg0P4 z3yIIH#vc1$D%Mqgg2Tcx2m86TObh!@D=H$DNAma|0d}2{$zgK1*wGh0F36k-}l&L}E_HY-d}q?!*#T zkRLZKo?NVyu7FcTRmsw-u3A_;%y|ERg;ORhzY@mL?w!xjFhU>w*sCI*uD4|3C9{wN8ZoO_t zrj*3*1c8GD07!U11%Ch_?G=eP6=$;dVm|lhlEXrxQ=pTjYIZTxwW!N$A@KR8QhvfB zP-OoQDAN2m|9QW9*os~q+1RT0n^6s05h{7TP;_^9U~llAS@XUU;G?geqb~s2n|-+O z5$)x4ZUjbYhs9;PTy-tD?lx9bwcT=|i@2guUns5`r%}(ZiD;Mf8xFUc%$|mfn$O|3 zJl_oaXZU0k%w#8et=SoP^iZ)++4ZO2jNwOE6q$wR#pCmPku2W0Dy(SmhujWv2Ab zE?>v-(-n6m*?22J#~q!!*LQA`aO4y_EiFCqJ4AGH>@8T%5fqpt5op5GBv0G!-ja6D zz(i3!LV_4YSP3$R=QDoxW@tke)FZ6TbZ(vDB6m-~(jUi`SsAOQpM)Z;K-8i6b4pv$ z_TCl&oyZ`_&XY||;kU!h?Bz?&( zwG&Up3QtbiO>gAw5g7q!UA6v{(gpPTuf>6lP<}N*Xr!_LNjMlm$z_7=Sy>sE7fQi} z!`T7&pe7D(0d6VnOG_Puri3IyrU&&tC$ES-C1+0l&($%iHb9zL-14^G?%kIB-aCNR)4r()l zur-tuDeZUOzbRu~P`9o~HTwf$RGwdL0 zF9X4gPoa62UdcTTAE&OreXdXSR&00A+7FayKjn8nV?U4uS-tGww2>fFfP^HmlEst7 z)IY2rjnrhN@K^gO`*z~$pVvkm9mUl2DK(Q2Mn)4k9R+2jh|hwUiG?Y2V>n$NP2d+k zGpqT=JTl;Ngrgfmb;d&(jl#<}ePQU)-d|8V5G}#65-e?sNu3T3@7uT{f2>4ABHV_g zs|Ts+2#7%-E89CD9|t~;-S<8pE|8o$l!9(EL7J=v@r*{s@xtQ)fV17H zzwlXrX83iDQRthoVqSlaDn8(%3&ZDJ*=;pv|`*0#FZctv_5B(UxjF7=rEXA4XiOyW`Z*A%x$O%Rslj--zpNEG)u?^St;30STc^2q$}`e=~fgSkw(n~ z+XvLRpgO+B@=!nl@g>t;kx1V$G2akTo~G=1cSmUy5wgAL%0dGXxbiL~jg(s;JXa_T zvjG*Y(p-pXJc_RB7lk5Jd4FQdF1w4`oXAKbTvB60~f@!^wCbx@oLy*j0NJ!hs8;edL2(2S>7t!N4L6BB%bkZ%Ju^I9!;q}W4pv>ld!No-; z@Fb;>I{;gI_Xou?oN){U{O*3`qVT;#9g?LKCa|YlKM!F6@+&voa!|*miv3BD@)r`X zz7;5W;hw=P#uVC^1joyH5P`T;W@T_4oD|72Ki}p>AWaF`$yL@ba>&(K)q3zMItB#Ftv2j~GrG0h+qJ%V4)jdJiaZIt5!5))Fg|5;YYS>4@eyk~4H;nb0F)OM1NrFu{b7KOz?G>~?|8bzX1WKu6Y( z`8}kwPov~Bh9fY5C=~TNHX`T?B14@Ti|q+1GJ;(7L!-}%%PQs?=YC%HxhIX);AZW( zEV)`@`Jxvt;IJze_99PVE!#n)JNJyG531lxqbu+1wRoQ1Y%iarv#v`L8hbsP0S|x6 znyu>EPm;$Azj^0`<^v-- zj5^}`Tnm4!@u7oX6@p*k7!jLY`3_gwM1l({fDSkvROJBbbq5*vpTf&Q1!s=Ih@vf? zil3oSc7J3pnjZEnTaL+^q;ey$AO=cacfjcA1G0)P#Gzmep*%k5kOhon%%ng9Og!I` zmeFE;z8eVi$aSB6ET<@b2lP|sa_zRWl^eZ%MHB+SsJv;?22yEX%r6{3=2U6eA%l_? z7fxEkNP%6rqPWXbjgv4A25#1z)(;Qy&KU)CC)0<7vyy2*A25s8)N+#KS4zgBj}J$< z6K7oNwKCQkhvG)g9*61Y>YB@|eu z+Y4(+Bnd!mPlcV0c_t&*$B2TM4O)QkR7RDOq(w1?ts%`XoSgTH3zd8VBg6Hp#KvVP z9zZ5_21zi@6(^z=D3w4|kRu)I2at@Qh2eLIr-3#p@#&usR|K{yN{vJXoOX`Y9|dDl zf{frq7%E|1nTJb^OZPn95rfP4(e6Fuk-*pEkZ6{+O)(P;BNGYwfr3Ln<=DYefoi9+ zuUI5NgN#m9eN$3OV^V7aL3UR|yY7Npqs!=MLh}9sI8c=615VoYC&A3o)wQ_1p?R6z#>2WE< zJ!h|0DIVSd{)uv~nnrDV?|`JT_E7+XAf7L!#?)!}Z_7S3ZLb)b9JL!|I*&vhnTIeP zugQ@Epq3>5Z(b}vem2llq5V6OE-hg#+#T4ik{164+{M zXvGh(^`>1rzeciA52cw-75xhwKI@tA4u37fbm1<7)0!Xiap4{Xd)%$ z*{#bfQengRUNWOP*3bI({(l4!fr5Yt0G_rd>(N+Na$LSp$t=9OiDgtwwf}Juc}-r0 zhY7|E_P4mjt1crrL%MqOIn8k3^Cwx|9GIK;ldSHCI5#+il>!ccO?*K5fwW z)(!XUF=%wRdq-*cI62ctQHhWGs_Q#_oh>-ARHUBh@^^jHsK=AL?wv+Fo!@loFs58c zsY%uH%Sbyg+MP(|r!VU^I9kOp5sPk<0hLm!xM|&v0^3K?6*aW~hKBB2^Z3n&EgoghfRm#o?^0KeJepXq%b|UEm7r-xHS1 zw2Oh2gIZ(*c#c#`d#cno$0{W~)oL5#l@gxnwGHtpZc9!&8Avrbz}{lfvJk654K>XR zzp9n4$W@0bl2WOpf;ztxS{8C-OJuJND$RCnBwtvWnr&;smqrM5`ZZ(xVaTg<2L=%@*NFIz|2>1C~KaRS`jUA(px{7~|}G$kaDS8Ds>7 zQ4}{~87ZSkgwI(_bI?)_fq#IBYeUPecGd*|s2Yq*Dqv5)#3?B?KTEY7Bq}YjhCwtn zrYg}my$L&3W=%K^D&vsf9(gzb353@F0OeLIsgtf3Z7D69K9a7=wPK0M=jRj@>8&w) zLkmN01uZy0WX}TDlL;yEVMBgA)zPHKoaDahHU3fOX)=(XCKMOr&rKQxKD0RDQWJs> zOwl7WWhN5v6{b$HNL9HiqEx9=l6t=kT6UP82ue|c6I{Jo25NGF;~O|g@f~~qdP>O;v&XvNLP?;mUlAT5?rKNJfNSw{skNhI}tD4CaByQ*n; z$DsVcvg8n^(_BMdSmjIKW;K}QOW$TSnB_~~W;K|yt+mfQT2g6sVODIa=VmzC;G|() zq*TPa7CghDq+wLV%R#4>*u)7MkE1Ux`02xG`7Y*>&2UuodE}=$) zA@KQJLR?8gu^67S-jZ_#!EwZM{Or%E+3g?l`6RkaeWA83&YtIX!5muiM;5%sIEO+w z%o9xUZ+f{s+dU2p^uyUZL_5-FI|KePVsz&F_86Q&RMWKgj!-h`jv-mbvA#HkXx2B! z5aGlt)qcnlQw6f%L7>MR7nVqEZyaRPyC0=LD4Dr+G<&-8L9fn9&dIqdC8mMqnu=-t z;Zl}bKqV``LF$6tl`2x{O0$fAtdTi7xrv3mo3OuO9AfjB;}@L5RXV9-f=?Hh^Zer5 zLY%XcfGdj>c{{%8)MLrr_fDf8PVc&P7~tCuCTOWiAW-DeA=Cb*bFe?-796AIWw(NP zx8K}if2BLxJADMY;!sc&Ksh6V?}EbG$_;yu?ddIH2`W}03N=wbI0*)$9C^ZT?N$B9 zd@f>UW0<9tXsI#8k@UzLbqe^>2NIlw_;1=Hk0a=SJH95T#uYO1k;SP*h_iS^7-%&5 zNv0w{IzxOTm2i*}tARL%L0s|5iBEM}hWOg@rkQ`O@aV8M@INXtt7PJ2M2kf)MDAU5b_HW=Hra~2hCV4 zHtfkR3WS1bsyRdc%43v2?4~U~E@n-sppcakMcwfk3cSP%IYRY8`6gWoX-}M_WILgA?G$JLfrxe*PzCw@m153sF zZo9q(utG>PB%GYVcZ^L=KQ^GJm0Ew|k{labsSB7mBQ{^kIX5LrQ0s~A4Jovh%bYC- zA9vI?eVp|2@LR+&oPrzRw74Agl5|jf3`=lvxp|bj6;zCeK2Jj5vfN9iVWjg;I%Gdk zS+c2>mP=#5uP>)=$tG53m^rGyf49m!m)T2+$~`_5I19)?#s=Tp+w7ZVQa{63st<=$ zH*H9)R5%A+(K*6Nc7++|9YQ5-nMss_76Hs|iK}8#T{SBN<`@3E;$GL3m`zf!G#iXg zTXM3=G*D8r3;becVRJ62*D;@Gv80nZG!VQ%RK&%pCm^88uFwQ>j!QY!9HWxXbw?=V zvz<{dYst>9iB06>A}tFX3G}kf!FTmiwb=)Qq#75K7LAy>91^7h6IP#pwiy+PId>H9!?46=GN7GMG^ei7(H{Yq2cR>KyDOLw%brY(#gB$dMV zehGlK)AUoU*LRI!OH$2LeX`4*@+pAf7h*k7ONslVBzV3gx?}I&N6a;Ywf~V;m zw60wOA5&^^MWoR=1~{|k#H7kzBDAi`LhVaAYARH{Nxm&hNx8(fmeGO{Uxx3mKmWu4 zDG>ky0ssRD0|5X700000000010ud51Q3DVYAR#h9K_XCLFhXE(|Jncu0RsU6KLGoP z#`?1ibuh(xrc`t(XgMmS^nQyKvxd$aIB)3T+&uR~GvALzGMP`2 zMZUYMa&+v&7V|L2QDKi;@!+kFYCR4jIEdmQO*cc2S}-j~8XMD*HjGSe{C%Ee^W=wc z`;hY`k}suiRHJ4kp^0cps{DPPWb@>QaQl$+C6eTQVv1!lU8~27recdeCBXQYqJ-{3 zyL3<2B9lfh(;rO6+t0{GC83FEVpy2#GDF>MjVM-d!E zN3D<^e5unE(B{1gX^v?aktyFr{Ghs+{{Resgu1KUeAwBInAqKkwULeZ(9EV&8u+iH zPK7Vi7wFr0{{X5-XL+17OJ}FhsJ1Pd6e;pfKK_C#mps)!Jv&_cO#JxDjA(OSg*3+` zg(Sx`hVRFUwmB&DIEdmSh=nBj5|3I&57JSs?N^tx%$|IZ?jLd7_CuaZ@-uK`}6(&et-Y|@IYMmo_p@O=RD83&x0_2q<4kx8r`{b=dL`sul@Mk zxeGYpYlP-9@X53crxNgu%2~ru>Q+_}^G z2ih8DFuRpww{<^Ps|EVx>vf_Is;i8w*Z01F_td!!TtK61E3}O5%xu43j>hylg%rHT zU2b}&C9h+CF`7rEV4Tf70r`*}PR&$7SEW%PMU2xF)2WQS@UUP=`ZdS&7?d>LWFGcLmgdQ^SP20uhH9|Mv&r z_q$#kxc~ckP=jm}@b`a*eM808{Wlyn5HKx?^!VSXrcEb^``IjKquwggL;p7^Y87n- zBL1H>76<XOVH1LXL%ne*VoZK|-{SY~CU4@1Y_FC@Odc} zVOJBVuJfZK5BS&e<-%~Upt~E(wZy4|on}L6q_V1ot^a&eXp_;f(&@gYcQ?C*dkS8F z0b)l>>M!RNLU~A?9nJNx>%8r2Wc#VmxmcO0qxqC$@_@%$ixKFQ;-5mq2^2BmLLY{P zZCBb)gr5AAA(nPGAVDmO)81VRm(;eSs?|R;(YHmKlu^}BzS_+;nuP!2rr+0L&+0lD zGFuqh$mun)$(Q|N>EpicDVO)|?TFF>%)rq!4E&T;uI6H+h{Yu5f8xGl5{H_ZFSo#nupmU~Ntc`~npV#1t;noB9EYdRcBQ zm>M?9mt3q`CfCvUOKJfG;Smjc4LKYy%wLizrTpq6=8h4pC0)t}oUBXF?2fu#EWPpi zC9~^Vc zCvv!IsVSFZU5(|UhKgMo)uIGWNtPG6nTv}K$T;U2wfq&>#pr*#uu~QBGyH4P-^*QE z!eFo$Q)hUmiFP!cqmDVFWVMBlY#zuOHj>@&I~(V-nEl9+Mm<~@j>(=^sBN3y8BjcG zSiF93%arg6N%@u7ll$*!rTiASg(gxm_km1N_GJvy zi|_h8hcT55M87zt?i)yDJ07(rT2!x+UcD^N?&uRy;S?Wn)IZRCg7rtO1us;lBC#H;S0<8Z=gM;b7Ux z1ogVXn1{S$CaQZHGrlIqP#X7~*3#RdEV`-RLnN6J!JBcUOWQtD#BjOEwq_1ST9nL6F^ zl&$8WP)PlRd*7L#Tvd-Vu78_n*cy6i%{NOH*Y}jR|D$F^rXvHFTP%Y&k@+VH)=hR}lF|f* z<3fA=9guI03vJRpoC5Jv|G)dQ0`cLPB!Z0^r&nI-%=T$L{!F}a!yQf_3X|kOF*0@} z`&ROrLd4cit-I&ZdIT}SVTT}&WX^rVlecL$x8hIKrEPOg{1&(x2^lcoL*HIM#==v zdu=lI+)0gdN3cX>_nC9>7~Uz20q2n({`z}?w3pp+G~sSatZttE)Jjgit1uY$*S9%p zkKTR{qj03fcQB+=cvNl__JX^q@;?tKPY=~fZ|I3{bN=wj-?f=f`$ui|P5Zs}9rK!B!*t)k-jeV9EDK-%!x`&i8st{r8tWq* zMf^%?5lkd1O2TB8PTBAN57_I8BnCT(AXoDS`6Hk%TcV=j@DSjaiq)}YOV&WHVvl9EdRz~kmY z%916mORl~6-|@%RkxteFr<>SoH&z~g7mQ-=LhW|G0gTu{xpjCw5xE2Dpt37_7O_}{sGq=RNE-*0qEBXFKi^iC21x3S~C z%qff5Z)FPnLs1t(+Ea)|ZP|S2bdoChob2ob1!Vw%|1k6&JEWU$nvA@Kb0ST{ka^r_b3k% zQ#p1)pRFPNf|2Znom-02AC7M^WZrYvq2$l_4Qm-FxgjSO)8<*z^{rTDj?!$lKo@oQ zVaWs+Q#x{o{>>s;UWrtR^HWrRiup4^o`UqV30i<&hHF^rWOr{*f?0h=jq3qlj?$R&Z z9Kh_|PeN?0O&?k{JR3Xu)Z_vS6p)Ti?P=gX)#TFp?0#uuAI62rmfOQJ;b8B2Dv#!h z(b--eaj@!d@!$`c+$KMSk(B9#hoD5sI0#FTsm*n7C$(kWBr3Fko7Lb2nsb{J7`B#aY_`4NOTpN+b>)@e0>Yzb@Z{>z2?9^ z-(SQabfYOmaV=s%Pa&{lDVn(a;yn;WUJJnYGtJ(LIR#mQ>|em(%-v7jLXm)v)z#MZ z$?4H-5=^rGD!5VC9V8AO&&&M{ ztZ5%SL|u}?a5`ANW5KbX?i-!%6!CLF`!Rbo$OpqwurNzde(7~hkdRz4KSu^E={}o< zPn-HrD=LfsCQk{*7VASK$usLrt-DjcgR!Yj%PgZDIH%S7b0l_LWn#g+DMjsMFu$H1 ze>$sp`r84d+1le~pqx&ayMCDp+$U1R-z2MQ0+rjUM{GMlLURJdAd*G0z*;{QEABQ` z3nn^bn}YC)dS)09^e8Be>UOo---aU$X1wZpP%Lvps9?;@E{@R-smH|1d+#$}1U{lQ z`{W=$+2lxzy#N#7cmA6w|a0;1QT+aMJBrbt0Oa}#UUUt*7DrF~oeTkOo2`}qJcZhp(Y_9~*7u3{( zdCl+t3Crm@^}8Jq_Khisn3F{40=&oyDAtE9J>wUW0f-@>n)e$|{1D{v6k(~70#7QL zyxE#f>eo|E920=LFHy-X$5U3C?%gKL$zLYjA8ib`#1d++I3le;GUG=FAIUh(-g=yp z2KxB#vRX5{d6^_~S0JIV*S^jSGPSjS-T%)O*6(WAIm2`bo}4WWb^d7?a2u*$Ys z7M6@l=K3Pfe%B)sz)ldfI`p3ge${YEB%>D%xf3>+#F-Ks>m&8_7LY>}iwoV-26fqB z_7Eu%B%QioAa}FjS$sHt6`X7p?hmBeR(Ccwmi*n&CQ-6fo}p6Kk7^Z7*ZFM?IA<&c zN|~?@XA*yHDG!;z{*f({y-Z8(%kc*1Iui$~1w4->Xhswnl=UH5lngGBb&5JUIQ;1) z@x*@JRAxNc_alP?r)dx&&+G2C${C`6a2Kh38y3Lax-Z2X{JZ9AQ}AzePa86ijG;7zo4SA7^m?5lY@x&XT>1rI>b{ z))BXHl4a`roxeHl8jrDkcjFdS7AKs03vGHA^LHu~K)y7j1N)}UdYWSdbyTzKL<}$X zqPEY+(w4PlLYy36l#K2ME*#jh9vjSflcaS89ux;lDrD&_dN`w<#UD4Gg2usSFfFu8 z!z1y9>nXwJZ*V-r2?#MDVKS2iXLx|+wSX6O-_HpO^p>`}ufOQE1>VEas?usjyH z!!&&r_?e0%GHE|&C{{dAn31BPL_4jjFTgbQP{PQENEBJ%_}ARlhFeTRCSqJ2fF+oO z&&n{w{06VEL!yG>Oz36+DzJg&5$J=VeUH%VK2ZYoEVz1v{zQObwoCNzteBv~{2UUR zFH26ke2rSQEGnRemdh*1GD=o=FQD7P@!Bonr@N^3&rct}*6~KACV%Cw-ZHdXD7Wua zNI$zwqMOSE15P{%towe1^JL{5v%XS(471)f%#CO1`Ky+fiJ{_*`>(uJX^XF_W@Ocm zIW@N5;lo98#t}j(C6FX2_#>qoNhknI|9}}9qSnL4$Td?<#R(Vbp|?0$KJ3f8ZX7HP z-Z@ujU^&`3{8}{2)Cca!$_@k(m;>}>J->Rto&uK+#;jV18 zgDnGPOYk6qQ)4TzU=&E3$3A3L9+hPuVJiWfI=>da)o+nnBM!Cr{!Mk2pZB2Y(wcJq z52e*;1xUZzLi^&v-9DucvI@QeYu<;#^2FApmF;qBpIvGuewb;(;PHy zbTYkTi)A;8=$5iS>`GOf`naEQ_v9}_Z5Up!skQ{=2H2@IX79_)@%wrM=*}y2mt-t_ zc7tirdrXA&5ieq{)E|2YJDzN_-+wi5y%u)5(B65nXkBqT>`Vi9L28JnOx)113#^t@ z=WR+x?Ky-(nHy{!EIwT3X;igwS%ulCJ=%vwGPhIsHU;6(_tQ{7zpr-_2%%0A=@Glz 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 literal 0 HcmV?d00001 -- GitLab From 899c18f16800c0356d9edb48d63796e16a3c8c41 Mon Sep 17 00:00:00 2001 From: johann Date: Mon, 6 Jun 2022 20:32:17 +0200 Subject: [PATCH 2/2] ajout de l'article 2 du 3105 --- ..._Exit-la-box-op\303\251rateur-partie-2.md" | 164 ++++++++++++++---- content/images/pihole.png | Bin 0 -> 26091 bytes .../seven-layers-of-OSI-model.png | Bin 3 files changed, 133 insertions(+), 31 deletions(-) create mode 100644 content/images/pihole.png rename content/{ => images}/seven-layers-of-OSI-model.png (100%) diff --git "a/content/2022-06-01_Exit-la-box-op\303\251rateur-partie-2.md" "b/content/2022-06-01_Exit-la-box-op\303\251rateur-partie-2.md" index 799ac12..9fb6653 100644 --- "a/content/2022-06-01_Exit-la-box-op\303\251rateur-partie-2.md" +++ "b/content/2022-06-01_Exit-la-box-op\303\251rateur-partie-2.md" @@ -1,8 +1,9 @@ -# Exit la box opérateur: Part 2 - ------- - - +Title: Exit la box opérateur partie 2 +Date: 2022-06-01 +Tags: +Author: Johann +Category: +Summary: Cet article, en plusieurs parties, va vous proposer de remplacer votre box livrée par votre opérateur par un routeur sous Linux (Debian dans notre cas). Seconde partie, installation du pare-feu, gestion des services DNS et DHCP. @@ -18,7 +19,7 @@ D'ailleurs un petit rappel du modèle OSI, toujours intéressant de creuser un p -[Source]: https://community.fs.com/fr/blog/tcpip-vs-osi-whats-the-difference-between-the-two-models.html +[source](https://community.fs.com/fr/blog/tcpip-vs-osi-whats-the-difference-between-the-two-models.html) @@ -30,7 +31,7 @@ L'image ci dessus me parait assez parlante, on y voit les couches du modèle (qu - Celles ci sont sensées être fixes, mais un des premiers trucs cool qu'on apprends en sécurité informatique est de faire du mac spoofing, pour les curieux je vous ramène à l['article Wikipédia dédié](https://en.wikipedia.org/wiki/MAC_spoofing). - A noter que deux éléments actifs peuvent dialoguer via adresse mac sur un même réseau de Niveau 2. Pas besoin d'IP donc. -- La troisième et dernière qui nous intéresse est la couche **Réseau**, c'est elle qui gère les sacro-saintes adresses IP. Utilisées même en local car faciles à retenir (sur 32 bits pour la V4 et 128 pour la V6) elles sont aujourd'hui présentes partout. +- La troisième et dernière qui nous intéresse est la couche **Réseau**, c'est elle qui gère les sacro-saintes adresses IP. Utilisées même en local car aisées à retenir (sur 32 bits pour la V4 et 128 pour la V6) elles sont aujourd'hui présentes partout. - Pour revenir sur l'activation du mode routeur sous Linux, ça va être le fait de permettre à l'OS de gérer sur une interface en entrée un paquet IP, de le décapsuler, (on monte donc dans la pile de protocole) puis de l'encapsuler sur l'autre interface. Pour les curieux c'est par [ici](https://developpement-informatique.com/article/378/principes-dencapsulation-et-decapsulation) - Un routeur gère beaucoup d'autres aspects, la notion de route, le NAT/PAT, l'interconnexion de protocoles routés. Dans notre cas on restera simplement sur le fait que ça soit l'élément entre notre opérateur, et nos réseaux locaux (si DMZ) @@ -43,11 +44,11 @@ Dans ce second article on va s'affairer à sécuriser tout d'abord son routeur a En effet une fois qu'on a du matériel qui transfère correctement les requêtes, tout n'est pas joué. -Il faut tout d'abord que les clients (ordinateurs, tablettes et tous les autres trucs installés dans la maison) puissent faire une résolution **DNS**. C'est crucial, sinon votre navigateur n'arrivera pas à résoudre une IP par un nom de domaine et l'inverse. D'autre part il faut que ces mêmes clients puissent obtenir une adresse IP locale via le **DHCP**, pour que nous n'ayons pas à paramétrer manuellement les 50 périphériques de la maison. +Il faut tout d'abord que les clients (ordinateurs, tablettes et tous les autres trucs installés dans la maison) puissent faire une résolution **DNS**. C'est crucial, sinon votre navigateur n'arrivera pas à résoudre une IP par un nom de domaine et l'inverse. D'autre part il faut que ces mêmes clients puissent obtenir une adresse IP locale via le **DHCP** lors de la première connexion, pour que nous n'ayons pas à paramétrer manuellement les 50 périphériques de la famille. - Pour le DNS nous installerons un outil qui en plus de faire office de serveur bloque également les publicités: [piHole](https://pi-hole.net/). Une fois correctement paramétré, cet outil est absolument génial. -- Pour le DHCP nous installerons l'outil isc-dhcp-server (disponible sur les dépôts Debian), qui permet assez simplement de gérer les périphériques connectés à l'interface de votre choix. +- Pour le DHCP nous installerons l'outil *isc-dhcp-server* (disponible sur les dépôts Debian), qui permet assez simplement de gérer les périphériques connectés à l'interface de votre choix. @@ -91,11 +92,11 @@ target prot opt source destination On voit effectivement que les chaines *INPUT/FORWARD/OUTPUT* sont en *ACCEPT*, et qu'il n'y a pas de règles plus spécifiques de définies. -Je vous invite à lire [cet article](https://www.hostinger.fr/tutoriels/iptables) qui résume bien les grands axes, avec le petit schéma qui va bien; +Je vous invite à lire [cet article](https://www.hostinger.fr/tutoriels/iptables) qui résume bien les grands axes, avec le petit schéma qui va bien: -[source]: https://www.hostinger.fr/tutoriels/iptables +[Source](https://www.hostinger.fr/tutoriels/iptables) @@ -139,6 +140,10 @@ On a notre script qui nous permettra une RAZ en cas de pépin, à condition bien #### Le script Iptables +*Note pour les barbus et autre aficionados de la sécurité: ma modeste contribution n'est certainement pas parfaite et je l'assume pleinement. Comme pour le premier article je suis preneur des critiques, commentaires et autres conseils qui permettront à chacun d'augmenter son niveau de sécurité ou du moins d'éviter des erreurs classiques... mais allez y de manière constructive :)* + + + ##### Les règles classiques Passons maintenant à notre script qui va gérer l'ensemble de nos règles. Allons y par étapes: @@ -188,7 +193,7 @@ Exempe ici nous avons: - *iptables -A INPUT -i eno1 -p icmp -j DROP*: je bloque les requêtes ICMP en entrée de l'interface eno1 (WAN). Les pings depuis internet sont bloqués. - *iptables -A INPUT -p icmp -j ACCEPT:* les requêtes ICMP en entrées sont autorisées. -Ca pourrait paraitre contradictoire, on bloque puis on autorise. Mais la subtilité est que dans le premier cas l'interface est indiquée, dans le second non. Du coup iptables va vérifier: si l'interface en question est bien *eno1* il s'arrête à la première. Dans le cas inverse il continue et donc traite la seconde règle qui autorise le traffic ICMP vers implicitement les autres interfaces. +Ca pourrait paraître contradictoire, on bloque puis on autorise. Mais la subtilité est que dans le premier cas l'interface est indiquée, dans le second non. Du coup iptables va vérifier: si l'interface en question est bien *eno1* il s'arrête à la première. Dans le cas inverse il continue et donc traite la seconde règle qui autorise le traffic ICMP implicitement vers les autres interfaces. @@ -205,7 +210,7 @@ iptables -A FORWARD -s 192.168.1.0/24 -o eno1 -j ACCEPT Sur mon interface **LAN**: -1. J'autorise en entrée sur l'interface indiquée les flux provenants du réseau 192.168.1.0/24 +1. J'autorise en entrée sur l'interface indiquée les flux provenant du réseau 192.168.1.0/24 2. J'autorise le transfère des requêtes depuis le réseau 192.168.1.0/24 vers le réseau 192.168.2.0/24 (ma DMZ) 3. J'autorise le transfère des requêtes depuis le réseau 192.168.1.0/24 vers l'interface eno1 en sortie (le WAN) @@ -243,9 +248,9 @@ Je n'ai en redirection de port qu'une seule entrée, vers mon serveur VPN wiregu #### Activation du pare-feu au redémarrage -Les règles indiquées ci dessus ne sont pas exaustives, chaque réseau à ses spécificités. Toujours le choix difficile de placer le curseur entre une gestion aisée et pas trop chronophage de son réseau et une sécurité acceptable. +Les règles indiquées ci dessus ne sont pas exhaustives, chaque réseau à ses spécificités. Toujours le choix difficile de placer le curseur entre une gestion aisée et pas trop chronophage de son réseau et une sécurité acceptable. -Enfin pour finir, les règles iptables ne sont pas persistantes, du coup si vous ne voulez pas tout perdre au redémarrage alors il va falloir exécuter les commandes suivantes: +Enfin pour finir, les règles iptables ne sont pas persistantes, du coup si vous ne voulez pas activer manuellement le script à chaque redémarrage alors il va falloir exécuter les commandes suivantes: ``` apt install iptables-persistent @@ -263,23 +268,23 @@ ip6tables-save > /etc/iptables/rules.v6 ### Mise en place du NAT -Faire un beau diagramme de flux ne suffira pas à avoir une installation fonctionnelle. Pour cela il va falloir mettre en place de la translation d'adresse pour que le routeur sache quels périphériques causent d'une interface à l'autre. +Faire une belle matrice de flux ne suffira pas à avoir une installation fonctionnelle. Pour cela il va falloir mettre en place de la translation d'adresse pour que le routeur sache quels périphériques causent d'une interface à l'autre. -[source]: https://cdn.networklessons.com/wp-content/uploads/2014/12/cisco-asa-pat-dmz-http-ssh.png +[Source](https://cdn.networklessons.com/wp-content/uploads/2014/12/cisco-asa-pat-dmz-http-ssh.png) *C'est presque à appréhender comme une seconde fonctionnalité d'iptable, d'ailleurs je vous invite à lire et comprendre à quoi sert le NAT pour avoir une configuration correcte.* -Un excellent article que j'ai découvert récemment, qui vous expliquera absoluement tout ce que vous n'avez jamais voulu savoir sur le NAT, PAT et autre DNAT: -[https://www.it-connect.fr/le-nat-et-le-pat-pour-les-debutants/]: https://www.it-connect.fr/le-nat-et-le-pat-pour-les-debutants/ -Bon je *spoil*, on fait du PAT en sortie et du DNAT si vous avez besoin de rediriger des ports depuis internet vers un élément actif de votre réseau. +Un excellent article que j'ai découvert récemment, qui vous expliquera absolument tout ce que vous n'avez jamais voulu savoir sur le NAT, PAT et autre DNAT: [https://www.it-connect.fr/le-nat-et-le-pat-pour-les-debutants/ ](https://www.it-connect.fr/le-nat-et-le-pat-pour-les-debutants/) + +Bon je *spoil*, on fait du **PAT** en sortie et du **DNAT** si vous avez besoin de rediriger des ports depuis internet vers un élément actif de votre réseau. -Je l'ai indiqué précédemment Iptables gère très bien ça, on va parler de PREROUTING et POSTROUTING. Comme d'habitude on retrouve plétore de bonnes informatins sur le web, voici ce que j'ai trouvé qui me parait compréhensible: +Je l'ai indiqué précédemment Iptables gère très bien ça, on va parler de PREROUTING et POSTROUTING. Comme d'habitude on retrouve pléthore de bonnes informations sur le web, voici ce que j'ai trouvé qui me parait compréhensible: @@ -295,34 +300,131 @@ Je l'ai indiqué précédemment Iptables gère très bien ça, on va parler de P > > Cette cible permet de déterminer l’adresse IP de sortie pour chaque paquet, ce qui est moins performant car il va vérifier l’interface de sortie pour chaque connexion. MASQUERADE est utilisée dans le cas d’une adresse IP publique dynamique, dans le cas d’IP fixe nous préfèrerons utiliser la cible SNAT en spécifiant l’adresse IP de sortie. -[source]: http://www.admin6.fr/2012/03/regles-de-routage-simple-avec-iptables/ +[Source](http://www.admin6.fr/2012/03/regles-de-routage-simple-avec-iptables/) + + + +Revenons à notre script qui va donc s'étoffer avec ce genre de commandes: + +``` +# NAT +iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE +iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE +iptables -t nat -A PREROUTING -p tcp --dport 5001 -j DNAT --to-destination 192.168.2.2:5001 +``` + +1. J'applique le SNAT depuis mon réseau 192.168.1.0/24 +2. J'applique le SNAT depuis mon réseau 192.168.2.0/24 +3. J'applique le DNAT depuis internet, port 5001 (Synology pour les curieux) à destination de mon ip située dans ma DMZ (bravo si vous avez suivi) + - Cette dernière règle est minimaliste car dans mon cas je n'applique le DNAT que via mon interface VPN. Pensez à être plus restrictif dans un cas plus classique, à savoir du DNAT sur la patte WAN ## Les services locaux -blbalala +Une fois le pare-feu en place, place aux deux services locaux nécessaires pour que les périphériques clients soient autonomes. -### Déployons un serveur de nom de domaine +### Déployons un serveur de nom de domaine DNS + +En premier lieu il est nécessaire que la résolution de nom se fasse, pour cela on va utiliser un outil, *Pihole*, à la base conçu pour s'installer sur un raspberry mais qui se greffe sans difficulté à une distribution x86/64. + +L'avantage de Pihole, un bloqueur de publicités hyper efficace. Depuis que je l'utilise, j'ai à minima 20% de mon trafic interne qui est bloqué et j'ai eu des pointes à 35%! + +![Pihole](./images/pihole.png) + + + +Concrètement ça indique que lorsqu'on utilise un service (youtube par exemple) ou encore un périphérique embarqué (une box tv Xiaomi dans mon cas) de nombreuses requêtes non sollicitées sont envoyées. Pihole en tant que serveur DNS devra normalement les résoudre, mais ne fera finalement que les bloquer. Simple mais efficace. + +Pour l'installation leur site est très bien fait je vous laisse le soin de le découvrir: [https://pi-hole.net/](https://pi-hole.net/) + +L'installation est très simple, deux conseils néanmoins: + +- **blindez vos listes '*Adlists*' qui vont contenir les urls à bloquer** quitte à avoir des doublons, pour ma part j'en ai 67. Comme vu ci dessus mon Pihole bloque actuellement quasi 5 millions d'url! En creusant sur internet vous trouverez des sites qui recensent ces listes à intégrer à l'outil, à la demande je peux aussi regarder de mon coté si un export est possible... + - L'import s'effectue depuis l'interface graphique sous '*Group Management*' puis *'Adlists*' + - Nécessite ensuite de recharger les listes, via le menu '*Tools*' puis '*Update Gravity*' +- **partez immédiatement sur du DNSCrypt** (ou DOH). Comme souvent inutile de refaire la roue, un article très bien détaillé se trouve ici: [https://www.malekal.com/configurer-pihole-avec-dnscrypt-ou-dns-over-https-doh/](https://www.malekal.com/configurer-pihole-avec-dnscrypt-ou-dns-over-https-doh/) + +*Au bout de quelques jours/semaines vous pourrez vous faire peur à voir que certains périphériques passent leur temps à requêter des url qui n'ont rien à voir avec votre navigation quotidienne. Pour ma part mention spéciale à ma box Xiaomi et à l'iPhone de madame.* + +*Tout ça étant bloqué dans votre réseau, la bande passante de votre connexion vous dira merci, et un peu vie privée aussi. A l'inverse à ma grande surprise je n'ai pas eu trop à ajouter de sites en listes blanches pour forcer les faux positifs, c'est assez bluffant.* ### Déployons un serveur DHCP +Enfin dernière étape, il faut que les clients qui s'authentifient pour la première fois sur le réseau puissent avoir une adresse ip de délivrée (dans mon cas uniquement sur la patte LAN). Deux solutions s'offrent à nous: +- Je suis une faignasse et j'assume: Pihole précédemment vu offre la possibilité d'activer le serveur DHCP sur l'interface de son choix. Je ne l'ai pas testé mais ça semble vraiment pas bien compliqué, tout se passe dans '*Settings*', puis onglet '*DHCP*'. +- Les mains dans le cambouis et la sueur de la ligne de commande c'est mon truc: alors on allons y via l'outil *isc-dhcp-server*. +Tous d'abord on installe l'outil et ses dépendances: +``` +apt install isc-dhcp-server +``` -## Et pour finir... +Puis on paramètre l'interface en écoute: + +``` +nano /etc/default/isc-dhcp-server + +# On what interfaces should the DHCP server (dhcpd) serve DHCP requests? +# Separate multiple interfaces with spaces, e.g. "eth0 eth1". +INTERFACESv4="enx9cebe8355797" +INTERFACESv6="" +``` + +Comme indiqué en commentaire si vous souhaitez mettre plusieurs interfaces, il suffit simplement de mettre à la suite d'un espace. + +Le reste à faire se situe dans le fichier */etc/dhcp/dhcpd.conf:* + +``` + subnet 192.168.1.0 netmask 255.255.255.0 { + range 192.168.1.150 192.168.1.200; + option domain-name-servers 192.168.1.1; + option domain-name "domain.local"; + option subnet-mask 255.255.255.0; + option routers 192.168.1.1; + option broadcast-address 192.168.1.255; + option netbios-node-type 1; + default-lease-time 28800; + max-lease-time 28800; +``` + +En gros j'indique mon réseau et son masque, l'adresse de début du range ip, le serveur DNS, le nom de mon domaine... -‌‌Nous avons donc un routeur fonctionnel, qui gère le niveau 3 et qui a pas mal d'outils intégrés par défaut pour faire du monitoring.Même si le système est à jour, **c'est un vrai gruyère**! En effet n'oublions pas que la box est en frontal d'internet, et qu'elle doit être blindée pour protéger votre réseau local. +J'ai choisi enfin toujours dans ce même fichier de mettre des ips associées à mes périphériques. Ca assure que le service dhcp associe toujours la même adresse ip à un client dédié. L'utilité dans mon cas c'est d'avoir dans pihole qu'on a vu précédemment un retour cohérent des requêtes effectuées par ces clients. Si l'ip change régulièrement, difficile d'avoir une traçabilité de qui fait quoi comme requêtes... + +``` +host xiaomi_box { + hardware ethernet aa:bb:cc:dd:ee:ff; + fixed-address 192.168.1.22; + } + +``` + +L'exemple ci dessus indique que l'adresse MAC qui se présentera comme aa:bb:cc:dd:ee:ff se verra affecter l'ip 192.168.1.22 + +Un redémarrage de service isc-dhcp-server et normalement vos clients pourront désormais se connecter. Une commande utile pour le vérifier: + +``` +root@router-debian:~# dhcp-lease-list +To get manufacturer names please download http://standards.ieee.org/regauth/oui/oui.txt to /usr/local/etc/oui.txt +Reading leases from /var/lib/dhcp/dhcpd.leases + +MAC IP hostname valid until manufacturer +=============================================================================================== + +4e:15:dc:cc:ab:18 192.168.1.176 -NA- 2022-06-06 23:18:59 -NA- +c0:25:ee:11:ff:d6 192.168.1.179 DESKTOP-PRLXX 2022-06-06 17:25:52 -NA- +root@router-debian:~# +``` -*Le second article de cette série corrigera le tir avec l'installation de iptables, qui en plus d'être un firewall de qualité permet de faire du NAT. Nous découvrirons également l'installation de services intéressants sur votre réseau local (serveur DNS, DHCP) pour que tout soit d'un coup beaucoup plus fonctionnel.* -Sources supplémentaires: -https://forum.geekzone.fr/t/internet-se-passer-des-boxs-operateurs/61355 +## Et pour finir... -https://forum.geekzone.fr/t/remplacer-sa-livebox-orange-par-son-propre-routeur/57315 +Félicitation si vous êtes parvenu au bout de l'article! On a donc désormais un routeur qui est globalement sécurisé, qui délivre des adresses ip aux clients connectés sur le réseau local et qui traite les requêtes DNS en bloquant une partie de ces dernières. On est pas mal là non? -https://lafibre.info/remplacer-livebox/pourquoi-remplacer-la-box-par-un-routeur/ \ No newline at end of file +Ceci dit on pourrait aller plus loin en installant des outils pour voir les requêtes passer à niveau réseau, et réfléchir à comment ouvrir notre infrastructure locale vers l'extérieur de manière sécurisée. Vous me voyez venir ça sera l'objet d'un troisième article... \ No newline at end of file diff --git a/content/images/pihole.png b/content/images/pihole.png new file mode 100644 index 0000000000000000000000000000000000000000..ddbed5f1a58ee27bb71735cb9c61d4b3dccc30e1 GIT binary patch literal 26091 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