From 27c4ee98ce20f624b743ad85aa7a4ca84adfe9e5 Mon Sep 17 00:00:00 2001 From: "guillaume.emorine" Date: Thu, 11 Apr 2024 14:41:53 +0200 Subject: [PATCH] =?UTF-8?q?=09Modifi=C3=A9=C2=A0:=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20sisr1/tp08/TP08=5Fevo=5Finfra.odt=20=09Modifi=C3=A9=C2=A0:?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20sisr1/tp08/TP08=5Fevo=5Finfra.pdf=20?= =?UTF-8?q?=09Modifi=C3=A9=C2=A0:=20=20=20=20=20=20=20=20=20sisr1/tp08/fir?= =?UTF-8?q?ewall=5Fregles.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sisr1/tp08/TP08_evo_infra.odt | Bin 34920 -> 34950 bytes sisr1/tp08/TP08_evo_infra.pdf | Bin 58147 -> 57868 bytes sisr1/tp08/firewall_regles.txt | 67 ++++++++++++++++++++++++++++++--- 3 files changed, 62 insertions(+), 5 deletions(-) diff --git a/sisr1/tp08/TP08_evo_infra.odt b/sisr1/tp08/TP08_evo_infra.odt index 6017e25fdcb16d542e0e3a65738f553b37c889da..c6452b3d19b912e8f87ce725148b2b9a321fef40 100755 GIT binary patch delta 9412 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 f`aiS&QyK@8hZFrJ3x<XNKX97_ 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 delta 13279 zcmajFRahQvvn33{-Gc@R?(!fH?h@QRxVw93+}+(Zc+lV$2(H21-Ch5D`=6OT`+X0l zPr9yk)m>GqR(0Pe71a+_H~>{Ufdy#EMDB2+ciz`raI?fnCom#pz~0l>Hp{^}!E^7z z$Z*DWoUAMGQ)nHfoGg+dѾRuy;`h&pm!Rx_YF_0knt`ECJsm=1@ql94J#cpih z#5&6RZ^W19tNG0rugNv!@p23wJUxJ zBgx+~6myim^!>0X)=HoQZ>f(KJSMqv31k1{DoW8UxFWBR!4-%hix)u9$KK8N9RY^q z?d43#M%UJAt`(CgoghJY?Dx{PJGi4;iScN39rxq0HXUp`Kl1Hd*EfN(DKvfZdlCR# zwh5y+Js}G5czb`LQXW=Uq6nC{ZL887`E$xn2u~C)PA8>==EV1v&(Q*UmuJzyYBE&t z9)v+MzY^XRa@z-Xz3po`xIzc#EnC=&sbTaa7)4wc_K+cb_OoZB@LxejlPWk;$Syqv zIIZN0>>B|v;}7;p@=PD9Ao(mDHj;ayFUCWpCb2AqqXW_U3w9SHuz^oV3U=9(Rc0lo zK4dxHF5tK;X}d8_4sTUt%nA;d9Jwv`c`)aLzQ&iLIHI`x%J$kKSisg0Ral9rr9WH2 zbIG-*!MNCb-1J9gNk2G<5UtNBD2{LhB*#q zNtPq4c{M>)Vr2rOV;>;nlXAvm?6k+-ktcNdrDv9UGsxDg|K!t(d=~N#-*BtA4_Qfm z6mI!NfA;OzYJZx&_^_oSSX39e85Vv0igk}`Hes}07&X2E`r3{wSbyU9&TA#R3(Hto zZByPNpe;gt9qj1UODM2>Zp2Kfpw+5PxO13(|Iton1&3sHH<1CzY7*Pe4*%7JQDy&& z=-N<);Lv0iQ)^9pCGF<&%Pt4H6lRN)Z6!H5EOnbcCuG9%_*9fe2SsYw;oS$JV+jZY zLS6Q^%@R&tv3?xSfG{boTCebaT84KEk9_?#Vz~l?czzGZx!(&PLQAMIy(yKDCdA#> z(vZ%Z&PML)2eA!+E$0)GvKaIQ0X;Hnxt>P8uUayAtJ3aj`PrW{gKWj`MOh-F7>zGs znKCHnC|RA5F>9DBe$YDcVZn2V!|8wq@mY;wy+a&o2|0B_7OKc@@`Xa9FDQLj4{LiT zRxAvtu>EA2!m!OmFarqigjraUb5nff+rsk4g3tqV_w)pT3YxZ4WV1FHyap=1#jSNX zWU(30D3w7O!a5XQgWFd}Z$E#FrvB3pAsH8|eum0TI77&I$|T&W-{{2I25l>S=%qG> zD^YNnXmd1wkeX7H!7`kfk1Kxyx7GMO8pTYYC=UBngjBVV{^`)srOR9rCNu5vce3D6+ftB})r4h89^8U=TP5F$i)LJ!Xv;_3#cs@FL& zXKrIuEnP{EYiBx^_h2pjMARlFsVg7HDT+AFkZmain(WAkt5?w0a%0~mby7^rENmF( z;W_p`5*t={oy9~Mk0Er!Uu-4ej15_-d62IdIUD(wu}J-3K1LV(51!FTi$V*T|1YTuao7kX5!Qz_c=%wH!v)(~jEC zgC09?c2M|yiYDE#)XP6$_|4LK?H9k;Ow$}Ha8{169_Ss#^;hYZ(EljCmGf8WmO(!& z6S}kod|M{2^1F`@rNIaUuB_BLe1b+WDX=7$-Tdx|bRRC^NpUQ~`F{+TuGG$7ze>bf zWOo#;R2@p2OFn;Gbf<#gX^0U$glBf`FDz?+q#TFXngVl;5W23#ZOY`U-V;5RCC+=fQP!08QjKckIjueFs6L|%AaLd_nVqhwf*@7X&@Q6_l9QeBbUovA1vi4u9;I4O6G5! z_>dC3vPhB-C^{vDvZ|0q)Y2NT%zzJL#Mfn{GR|ShS@!gtM{2cqEtkTTw%!>(VStRf zw1t#<16>t^@f(7@45-r;Fi{-aot{w_T?&s`)OPMcDEKwyC@xDse>f~gMO9I8KioKe z(rAg2q%~s5WhraCFLr9;grs&xd$(B*wOY%o@k=Q&{GPn=$zZ)@f2)rW8*uDjzz||O zu-&>4E8U%-iD7lE5|r`XbKITB+fW@$U&?`!11wV-w0l@3o{}InUY+g5C_vf^a1~4g?UP zud}s8YEU}qq%(%wns1GaHDF6=gB)7;hd*m%xmik)L<8N_MF-QSecg3zz74DEJ#r~+ z%HAr_dU@$UM}csyQ}_yr5`$cNKInvUHAML!yGdJOisH;xzPHgf^4ME}aqUefOBJ*I z&zDD5Hpvy)W5Er*+_K@89#3A_*)x#z_F?*UCR{^x##=O ztN3H$aE1(`u8mlmt>ic#qBkhxcQ6T}shx?li<7CL?SCwLBP&EiZc-M~{}^m6oZv(p zA_ZXdgfOT({8Yrw5`{l0=P6(sJ3;2nw`(=ohITHZ0k7!K316pYCVNHdSmI~#3<|o` ztdtGahRQ$7d-^i4-M+s=}*)5|Yxuc^GelDBM{?-#zJ zRwF`BWtj6b_P35lVRdF(VQ5QZpX#!3V(uCAGC34L-c~T&x6Zla6Z~bNPCUv6B48jb za)ebTEh{|%@uSbSFGml=zT~omBT>OFmP=i|ZZl1(q9L}&3Q$&Xn?O#GBD zXXrPhJ0Ky5K@3?Fh@v=gh}q=UA!!XiN2CQ*U%2yc0*pKER1r5?{^7YJWH z)GlJYQfBiDq=&9q=M^?Y)9HdKY{<~%@tOapE#v)*{03N{tp8b{_fmcrxZB1?+Hca-8x?qT{?Y-6U#2v zMdxeyf&zLKrxDipKgf-~$4m5jQjVI!Qbk5YiGQcT7hq=FTvA*W!{xngqf}1Ur2(2@ zL46uHo{9jZ(~5~fVw@OuVmk>UBy0U3$*v>-2D1wYApWn<&m(Kq%hLyI{^tQVC_y5# zaU_LunLtaArKz2C)M`8Y64uRVaiE_ql5v?$y_V4!foAc=HY>tykjwUdW0|+n1l4okemMoM*NPsgeOMUCw4E$X}M%y}Rz`2|=KB?tNZh{qgQP zTX(L47WHrb7JP;I%pO47P-pfPdxK8Dd-BVe*RDLPU0hD^3d z8`Pq54BLEju65ynBC-S-WWx>BBeXt{%4tTPR1ak_O6V5@gr9Hcy&_rcBO{ANGEF-%1s@jNF**A$;s6h zFMq;M*OJ$0;)Qz!z74s5rnidI_{@(uLcc4g5&J_@iDxNRaf^IfT3{PEAIQW^ebaZ! zm;IoSw|yXRV}FpU+=lw72)_!;530${*MP7GMLjA~dp+4F@JEywWa$dbMxT);_#EHT zvy;3MJD}#N%zUdU(3wPELZE;4i$vvvo6mn2p`MgGV7y@ynvb*ycb^izA(RN+G9qLT zR}_SKp2FWdwe&(`3!Ma<_W1qo`od!G)C#SL#NjTz28xU-h z=gQxn7(M9=C7Sz2g%31?)C&k2P@{Ey11SaGu!;MYH$RES%BZRrYV1qJVf8kKsS7B(V6Yb_o?DVC&!-O5Feq;ky8|CwW`>Xa|jR@SQXnCgYO z-cL?VPQmt$Fxv(8clTQAzshI+vY0$pX17XCQ2A}j5U7Mf(zn{k%9+YF2eZ<6CKOm2 zR?~k(nK>blA*&^@?8IpWO4KFQ=xI^cd?$L9fK=HfmG-F?yptAfrNY$He~=Toq&chH|6I0<6yKuh8F7RkZJbr=ktdOULzZbJ^9*3EG!-4fnH7j zHY#<8Yi~{Smcd)c00!qm@47>&Adjgyf3Vx z_YitJsbV$Owo&Oi>aP81D?GlW5d0T4!>8IC4)~>jqYq$>=dUfqooARDS!Vd0IFQ(wHUH=NxZ)5^g6Ht^rmFZaB_P>)5pllC1(e+7q4gC2E z!}SjUShgVfsBR(t{L(azBQINt)m~4f`^`{8uDxVORe!IyK6Eh9aW}<-slJiWJ z@dhcVzEbDydoFCN;bqTmVV|T0X;n3NBgQIxhYk&6Ma2vFz1eg}FVpPqmNnaZc9N%{ zS(c%@!PErF!f8X_=tJU|r1J`ewd#v$LxUp=_3nV&mg<+jBIAb<%vs_FS7A)x&T&}t z`BlxRE8xa?qX3N4cjH*w!5k6}z*QbO2uoevX?(&8i48A)iBqLQ2Cn=DI^j5;BozhI zl`2?tD%1(1Btlf^v_k4M8>P4lOjIkC%h_t_nwD#fqLGbSUw#LDM~wb$U8qnvuRh)A z7Cmp#ixjPAks$b>p?*}=Yv$fW+&0EE$1hleUT>)@`)Xg~{r*!%vsFkPXwQ>aeLVg# zzpj|dYl5b^)*ZRc+-3M=)lrz0LLWZi-@M&T7;19>+H?%mtJzLM43;i7uH><9%~o-H zz9pJ-mak4f-ZIfn!5Te8Au8n{xc%x|Sg>qwqQ+BIJyOGge}cDo*&FHRvlcV4bcxR! zvv^6yyJkGN?Z#&`xaxKS)EoE2$egA%8$0&C)4qjRS5H}2H(Jlh9#>CVh#=Wg2IsX; zi4=4M7o5p{R#cDh+}17NK)u=f@O5v(ee6r4wh2=S+Ir*t+Os6`n0*CvSCPQgK%y1Z zD;f~q^{MMO^2WwlRqFX!lm_pxa1Gk>h{C{lA6bC#Sa|G$;D}B<06UIb4;`64MTcL! znm;N2f{0oy@iM8e78a(KIGU6^><>4?$86ugf>_^^UDX%$C*dd?G!aA+O|p9Z2Vv#s zeT6e~C6T`OxB2KyG~3z@Nx}Z}cXPf6JKbxIJ5biA4s?>NrJwhV5~whAbkM|15NIEh z!VxF6^BF{qRf=j6fsea{$ONfKX_;Tsdd(K=PcXU!kgOLf8HyLPur4#Xi#fJ5^bF$< zP*o-KgTKVcU9c2W-kK{pXf0SdnC>SNIz>7@>Y_tWq-zMwqg*MHPGna>crGCEa#o#$ zTl>CY@o89eT}ZBYJ~oDuJc+)fwp@;9b5(afpAnjJwCRnE150Zpxz7gzy3IVs*Wc&I z^;#W{PL?mL0J9wLyUXqj$=Iqx$gW@Ek(bP-A^qBMb97~R+$n}P?IeW>BIG4Db-PRz z!UKa{C)DO2Vb%QQTNhH52%Pe@$p)zs@jnrmh%MU9&7GKQW&g?8z1Bgo%8s$VJXW4) zy$qp;qK<}UjzzQ4)Xl4XZExeZ zd6`$8NA8*5XP5=cbyeLpxUP4bKzpXf>s6z<-})j*1a6^Dcz%*~$^j020U=YMI4(B7 z{cHzij{M|a-J&@QWLWu{-G-0#dZja*&!#*b1{e5vKqT29%Y1hXp~I{nO2#ZJ(%Fv< zIwU>O4?S&WV<9MNdKuzkkg~Hb&O$*yJs+<-HcpA$>Ng%x`C=bkn&ci;ymeN(PJ&V5 zLhs+~{l_L4xA-jUdCpqfBRaTOow?!82}yaXpx=B^dE|sqRVj+d$jw1ZY;09l1yY}m zp*V<#fqv`G!*jEOCQFX=QZ;j!_jhoE+n?>#{2aB|>eoZ88d;ytT)vBlsFX(MZ*lJnHA*^O2XhJyTE7Pd@kqZNyWwa@ydSS_!eG;w7m~U{7xPgUr zI1X=>rv0y2O;#GS!2YiZeTO^R>KRA~{zXvrfVgm#Omyb8!tlf4>$=)jFJ(Zf6nX@o z$k*1;Q-ynjng#4IpuiM8Y{Jius7&d%f+WqKtO7NMENM%1Gqa*n&gYpbTEw~TrY98G zs_%<6f1K4-DKGuo*XR++!v)e$SfeRpT(LS^DASH)h1pU)iLd9Ue~!d56ZsmwQ&Gyh z0+nD_<63?ERuz1pUNHLccm2j4M=JG#>tPNkFi`ZhRXi1Kflqc7Z)?B zVMmK2gB^*e4?k+gRyKojY(G`!hAwbIKjU-JgYtMumO^}~Eamv$i?cc;3Ht(Lko-_H zHwNowo%hg#;Zx|0qXy5%>2Rc87+QiL;5r4nn(Tx8a{W#a!NHOY$4oDD? z{Zbs*NecpTjK7%4n<*LQoToqCs!pk!Z(H7(?&2DA-GB9sYw5A)T%j8n2tE07hubal z(IGLhdiVn%_S-}iKfApr&gk}01^EZExI~41Je?O+MpNfOENEt|L3AAV+f)*iSH}5n z1lc7`|Co`0^=e*JSLWkv4CDRjAYieca+~8RI9`)Jb02sXQ-ZP%#mo=(+}d!|y&F9_ z8ACmWLTLE*`rxJvWdrrxCFX35dWBH$Y@^-JBF!}N8{hf5(k*OHwMu5+>h>6!z_eb! z&>YM?f0D{OiELM@QjEQ;8rXgFf=@_K4f7M(hY*=Y_rga1CMu56Upk$&chP7(fV9h||Y?Zv!zhOq7>O1Y4` z^Dssl`pFd$Ng0PmJbvr9Vy4gA=@Zlw+O7VfsZ^|*SI1IbGw&&-8)tCivew+(mbnU= z=|(-i2Oks>XZron0Gt5QAE1A9B{_5S*1&(3J*D+K>Ybnwg!st2rYpD!s=n;ZD!Moid{yR|d8Amt1q@2%&F{nVZLBn{5d&g-AO$GB*wCMF-pbDC?h9&{2O6sh3e z7-`ED_L_`I?V9GZwM(Rz{>U(dv(VfvCG0 zMptHL{bx;m$?X7M`bBe@ORvoRX-iDG(tE)`{=vcNll#FgAVgDJ9mPvV!Kc3+N+2y# zJE#D=KQn%jDs}nlO2vbdgJTBnmSk>tdPW7Ma$w(`_KpsfUNbmAE;zbXY&2&6qppUu z+7FDLkn9u~EzHl<`jt&3SX5z^acbO}yA<2I)yDbPfsKHHJ5Jk)Ra*)BHx=Wo&2I()GpL|`=4F?JmYVVHZFgdZ?;-p2ve2mAB|y&0WIcGe?JJGCW|av5I&vk5 z?yD{&%v!W*IM{UpCp11Jm&?P=@m`do^6il>8t{Bl^+agaaH~G7qE9VZXD^o~T~134 ztcp}K0E!1YDi^&*PRAfWmXSd5>*H+PTlGV(Y&7acJn%?L0^z zbN?#V9!?-t<}DslK+hnx9#s;SXbBYc5$S-Po*dL?HOuiFt?rq@R`sWbeex9Lo3VH1 znq>`ig~_coUFMa^pTPaTn2~jp3;ub>;wB7Jk1UVw-9owii>NKCTzE%M`o-8x1AC8f z;E5frEihH1_G2V|3+Hm9Srz?q+!0h29h+Kum2Yx?Ei)m~VhcMV;Sbi~j|$lbI`^&C z3mO!UxLmD|Aa@>Jw`NRSMy`^lobO$>>-XEKs4jeJt}aupZ|2_fE42?flwwgHuNKbM z_d`&U+chNDJGdzVewe%xcK(d0J7o~uz?#4IyuVpKT~D$t$ke3!V~G)xnT~UzZ$+|b zmcW*V^WkrVP&s*%1>SA=#3q)XFdG!HLs>>_GN?bGw|B}>_`Hc{-g>PS`qzQ0P@U@v zj>Y`o(DjTzPcEnVWWtvJ2TjGQmF!HtmAcvl_u zel&g2tulONpuUbWwl}iB;f=J)1$?i#bst(pfkPP`gw9im48dVclA&WVCR>Y&xbF(T zq$-p^Z0f~HBWh8cYIX|E3X}sdGKU4QNUuVdgwNi06DKG5yiJKlpkQVTmIYQQaxI3_ zx*}6{3$-ZikWp#MB6&(8d7(*eRaL3TG@qISZ563$wBK2rDke`o-DA^OK<0c@hl2%u zuE1cOyV^PdP=1!~ySwkcbv2NwuSY|?&oKHlvR)e6EIj}`D*4=76nd0Zcq)#@pN6|T z@;@<73w#m9}AN$iW|o0T)#MA0x^X5VHF_=PNV!tp_a=#4crclQDk)qelN7JFUc64$vUt}mU4 z3QL4#TLrbNZ*!je<#TAP^8*Iz`Q8OyXdls;^f=9CZKBUcg1W~uK={zC8;wQ}rtuB< z9C^Z*Xkwo6Y8G*l*UpUn1!~Qhs57@u3Dw=%BY3iRlK^#Mx7NQetZ!5tHFy6)3pIDs zA*wGF+#cGuO+=jkAb^U5tss^ez9BPQOXd0X*1z&NqsACi1H7tEInP&)(fHJ=2vEUtDM_&lxw;^pqEHzhczFi4z^JLZ8-pqiptQFqV_UH~SH`!eL|>naf@|E` zO)f*rAkiODoQG1RWB$1e{VqsZ%?G?IK|Z1}qN$f?ozQrv@>FT|Y) z?h(4QTqTHpB&AxZd|HchIXn4G>imkAC~Vv1t8WKYCH_pU7x#@}{Du zCP)fbYa5N`W7a$Vpz*M$uhBmtIQ4GyGMPJ}cQM`z`P}Y#_i!ZsE9}iJ^vilz`|h9D zuTK#Z@hUH?zawM1f9=?R_)Yt%i2uW7QIJl%0Wq*2F<(Gf3h+#Zvei7%3RfGEX|e@$ zQhRe<{zT3821d^> zcK~2!#UCZbGG?k1xWo4TvX_{haJ*B$lYM1-aUWbD>KIb*0JS1B%(r`=w69k6z3j;Q z$nlmsLw-!DD*T8E*K-4!AIT2(dkAI&L4gy319f4cmWSq(EB0d*e1ZXT8a-v2|ECK5 z0IjkrSW3;1=}C2jltS#AT4;KMW?zW_ZWjRblnzZF55t^dfHS>mhM>M}2=9h5mxsKk zG1E0iXSSBQfvq~OO{p1ra^kcBJ@UIoHs;4S%qR?IkQ7T`!w+Qyvnf8UVCWIWIvdr1 z-QP^S6g`Nl6yACP+&Aeb6PT4^^*i=oY7tFo@DS8NfU3!tT3AL!y#xbB?Wzp&9$Mgl z>JJmbT>j7R%+?~uB2$xNJp!G~=qMK*oAHc=`L0k(zUuanf~5_WNi}Gp^C+;7#hX*{ z7Z#)hh-kPKsd|x|q4qGCDE<~0T{bPvEwr;(*p81)8y01N7CQ^xQ3umBA<-F9%oXvQ zc98XQJJ{INfnDTj4?7hnRlg^nh8Vyw9T-&%Lc5rn64G~|VQI}lyVoDX79`NcjSveg zoWv*CTaH|g@YE+IAd0#2-xToub<@B1_NHhb=XM7xSqLeFDhcOzp2-;#^7&i7-Vf~} z5A7`c@0O9UTriKvP*WBxn8eknVg`&GHsTgwBHAr3v>-3IhcSQnb=;_+ITWDJVB+K3 z5jS5HtWe74<^>h$Pg+fApZi!?a;W@GSDzp{$*eI+xDQI7ZxmU02#!#YQSBg~QKGvm ziCGr*6kQ-b5+h1H5C&vE&Rr-PJRBOu<4np4mZhMfL`Q{iDG~F>uT2>^;C)28f$_fVF z?(E3M=dMi^>NYJ&Lh?xxg@(UazJyT)|1V@NOLHw4KMJ<@GwYunMHNu}fbZt0y z?6XWIbSD8ccZelOKQAS`=sZS?BqJ0dX0-G=T%2xiR621}hwC!p+Flj`_-oGw>}YaCy^<3$wC3%>5OgombAO$ zfCt;(9G&Iq0F0)U{T_<_HU$R$5YSr!CIt4V7n-o{kImCRMSeNsB-`tQpj|wz0%<;x zDI@oIV^@WCvh42KTSvgPlQvpIO9V9hku1ktI`x~9sPl25ngW!QsySur)O|)G#%hfO zce%h&^{LZTKf;pwAkd_qIuUG(t|TB5M`eaT`X_f;X4~Iqa1O6hweHDU+JfLh{K+cMDg`*+Ldpaqs55Gr|0eN?mJa)CAGLNB1x#5>s+a$D5I7d)? zyPq)+s^&$uz5tTCiuOl!GfTY?6{{jshy$i*ew`NQuu46CzT|?|#+W~f|7-(_o`?Lh zMJAmZN{s|H+TP$@nC2A{5fuJmpfSt#k4`+rv z-6*~WTjma3W*eALRj3+J)cHj51!11NVKC6DTt7}0Jqd8}A~%UEu`i~vawxIK%tTi9 zB?nocsn|W2m|{1|)xs7hi-p5kmS_vw=K3Dl7f3wQa7?UEdJ6uLQ`P2>mlLutH%zEhL-v^iRKm~2#{ zx%G4B-3uVzv<|XzF!PC$zh;Bxa~fjS`$)Wl?`G!i%ZkS4%S0s3_{>6-TyHz#J~fF3 zSP=NG02aK!0k4NXPn@fP-*@QUJK^qutSg?0+#kH}PCdsy`&sjk=auu}Oa?gIo*KH7 zct=bIO`o!%eoiFkTxSys;_^~!N&l%)JJj`(|~|Gc=P3O=|ib6Vg(G&+hx6T_Jm-jLxO2X zsk7Oi?7LlXMNXe!z!&D6-ly%agMEV}+)RYroW3>_tSN%(Ub0}fyM;$%+*sNin5m$mJF@-uL; zp{_TabIZb{2_$lBghNCQGk)O!cjEnB4ek_O-)chmbO*5$vC)Scum&XNAp+Mx$>Xu{?R%*sbqH0t}S0hRvzi` zVk50I&$hu?9t~MsJ&9x}wXvmjZ0g>*?u-Z6gK%2>6Z|Z2uoYUtc_)Nb#VHYjegqh&^EXXU@se$bvUaHQVg`cxSy|te+Lm7 zJ1_AVt){;XXp%sDfE<9-W-*a3DX;=4Fd4C#i58{wEdKt~q9=)$nA)8T>pCzT5Negg z3J)+G*%PuLT)3u{JT~F!iX6l!AY``aUFId=@ud-|&1Vb|s708N?`7pb&-kI_zr!9~ z@(m>_nqlK|{;x%{ziTcm|7W|5jVlq-ggVhYya|#ku?CAIkv{?r2zW19wMR2!82yUZ_7_T* zb*AO;x6?`4oO7#VS3QF=SuV5m{jQ&Fo^=%qpKd*Z;U<7O0vmffqkE;Tmqi?{qpo2AQRH(`;x}e*ZYxHcS-=^{1{qfO6!L-uT@%U3CwaDp@$aw&S(0O z6{y1Z)nL|C-L|{>IwrN&S<Et*j%19=xc{S{ zk4YzKZW?XZhIX*eUW-_#Ll%*AOlXX$Q04gVlU(fICpBSB3`we&dQpaApr%p&e*$&?S2$R?sX$r}aNE;Oh z&(01)fQpA%=uz;RJyb{a3+IU@rE=_El~uZf@?xhgC2%J1ZM|BKsN@ zz`;Sv@}Gy)jui2~3=VcS_P<+${{v&;V&(cf0RIyMv;IBxKQRtY5D4@yj1>(22gU+s zWn=v>4EXQFtejx*KZ{}If3^$6$-?>1 zwt_f8od0CU!N$(^Prtty`#@5FE z!p_d|Z$B>3KN)kdb94Vs%$kLTgM;-S;D0do|6SpK7s$cM`OjJ4;Nbpu5>77Ge-+3H zW&}pHO%*HJ&F2N$k!741u#=*@hBFX~h;1(AX;}8}W<=_?*NBpnNKtm@N4|FF} TGei!qze9pZNhz)%f%yLcHXzeo diff --git a/sisr1/tp08/firewall_regles.txt b/sisr1/tp08/firewall_regles.txt index 4502720..8bc85e0 100644 --- a/sisr1/tp08/firewall_regles.txt +++ b/sisr1/tp08/firewall_regles.txt @@ -13,7 +13,7 @@ define firewall-net = 192.168.0.120 define firewall-lan = 172.16.0.254 define firewall-dmz = 172.17.0.254 -# Définition des choses importantes +# Définition des choses importantes - Vérifier comment les commentaires en fin de ligne fonctionnent define proxy-dns = 172.17.0.1 # IP de srv-dmz define dns-school = {10.121.38.7 , 10.121.38.8} # Serveurs DNS du lycée define portproxy = 1080 # Port utilisé par le proxy qu'on va configurer @@ -41,6 +41,18 @@ table ip ipfilter{ #Accepte les réponses ping pour l'étape 4 icmp type echo-reply accept + #Autorise les requêtes HTTP/HTTPS venant de la LAN - A vérifier + tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept + + #Autorise les requêtes DNS venant de la LAN - A vérifier + udp dport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept + udp sport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept + + #Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental + udp dport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept + udp sport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept + + } chain system_in { @@ -61,6 +73,18 @@ table ip ipfilter{ #Accepte les réponses ping pour l'étape 4 icmp type echo-reply accept + #Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier + tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept + + #Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier + udp dport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept + udp sport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept + + #Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental + udp dport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept + udp sport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept + + } chain routing { @@ -75,17 +99,39 @@ table ip ipfilter{ #Accepte les requêtes de ping si elles viennent du LAN, à destination de la DMZ, étape 4 icmp type echo-request iif {$lanif} oif {$dmzif} accept + #Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier + tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept + + #Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier + udp dport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept + udp sport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept + + #Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental + udp dport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept + udp sport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept + } chain system_out { type filter hook output priority filter; policy drop; - #Autorise le SSH à destination de srv-dmz et srv-service si la requête vient du firewall, étape 3 + #Autorise le SSH à destination de srv-dmz et srv-service si la requête vient du firewall, étape 3 - A vérifier tcp sport 22 ip saddr {$firewall-dmz, $firewall-lan} ip daddr {$proxy-dns, $dhcp} accept - #Autorise le pare-feu à faire des pings vers toutes les machines, étape 4 + #Autorise le pare-feu à faire des pings vers toutes les machines, étape 4 - A vérifier icmp type echo-request ip saddr {$firewall-net, $firewall-lan, $firewall-dmz} accept + #Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier + tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept + + #Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier + udp dport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept + udp sport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept + + #Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental + udp dport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept + udp sport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept + } chain postrouting { @@ -97,13 +143,24 @@ table ip ipfilter{ #Refuse les paquets sans états/qui viennent d'une connexion inconnue ct state invalid, untracked drop - #Autorise le SSH à destination de srv-dmz et srv-service si la requête vient du firewall, étape 3 + #Autorise le SSH à destination de srv-dmz et srv-service si la requête vient du firewall, étape 3 - A vérifier tcp sport 22 ip saddr {$firewall-dmz, $firewall-lan} ip daddr {$proxy-dns, $dhcp} accept #Accepte les requêtes de ping si elles viennent du LAN, à destination de la DMZ, étape 4 icmp type echo-request iif {$lanif} oif {$dmzif} accept - #Autorise le pare-feu à faire des pings vers toutes les machines, étape 4 + #Autorise le pare-feu à faire des pings vers toutes les machines, étape 4 - A vérifier icmp type echo-request ip saddr {$firewall-net, $firewall-lan, $firewall-dmz} accept + #Autorise les requêtes HTTP/HTTPS venant de la LAN (étape 5) - A vérifier + tcp dport {$portproxy} ip saddr $lan-ntw ip daddr $proxy-dns accept + + #Autorise les requêtes DNS venant de la LAN (étape 5) - A vérifier + udp dport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept + udp sport 53 ip saddr $lan-ntw ip daddr $proxy-dns accept + + #Autorise les réponses DNS allant vers la LAN (étape 5) - A vérifier, expérimental + udp dport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept + udp sport 53 ip daddr $lan-ntw ip saddr $proxy-dns accept + }