File: Domain.sgml

package info (click to toggle)
doc-linux-fr 2013.01-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 21,580 kB
  • ctags: 123
  • sloc: xml: 139,071; sh: 361; makefile: 182; lisp: 27
file content (2182 lines) | stat: -rw-r--r-- 135,264 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
<!doctype linuxdoc system>

<!-- LyX 1.1 created this file. For more info see http://www.lyx.org/ -->
<article>

<title>Installation de votre nouveau domaine Mini-HOWTO</title>

<author>
Christopher Neufeld <tt>&lt;neufeld@linuxcare.com&gt;</tt><newline>
Traduction fran&ccedil;aise par Genevi&egrave;ve Gracian <tt>&lt;ggracian@free.fr&gt;</tt> le 7 f&eacute;vrier 2001
</author>

<date>version 0.12 du 17 octobre 2000</date>

<abstract>
Ce document survole les op&eacute;rations que vous serez probablement amen&eacute; &agrave; r&eacute;aliser quand vous voudrez mettre en place un r&eacute;seau d'ordinateurs sous votre  propre domaine. Il couvre la configuration du r&eacute;seau, des services r&eacute;seau ainsi  que les param&eacute;trages relatifs &agrave; la s&eacute;curit&eacute;.
</abstract>

<toc>

<sect> <heading>Notes</heading>

<sect1> <heading>Mise en garde</heading>

<p>Ce texte est une introduction. J'ai pass&eacute; sous silence beaucoup de choses  qui pourraient &ecirc;tre pr&eacute;sent&eacute;es bien plus en d&eacute;tail et j'ai, probablement, rat&eacute;  enti&egrave;rement des paragraphes importants. Toute suggestion concernant des compl&eacute;ments,  suppressions, ou aspects sur lesquels je devrais donner plus ou moins de pr&eacute;cisions  est la bienvenue.
</p>

<sect1> <heading>Nouvelles versions de ce document</heading>

<p>La version la plus r&eacute;cente de ce document peut &ecirc;tre trouv&eacute;e &agrave;&nbsp;: <htmlurl url="http://caliban.physics.utoronto.ca/neufeld/Domain.HOWTO/" name="http://caliban.physics.utoronto.ca/neufeld/Domain.HOWTO/">.
</p>

<sect1> <heading>Copyright</heading>

<p>Copyright (c) Christopher Neufeld. Ce document peut &ecirc;tre distribu&eacute; selon les termes et conditions &eacute;nonc&eacute;s dans la licence LDP &agrave; l'adresse <htmlurl url="http://www.linuxdoc.org/COPYRIGHT.html" name="http://www.linuxdoc.org/COPYRIGHT.html">.
</p>

<sect> <heading>Introduction</heading>

<p>Le pr&eacute;sent document est un guide pour mettre en place votre propre domaine de machines Linux ou d'un m&eacute;lange de machines Linux et de machines Windows sur une connexion permanente avec une IP fixe et un domaine propre.
</p>

<p>Il n'est pas vraiment appropri&eacute; pour des installations qui utilisent des adresses IP dynamiques, ou qui sont r&eacute;guli&egrave;rement d&eacute;connect&eacute;es de leur fournisseur d'acc&egrave;s pendant de longues p&eacute;riodes&nbsp;; cependant, des conseils de base pour mettre en place de telles installations figurent dans la section <ref id="IP_dynamique" name="Utiliser une IP dynamique" >.
</p>

<p>Avec la d&eacute;mocratisation des connexions permanentes et des IPs statiques, il est devenu plus ais&eacute; pour les personnes et les organisations de mettre en place un v&eacute;ritable domaine avec la pr&eacute;sence internet qui y est associ&eacute;e. Une planification rigoureuse peut r&eacute;duire les probl&egrave;mes pouvant se poser par la suite.
</p>

<p>L'essentiel de ce document d&eacute;crit les techniques pour mettre en place une s&eacute;curit&eacute; discr&egrave;te sur le r&eacute;seau nouvellement expos&eacute;. Il traite de la protection contre les attaques ext&eacute;rieures et contre les attaques internes &laquo;&nbsp;fortuites&nbsp&raquo;. Il ne pr&eacute;tend pas proposer une une installation extr&ecirc;mement s&eacute;curis&eacute;e mais en g&eacute;n&eacute;ral suffisante pour dissuader les agresseurs les moins obstin&eacute;s.
</p>

<p>Ce document s'adresse en premier lieu &agrave; de petites organisations ayant un r&eacute;seau pr&eacute;existant, &eacute;ventuellement une connexion &laquo;&nbsp;dial-up&nbsp&raquo; partag&eacute;e, qui cherchent &agrave; &eacute;voluer vers une connexion permanente relativement rapide, tant pour mettre en oeuvre des &eacute;changes de fichiers avec le monde ext&eacute;rieur que pour cr&eacute;er un site www ou ftp. Il concerne &eacute;galement de nouvelles organisations qui veulent sauter les &eacute;tapes pr&eacute;liminaires et mettre en place tout de suite une connexion rapide et h&eacute;berger des services sous leur propre domaine.
</p>

<p>Tout au long de ce document, je traiterai de la configuration d'un nouveau r&eacute;seau enregistr&eacute; sous le nom de <bf>example.com</bf>. Notez que example.com est r&eacute;serv&eacute; par l'IANA pour une utilisation dans les documentations et, par cons&eacute;quent, ne correspondra jamais &agrave; un domaine existant.
</p>

<p>La plupart des informations du pr&eacute;sent document est disponible ailleurs. J'ai essay&eacute; de synth&eacute;tiser l'essentiel concernant la cr&eacute;ation d'un nouveau domaine. Si les d&eacute;tails sur un sujet sp&eacute;cifique semblent &laquo;&nbsp;simplets&nbsp&raquo;, vous pouvez consulter un des documents plus explicites.
</p>

<p>Ce document couvrira &eacute;galement le cas d'un environnement mixte compos&eacute;
 de plusieurs syst&egrave;mes d'exploitation. Plus sp&eacute;cialement je suppose que les
 postes de travail fonctionnent sous Windows, alors que les serveurs et passerelles
 fonctionnent sous Linux.
</p>

<sect> <heading>D&eacute;finir la topologie de votre r&eacute;seau</heading>

<p>Bien qu'il existe des arguments en faveur de diff&eacute;rentes architectures, les exigences de bien des organisations peuvent &ecirc;tre satisfaites en int&eacute;grant les postes de travail et les serveurs priv&eacute;s dans un r&eacute;seau priv&eacute;, et les machines publiques sur des adresses IP externes valides. Les machines poss&eacute;dant les adresses IP publiques seront appel&eacute;es dans la suite de ce document &laquo;&nbsp;h&ocirc;tes expos&eacute;s&nbsp&raquo;. Ceci conduit &agrave; la topologie suivante (exemple)&nbsp;:
</p>

<p>
<verb>
+--------------+
|              |               +---------------+
| routeur du   |---------------| serveur FTP   |
| fournisseur  |        |      +---------------+
| d'acc&egrave;s      |        |      
|              |        |
+--------------+        |      +----------------+
                        |------| serveur WWW &num;1 |
                        |      +----------------+
                        |
                        |      +----------------+
                        |------| serveur WWW &num;2 |
                        |      +----------------+
                        |
                        &tilde;
                        &tilde;
                        |
                        |      +---------------+
                        |------| passerelle    |
                               | de r&eacute;seau     |
                               | priv&eacute;         |
                               +---------------+
                                       |
                                       |
                                       |
                                       |
      +------------+                   |      +------------------+
      | station &num;1 |-------------------|------| serveur priv&eacute; &num;1 |
      +------------+                   |      +------------------+
                                       |
             .      -------------------|--------        .
             .                         |                .
             .      -------------------|--------        .
                                       |
      +------------+                   |      +------------------+
      | station &num;N |-------------------|------| serveur priv&eacute; &num;N |
      +------------+                          +------------------+
</verb>
</p><p>
Dans cet exemple, le routeur du FAI (fournisseur d'acc&egrave;s Internet -- provider--),
 le serveur FTP, les serveurs WWW et la machine d&eacute;sign&eacute;e comme passerelle de
 r&eacute;seau priv&eacute; ont tous des adresses IP visibles depuis l'ext&eacute;rieur, alors que
 les stations et les serveurs priv&eacute;s ont des adresses IP r&eacute;serv&eacute;es pour une
 utilisation priv&eacute;e. Voir la RFC1918&nbsp;:<htmlurl
 url="http://www.ietf.org/rfc/rfc1918.txt"
 name="http://www.ietf.org/rfc/rfc1918.txt">&nbsp;; <htmlurl url="http://abcdrfc.free.fr/rfc-vf/rfc1918.html" name="http://abcdrfc.free.fr/rfc-vf/rfc1918.html"> en version fran&ccedil;aise. Les adresses
 IP que vous choisissez pour votre r&eacute;seau priv&eacute; (tout ce qui est sous votre
 passerelle de r&eacute;seau priv&eacute;) doivent &ecirc;tre uniques, mais pas seulement par rapport
 &agrave; l'ensemble des h&ocirc;tes qui sont sous votre contr&ocirc;le&nbsp;; elles ne doivent pas
 non plus entrer en conflit avec des adresses attribu&eacute;es dans les autres r&eacute;seaux
 priv&eacute;s similaires, sur d'autres sites ou partenaires, avec lesquels vous pourriez
 vouloir un jour d&eacute;velopper un r&eacute;seau priv&eacute; virtuel&nbsp;; et ceci dans le but d'&eacute;viter
 d&eacute;boires et reconfigurations lorsque les deux r&eacute;seaux seront reli&eacute;s de cette
 mani&egrave;re. Comme indiqu&eacute; dans la RFC, vous pouvez opter pour un r&eacute;seau de classe
 C entre les plages d'adresses 192.168.0.* et 192.168.255.*, un r&eacute;seau de classe
 B compris entre les plages d'adresses 172.16.*.* et 172.31.*.*, ou bien, un
 r&eacute;seau de classe A 10.*.*.*. Dans la suite de ce document, je supposerai que
 votre r&eacute;seau priv&eacute; (si vous avez choisi d'en cr&eacute;er un) est un r&eacute;seau de classe
 C sur la plage 192.168.1.*, que l'interface ext&eacute;rieure de votre passerelle
 de r&eacute;seau priv&eacute; a l'adresse IP 10.1.1.9, une des adresses qui vous ont &eacute;t&eacute;
 allou&eacute;es par le FAI (notez qu'il ne s'agit pas d'une adresse publique valide,
 je ne l'utilise que comme exemple). Je supposerai &eacute;galement qu'il y a une machine,
 betty.example.com &agrave; l'adresse 10.1.1.10, qui supporte simultan&eacute;ment le service
 FTP et le service www.
</p>
<p>
Faites le compte du nombre d'adresses IP externes dont vous avez besoin
 pour vos machines. Vous aurez besoin d'une adresse pour chacune des machines
 install&eacute;es du cot&eacute; externe de la passerelle de r&eacute;seau priv&eacute;, plus une pour
 la passerelle elle-m&ecirc;me. Ce compte n'inclut pas toute IP qui pourrait &ecirc;tre
 attribu&eacute;e &agrave; d'autres routeurs, adresses de diffusion, etc. Vous devez demander
 &agrave; votre fournisseur d'acc&egrave;s un bloc d'adresses suffisamment grand pour mettre
 en place toutes vos machines. Par exemple, sur mon r&eacute;seau professionnel, parmi
 les huit adresses IP allou&eacute;es par le FAI, trois n'&eacute;taient pas utilisables par
 mes ordinateurs, laissant la place pour quatre machines &agrave; l'ext&eacute;rieur de la
 passerelle, plus la passerelle elle-m&ecirc;me.
</p>
<p>
Cette topologie de r&eacute;seau ne vaut pas pour tout le monde, mais elle constitue
 un point de d&eacute;part raisonnable pour beaucoup de configurations qui n'ont pas
 de besoin particulier. Les avantages de cette configuration sont les suivants
&nbsp;: 
</p>
<p>
<itemize>
 <item>
facilit&eacute; de d&eacute;veloppement. Si vous souhaitez doubler le nombre de vos noeuds dans le
 r&eacute;seau priv&eacute;, vous n'avez pas besoin de faire appel &agrave; votre fournisseur pour
 obtenir une plage d'adresses suppl&eacute;mentaire ni reconfigurer l'ensemble des
 interfaces de vos machines.
 <item>
contr&ocirc;le local du r&eacute;seau. Ajouter une nouvelle station de travail sur votre
 r&eacute;seau priv&eacute; ne requiert aucune intervention de votre provider, contrairement
 &agrave; l'ajout d'h&ocirc;tes expos&eacute;s&nbsp;; ceux-ci ont besoin d'&ecirc;tre cartographi&eacute;s (connus)
 dans les bases de donn&eacute;es DNS (direct et invers&eacute;) s'ils veulent accomplir certaines
 t&acirc;ches (ssh et ftpd risquent de se plaindre s'il ne peuvent faire du DNS direct
 ou du DNS invers&eacute; sur des connexions entrantes). Une requ&ecirc;te DNS invers&eacute; se
 fait dans le but d'obtenir le nom d'h&ocirc;te &agrave; partir de l'adresse IP. 
 <item>
s&eacute;curit&eacute; centralis&eacute;e. La passerelle de r&eacute;seau priv&eacute;, en filtrant les paquets
 et notant les attaques, permet de mettre en vigueur les r&egrave;gles de s&eacute;curit&eacute;
 sur l'ensemble du r&eacute;seau priv&eacute; plut&ocirc;t que d'avoir &agrave; installer de telles mesures
 sur chacun des serveurs et stations du r&eacute;seau priv&eacute;. Ceci est applicable non
 seulement pour les paquets entrants mais aussi pour les paquets sortants de
 sorte qu'une station mal configur&eacute;e ne peut pas, par erreur, diffuser au monde
 ext&eacute;rieur une information qui doit rester interne. 
 <item>
d&eacute;placement facilit&eacute;. Du fait que les adresses IP &agrave; l'int&eacute;rieur du r&eacute;seau
 priv&eacute; sont les v&ocirc;tres pour autant de temps que vous le souhaitez, vous pouvez
 transposer l'ensemble du r&eacute;seau sur une nouvelle s&eacute;rie d'adresses IP publiques
 sans avoir &agrave; effectuer une quelconque modification de la configuration du r&eacute;seau
 priv&eacute;. Bien s&ucirc;r, les h&ocirc;tes publics n&eacute;cessitent quand m&ecirc;me d'&ecirc;tre reconfigur&eacute;s.
 
 <item>
acc&egrave;s &agrave; Internet transparent. Les machines du r&eacute;seau priv&eacute; peuvent continuer
 &agrave; utiliser FTP, telnet, WWW, et autres services avec un minimum d'embarras
 moyennant un camouflage &laquo;&nbsp;Linux-Masquerading&nbsp&raquo;. Les utilisateurs peuvent m&ecirc;me n'avoir
 jamais conscience que leurs machines n'ont pas d'adresse IP visible depuis
 l'ext&eacute;rieur. 
</itemize>
</p><p>
Les d&eacute;savantages potentiels de ce type de configuration sont les suivants
&nbsp;: 
</p>
<p>
<itemize>
 <item>
certains services ne seront pas disponibles directement sur les machines
 du r&eacute;seau interne. La synchronisation NTP avec un h&ocirc;te ext&eacute;rieur, quelques
 obscurs services dont les r&egrave;gles de masquage ne sont pas support&eacute;es dans le
 noyau, et l'authentification .shosts sur des h&ocirc;tes externes sont tous difficiles
 voire impossibles, mais il existe quasiment toujours des proc&eacute;dures de contournement.
 <item>
co&ucirc;ts de mat&eacute;riel r&eacute;seau plus &eacute;lev&eacute;. La passerelle de r&eacute;seau priv&eacute; n&eacute;cessite
 deux cartes r&eacute;seau, et vous avez besoin d'au moins deux concentrateurs (hubs)
 ou commutateurs (switchs), l'un sur le r&eacute;seau visible, l'autre sur le r&eacute;seau
 priv&eacute;.
 <item>
Les machines localis&eacute;es &agrave; l'ext&eacute;rieur du r&eacute;seau priv&eacute; ne peuvent pas facilement
 se connecter sur les machines &agrave; l'int&eacute;rieur du r&eacute;seau priv&eacute;. Elles doivent
 d'abord ouvrir une session sur la passerelle de r&eacute;seau priv&eacute;, puis se connecter
 au travers de celle-ci sur l'h&ocirc;te interne. Il est possible de router des paquets
 de mani&egrave;re transparente &agrave; travers le pare-feu (firewall), mais ceci n'est pas
 recommand&eacute; pour des raisons de s&eacute;curit&eacute; qui seront abord&eacute;es plus tard.
</itemize>
</p><p>
Vous devriez tenir compte de tous ces points lors de l'&eacute;laboration de la
 topologie de votre r&eacute;seau, et d&eacute;cider si un r&eacute;seau enti&egrave;rement visible est
 mieux adapt&eacute; &agrave; votre cas. Dans la suite du document, je supposerai que vous
 avez configur&eacute; votre r&eacute;seau comme montr&eacute; ci-dessus. Si vous avez opt&eacute; pour
 un r&eacute;seau enti&egrave;rement visible, certains d&eacute;tails diff&eacute;reront, et j'essayerai
 de signaler de telles diff&eacute;rences.
</p>
<p>
Au cas o&ugrave; vous n'auriez pas besoin de serveur externe, le routeur fourni
 par le provider peut &ecirc;tre directement connect&eacute; &agrave; l'interface externe de la
 passerelle de r&eacute;seau priv&eacute;, plut&ocirc;t que par l'interm&eacute;diaire d'un hub.
</p>
<sect>
Vous procurer votre connexion
<sect1>
Choisir votre fournisseur d'acc&egrave;s
<p>
Comme pour tout, prospectez. D&eacute;terminez quelle est l'offre de services
 dans votre r&eacute;gion, aussi bien que les co&ucirc;ts associ&eacute;s &agrave; chacun de ces services.
 Toutes les lieux ne sont pas c&acirc;bl&eacute;s pour DSL, et certaines ne sont pas appropri&eacute;s
 pour des connexions sans fils, &agrave; cause de contraintes g&eacute;ographiques, architecturales
 ou environnementales. Dans la mesure o&ugrave; la rapidit&eacute; des liaisons DSL est intimement
 li&eacute;e &agrave; la distance entre le point de liaison et le switch, soyez pr&ecirc;t &agrave; fournir
 l'adresse postale du lieu o&ugrave; la t&ecirc;te de votre liaison sera localis&eacute;e, et posez
 &eacute;galement des questions pr&eacute;cises sur la bande passante entre votre machine
 et le fournisseur d'acc&egrave;s, sur ce qui doit &ecirc;tre fait pour installer la connexion
 et sur le mat&eacute;riel dont la location est comprise dans le forfait mensuel propos&eacute;.
 Vous devez &eacute;galement avoir une id&eacute;e du nombre d'adresses IP dont vous avez
 besoin pour vos machines propres (rappelez-vous que les adresses de la s&eacute;rie
 que vous obtiendrez ne seront pas toutes utilisables pour vos ordinateurs).
 Demandez au fournisseur d'acc&egrave;s quelle est sa bande passante totale vers l'ext&eacute;rieur
 car la vitesse d&eacute;clar&eacute;e dans sa proposition financi&egrave;re ne concerne que la liaison
 entre votre site et le sien. Si le provider a une bande passante insuffisante
 vers l'ext&eacute;rieur, ses clients auront &agrave; p&acirc;tir de goulots d'&eacute;tranglements &agrave; l'int&eacute;rieur
 de son r&eacute;seau.
</p>
<p>
Une fois que vous avez pr&eacute;s&eacute;lectionn&eacute; une liste de candidats, renseignez-vous,
 voyez si personne ne peut vous conseiller sur les prestataires que vous envisagez.
 Demandez leur quel type de bande passante ils obtiennent vers des sites non
 charg&eacute;s. En outre, si vous avez l'intention d'avoir des connexions rapides
 entre le nouveau domaine et un acc&egrave;s internet personnel depuis chez vous, pour
 t&eacute;l&eacute;travailler ou bien pour faire de l'administration &agrave; distance, il est essentiel
 que vous fassiez un <it>traceroute</it> depuis votre connexion personnelle vers un h&ocirc;te
 localis&eacute; chez le prestataire envisag&eacute;. Ceci vous renseignera sur le nombre
 de &laquo;&nbsp;pas&nbsp&raquo;, et la latence auxquels vous devez vous attendre entre chez vous et
 le nouveau domaine. Des latences sup&eacute;rieures &agrave; 100-200 millisecondes peuvent
 &ecirc;tre probl&eacute;matiques pour des utilisations prolong&eacute;es. Le <it>traceroute</it> doit &ecirc;tre
 lanc&eacute; aux moments de la journ&eacute;e pendant lesquels vous souhaitez utiler une
 connexion r&eacute;seau entre votre domicile et le nouveau domaine.
</p>
<sect1>
Faire les pr&eacute;paratifs pour l'installation mat&eacute;rielle
<p>
Apr&egrave;s avoir choisi le fournisseur et le type d'acc&egrave;s pour le nouveau domaine,
 renseignez-vous sur les d&eacute;tails de l'installation. Vous pouvez aussi bien avoir
 besoin d'une prestation de l'op&eacute;rateur t&eacute;l&eacute;phonique en plus de celle du FAI
 afin de mettre en place l'acc&egrave;s, et les techniciens peuvent avoir besoin d'acc&eacute;der
 &agrave; des zones contr&ocirc;l&eacute;es de v&ocirc;tre b&acirc;timent&nbsp;; informez donc votre &laquo;&nbsp;responsable
 de la maintenance immobili&egrave;re&nbsp&raquo; des n&eacute;cessit&eacute;s de l'installation. Avant que le
 technicien de l'ISP n'arrive, demandez les param&egrave;tres, tout sp&eacute;cialement les
 adresses IP, le masque de r&eacute;seau, l'adresse de diffusion, l'adresse de la passerelle
 de routage, celle du serveur DNS, et &eacute;galement quel type de c&acirc;blage est n&eacute;cessaire
 pour le mat&eacute;riel apport&eacute; par le technicien (par exemple c&acirc;ble droit ou c&acirc;ble
 crois&eacute; RJ45, etc.).
</p>
<p>
Ayez une machine disponible pour les tests, et installez-la &agrave; proximit&eacute;
 de l'endroit o&ugrave; le mat&eacute;riel de connexion au r&eacute;seau sera localis&eacute;. Si possible,
 configurez-la avant que le technicien du prestataire n'arrive en param&eacute;trant
 son adresse IP et le masque de r&eacute;seau. Ayez &eacute;galement les c&acirc;bles appropri&eacute;s
 sous la main de fa&ccedil;on &agrave; ce que les tests puissent &ecirc;tre faits rapidement.
</p>
<sect1>
Tester la connexion
<p>
Une fois que votre machine de test est reli&eacute;e au mat&eacute;riel du provider,
 assurez-vous que vous pouvez faire un <it>ping</it> sur une machine au del&agrave; du FAI.
 Si ce n'est pas possible, un <it>traceroute</it> vers l'ext&eacute;rieur peut vous aider &agrave;
 localiser la d&eacute;faillance de la connexion. Si le traceroute ne montre aucun
 &laquo;&nbsp;pas&nbsp&raquo; r&eacute;ussi, cela indique que la configuration r&eacute;seau de votre machine (route
 par d&eacute;faut, adresse de l'interface, pilote de la carte, DNS, etc.) n'est pas
 bonne. Si un seul &laquo;&nbsp;pas&nbsp&raquo; est r&eacute;ussi, cela peut signifier que le routeur n'est
 pas correctement configur&eacute; pour communiquer avec le FAI. Si plusieurs &laquo;&nbsp;pas&nbsp&raquo; sont
 r&eacute;ussis avant la d&eacute;faillance, le probl&egrave;me est tr&egrave;s certainement localis&eacute; chez
 le provider ou bien &agrave; l'ext&eacute;rieur, et hors de de votre contr&ocirc;le imm&eacute;diat.
</p>
<sect1>
Utiliser une IP dynamique<label id="IP_dynamique" >
<p>
Les avantages d'une connexion d'entreprise avec une plage d'adresses IP
 statiques et l'h&eacute;bergement de divers services entranent un co&ucirc;t. Elle peut
 &ecirc;tre 10 fois plus on&eacute;reuse qu'une connexion personnelle &agrave; haut d&eacute;bit avec DSL
 ou un modem-c&acirc;ble. Si votre budget ne peut supporter une telle connexion ou
 bien si ce type de connexion n'est pas disponible dans votre r&eacute;gion, vous voudrez
 certainement essayer de mettre en place votre domaine sur une IP dynamique.
 En g&eacute;n&eacute;ral, plut&ocirc;t qu'une plage d'adresses vous n'obtiendrez qu'une seule adresse,
 ce qui veut dire que votre passerelle de r&eacute;seau priv&eacute; devra &eacute;galement h&eacute;berger
 tous les services accessibles depuis l'ext&eacute;rieur. 
</p>
<p>
D'abord vous devriez v&eacute;rifier si c'est faisable. Beaucoup de contrats de
 prestataires interdisent explicitement la mise en place de services accessibles
 depuis l'ext&eacute;rieur sur des comptes personnels. Les prestataires peuvent faire
 appliquer cette r&egrave;gle par la mise en place d'un filtrage de paquets bloquant
 les connexions entrantes sur les ports http et FTP. Vous devez &eacute;galement &ecirc;tre
 attentif au fait que la vitesse de transfert mentionn&eacute;e dans l'offre pour des
 acc&egrave;s DSL ou modem-c&acirc;ble est la vitesse de la voie descendante, et que la voie
 montante peut &ecirc;tre beaucoup plus lente. La bande passante montante est ce qui
 est important pour offrir des contenus web ou FTP.
</p>
<p>
Si vous avez une IP dynamique et que vous voulez avoir des connexions entrantes,
 vous devez vous inscrire &agrave; un service d'h&eacute;bergement d'IP dynamique tels que
 ceux list&eacute;s sur Dynamic DNS Providers (&agrave; l'adresse <htmlurl url="http://www.technopagan.org/dynamic" name="http://www.technopagan.org/dynamic">). Ces services fonctionnent ordinairement
 en ex&eacute;cutant un logiciel sur votre machine qui communique votre adresse IP
 actuelle aux serveurs de l'h&eacute;bergeur. Quand votre adresse IP est connue de
 ceux-ci, leurs tables DNS sont mises &agrave; jour pour tenir compte de la nouvelle
 valeur. Vous pouvez aussi obtenir un nom de domaine sous leur nom de domaine,
 tel que &laquo;&nbsp;example.dynip.com&nbsp&raquo; ou bien &laquo;&nbsp;example.dynhost.com&nbsp&raquo;, ou bien vous pouvez
 enregistrer votre propre domaine et faire pointer le DNS primaire sur la soci&eacute;t&eacute;
 fournissant ce service (c'est habituellement plus cher). 
</p>
<p>
Il existe &eacute;galement un service d'h&eacute;bergement gratuit &agrave; Domain Host Services
 (&agrave; l'adresse <htmlurl url="http://www.dhs.org" name="http://www.dhs.org">). Ce service semble assez r&eacute;cent et il y a peu de d&eacute;tails sur le site web
 pour l'instant, mais vous trouverez peut-&ecirc;tre que cela vaut le coup d'&ecirc;tre
 &eacute;tudi&eacute;.
</p>
<p>
Si vous avez mis en place une IP dynamique, et que vous &ecirc;tes abonn&eacute; &agrave; l'un
 de ces services, cela influera sur certaines d&eacute;cisions que vous ferez dans
 la section <ref id="services_heberges" name="D&eacute;cider des services que vous h&eacute;bergerez" >. En particulier, cela ne sert &agrave; rien de vous abonner &agrave; un service
 d'h&eacute;bergement d'IP dynamique si vous n'envisagez pas de mettre en place au
 moins un des services web ou FTP. Vous devrez configurer le DNS primaire de
 fa&ccedil;on &agrave; ce qu'il pointe sur la soci&eacute;t&eacute; que vous avez choisie. Vous ne devez
 pas avoir un d&eacute;mon <it>named</it> qui r&eacute;pond &agrave; des requ&ecirc;tes &eacute;manant de l'ext&eacute;rieur de
 votre r&eacute;seau priv&eacute;. D'autres &eacute;l&eacute;ments tels que le transport du courrier &eacute;lectronique,
 d&eacute;pendront des sp&eacute;cificit&eacute;s du service auquel vous vous &ecirc;tes abonn&eacute;, et peuvent
 mieux &ecirc;tre expliqu&eacute;s par le service d'assistance de cette soci&eacute;t&eacute;.
</p>
<p>
Une remarque finale&nbsp;: si vous voulez avoir un acc&egrave;s distant &agrave; une machine
 avec une IP dynamique, machine qui n'h&eacute;bergera pas d'autres services, une solution
 bon march&eacute; est de cr&eacute;er une &laquo;&nbsp;boite de d&eacute;p&ocirc;t&nbsp&raquo; sur une machine publique avec une
 IP statique et de faire en sorte que l'h&ocirc;te ayant une IP dynamique envoie son
 adresse IP &agrave; cet endroit, soit par m&eacute;l ou tout simplement en l'inscrivant dans
 un fichier sous un compte shell. Quand vous voulez acc&eacute;der &agrave; distance &agrave; votre
 machine, r&eacute;cup&eacute;rez d'abord l'adresse IP actuelle dans la &laquo;&nbsp;boite de d&eacute;p&ocirc;t&nbsp&raquo;, puis
 utilisez <it>slogin</it> pour vous attacher directement &agrave; cette adresse IP. C'est, somme
 toute, tout ce que fait un service d'h&eacute;bergement d'adresses IP dynamiques,
 il le fait juste de mani&egrave;re automatique au dessus des services standards, vous
 &eacute;pargnant des manipulations.
</p>
<sect>
Enregistrer un nom de domaine
<p>
Afin que les personnes du monde ext&eacute;rieur puissent localiser vos serveurs
 sous le nom de domaine de votre choix, que ce soit pour le web, pour le FTP
 ou pour la messagerie &eacute;lectronique, vous devrez enregistrer ce nom de domaine
 afin qu'il soit int&eacute;gr&eacute; dans la base de donn&eacute;es du domaine de premier niveau
 ad&eacute;quat.
</p>
<p>
Usez de prudence en choisissant votre nom de domaine. Certains mots ou
 locutions peuvent &ecirc;tre interdits en raison de coutumes locales, ou pourraient
 &ecirc;tre choquants pour des personnes dont le langage ou l'argot diff&egrave;re de celui
 de votre r&eacute;gion. Les noms de domaine peuvent contenir les 26 caract&egrave;res de
 l'alphabet latin (sans accents), le tiret (quoique celui-ci ne peut &ecirc;tre mis
 au d&eacute;but ou la fin du nom), et les dix chiffres. Les noms de domaines ne sont
 pas sensibles &agrave; la casse, et peuvent avoir une longueur maximale de 26 caract&egrave;res
 (cette limite est susceptible de changer). Faites attention &agrave; ne pas enregistrer
 un nom de domaine &agrave; propos duquel vous ne pouvez pas raisonnablement faire
 valoir que vous ne saviez pas que celui-ci emp&eacute;tait sur des marques d&eacute;pos&eacute;es
 par des soci&eacute;t&eacute;s existantes, les tribunaux ne sont pas indulgents pour les
 &laquo;&nbsp;cyber-squatters&nbsp&raquo;. Des informations concernant les situations dans lesquelles
 votre nom de domaine humblement choisi peut &ecirc;tre retir&eacute; de votre contr&ocirc;le sont
 disponibles dans le document de l'ICANN &laquo;&nbsp;Politique pour une r&eacute;solution des conflits
 sur les noms de domaines&nbsp&raquo; &agrave; l'adresse <htmlurl url="http://www.icann.org/udrp/udrp-policy-24oct99.htm" name="http://www.icann.org/udrp/udrp-policy24oct99.htm"> (en fran&ccedil;ais&nbsp;: <htmlurl url="http://www.juriscom.net/pro/2/ndm20001011.htm" name="http://www.juriscom.net/pro/2/ndm20001011.htm">). 
</p>
<p>
Il existe beaucoup de soci&eacute;t&eacute;s qui proposent l'enregistrement de noms dans
 les domaines de premier niveau &laquo;&nbsp;.com&nbsp&raquo;, &laquo;&nbsp;.net&nbsp&raquo; et &laquo;&nbsp;.org&nbsp&raquo;. Pour une liste &agrave; jour, v&eacute;rifiez
 la liste de prestataires conventionn&eacute;s &agrave; l'adresse <htmlurl
 url="http://www.icann.org/registrars/accredited-list.html" name="http://www.icann.org/registrars/accredited-list.html">. Pour enregistrer un nom dans un
 domaine de premier niveau g&eacute;ographique, tel que &laquo;&nbsp;.fr&nbsp&raquo;, &laquo;&nbsp;.ca&nbsp&raquo;, &laquo;&nbsp;.de&nbsp&raquo;, &laquo;&nbsp;.uk&nbsp&raquo;, etc., cherchez
 quelle est l'autorit&eacute; appropri&eacute;e, ce renseignement pouvant &ecirc;tre trouv&eacute; dans
 la base de donn&eacute;es des Country Code Top-Level Domains &agrave; l'adresse <htmlurl url="http://www.iana.org/cctld.html" name="http://www.iana.org/cctld.html">.
</p>
<sect>
D&eacute;cider des services que vous h&eacute;bergerez<label id="services_heberges" >
<p>
La plupart des fournisseurs d'acc&egrave;s &laquo;&nbsp;full-service&nbsp&raquo; proposent &agrave; leur clients
 un &eacute;ventail de services relatifs au domaine. Ceci est largement d&ucirc; &agrave; la difficult&eacute;
 d'h&eacute;berger ces services avec certains autres syst&egrave;mes d'exploitation, plus
 populaires, pour machines de bureau et serveurs. Ces services sont beaucoup
 plus faciles &agrave; mettre en oeuvre sous Linux et peuvent &ecirc;tre h&eacute;berg&eacute;s sur des
 mat&eacute;riels peu on&eacute;reux. Vous devriez donc d&eacute;cider des services que vous voulez
 garder sous votre contr&ocirc;le. Certains de ces services sont&nbsp;: 
</p>
<p>
<itemize>
 <item>
DNS primaire (le service DNS principal pour votre domaine). Voyez la section
 <ref id="dns_primaire" name="DNS primaire" >
 <item>
Messagerie &eacute;lectronique. Reportez-vous &agrave; la section <ref id="messagerie_electronique" name="Messagerie &eacute;lectronique" >
 <item>
H&eacute;bergement de site web. Reportez-vous &agrave; la section <ref id="hebergement_web" name="H&eacute;bergement de site web" >
 <item>
H&eacute;bergement de site FTP. Reportez-vous &agrave; la section <ref id="hebergement_ftp" name="H&eacute;bergement de site FTP" >
 <item>
Filtrage de paquets. Reportez-vous &agrave; la section <ref id="filtrage_de_paquets" name="Filtrage de paquets" >
</itemize>
</p><p>
Pour chacun de ces services vous devez &eacute;valuer l'int&eacute;r&ecirc;t d'en garder le
 contr&ocirc;le. Si votre FAI propose un ou plusieurs de ces services, vous pouvez
 g&eacute;n&eacute;ralement avoir l'assurance qu'il a du personnel exp&eacute;riment&eacute; pour la gestion
 de ceux-ci&nbsp;; aussi, vous aurez moins &agrave; apprendre et moins de soucis. Parall&egrave;lement
 &agrave; cela, vous perdez la matrise de ces services. La moindre modification impose
 que vous passiez par le FAI, chose qui peut ne pas &ecirc;tre pratique ou demander
 des d&eacute;lais plus longs que vous ne le voudriez. Il y a aussi une question de
 s&eacute;curit&eacute;, le FAI est une cible beaucoup plus tentante pour les agresseurs que
 votre propre site. Dans la mesure o&ugrave; les serveurs d'un FAI peuvent h&eacute;berger
 la messagerie et/ou les sites web de douzaines de soci&eacute;t&eacute;s qui sont ses clients,
 un pirate qui endommage un de ces serveurs obtient une bien meilleure r&eacute;compense
 &agrave; ces efforts que celui qui attaque votre serveur personnel o&ugrave; les seules donn&eacute;es
 d'une entreprise sont stock&eacute;es. 
</p>
<sect1>
DNS primaire<label id="dns_primaire" >
<p>
Quand une personne, quelque part, dans le monde ext&eacute;rieur, demande &agrave; se
 connecter sur une machine du nouveau domaine example.com, les requ&ecirc;tes transitent
 par des serveurs divers sur internet&nbsp;; et finalement l'adresse IP de la machine
 est renvoy&eacute;e au logiciel de la personne qui demande la connexion. Le d&eacute;tail
 de cette s&eacute;quence est au del&agrave; de l'objet de ce document. Sans entrer dans les
 d&eacute;tails, quand une demande est faite pour la machine fred.example.com, une
 base de donn&eacute;es centralis&eacute;e est questionn&eacute;e pour d&eacute;terminer quelle est l'adresse
 IP de la machine qui a l'autorit&eacute; administrative sur la zone example.com. L'adresse
 IP obtenue est ensuite questionn&eacute;e pour obtenir l'adresse IP de fred.example.com.
</p>
<p>
Il doit exister un DNS primaire et un DNS secondaire pour chaque nom de
 domaine. Les noms et adresses de ces deux serveurs sont enregistr&eacute;s dans une
 base de donn&eacute;es dont les entr&eacute;es sont contr&ocirc;l&eacute;es par des autorit&eacute;s de nommage
 telles que &laquo;&nbsp;Network solutions&nbsp&raquo; (&agrave; l'adresse <htmlurl url="http://www.networksolutions.com" name="http://www.networksolutions.com">).
</p>
<p>
Si vous avez opt&eacute; pour un DNS primaire h&eacute;berg&eacute; par le FAI, ces deux machines
 seront probablement contr&ocirc;l&eacute;es par celui-ci. &Agrave; chaque fois que vous voudrez
 ajouter &agrave; votre r&eacute;seau une machine visible depuis l'ext&eacute;rieur, vous devrez
 contacter le FAI pour lui demander d'ajouter la nouvelle machine &agrave; sa base
 de donn&eacute;es.
</p>
<p>
Si vous avez choisi de g&eacute;rer le DNS primaire sur votre propre machine,
 vous devrez &eacute;galement utiliser une deuxi&egrave;me machine comme serveur secondaire.
 Techniquement, vous devriez la localiser sur une connexion internet redondante
 , mais l'h&eacute;bergement du DNS secondaire sur l'une des machines du FAI est tr&egrave;s
 r&eacute;pandu. Si vous voulez ajouter &agrave; votre r&eacute;seau une machine visible depuis l'ext&eacute;rieur,
 vous devrez mettre &agrave; jour votre propre base de donn&eacute;es et ensuite attendre
 que la modification se propage (chose qui, habituellement, prend un petit nombre
 d'heures). Ceci vous permet d'ajouter barney.example.com sans passer par votre
 FAI.
</p>
<p>
C'est une bonne id&eacute;e de mettre en oeuvre le DNS secondaire sur un h&ocirc;te
 distant du point vue g&eacute;ographique&nbsp;; ainsi, une simple rupture de c&acirc;ble du cot&eacute;
 de votre FAI ne met pas simultan&eacute;ment hors-ligne vos serveurs DNS primaire
 et secondaire. Le prestataire d'enregistrement de nom que vous avez utils&eacute;
 pour enregistrer votre domaine peut fournir un service de DNS secondaire. Il
 existe &eacute;galement un service gratuit, Granite Canyon (&agrave; l'adresse <htmlurl url="http://www.granitecanyon.com" name="http://www.granitecanyon.com">), disponible pour qui
 le demande. 
</p>
<p>
Ind&eacute;pendamment du fait que vous avez choisi ou non de constituer vous m&ecirc;me
 l'autorit&eacute; DNS principale pour votre domaine, voyez la section <ref id="mise_en_place_DNS" name="Mettre en place la r&eacute;solution de noms" > pour une aide
 concernant la configuration. Vous aurez besoin d'un syst&egrave;me de r&eacute;solution de
 noms au sein de votre r&eacute;seau priv&eacute;, m&ecirc;me si vous d&eacute;l&eacute;guez le DNS primaire &agrave;
 votre FAI.
</p>
<sect1>
Messagerie &eacute;lectronique<label id="messagerie_electronique" >
<p>
En g&eacute;n&eacute;ral, quand vous vous abonnez chez votre FAI, celui-ci vous fournit
 un certain nombre d'adresses de messagerie. Vous pouvez choisir de n'utiliser
 que cette possibilit&eacute;, auquel cas tous les messages entrants sont stock&eacute;s sur
 le serveur du FAI et vos utilisateurs lisent leur courrier avec des clients
 POP3 qui se connectent sur le serveur du FAI. D'une autre mani&egrave;re, vous pouvez
 d&eacute;cider d'installer la messagerie sur vos propres machines. Une fois de plus,
 vous devez peser le pour et le contre de chacune des deux possibilit&eacute;s et choisir
 celle qui vous convient le mieux.
</p>
<p>
Ce dont il faut se rappeler si vous utilisez les services de l'ISP pour
 la messagerie&nbsp;:
</p>
<p>
<itemize>
 <item>
Il sera plus facile d'acc&eacute;der &agrave; la messagerie depuis votre domicile, ou
 depuis d'autres lieux quand vous &ecirc;tes en d&eacute;placement professionnel, en fonction
 du type de s&eacute;curit&eacute; que vous utilisez pour votre domaine.
 <item>
Les messages sont stock&eacute;s sur les serveurs de l'ISP, ce qui peut poser
 probl&egrave;me si des donn&eacute;es confidentielles sont envoy&eacute;es sans avoir &eacute;t&eacute; chiffr&eacute;es.
 <item>
Vous avez un nombre d'adresses limit&eacute;, et vous pouvez &ecirc;tre amen&eacute; &agrave; payer
 un suppl&eacute;ment si vous d&eacute;passez cette limite.
 <item>
Pour cr&eacute;er de nouvelles adresses, vous devez passer par le FAI.
</itemize>
</p><p>
Ce dont il faut se rappeler si vous g&eacute;rez vous-m&ecirc;me la messagerie&nbsp;:
</p>
<p>
<itemize>
 <item>
Les messages sont stock&eacute;s sur vos serveurs, avec des enregistrements de
 sauvegarde chez l'ISP si votre serveur de messagerie tombe ou si le disque
 se sature.
 <item>
Vous avez un nombre illimit&eacute; de comptes de messagerie, que vous pouvez
 cr&eacute;er et supprimer vous-m&ecirc;me.
 <item>
Vous devez supporter les logiciels clients de messagerie utilis&eacute;s sur votre
 r&eacute;seau priv&eacute; et, &eacute;ventuellement, ceux utilis&eacute;s par les personnes qui essayent
 de lire leur courrier depuis leur domicile.
</itemize>
</p><p>
Une approche possible est d'h&eacute;berger la messagerie vous-m&ecirc;me et, en suppl&eacute;ment,
 d'utiliser quelques unes des adresses fournies par le FAI. Les personnes qui
 ont besoin d'une messagerie accessible depuis l'ext&eacute;rieur du r&eacute;seau priv&eacute; peuvent
 avoir des adresses dans votre domaine qui sont redirig&eacute;es sur l'une des adresses
 fournies par l'ISP. Les autres peuvent avoir une messagerie locale sur le r&eacute;seau
 priv&eacute;. Ceci requiert un petit peu plus de coordination et de configuration,
 mais donne plus de flexibilit&eacute; que chacune des autres approches.
</p>
<p>
Si vous choisissez d'h&eacute;berger la messagerie pour votre domaine, reportez-vous
 &agrave; la section <ref id="mise_en_place_messagerie" name="Mettre en place la messagerie &eacute;lectronique" >
</p>
<p>
Si vous d&eacute;cidez de ne pas h&eacute;berger la messagerie pour votre domaine, reportez-vous
 &agrave; la section <ref id="dns_sans_messagerie" name="Configuration du DNS si vous n'h&eacute;bergez pas le service de messagerie" >.
</p>
<sect1>
H&eacute;bergement du site web<label id="hebergement_web" >
<p>
Votre FAI peut vous allouer une certaine quantit&eacute; d'espace sur ses serveurs
 web. Vous pouvez d&eacute;cider d'utiliser cette possibilit&eacute; ou vous pouvez avoir
 un serveur web que vous mettez dans votre r&eacute;seau externe, sur une des IPs externes.
</p>
<p>
Ce dont il faut se rappeler si vous choisissez d'utiliser l'h&eacute;bergement
 web du FAI&nbsp;:
</p>
<p>
<itemize>
 <item>
Vous avez une certaine quantit&eacute; d'espace-disque allou&eacute;e que vous ne pouvez
 pas d&eacute;passer. Ceci n'inclut pas seulement le contenu du site web mais aussi
 les donn&eacute;es collect&eacute;es aupr&egrave;s des visiteurs du site.
 <item>
La bande passante entre votre serveur web et le monde ext&eacute;rieur sera certainement
 plus large que si vous h&eacute;bergiez ce serveur sur votre propre mat&eacute;riel. Dans
 tous les cas, elle ne peut pas &ecirc;tre plus lente.
 <item>
Il peut s'av&eacute;rer difficile d'installer des CGI personnalis&eacute;es ou des progiciels
 commerciaux sur votre serveur web.
 <item>
La bande passante entre votre r&eacute;seau et votre serveur web sera certainement
 plus lente qu'elle ne le serait si vous h&eacute;bergiez le service sur votre propre
 r&eacute;seau.
</itemize>
</p><p>
Ce dont il faut se rappeler si choisissez d'h&eacute;berger votre propre serveur
 web.
</p>
<p>
<itemize>
 <item>Vous avez plus de matrise sur le serveur. Vous pouvez fa&ccedil;onner votre s&eacute;curit&eacute; de mani&egrave;re plus adapt&eacute;e &agrave; votre utilisation.</item>

 <item>Les donn&eacute;es potentiellement critiques, telles que des num&eacute;ros de cartes de cr&eacute;dit ou des adresses m&eacute;l, r&eacute;sident sur des machines que vous contr&ocirc;lez.</item>

 <item>Votre strat&eacute;gie de sauvegarde est probablement moins compl&egrave;te que celle de votre FAI.</item>

</itemize>
</p>

<p>Notez que je ne dis rien &agrave; propos du fait que l'ISP a du mat&eacute;riel plus performant, des taux de transfert de donn&eacute;es plus &eacute;lev&eacute;s, et ainsi de suite. Au fil du temps, ces choses deviennent importantes, et l'on parle de connexions r&eacute;seaux &agrave; tr&egrave;s hauts d&eacute;bits, et, tr&egrave;s franchement, vous auriez d&ucirc; d&eacute;l&eacute;guer ces d&eacute;cisions &agrave; un consultant sp&eacute;cialis&eacute;, pas regarder dans un HOWTO Linux.
</p>

<p>Si vous choisissez d'h&eacute;berger l'espace web de votre domaine sur vos propres serveurs, reportez-vous &agrave; d'autres documents tels que le WWW-HOWTO (&agrave; l'adresse <htmlurl url="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/WWW-HOWTO" name="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/WWW-HOWTO"> ou <htmlurl url="http://www.freenix.org/unix/linux/HOWTO/WWW-HOWTO.html" name="http://www.freenix.org/unix/linux/HOWTO/WWW-HOWTO.html"> en version fran&ccedil;aise), pour la configuration. Pour des raisons de s&eacute;curit&eacute;, je vous recommande chaudement de faire fonctionner ce service sur une autre machine que la passerelle de r&eacute;seau priv&eacute;.
</p>

<sect1>
<heading>H&eacute;bergement du site FTP<label id="hebergement_ftp" ></heading>

<p>Fondamentalement, les m&ecirc;mes raisonnements qui s'appliquent &agrave; l'h&eacute;bergement WWW s'appliquent &agrave; l'h&eacute;bergement FTP, &agrave; l'exception du fait que le ftp n'est pas concern&eacute; par les contenus dynamiques et que les scripts CGI n'y apparaissent pas. La plupart des exploits r&eacute;cents sur des serveurs ftpd ont &eacute;t&eacute; r&eacute;alis&eacute;s par des d&eacute;bordements de tampon cons&eacute;cutifs &agrave; la cr&eacute;ation de r&eacute;pertoires ayant des noms longs dans des r&eacute;pertoires de t&eacute;l&eacute;chargement modifiables par n'importe qui&nbsp;; ainsi, si votre FAI autorise le t&eacute;l&eacute;chargement et se montre n&eacute;gligent dans la maintenance des mises &agrave; jour de s&eacute;curit&eacute; sur le serveur FTP, vous feriez aussi bien d'h&eacute;berger le service vous-m&ecirc;me.
</p>

<p>Dans le cas o&ugrave; vous choisissez d'h&eacute;berger FTP pour votre domaine sur vos propres serveurs, assurez-vous d'avoir la derni&egrave;re version du d&eacute;mon FTP, et consultez les instructions de configuration. Une fois de plus, je recommande fortement, pour des raisons de s&eacute;curit&eacute;, que ce service fonctionne sur une autre machine que la passerelle de r&eacute;seau priv&eacute;.
</p>

<p>Pour <it>wu-ftpd</it>, je recommande les options de configuration suivantes&nbsp;:</p>

<p>
<itemize>

 <item>--disable-upload (&agrave; moins que n'ayez besoin du t&eacute;l&eacute;chargement anonyme)</item>

 <item>--enable-anononly (incite vos utilisateurs locaux &agrave; utiliser scp pour le transfert de fichier entre les machines)</item>

 <item>--enable-paranoid (d&eacute;sactive toute fonctionnalit&eacute; de la version courante qui peut &ecirc;tre sujette &agrave; caution)</item>

</itemize>
</p>

<sect1>
<heading>Filtrage de paquets<label id="filtrage_de_paquets" ></heading>

<p>Certains FAI mettent des filtres de paquets, pour prot&eacute;ger les utilisateurs du syst&egrave;me les uns des autres ou vis &agrave; vis d'agresseurs externes. Les r&eacute;seaux modem-c&acirc;ble et d'autres r&eacute;seau &agrave; diffusion similaires posent probl&egrave;me quand, sans le faire expr&egrave;s, des utilisateurs de Windows 95 ou 98 activent le partage de fichiers mettant ainsi le contenu entier de leurs disques durs &agrave; la vue de n'importe qui prend le soin d'explorer son &laquo;&nbsp;voisinnage r&eacute;seau&nbsp&raquo; &agrave; la recherche de serveurs actifs. Dans certains cas, la solution a &eacute;t&eacute; de dire aux utilisateurs de ne pas faire cela, mais certains fournisseurs d'acc&egrave;s ont mis en place un filtrage dans le mat&eacute;riel de connexion pour emp&ecirc;cher les gens d'exporter leurs donn&eacute;es par inadvertance.
</p>

<p>Le filtrage de paquet est vraiment une chose que vous devriez faire vous-m&ecirc;me. Il s'int&egrave;gre facilement dans le noyau fonctionnant sur votre passerelle de r&eacute;seau priv&eacute; et vous donne une meilleure id&eacute;e de ce qui se passe autour de vous. En outre, il arrive souvent que l'on veuille, pendant l'installation, proc&eacute;der &agrave; de menus ajustements sur le pare-feu pour l'optimiser, et c'est beaucoup plus facile &agrave; faire en temps r&eacute;el plut&ocirc;t que par l'interm&eacute;diaire d'un support technique.
</p>

<p>Si vous choisissez de faire le filtrage de paquets pour votre domaine, reportez-vous &agrave; la section <ref id="mettre_en_place_filtrage" name="Mettre en place le filtrage de paquets" >.
</p>

<sect>
<heading>Configurer les services h&eacute;berg&eacute;s</heading>

<sect1>
Mettre en place la r&eacute;solution de noms<label id="mise_en_place_DNS" >
<p>
Vous devrez mettre en place un moyen pour que les ordinateurs sur votre
 r&eacute;seau se reconnaissent par leur nom, et &eacute;galement que les personnes &agrave; l'ext&eacute;rieur
 connaissent par leur nom vos machines expos&eacute;es. Il existe plusieurs moyens
 d'aboutir &agrave; ce r&eacute;sultat.
</p>
<sect2>
r&eacute;solution DNS sur le r&eacute;seau priv&eacute;, le FAI g&egrave;re le domaine<label id="DNS_prive_FAI_gere_domaine" >
<p>
(remarque&nbsp;: si vous avez choisi de ne pas mettre en place un r&eacute;seau priv&eacute;,
 allez &agrave; la section <ref id="reseau_entierement_expose" name="R&eacute;seau enti&egrave;rement expos&eacute;, h&eacute;berg&eacute; par le FAI" >)
</p>
<p>
Dans cette configuration, vous avez d&eacute;l&eacute;gu&eacute; la responsabilit&eacute; du DNS primaire
 de votre domaine au FAI. Vous continuez &agrave; utiliser DNS &agrave; l'int&eacute;rieur de votre
 r&eacute;seau priv&eacute; quand les h&ocirc;tes internes veulent communiquer ensemble. Vous avez
 communiqu&eacute; au FAI une liste des adresses IP de l'ensemble des h&ocirc;tes expos&eacute;s.
 Si vous voulez qu'une des machines visibles depuis l'ext&eacute;rieur, par exemple
 betty.example.com, soit en m&ecirc;me temps le serveur web et le serveur FTP, vous
 devez demander au FAI de mettre en place des entr&eacute;es CNAME www.example.com
 et ftp.example.com qui pointent sur betty.example.com.
</p>
<p>
Mettez en place le DNS sur votre passerelle de r&eacute;seau priv&eacute;. Ceci peut
 &ecirc;tre r&eacute;alis&eacute; de mani&egrave;re s&eacute;curis&eacute;e, et rendre les mises &agrave; jour plus faciles,
 au cas o&ugrave; vous d&eacute;cidiez un jour d'h&eacute;berger l'autorit&eacute; primaire du DNS.
</p>
<p>
Je supposerai que vous avez d&eacute;cid&eacute; d'h&eacute;berger le DNS sur la machine dns.example.com,
 qui est la passerelle de r&eacute;seau priv&eacute;, et un surnom (alias) pour fred.example.com
 &agrave; l'adresse 192.168.1.1. Si ce n'est pas le cas, de petites modifications doivent
 &ecirc;tre faites &agrave; votre configuration. Je ne traiterai pas de cela dans ce HOWTO
 &agrave; moins que cela ne pr&eacute;sente un v&eacute;ritable int&eacute;r&ecirc;t.
</p>
<p>
Vous devrez t&eacute;l&eacute;charger et compiler une version de BIND, Berkeley Internet
 Name Domain. Il est disponible sur le site de BIND (&agrave; l'adresse <htmlurl url="http://www.isc.org/products/BIND/" name="http://www.isc.org/products/BIND/">). Ensuite vous devez configurer
 les d&eacute;mons. Cr&eacute;ez le fichier <tt>/etc/named.conf</tt> suivant&nbsp;: 
</p>
<p>
<code>
     options &lcub;
             directory &quot;/var/named&quot;;
             listen-on &lcub; 192.168.1.1 &rcub;;
     &rcub;;
 
     zone &quot;.&quot; &lcub;
             type hint;
             file &quot;root.hints&quot;;
     &rcub;;
 
     zone &quot;0.0.127.in-addr.arpa&quot; &lcub;
             type master;
             file &quot;pz/127.0.0&quot;;
     &rcub;;
 
     zone &quot;1.168.192.in-addr.arpa&quot; &lcub;
             type master;
             file &quot;pz/1.168.192&quot;;
     &rcub;;
 
     zone &quot;example.com&quot; &lcub;
             type master;
             notify no;
             file &quot;pz/example.com&quot;;
     &rcub;;
</code>
</p><p>
Remarquez que nous nous sommes d&eacute;clar&eacute;s matres du domaine example.com.
 Cependant, notre FAI se d&eacute;clare aussi comme l'autorit&eacute; du m&ecirc;me domaine. Ce
 n'est pas un probl&egrave;me tant que l'on fait attention &agrave; l'installation. Toutes
 les machines du r&eacute;seau priv&eacute; doivent utiliser dns.example.com pour mettre en
 oeuvre leur r&eacute;solution de noms. Elles ne doivent <it>pas</it> utiliser le &laquo;&nbsp;resolver&nbsp&raquo; de
 l'ISP dans la mesure o&ugrave; le le serveur de nom de l'ISP croit qu'il fait authorit&eacute;
 sur l'int&eacute;gralit&eacute; du domaine mais ne connait pas les adresses IP ou les noms
 des machines sur votre r&eacute;seau priv&eacute;. De la m&ecirc;me mani&egrave;re, les h&ocirc;tes ayant les
 adresses publiques de votre domaine <it>doivent</it> utiliser le serveur de noms du
 FAI, pas le serveur de nom priv&eacute; sur dns.example.com. 
</p>
<p>
Les diff&eacute;rents fichiers sous <tt>/var/named</tt> doivent maintenant &ecirc;tre cr&eacute;&eacute;s.
</p>
<p>
Le fichier <tt>root.hint</tt> est tel que d&eacute;crit dans la documentation de BIND ou
 dans le DNS-HOWTO (&agrave; l'adresse <htmlurl
 url="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/DNS-HOWTO"
 name="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/DNS-HOWTO">&nbsp;; <htmlurl
 url="http://www.freenix.org/unix/linux/HOWTO/DNS-HOWTO.html"
 name="http://www.freenix.org/unix/linux/HOWTO/DNS-HOWTO.html">). &Agrave; l'heure o&ugrave; j'&eacute;cris, Ce qui suit est un fichier root.hint
 valide.
</p>
<p>
<code>
     H.ROOT-SERVERS.NET.     6d15h26m24s IN A  128.63.2.53
     C.ROOT-SERVERS.NET.     6d15h26m24s IN A  192.33.4.12
     G.ROOT-SERVERS.NET.     6d15h26m24s IN A  192.112.36.4
     F.ROOT-SERVERS.NET.     6d15h26m24s IN A  192.5.5.241
     B.ROOT-SERVERS.NET.     6d15h26m24s IN A  128.9.0.107
     J.ROOT-SERVERS.NET.     6d15h26m24s IN A  198.41.0.10
     K.ROOT-SERVERS.NET.     6d15h26m24s IN A  193.0.14.129
     L.ROOT-SERVERS.NET.     6d15h26m24s IN A  198.32.64.12
     M.ROOT-SERVERS.NET.     6d15h26m24s IN A  202.12.27.33
     I.ROOT-SERVERS.NET.     6d15h26m24s IN A  192.36.148.17
     E.ROOT-SERVERS.NET.     6d15h26m24s IN A  192.203.230.10
     D.ROOT-SERVERS.NET.     6d15h26m24s IN A  128.8.10.90
     A.ROOT-SERVERS.NET.     6d15h26m24s IN A  198.41.0.4
</code>
</p><p>
Le fichier <tt>pz/127.0.0.0</tt> est comme suit&nbsp;:
</p>
<p>
<code>
@               IN      SOA     example.com. root.example.com. (
                                1      &nbsp;; num&eacute;ro de s&eacute;rie
                                8H     &nbsp;; mise &agrave; jour
                                2H     &nbsp;; tentative apr&egrave;s &eacute;chec
                                1W     &nbsp;; d&eacute;lai d'expiration
                                1D)    &nbsp;; dur&eacute;e de vie minimale
                        NS      dns.example.com.
1                       PTR     localhost.
</code>
</p><p>
Le fichier <tt>pz/1.168.192</tt> est comme suit&nbsp;:
</p>
<p>
<code>
&dollar;TTL 86400
 
@       IN      SOA             dns.example.com. root.dns.example.com. (
                                1      &nbsp;; num&eacute;ro de s&eacute;rie
                                8H     &nbsp;; mise &agrave; jour            8 heures
                                2H     &nbsp;; tentative apr&egrave;s &eacute;chec  2 heures
                                1W     &nbsp;; d&eacute;lai d'expiration     1 semaine
                                1D     &nbsp;; dur&eacute;e de vie minimale  1 jour
                        )
                NS      dns.example.com.
 
1               PTR     fred.example.com.
                PTR     dns.example.com.
                PTR     mail.example.com.
2               PTR     barney.example.com.
3               PTR     wilma.example.com.
</code>
</p><p>
et ainsi de suite, o&ugrave; vous cr&eacute;ez un enregistrement PTR pour chacune des
 machines ayant une interface sur le r&eacute;seau priv&eacute;. Dans cet exemple, fred.example.com
 est &agrave; l'adresse 192.168.1.1 et il est &laquo;&nbsp;point&eacute;&nbsp&raquo; par les alias dns.example.com
 et mail.example.com. La machine barney.example.com est &agrave; l'adresse IP 192.168.1.2
 et ainsi de suite.
</p>
<p>
Le fichier <tt>pz/example.com</tt> est comme suit&nbsp;:
</p>
<p>
<code>
&dollar;TTL 86400
 
@               IN      SOA     example.com. root.dns.example.com. (
                                1      &nbsp;; num&eacute;ro de s&eacute;rie
                                8H     &nbsp;; mise &agrave; jour             8 heures
                                2H     &nbsp;; tentative apr&egrave;s &eacute;chec   2 heures
                                1W     &nbsp;; d&eacute;lai d'expiration      1 semaine
                                1D     &nbsp;; TTL minimale            1 jour
                        )
                        NS              dns.example.com.
        IN              A               192.168.1.1
        IN              MX          10  mail.example.com.
        IN              MX          20  &lt;IP de la machine de mail de l'ISP&gt;.
 
 
localhost               A           127.0.0.1
fred                    A           192.168.1.1
                        A           10.1.1.9
dns                     CNAME       fred
mail                    CNAME       fred
barney                  A           192.168.1.2
wilma                   A           192.168.1.3
betty                   A           10.1.1.10
www                     CNAME       betty
ftp                     CNAME       betty
</code>
</p><p>
Dans la mesure o&ugrave; les machines &agrave; l'int&eacute;rieur du r&eacute;seau priv&eacute; n'ont pas
 int&eacute;r&ecirc;t &agrave; questionner le serveur de noms du FAI pour une requ&ecirc;te sur, disons,
 betty.example.com, remarquez que nous cr&eacute;ons des entr&eacute;es tant pour les machines
 localis&eacute;es &agrave; l'int&eacute;rieur du r&eacute;seau priv&eacute; que pour celles ayant des adresses
 IP externes. Nous d&eacute;clarons &eacute;galement chacune des deux adresses IP de fred,
 l'adresse externe et l'adresse interne.
</p>
<p>
Une ligne dans la section &laquo;&nbsp;options&nbsp&raquo; de <tt>/etc/named.conf</tt> appelle une explication
&nbsp;:  
</p>
<p>
<verb>
listen-on &lcub; 192.168.1.1 &rcub;;
</verb>
</p><p>
Elle emp&ecirc;che votre d&eacute;mon named de r&eacute;pondre &agrave; des requ&ecirc;tes DNS sur son interface
 externe (toutes les requ&ecirc;tes &eacute;manant de l'ext&eacute;rieur doivent passer par le serveur
 de nom du FAI, pas par le v&ocirc;tre).
</p>
<sect2>
pas de r&eacute;solution DNS sur le r&eacute;seau priv&eacute;, le FAI g&egrave;re le domaine
<p>
(note&nbsp;: si vous avez d&eacute;cid&eacute; de ne pas mettre en oeuvre de r&eacute;seau priv&eacute;,
 reportez-vous &agrave; la section <ref id="reseau_entierement_expose" name="R&eacute;seau pleinement expos&eacute;, h&eacute;berg&eacute; par le FAI" >)
</p>
<p>
Dans cette configuration, vous avez tranch&eacute; sur le fait que, somme toute,
 votre r&eacute;seau est peu &eacute;tendu et qu'il est improbable qu'il s'&eacute;tende. Vous avez
 d&eacute;cid&eacute; de ne pas utiliser la base de donn&eacute;es centralis&eacute;e d'un serveur de noms,
 et, en cons&eacute;quence, de maintenir la r&eacute;solution de noms s&eacute;par&eacute;ment sur chacune
 des machines. Toutes les machines doivent donc utiliser le serveur de noms
 de l'ISP pour r&eacute;soudre les noms d'h&ocirc;tes situ&eacute;s au del&agrave; de la passerelle de
 r&eacute;seau priv&eacute;. Pour la r&eacute;solution de nom au sein du r&eacute;seau priv&eacute;, un fichier
 des h&ocirc;tes doit &ecirc;tre cr&eacute;&eacute;. Sous Linux, cela signifie entrer les noms et les
 adresses IP de toutes les machines dans le fichier <tt>/etc/hosts</tt> sur chacune des
 machines. &Agrave; chaque fois qu'un nouvel h&ocirc;te est ajout&eacute;, ou qu'une adresse IP
 est chang&eacute;e, ce fichier doit &ecirc;tre modifi&eacute; sur chaque Linuxette.
</p>
<p>
Comme dans la section <ref id="DNS_prive_FAI_gere_domaine" name="le DNS est sur le r&eacute;seau priv&eacute;, le FAI g&egrave;re le domaine" >, la liste des h&ocirc;tes ayant des adresses IP publiques
 doit &ecirc;tre communiqu&eacute;e au FAI et chaque alias (tels que les noms www et ftp)
 doit &ecirc;tre sp&eacute;cifi&eacute; dans une entr&eacute;e CNAME cr&eacute;&eacute;e par le FAI.
</p>
<sect2>
vous &ecirc;tes l'autorit&eacute; DNS primaire pour le domaine
<p>
Bien que vous puissiez mettre en oeuvre la r&eacute;solution <it>named</it> sur les h&ocirc;tes
 expos&eacute;s, et une base de donn&eacute;es priv&eacute;e de r&eacute;solution pour le r&eacute;seau priv&eacute;,
 je ne m'&eacute;tendrai pas sur ce cas. Si vous envisagez d'utiliser named pour un
 service, vous devriez vraiment le faire pour tous, juste pour simplifier la
 configuration. Dans cette section je supposerai que la passerelle de r&eacute;seau
 priv&eacute; g&egrave;re la r&eacute;solution de noms tant pour le r&eacute;seau priv&eacute; que pour les requ&ecirc;tes
 ext&eacute;rieures.
</p>
<p>
&Agrave; l'heure o&ugrave; j'&eacute;cris, sous la version 8.2.2 du paquet BIND, il n'est pas
 possible pour un d&eacute;mon <it>named</it> unique de produire des r&eacute;ponses diff&eacute;renci&eacute;es
 en fonction de l'interface sur laquelle arrive la requ&ecirc;te. On veut que la r&eacute;solution
 de noms se comporte de mani&egrave;re diff&eacute;rente si la requ&ecirc;te vient du monde ext&eacute;rieur
 parce que les adresses IP du r&eacute;seau priv&eacute; ne doivent pas &ecirc;tre envoy&eacute;es &agrave; l'ext&eacute;rieur
&nbsp;; par contre, on doit &ecirc;tre capable de r&eacute;pondre &agrave; des requ&ecirc;tes &eacute;manant du r&eacute;seau
 priv&eacute;. Une r&eacute;flexion existe sur de nouveaux mot-cl&eacute; &laquo;&nbsp;view&nbsp&raquo; qui pourraient, &agrave;
 l'avenir, &ecirc;tre int&eacute;gr&eacute;s &agrave; BIND pour combler cette lacune, mais, avant que cela
 ne soit effectif, la solution est de faire fonctionner deux d&eacute;mons <it>named</it> avec
 des configurations diff&eacute;rentes.
</p>
<p>
D'abord, configurez le serveur de noms du domaine priv&eacute; comme d&eacute;crit dans
 la section <ref id="DNS_prive_FAI_gere_domaine" name="r&eacute;solution DNS sur le r&eacute;seau priv&eacute;, le FAI g&egrave;re le domaine" >, il constituera le &laquo;&nbsp;resolver&nbsp&raquo; visible depuis le r&eacute;seau priv&eacute;.
</p>
<p>
Ensuite, vous devez mettre en place le DNS de votre domaine de fa&ccedil;on &agrave;
 ce qu'il soit visible des h&ocirc;tes du monde ext&eacute;rieur. D'abord, v&eacute;rifiez aupr&egrave;s
 de votre FAI s'il se d&eacute;l&eacute;guera lui-m&ecirc;me les recherches DNS invers&eacute; sur vos
 adresses IP. Bien que la norme DNS d'origine ne donne pas la possibilit&eacute; de
 contr&ocirc;ler le DNS invers&eacute; sur des sous-r&eacute;seaux plus petits qu'un r&eacute;seau de classe
 C, une m&eacute;thode de contournement a &eacute;t&eacute; d&eacute;velopp&eacute;e qui fonctionne avec tous les
 clients compatibles DNS et a &eacute;t&eacute; &eacute;bauch&eacute;e dans la
 RFC 2317 (&agrave; l'adresse <htmlurl url="http://www.ietf.org/rfc/rfc2317.txt" name="http://www.ietf.orf/rfc/rfc2317.txt">). Si votre provider
 accepte de vous d&eacute;l&eacute;guer le DNS invers&eacute; sur votre s&eacute;rie d'adresses IP, vous
 devez obtenir de lui le nom du pseudo-domaine in-addr qu'il a choisi pour la
 d&eacute;l&eacute;gation (la RFC ne propose pas de normalisation pour une utilisation ordinaire)
 et vous devrez d&eacute;clarer votre autorit&eacute; sur ce pseudo-domaine. Je supposerai
 que le FAI vous a d&eacute;l&eacute;gu&eacute; l'autorit&eacute; et que le nom du pseudo-domaine est 8.1.1.10.in-addr.arpa.
 L'ISP devra cr&eacute;er des entr&eacute;es sous la forme&nbsp;: 
</p>
<p>
<code>
8.1.1.10.in-addr.arpa.     2H IN CNAME 8.8.1.1.10.in-addr.arpa.
9.1.1.10.in-addr.arpa.     2H IN CNAME 9.8.1.1.10.in-addr.arpa.
10.1.1.10.in-addr.arpa.    2H IN CNAME 10.8.1.1.10.in-addr.arpa.
etc.
</code>
</p><p>
dans son fichier de zone pour le domaine 1.1.10.in-addr.arpa. La configuration
 de votre fichier de zone 8.1.1.10.in-addr.arpa est donn&eacute;e plus loin dans cette
 section.
</p>
<p>
Si votre provider accepte de vous d&eacute;l&eacute;guer le contr&ocirc;le du DNS invers&eacute;,
 il cr&eacute;era, pour les adresses IP sous votre contr&ocirc;le, des entr&eacute;es CNAME dans
 la table des zones de son DNS invers&eacute; qui pointent vers les enregistrements
 correspondants dans votre pseudo-domaine comme montr&eacute; ci-dessus. S'il n'envisage
 pas de vous d&eacute;l&eacute;guer l'autorit&eacute;, vous devrez lui demander de mettre &agrave; jour
 son DNS &agrave; chaque fois que vous ajouterez, supprimerez ou changerez le nom d'un
 h&ocirc;te visible depuis l'ext&eacute;rieur dans votre domaine. Si la table DNS invers&eacute;
 n'est pas synchronis&eacute;e avec les entr&eacute;es DNS direct, certains services peuvent
 &eacute;mettre des avertissements ou bien refuser de traiter des requ&ecirc;tes produites
 par des machines affect&eacute;es par ce dysfonctionnement.
</p>
<p>
Vous devez maintenant mettre en place un second <it>named</it>, celui l&agrave; pour traiter
 les requ&ecirc;tes provenant de machines &agrave; l'ext&eacute;rieur de la passerelle de r&eacute;seau
 priv&eacute;. 
</p>
<p>
D'abord, cr&eacute;ez un second fichier de configuration, par exemple <tt>/etc/named.ext.conf</tt>
 pour les requ&ecirc;tes sur l'interface externe. Dans notre exemple, il pourrait
 &ecirc;tre comme suit&nbsp;: 
</p>
<p>
<code>
options &lcub;
        directory &quot;/var/named&quot;;
        listen-on &lcub; 10.1.1.9; &rcub;;
&rcub;;
 
zone &quot;.&quot; &lcub;
        type hint;
        file &quot;root.hints&quot;;
&rcub;;
 
zone &quot;0.0.127.in-addr.arpa&quot; &lcub;
        type master;
        file &quot;pz/127.0.0&quot;;
&rcub;;
 
 
zone &quot;8.1.1.10.in-addr.arpa&quot; &lcub;
        type master;
        file &quot;ext/8.1.1.10&quot;;
&rcub;;
 
zone &quot;example.com&quot; &lcub;
        type master;
        notify no;
        file &quot;ext/example.com&quot;;
&rcub;;
</code>
</p><p>
Les fichiers <tt>root.hint</tt> et <tt>pz/127.0.0</tt>, tous les deux sous<tt> /var/named</tt>, sont
 partag&eacute;s par les d&eacute;mons actifs. Le fichier <tt>/ext/8.1.1.10</tt> est comme suit&nbsp;: 
</p>
<p>
<code>
&dollar;TTL 86400
 
@       IN      SOA             fred.example.com. root.fred.example.com. (
                                1              &nbsp;; num&eacute;ro de s&eacute;rie
                                10800          &nbsp;; mise &agrave; jour            3 heures
                                3600           &nbsp;; tentative apr&egrave;s &eacute;chec  1 heure
                                3600000        &nbsp;; d&eacute;lai d'expiration     1000 heures
                                86400 )        &nbsp;; TTL minimale           24 heures
                NS      dns.example.com.
9       IN      PTR     fred.example.com.
                PTR     dns.example.com.
                PTR     mail.example.com.
10      IN      PTR     betty.example.com.
                PTR     www.example.com.
                PTR     ftp.example.com.
</code>
</p><p>
Le fichier <tt>ext/example.com</tt> contient ce qui suit&nbsp;: 
</p>
<p>
<code>
&dollar;TTL 86400
 
@               IN      SOA     example.com. root.fred.example.com. (
                                10021  &nbsp;; num&eacute;ro de s&eacute;rie
                                8H     &nbsp;; mise &agrave; jour             8 heures
                                2H     &nbsp;; tentative apr&egrave;s &eacute;chec   2 heures
                                1W     &nbsp;; d&eacute;lai d'expiration      1 semaine
                                1D     &nbsp;; dur&eacute;e de vie minimale   1 jour
                        )
                        NS              fred.example.com.
        IN              A               10.1.1.9
        IN              MX          10  mail.example.com.
        IN              MX          20  &lt;machine mail du FAI&gt;.
 
 
localhost               A           127.0.0.1
fred                    A           10.1.1.9
betty                   A           10.1.1.10
dns                     CNAME       fred
mail                    CNAME       fred
www                     CNAME       betty
ftp                     CNAME       betty
</code>
</p><p>
D&eacute;marrez les deux d&eacute;mons sur votre passerelle de r&eacute;seau priv&eacute;. Mettez ce
 qui suit dans vos scripts d'initialisation&nbsp;: 
</p>
<p>
<verb>
/usr/sbin/named -u dnsuser -g dnsgroup /etc/named.conf
/usr/sbin/named -u dnsuser -g dnsgroup /etc/named.ext.conf
</verb>
</p><p>
J'ai suppos&eacute; ici que vous avez cr&eacute;&eacute; l'utilisateur sans privil&egrave;ge &laquo;&nbsp;dnsuser&nbsp&raquo;
 et le groupe sans privil&egrave;ge correspondant &laquo;&nbsp;dnsgroup&nbsp&raquo;. Si un bogue se fait jour,
 permettant &agrave; un attaquant d'ex&eacute;cuter du code &agrave; l'int&eacute;rieur de <it>named</it>, l'agresseur
 sera limit&eacute; aux actions permises &agrave; un utilisateur sans privil&egrave;ge. Le r&eacute;pertoire
 <tt>/var/named</tt> et les fichiers qui y sont inclus ne doivent pas &ecirc;tre modifiables
 par &laquo;&nbsp;dnsuser&nbsp&raquo;.
</p>
<p>
Les machines du r&eacute;seau priv&eacute; doivent avoir leur r&eacute;solution de noms r&eacute;gl&eacute;e
 pour s'en r&eacute;f&eacute;rer &agrave; dns.example.com (&agrave; l'IP 192.168.1.1 dans notre exemple)
 alors que les machines visibles depuis l'ext&eacute;rieur peuvent envoyer leurs requ&ecirc;tes
 &agrave; l'interface externe de la passerelle r&eacute;seau (&agrave; l'IP 10.0.1.9) ou au serveur
 de noms du FAI.
</p>
<sect2>
r&eacute;seau pleinement expos&eacute;, h&eacute;berg&eacute; par le FAI<label id="reseau_entierement_expose" >
<p>
Dans cette configuration, vous avez choisi d'exposer tous vos h&ocirc;tes. Vous
 avez une &laquo;&nbsp;v&eacute;ritable&nbsp&raquo; adresse IP pour chacune des machines de votre domaine et
 vous avez communiqu&eacute; &agrave; votre FAI la liste des noms de machines et de leurs
 adresses IP. Le FAI vous a donn&eacute; l'adresse d'un au moins de ses serveurs de
 noms. Vos machines Linux sont alors configur&eacute;es pour la r&eacute;solution de noms
 dans /etc/resolv.conf&nbsp;:
</p>
<p>
<code>
search example.com
nameserver &lt;premier h&ocirc;te DNS&gt;
nameserver &lt;deuxi&egrave;me h&ocirc;te DNS&gt;
</code>
</p><p>
Les machines Windows sont configur&eacute;es de la m&ecirc;me mani&egrave;re dans les boites
 de dialogue de configuration du r&eacute;seau.
</p>
<sect2>
pr&eacute;parer le DNS avant de d&eacute;placer votre domaine
<p>
Si vous d&eacute;cidez de d&eacute;placer votre domaine sur de nouvelles adresses IP,
 soit parce que vous devez changer de FAI soit parce que vous avez apport&eacute; des
 modifications &agrave; vos services et que ceci vous impose de migrer vers de nouvelles
 adresses IP chez le m&ecirc;me FAI, vous devrez faire quelques pr&eacute;paratifs avant
 la migration. 
</p>
<p>
Vous devez mettre les choses en place de fa&ccedil;on &agrave; ce que, avant la migration, l'adresse IP demand&eacute;e
 par une recherche DNS quelque part dans le monde pointe correctement sur l'adresse
 IP d'origine et, qu'ensuite, apr&egrave;s la migration, elle pointe rapidement sur
 la nouvelle adresse IP. Des sites distants peuvent avoir
 mis en cache votre adresse IP, et des requ&ecirc;tes post&eacute;rieures peuvent obtenir
 une r&eacute;ponse localement, depuis le cache, plut&ocirc;t qu'en questionnant les serveurs
 appropri&eacute;s. L'effet de ceci peut &ecirc;tre que des personnes ayant visit&eacute; votre
 site r&eacute;cemment sont dans l'impossibilit&eacute; de se connecter alors que de nouveaux
 visiteurs r&eacute;cup&egrave;rent des informations valides non mises en cache. Le fait que
 les serveurs racine ne soient mis &agrave; jour que deux fois par jour complique encore
 plus les choses&nbsp;; ainsi il est difficile d'acc&eacute;l&eacute;rer un changement fait &agrave; l'identit&eacute;
 de vos serveurs DNS primaire et secondaire dans les serveurs racine.
</p>
<p>
La mani&egrave;re la plus simple de faire la transition est s&ucirc;rement de dupliquer
 son site en entier, ou au moins ses composantes visibles publiquement, sur
 la nouvelle IP, d&eacute;clarer la modification et attendre que le trafic bascule
 compl&egrave;tement sur la nouvelle adresse IP. Cependant, ce n'est probablement pas
 tr&egrave;s faisable.
</p>
<p>
Ce que vous pouvez faire est de vous arranger avec votre nouveau FAI (ou
 avec votre FAI actuel si vous changez juste d'adresses chez le m&ecirc;me FAI) afin
 qu'il h&eacute;berge le DNS primaire et le DNS secondaire pendant le transfert. Ceci
 devrait &ecirc;tre fait au moins un jour avant le d&eacute;placement. Demandez-lui de positionner
 la TTL (dur&eacute;e de vie) de cet enregistrement sur quelque chose de suffisamment
 petit (par exemple 5 minutes). Les exemples de fichier DNS montr&eacute;s plus haut
 dans cette section ont tous des valeurs TTL positionn&eacute;es sur 86400 secondes
 (1 jour). Si votre TTL est plus longue que cela, vous devrez faire le changement
 plus longtemps &agrave; l'avance. En d&eacute;finitive, voici ce que vous devez faire. Si
 la configuration actuelle de la TTL de votre domaine est, disons, N heures,
 alors ce qui suit doit &ecirc;tre r&eacute;alis&eacute; plus que N heures avant le d&eacute;placement&nbsp;:
 
</p>
<p>
<itemize>
 <item>
L'enregistrement de votre domaine doit d&eacute;signer les DNS primaire et secondaire
 de votre nouvel ISP dans sa base de donn&eacute;es racine. Comptez au moins un jour
 entre le moment o&ugrave; vous soumettez la modification et le moment o&ugrave; cette modification
 sera prise en compte dans la base de donn&eacute;es.
 <item>
Les nouveaux DNS primaire et secondaire doivent pointer sur les IP d'origine
 de votre site avec une TTL tr&egrave;s petite.
</itemize>
</p><p>
Remarquez que vous ne pouvez pas acc&eacute;l&eacute;rer le processus en r&eacute;duisant la
 valeur actuelle de la TTL de votre domaine, &agrave; moins que vous ne l'ayez d&eacute;j&agrave;
 fait au moins N heures avant le d&eacute;placement.
</p>
<p>
Maintenant, vous &ecirc;tes pr&ecirc;t pour le transfert. Migrez vos machines sur les
 nouvelles adresses IP. Synchronisez ceci avec une mise &agrave; jour des enregistrements
 DNS de votre FAI de fa&ccedil;on &agrave; ce qu'ils pointent sur les nouvelles adresses.
 Dans un d&eacute;lai de 5 minutes (la petite TTL que vous avez enregistr&eacute;e pour le
 transfert), le trafic devrait avoir bascul&eacute; sur le nouveau site. Vous pouvez
 maintenant arranger la section autoris&eacute;e du DNS &agrave; votre go&ucirc;t, vous rendant
 primaire si c'est ce que vous voulez et repositionant la TTL sur une valeur
 raisonnablement grande.
</p>
<sect1>
Configuration du DNS si vous n'h&eacute;bergez pas de service de messagerie<label id="dns_sans_messagerie" >
<p>
Les configurations d&eacute;crites dans la section <ref id="mise_en_place_DNS" name="Mettre en place la r&eacute;solution de noms" > ont des enregistrements MX
 qui pointent sur une machine &laquo;&nbsp;mail.example.com&nbsp&raquo;. L'enregistrement MX avec la
 valeur de priorit&eacute; la moins grande signale aux sites distants o&ugrave; envoyer le
 courrier &eacute;lectronique. Les autres enregistrements de MX avec des valeurs de
 priorit&eacute; plus &eacute;lev&eacute;es sont utilis&eacute;s comme des &eacute;changeurs de m&eacute;l de secours.
 Ces &laquo;&nbsp;secours&nbsp&raquo; retiendront les messages pendant une certaine dur&eacute;e si l'&eacute;changeur
 primaire n'est pas en mesure, pour une raison quelconque, d'accepter les messages.
 Dans les exemples de cette section, j'ai suppos&eacute; que fred.example.com sous
 son alias de mail.example.com, g&egrave;re la messagerie pour le domaine. Si vous
 avez choisi de laisser le FAI h&eacute;berger de votre messagerie, vous devrez modifier
 ces enregistrements MX de fa&ccedil;on &agrave; ce qu'ils pointent sur les machines appropri&eacute;es
 du FAI. Demandez &agrave; l'assistance technique de votre fournisseur quels sont les
 noms des h&ocirc;tes que vous devez utiliser pour les enregistrements MX dans les
 divers fichiers.
</p>
<sect1>
Mettre en place la messagerie &eacute;lectronique<label id="mise_en_place_messagerie" >
<p>
Si vous avez choisi d'h&eacute;berger int&eacute;gralement la messagerie pour votre domaine,
 vous devrez prendre des mesures sp&eacute;ciales pour les messages entrants sur les
 h&ocirc;tes du r&eacute;seau priv&eacute;. &Agrave; moins que vous ne soyez vigilant, les messages ont
 de fortes chances de rester en rade s'ils attendent sur une machine et que
 le destinataire correspondant est connect&eacute; sur une autre machine. Pour des
 questions de s&eacute;curit&eacute;, je recommande que les messages entrants ne soient pas
 accessibles depuis les h&ocirc;tes publiquement visibles (ceci pouvant aider &agrave; dissuader
 un PHB qui veut que sa station de travail soit sur une adresse IP r&eacute;elle et
 qui s'&eacute;tonne de se faire planter sa machine par un ping de la mort deux fois
 par jour). Sendmail s'accomode tr&egrave;s bien d'un syst&egrave;me de distribution de courrier
 transparent sur le r&eacute;seau priv&eacute;. Si quiconque souhaite fournir ici des solutions
 <it>test&eacute;es</it> pour d'autres d&eacute;mons de messagerie, j'accueille volontiers toute contribution.
</p>
<sect2>
Une solution utilisant Sendmail
<p>
Afin que les messages d&eacute;livr&eacute;s sur un h&ocirc;te soient accessibles depuis toutes
 les machines, la solution la plus simple est d'exporter le r&eacute;pertoire de spool
 de la messagerie avec des droits de lecture/&eacute;criture sur l'ensemble du r&eacute;seau
 priv&eacute;. La passerelle de r&eacute;seau priv&eacute; se comportera comme un &eacute;changeur de messagerie
 pour celui-ci et doit donc avoir les droits de &laquo;&nbsp;root&nbsp&raquo; en ce qui concerne l'&eacute;criture
 sur le disque du r&eacute;pertoire de spool de la messagerie. Les autres clients peuvent
 ou non rembarrer &laquo;&nbsp;root&nbsp&raquo;, &agrave; votre gr&eacute;. Ma philosophie g&eacute;n&eacute;rale en mati&egrave;re de s&eacute;curit&eacute;
 est de ne pas attribuer ces privil&egrave;ges &agrave; moins qu'il n'y ait une bonne raison
 de le faire, ainsi j'interdis l'utilisateur &laquo;&nbsp;root&nbsp&raquo; depuis toutes les machines
 sauf depuis la passerelle de r&eacute;seau priv&eacute;. Ceci a pour effet que root ne peut
 lire son courrier que depuis cette machine mais ce n'est pas vraiment un handicap
 s&eacute;rieux. Notez que le r&eacute;pertoire r&eacute;seau de spool peut &ecirc;tre localis&eacute; sur la
 passerelle de r&eacute;seau priv&eacute; elle-m&ecirc;me, export&eacute; par NFS, ou qu'il peut &ecirc;tre localis&eacute;
 sur l'un des serveurs internes, export&eacute; sur l'ensemble du r&eacute;seau priv&eacute;. Si
 le r&eacute;pertoire de spool r&eacute;side sur la passerelle de r&eacute;seau priv&eacute;, il n'y a pas
 int&eacute;r&ecirc;t &agrave; interdire &laquo;&nbsp;root&nbsp&raquo; pour cette machine. Si le r&eacute;pertoire de spool est
 sur un autre serveur, notez que le courrier ne sera pas d&eacute;livrable si ce serveur,
 la passerelle, ou le r&eacute;seau les reliant sont hors-service. 
</p>
<p>
Pour les machines Windows de votre r&eacute;seau priv&eacute;, vous pouvez soit mettre
 en place un serveur POP sur le serveur de mail ou bien utiliser Samba pour
 exporter le r&eacute;pertoire de spool sur ces machines. Les machines Windows doivent
 &ecirc;tre configur&eacute;es pour envoyer et recevoir les messages sous un nom d'utilisateur
 Linux tel que joeuser@example.com, ainsi l'adresse m&eacute;l de l'h&ocirc;te est le nom
 de domaine uniquement, pas un nom de machine tel que barney.example.com. Le
 serveur SMTP sortant doit &ecirc;tre localis&eacute; sur la passerelle de r&eacute;seau priv&eacute; qui
 sera charg&eacute;e de la redirection des messages et de toute r&eacute;&eacute;criture d'adresse.
</p>
<p>
Ensuite vous devrez configurer Sendmail pour qu'il redirige les messages
 en provenance des machines du r&eacute;seau priv&eacute; et qu'il r&eacute;&eacute;crive les adresses si
 n&eacute;cessaire. R&eacute;cup&eacute;rez les sources les plus r&eacute;cents depuis le site web de Sendmail
 &agrave; l'adresse <htmlurl url="http://www.sendmail.org" name="http://www.sendmail.org">. Compilez les ex&eacute;cutables et ensuite allez dans le sous-r&eacute;pertoire
 <tt>cf/domain</tt> dans l'arborescence source de Sendmail et cr&eacute;ez le nouveau fichier
 suivant&nbsp;: <tt>example.com.m4</tt>.
</p>
<p>
<code>
divert(-1)
&num;
&num; Copyright (c) 1998 Sendmail, Inc.  All rights reserved.
&num; Copyright (c) 1983 Eric P. Allman.  All rights reserved.
&num; Copyright (c) 1988, 1993
&num;       The Regents of the University of California.  All rights reserved.
&num;
&num; Par l'utilisation de ce fichier, vous acceptez les termes et conditions plac&eacute;s
&num; dor&eacute;navant dans le fichier LICENCE qui peut &ecirc;tre trouv&eacute; &agrave; la racine
&num; de la distribution de sendmail
&num;
&num; 
 
&num;
&num; Ce qui suit est un fichier g&eacute;n&eacute;rique de domaine. Vous devriez pouvoir 
&num; l'utiliser n'importe o&ugrave;. Si vous voulez le personnaliser, copiez-le dans un fichier
&num; nomm&eacute; comme votre domaine et faites les modifications; puis copiez les fichiers .mc
&num; appropri&eacute;s et changez `DOMAIN(generic)' pour qu'ils renvoient &agrave; vos fichiers  
&num; de domaine modifi&eacute;s.
&num;
divert(0)
define(`confFORWARD_PATH', `&dollar;z/.forward.&dollar;w+&dollar;h:&dollar;z/.forward+&dollar;h:&dollar;z/.forward.&dollar;w:&dollar;z/.forward')dnl
FEATURE(redirect)dnl
MASQUERADE_AS(example.com)dnl
FEATURE(masquerade_envelope)dnl
</code>
</p><p>
Ceci d&eacute;finit le domaine example.com. Ensuite vous devez cr&eacute;er les fichiers
 <tt>sendmail.cf</tt> qui seront utilis&eacute;s sur le serveur de messagerie (la passerelle
 de r&eacute;seau priv&eacute;), et sur les autres noeuds du r&eacute;seau priv&eacute;.
</p>
<p>
Cr&eacute;ez le fichier suivant dans l'arborescence de Sendmail, sous <tt>cf/cf</tt>&nbsp;:
 <tt>example.master.m4</tt>
</p>
<p>
<code>
     divert(-1)
&num;
&num; Copyright (c) 1998 Sendmail, Inc.  All rights reserved.
&num; Copyright (c) 1983 Eric P. Allman.  All rights reserved.
&num; Copyright (c) 1988, 1993
&num;       The Regents of the University of California.  All rights reserved.
&num;
&num; Par l'utilisation de ce fichier, vous acceptez les termes et conditions plac&eacute;s
&num; dor&eacute;navant dans le fichier LICENCE qui peut &ecirc;tre trouv&eacute; &agrave; la racine
&num; de la distribution de sendmail 
&num;
      
&num;
&num; Ceci est un fichier prototype pour une configuration qui ne supporte rien 
&num; &agrave; part des connexions SMTP de base sur TCP.
&num;
&num; Vous devez changer la macro `OSTYPE' pour sp&eacute;cifier le syst&egrave;me d'exploitation
&num; sur lequel &ccedil;a va marcher&nbsp;; cela indiquera la localisation de fichiers de support
&num; divers pour l'environnement de votre syst&egrave;me d'exploitation. Vous DEVEZ
&num; cr&eacute;er un fichier de domaine dans ../domain et le r&eacute;f&eacute;rencer en ajoutant une 
&num; macro `DOMAIN' apr&egrave;s la macro `OSTYPE'. Je vous recommande de
&num; commencer  par copier ce fichier sous un autre nom de fa&ccedil;on &agrave; ce que les mises 
&num; &agrave; jour de sendmail n'&eacute;crasent pas vos modifications.
&num;
 
divert(0)dnl
OSTYPE(linux)dnl
DOMAIN(example.com)dnl
FEATURE(nouucp)
FEATURE(relay_entire_domain)
FEATURE(`virtusertable', `hash /etc/sendmail/virtusertable')dnl
FEATURE(`genericstable', `hash /etc/sendmail/genericstable')dnl
define(`confPRIVACY_FLAGS', ``noexpn,novrfy'')dnl
MAILER(local)
MAILER(smtp)
Cw fred.example.com
Cw example.com
</code>
</p><p>
Dans cet exemple, on a d&eacute;sactiv&eacute; les commandes &laquo;&nbsp;expn&nbsp&raquo; et &laquo;&nbsp;vrfy&nbsp&raquo;. Un agresseur
 pourrait tester en boucle avec &laquo;&nbsp;expn&nbsp&raquo; des alias tels que &laquo;&nbsp;personnel&nbsp&raquo; ou &laquo;&nbsp;employes&nbsp&raquo;
 jusqu'&agrave; ce qu'il trouve un alias qui lui d&eacute;veloppe plusieurs noms d'utilisateurs.
 Il peut alors essayer certains mots de passe m&eacute;diocres dans le but d'entrer
 (en supposant qu'il puisse obtenir une invite de login - les r&eacute;glages de s&eacute;curit&eacute;
 dans la section <ref id="securiser_domaine" name="S&eacute;curiser votre domaine" > sont d&eacute;finis de fa&ccedil;on &agrave; ce qu'aucune invite de login ne soit
 possible pour les attaquants de l'ext&eacute;rieur).
</p>
<p>
L'autre fichier que vous devez cr&eacute;er d&eacute;finira le sendmail.cf pour les machines
 esclaves&nbsp;: <tt>example.slave.m4</tt>.
</p>
<p>
<code>
divert(-1)
&num; 
&num; Copyright (c) 1998 Sendmail, Inc.  All rights reserved.
&num; Copyright (c) 1983 Eric P. Allman.  All rights reserved.
&num; Copyright (c) 1988, 1993
&num;       The Regents of the University of California.  All rights reserved.
&num;
&num; Par l'utilisation de ce fichier, vous acceptez les termes et conditions plac&eacute;s
&num; dor&eacute;navant dans le fichier LICENCE qui peut &ecirc;tre trouv&eacute; &agrave; la racine
&num; de la distribution de sendmail 
&num;
&num;
 
&num;
&num;  Ceci est un prototype pour un &laquo;&nbsp;null-client&nbsp&raquo; -- c'est &agrave; dire un client qui
&num;  ne fait rien &agrave; part rediriger tout le courrier vers un &eacute;changeur de mail. 
&num;  IL N'EST PAS UTILISABLE EN L'ETAT !!!
&num;
&num;  Pour l'utiliser, vous devez utiliser la fonction nullclient avec le nom de 
&num;  de l'&eacute;changeur de mail comme argument. Vous DEVEZ &eacute;galement d&eacute;finir un 
&num;  `OSTYPE' pour d&eacute;finir la localisation des r&eacute;pertoires de file d'attente et apparent&eacute;s.
&num;  En plus, vous POUVEZ s&eacute;lectionner la fonction nocanonify. Cela entrainera
&num;  l'envoi d'adresses non qualifi&eacute;es par la connection SMTP; normalement
&num;  elles sont qualifi&eacute;es avec le nom de masquage, qui est par d&eacute;faut le 
&num;  nom de la machine de connexion.
&num;  A part &ccedil;a, il ne devrait pas contenir d'autre ligne.
&num;
 
divert(0)dnl
 
OSTYPE(linux)
FEATURE(nullclient, fred.&dollar;m)
Cm example.com
</code>
</p><p>
Vous compilez les fichiers sendmail.cf qui vont bien avec la commande&nbsp;:
</p>
<p>
<verb>
     make example.master.cf example.slave.cf
</verb>
</p><p>
et puis vous copiez les fichiers sur les machines appropri&eacute;es sous le nom
 de <tt>sendmail.cf</tt>.
</p>
<p>
Cette configuration installe la plupart des fichiers de configuration de
 Sendmail dans le sous-r&eacute;pertoire <tt>/etc/sendmail</tt> et am&egrave;ne <it>sendmail</it> &agrave; analyser
 et &agrave; utiliser deux fichiers sp&eacute;cifiques, <tt>virtusertable.db</tt> et <tt>genericstable.db</tt>.
 Pour utiliser ces fichiers sp&eacute;cifiques, cr&eacute;ez leurs fichiers source. D'abord,
 <tt>virtusertable.db</tt>&nbsp;:
</p>
<p>
<code>
     John.Public@example.com                 jpublic
     Jane.Doe@example.com                    jdoe@somemachine.somedomain
     abuse@example.com                       root
     Pointyhaired.Boss@example.com           &num;phb&num;@hotmail.com
</code>
</p><p>
Ceci met en relation les adresses de messagerie du courrier entrant avec
 de nouvelles destinations. Les messages envoy&eacute;s &agrave; John.Public@example.com sont
 d&eacute;livr&eacute;s localement sur le compte Linux jpublic. Les messages pour Jane.Doe@example.com
 sont redirig&eacute;s vers un autre compte de messagerie, &eacute;ventuellement, dans un
 domaine diff&eacute;rent. Le courrier pour abuse@example.com est envoy&eacute; &agrave; root et
 ainsi de suite. L'autre fichier est <tt>genericstable.src</tt>&nbsp;:
</p>
<p>
<code>
     jpublic                                 John.Public@example.com
     janedoe                                 Jane.Doe@example.com
     whgiii                                  Pointyhaired.Boss@example.com
</code>
</p><p>
Ce fichier change le nom de l'exp&eacute;diteur des courriers sortants provenant
 de la messagerie locale. Alors qu'il ne peut manifestement pas avoir d'incidence
 sur l'adresse de retour des messages envoy&eacute;s directement par jdoe@somemachine.somedomain,
 il vous permet de r&eacute;&eacute;crire l'adresse des exp&eacute;diteurs en changeant leurs noms
 d'utilisateurs internes selon le &laquo;&nbsp;plan d'adressage m&eacute;l&nbsp&raquo; que vous avez choisi.
 En dernier ressort, cr&eacute;ez le fichier <tt>Makefile</tt> suivant dans <tt>/etc/sendmail</tt>&nbsp;:
</p>
<p>
<code>
     all&nbsp;: genericstable.db virtusertable.db
 
     virtusertable.db&nbsp;: virtusertable.src
             makemap hash virtusertable &lt; virtusertable.src
 
     genericstable.db&nbsp;: genericstable.src
             makemap hash genericstable &lt; genericstable.src
</code>
</p><p>
Ex&eacute;cutez <it>make</it> pour cr&eacute;er les fichiers compil&eacute;s interpr&eacute;tables par <it>sendmail</it>,
 et n'oubliez pas de r&eacute;-ex&eacute;cuter <it>make</it> et de red&eacute;marrer <it>sendmail</it> (ou de lui envoyer
 un SIGHUP) apr&egrave;s toute modification de chacun de ces fichiers &laquo;&nbsp;.src&nbsp&raquo;.
</p>
<sect2>
Solutions utilisant d'autres MTA (Agents de transfert de mail)
<p>
Je n'ai d'exp&eacute;rience que sur Sendmail. Si quiconque souhaite &eacute;crire cette
 section, contactez-moi svp. Sinon, il est possible que j'essaye plus tard de
 donner moi-m&ecirc;me des d&eacute;tails sur des MTA tels que <it>Postfix</it>, <it>Exim</it> ou <it>smail</it>. Je
 pr&eacute;f&eacute;rerais vraiment que quelqu'un d'autre, qui utilise ces programmes, &eacute;crive
 cette section.
</p>
<sect1>
Mettre en place le serveur web
<p>
Pour des raisons de s&eacute;curit&eacute;, vous devriez mettre en place votre serveur
 web public sur une machine &agrave; l'ext&eacute;rieur du r&eacute;seau priv&eacute; et non sur la passerelle.
 Si le serveur web a besoin d'acc&eacute;der &agrave; des bases de donn&eacute;es ou &agrave; d'autres ressouces
 entrepos&eacute;es sur le r&eacute;seau priv&eacute;, la situation se complique tant du point de
 vue du r&eacute;seau que du point de vue de la s&eacute;curit&eacute;. Une telle configuration est
 hors du champ de ce document.
</p>
<p>
Les pr&eacute;cisions sur l'installation du serveur en lui m&ecirc;me peuvent &ecirc;tre trouv&eacute;s
 dans la documentation d'apache et dans le WWW-HOWTO de Linux &agrave; l'adresse <htmlurl url="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/WWW-HOWTO" name="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/WWW-HOWTO"> ou
 &agrave; l'adresse <htmlurl url="http://www.freenix.org/unix/linux/HOWTO/WWW-HOWTO.html" name="http://www.freenix.org/unix/linux/HOWTO/WWW-HOWTO.html"> en version fran&ccedil;aise.
</p>
<sect1>
Mettre en place le serveur FTP
<p>
Une fois encore, votre serveur FTP devrait &ecirc;tre localis&eacute; sur une des machines
 visibles depuis l'ext&eacute;rieur et non sur la passerelle de r&eacute;seau priv&eacute;. Suivez
 les indications qui sont fournies avec votre d&eacute;mon FTP. Assurez-vous d'avoir
 r&eacute;cup&eacute;r&eacute; la version la plus r&eacute;cente car il existe des failles de s&eacute;curit&eacute; dans
 les vieilles versions de beaucoup de serveurs. Si votre site FTP ne n&eacute;cessite
 pas que des utilisateurs anonymes y transf&egrave;rent des fichiers, assurez-vous
 d'avoir d&eacute;sactiv&eacute; cette fonction dans le d&eacute;mon. Je recommande que la &laquo;&nbsp;connexion-utilisateur&nbsp&raquo;
 (non anonyme) ne soit pas autoris&eacute;e sur le serveur, ceci impliquant que vos
 utilisateurs utilisent scp, la commande de copie &agrave; distance du shell s&eacute;curis&eacute;,
 pour toute mise &agrave; jour de fichier qu'ils seraient amen&eacute;s &agrave; faire sur le serveur
 FTP. Cela donne &eacute;galement aux utilisateurs de bonnes habitudes de s&eacute;curit&eacute;
 et prot&egrave;ge du probl&egrave;me de &laquo;&nbsp;routeur hostile&nbsp&raquo; d&eacute;crit dans la section <ref id="securiser_domaine" name="S&eacute;curiser votre domaine" >.
</p>
<sect1>
Mettre en place le filtrage de paquets<label id="mettre_en_place_filtrage" >
<p>
Ce sujet est pr&eacute;sent&eacute; en d&eacute;tail dans la section <ref id="config_pare-feu" name="Configurer votre Pare-feu" >.
</p>
<sect>
S&eacute;curiser votre domaine<label id="securiser_domaine" >
<p>
Cette section traite de la s&eacute;curisation de votre domaine. L'accent est
 mis sur l'importance de la transparence de cette derni&egrave;re vis &agrave; vis des utilisateurs.
 Si votre s&eacute;curit&eacute; est trop contraignante et d&eacute;range trop les activit&eacute;s de vos
 utilisateurs, ceux-ci d&eacute;velopperont leurs propres proc&eacute;dures de contournement
 qui peuvent nuire &agrave; l'ensemble du domaine. Le meilleur moyen d'&eacute;viter ceci
 est de rendre la s&eacute;curit&eacute; aussi peu contraignante que possible et d'encourager
 les utilisateurs &agrave; vous contacter en premier lieu quand ils ont des difficult&eacute;s
 qui pourraient &ecirc;tre imputables aux mesures de s&eacute;curit&eacute; du site. Une certaine
 tol&eacute;rance est importante. Je sais, d'exp&eacute;rience personnelle, que si le r&egrave;glement
 de s&eacute;curit&eacute; est trop rigide, les utilisateurs mettront en place leurs propres
 tunnels &agrave; travers le firewall de fa&ccedil;on &agrave; pouvoir se loguer depuis l'ext&eacute;rieur
 du domaine. Il est pr&eacute;f&eacute;rable que les proc&eacute;dures de connexion &agrave; distance, ou
 n'importe quoi d'autre que tentent de faire les utilisateurs soient install&eacute;es,
 contr&ocirc;l&eacute;es et approuv&eacute;es par vous.
</p>
<p>
Cette section traite de la s&eacute;curisation de votre r&eacute;seau contre les agressions
 ext&eacute;rieures et contre un espionnage factuel depuis l'int&eacute;rieur. S&eacute;curiser votre
 site contre une attaque d&eacute;termin&eacute;e de la part d'utilisateurs l&eacute;gitimes &agrave; l'int&eacute;rieur
 du r&eacute;seau est une t&acirc;che beaucoup plus difficile et compliqu&eacute;e et reste hors
 du champ de ce document.
</p>
<p>
Un des points de s&eacute;curit&eacute; sur lesquels se base cette section est la protection
 contre le &laquo;&nbsp;routeur hostile&nbsp&raquo;. Le routeur fourni par votre ISP peut constituer
 &agrave; lui seul un ordinateur contr&ocirc;lable &agrave; distance dont le mot de passe est d&eacute;tenu
 par votre FAI. Il y a eu, dans le pass&eacute;, des probl&egrave;mes de s&eacute;curit&eacute; quand les
 mots de passe constructeur (ceux qui sont utilis&eacute;s quand le FAI oublie le mot
 de passe qu'il a attribu&eacute;) ont &eacute;t&eacute; connus par des &laquo;&nbsp;pirates&nbsp&raquo;. Si possible, vous
 devriez planifier votre s&eacute;curit&eacute; en prenant comme hypoth&egrave;se que le routeur
 est potentiellement hostile. C'est &agrave; dire qu'il pourrait utiliser n'importe
 quelle adresse dans vos plages publique <it>ou priv&eacute;e</it>, qu'il pourrait rediriger
 les paquets sortants vers un autre site ou qu'il pourrait enregistrer tout
 ce qui lui passe au travers.
</p>
<sect1>
Configurer votre pare-feu (firewall)<label id="config_pare-feu" >
<p>
Cette section traite de la configuration d'un routeur de filtrage, de masquage
 et de transport bas&eacute; sur <it>ipchains</it>. Vous devriez certainement lire d'abord le
 IPCHAINS-HOWTO (&agrave; l'adresse <htmlurl
 url="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/IPCHAINS-HOWTO"
 name="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/IPCHAINS-HOWTO">&nbsp;; <htmlurl url="http://www.freenix.org/unix/linux/HOWTO/IPCHAINS-HOWTO.html" name="http://www.freenix.org/unix/linux/HOWTO/IPCHAINS-HOWTO.html"> en version fran&ccedil;aise) puis chercher ici des conseils additionnels.
 Ce HOWTO d&eacute;crit les &eacute;tapes pour configurer un noyau avec support de masquage
 (masquerading) et d&eacute;crit en d&eacute;tail l'utilisation de l'ex&eacute;cutable. Vous devriez
 activer le pare-feu sur toutes les machines ayant une IP expos&eacute;e.
</p>
<p>
V&eacute;rifiez vos scripts de d&eacute;marrage afin de vous assurer que leur enchanement
 est comme suit sur la passerelle de r&eacute;seau priv&eacute;&nbsp;:
</p>
<p>
<enum>
 <item>
la carte Ethernet est initialis&eacute;e
 <item>
les r&egrave;gles de pare-feu sont pass&eacute;es en revue par ipchains 
 <item>
le transport est activ&eacute;
 <item>
les d&eacute;mons des services r&eacute;seau sont d&eacute;marr&eacute;s
</enum>
</p><p>
Ainsi, &agrave; titre d'exemple, sur un syst&egrave;me bas&eacute; sur la Slackware, la configuration
 du pare-feu devrait intervenir entre l'ex&eacute;cution du <tt>rc.inet1</tt> et du <tt>rc.inet2</tt>.
 En outre, si un quelconque probl&egrave;me apparat au cours des &eacute;tapes de d&eacute;marrage
 du pare-feu, un avertissement devrait &ecirc;tre affich&eacute; et la carte r&eacute;seau externe
 d&eacute;sactiv&eacute;e avant que les services r&eacute;seau ne soient lanc&eacute;s.
</p>
<p>
Un probl&egrave;me courant avec les pare-feu bas&eacute;s sur ipchains est de s'assurer
 que les r&egrave;gles sont correctement positionn&eacute;es selon que les paquets arrivent
 sur l'interface de loopback, ou depuis l'une des deux interfaces, interne ou
 externe. Les paquets d'origine locale peuvent &ecirc;tre bloqu&eacute;s par le pare-feu.
 Trop souvent, ceci est r&eacute;gl&eacute; par une esp&egrave;ce de d&eacute;bogage bricol&eacute; rapidement
 o&ugrave; les r&egrave;gles du pare-feu sont manipul&eacute;es jusqu'&agrave; ce que l'application semble
 fonctionner &agrave; nouveau correctement sur le pare-feu. Malheureusement, ceci peut
 parfois aboutir &agrave; un dispositif qui a des trous de s&eacute;curit&eacute; involontaires.
 Avec ipchains, il est possible d'&eacute;crire un script de firewall qui peut &ecirc;tre
 facilement d&eacute;bogu&eacute; et peut &eacute;viter beaucoup de probl&egrave;mes. Voici un script d'exemple
 <tt>/sbin/firewall.sh</tt>&nbsp;:
</p>
<p>
<code>
&num;! /bin/sh
&num;
&num; Nouveau script de firewalling utilisant IP chains. Cr&eacute;e un routeur filtrant 
&num; avec masquage de r&eacute;seau
&num;
 
&num; d&eacute;finition de quelques variables
 
IPCHAINS=/sbin/ipchains
 
LOCALNET=&quot;192.168.1.0/24&quot;       &num; le r&eacute;seau priv&eacute;
ETHINSIDE=&quot;192.168.1.1&quot;         &num; IP priv&eacute;e de fred.example.com &num;
ETHOUTSIDE=&quot;10.1.1.9&quot;           &num; IP publique de fred.example.com &num;
LOOPBACK=&quot;127.0.0.1/8&quot;
ANYWHERE=&quot;0/0&quot;
OUTSIDEIF=eth1                  &num; interface priv&eacute;e de fred.example.com
 
FORWARD_PROCENTRY=/proc/sys/net/ipv4/ip_forward
 
&num;
&num; Ces deux commandes retourneront des codes d'erreur si les r&egrave;gles 
&num; existent d&eacute;j&agrave; (ce qui se produit si vous ex&eacute;cutez le script 
&num; de pare-feu plus d'une fois). On met ces commandes avant &laquo;&nbsp;set -e&nbsp&raquo;
&num; comme &ccedil;a, dans ce cas le script n'est pas interrompu. 
 
&dollar;IPCHAINS -N outside
&dollar;IPCHAINS -N portmap
 
set -e                  &num; Abandonne imm&eacute;diatement si des erreurs se produisent 
                        &num; lors de l'installation des r&egrave;gles.
 
&num;
&num; Arr&ecirc;te la redirection de ports et initialise les tables
 
echo &quot;0&quot; &gt; &dollar;&lcub;FORWARD_PROCENTRY&rcub;
 
&dollar;IPCHAINS -F forward
&dollar;IPCHAINS -F input
&dollar;IPCHAINS -F output
&dollar;IPCHAINS -F outside
&dollar;IPCHAINS -F portmap
 
&num;
&num; Masque les paquets en provenance de notre r&eacute;seau local 
&num; &agrave; destination du monde ext&eacute;rieur. Ne masque pas les 
&num; paquets locaux &agrave; destination locale.
 
&dollar;IPCHAINS -A forward -s &dollar;LOCALNET -d &dollar;LOCALNET -j ACCEPT
&dollar;IPCHAINS -A forward -s &dollar;ETHOUTSIDE -d &dollar;ANYWHERE -j ACCEPT
&dollar;IPCHAINS -A forward -s &dollar;LOCALNET -d &dollar;ANYWHERE -j MASQ
 
&num;
&num; Positionne les signaux de priorit&eacute;. D&eacute;lais minimum 
&num; de connexion pour www, telnet, ftp et ssh (paquets sortants 
&num; uniquement).
 
&dollar;IPCHAINS -A output -p tcp -d &dollar;ANYWHERE www -t 0x01 0x10
&dollar;IPCHAINS -A output -p tcp -d &dollar;ANYWHERE telnet -t 0x01 0x10
&dollar;IPCHAINS -A output -p tcp -d &dollar;ANYWHERE ftp -t 0x01 0x10
&dollar;IPCHAINS -A output -p tcp -d &dollar;ANYWHERE ssh -t 0x01 0x10
 
&num;
&num; n'importe quel paquet venant de notre classe C locale doit 
&num; &ecirc;tre accept&eacute; comme le sont les paquets provenant de l'interface 
&num; de loopback  et l'interface externe de fred
 
&dollar;IPCHAINS -A input -s &dollar;LOCALNET -j ACCEPT
&dollar;IPCHAINS -A input -s &dollar;LOOPBACK -j ACCEPT
&dollar;IPCHAINS -A input -s &dollar;ETHOUTSIDE -j ACCEPT
 
&num;
&num; On va cr&eacute;er un jeu de r&egrave;gles pour les paquets provenant du grand, 
&num; m&eacute;chant monde ext&eacute;rieur, et puis y attacher toutes les interfaces 
&num; externes. Ces r&egrave;gles seront appel&eacute;es &laquo;&nbsp;outside&nbsp&raquo;.
&num;
&num; On cr&eacute;e &eacute;galement une chane &laquo;&nbsp;portmap&nbsp&raquo;. Les sockets utilis&eacute;es 
&num; par les d&eacute;mons r&eacute;f&eacute;renc&eacute;s par le portmapper RPC ne sont pas 
&num; fixes, il est donc un peu difficile de leur attribuer des 
&num; r&egrave;gles de filtrage. La chane portmap est configur&eacute;e dans un 
&num; script &agrave; part.
 
&num;
&num; Paquets envoy&eacute;s depuis n'importe quelle interface ext&eacute;rieure 
&num; &agrave; la chane &laquo;&nbsp;outside&nbsp&raquo;. Ceci inclut l'interface &dollar;OUTSIDEIF 
&num; et toute interface ppp utilis&eacute;e pour se connecter (ou fournir 
&num; une connexion).
 
&dollar;IPCHAINS -A input -i &dollar;&lcub;OUTSIDEIF&rcub; -j outside
&dollar;IPCHAINS -A input -i ppp+ -j outside
 
&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;
&num;
&num;  installe les r&egrave;gles de la chane &laquo;&nbsp;outside&nbsp&raquo;  &num;
&num;    
&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;
 
&num;
&num; Personne de l'ext&eacute;rieur ne devrait pouvoir se faire 
&num; passer comme venant de l'int&eacute;rieur ou du loopback.
 
&dollar;IPCHAINS -A outside -s &dollar;LOCALNET -j DENY
&dollar;IPCHAINS -A outside -s &dollar;LOOPBACK -j DENY
 
&num;
&num; Aucun des paquets rout&eacute;s vers notre r&eacute;seau local 
&num; ne peut venir de l'ext&eacute;rieur car l'ext&eacute;rieur 
&num; n'est pas cens&eacute; connatre nos adresses IP priv&eacute;es.
 
&dollar;IPCHAINS -A outside -d &dollar;LOCALNET -j DENY
 
&num;
&num; Bloque les connexions entrantes sur les ports X. Bloque 6000 &agrave; 6010.
 
&dollar;IPCHAINS -l -A outside -p TCP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 6000:6010 -j DENY
 
&num;
&num; Bloque les ports NFS 111 et 2049.
 
&dollar;IPCHAINS -l -A outside -p TCP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 111 -j DENY
&dollar;IPCHAINS -l -A outside -p TCP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 2049 -j DENY
&dollar;IPCHAINS -l -A outside -p UDP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 111 -j DENY
&dollar;IPCHAINS -l -A outside -p UDP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 2049 -j DENY
 
&num;
&num; Bloque les paquets xdm venant de l'ext&eacute;rieur, port UDP 177.
 
&dollar;IPCHAINS -l -A outside -p UDP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 177 -j DENY
 
&num;
&num; Bloque le port 653 YP/NIS .
 
&dollar;IPCHAINS -l -A outside -p TCP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 653 -j DENY
 
&num;
&num; On ne va pas s'emb&ecirc;ter avec des logins sur le port TCP 80, le port www.
 
&dollar;IPCHAINS -A outside -p TCP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 80 -j DENY
 
&num;
&num; Accepte des connexions donn&eacute;es et contr&ocirc;le FTP.
 
&dollar;IPCHAINS -A outside -p TCP -s &dollar;ANYWHERE 20:21 -d &dollar;ANYWHERE 1024: -j ACCEPT
 
&num;
&num; Accepte les paquets ssh.
 
&dollar;IPCHAINS -A outside -p TCP -s &dollar;ANYWHERE -d &dollar;ANYWHERE ssh -j ACCEPT
 
&num;
&num; Accepte les paquets DNS depuis l'ext&eacute;rieur.
 
&dollar;IPCHAINS -A outside -p TCP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 53 -j ACCEPT
&dollar;IPCHAINS -A outside -p UDP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 53 -j ACCEPT
 
&num;
&num; Accepte SMTP depuis partout.
 
&dollar;IPCHAINS -A outside -p TCP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 25 -j ACCEPT
 
&num;
&num; Accepte les paquets NTP.
 
&dollar;IPCHAINS -A outside -p UDP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 123 -j ACCEPT
 
&num;
&num; N'accepte pas les paquets d'indentification, on ne les utilise pas.
 
&dollar;IPCHAINS -A outside -p TCP -s &dollar;ANYWHERE -d &dollar;ANYWHERE 113 -j DENY
 
&num;
&num; D&eacute;sactive et journalise tous les autres paquets entrants, 
&num; TCP ou UDP, sur les ports privil&eacute;gi&eacute;s.
 
&dollar;IPCHAINS -l -A outside -p TCP -s &dollar;ANYWHERE -d &dollar;ANYWHERE&nbsp;:1023 -y -j DENY
&dollar;IPCHAINS -l -A outside -p UDP -s &dollar;ANYWHERE -d &dollar;ANYWHERE&nbsp;:1023 -j DENY
 
&num;
&num; Contr&ocirc;le bas&eacute; sur les r&egrave;gles de portmapper.
 
&dollar;IPCHAINS -A outside -j portmap
 
&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;
&num;
&num;  Fin des r&egrave;gles de la chane &laquo;&nbsp;outside&nbsp&raquo;   &num;
&num;
&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;&num;
 
&num;
&num; Bloque les paquets rwho sortants.
 
&dollar;IPCHAINS -A output -p UDP -i &dollar;OUTSIDEIF -s &dollar;ANYWHERE 513 -d &dollar;ANYWHERE -j DENY
 
&num;
&num; Emp&egrave;che les paquets netbios de s'&eacute;chapper.
 
&dollar;IPCHAINS -A output -p UDP -i &dollar;OUTSIDEIF -s &dollar;ANYWHERE 137 -d &dollar;ANYWHERE -j DENY
 
&num;
&num; Active le routage.
 
echo &quot;1&quot; &gt; &dollar;&lcub;FORWARD_PROCENTRY&rcub;
</code>
</p>

<p>Remarquez que le pare-feu peut &ecirc;tre utilis&eacute; non seulement pour les paquets entrants mais aussi pour les paquets sortants qui pourraient d&eacute;voiler des informations sur votre r&eacute;seau priv&eacute; tels que des paquets &laquo;&nbsp;rwho&nbsp&raquo; ou &laquo;&nbsp;netbios&nbsp&raquo;.
</p>

<p>Comme not&eacute; plus haut, les r&egrave;gles du portmapper sont l&eacute;g&egrave;rement diff&eacute;rentes car les d&eacute;mons portmap s'abonnent eux-m&ecirc;mes au portmapper et sont renseign&eacute;s sur les ports &agrave; &eacute;couter. Les ports utilis&eacute;s par un d&eacute;mon quelconque peuvent changer si vous modifiez les services RPC utilis&eacute;s ou si vous changez leur ordre de d&eacute;marrage. Le script suivant, <tt>/sbin/firewall.portmap.sh</tt>, g&eacute;n&egrave;re les r&egrave;gles pour le d&eacute;mon portmap.
</p>

<p>
<code>
&num;! /bin/sh
&num;
ANYWHERE=0/0
 
IPCHAINS=/sbin/ipchains
 
&dollar;IPCHAINS -F portmap
 
&num; R&egrave;gles pour emp&ecirc;cher l'acc&egrave;s aux services portmapp&eacute;s aux personnes de l'ext&eacute;rieur.
&num;
/usr/bin/rpcinfo -p | tail +2 | &bsol;
        &lcub; while read program vers proto port remainder
          do
             prot=`echo &dollar;proto | tr &quot;a-z&quot; &quot;A-Z&quot;`
             &dollar;IPCHAINS -l -A portmap -p &dollar;prot -s &dollar;ANYWHERE -d &dollar;ANYWHERE &dollar;port -j DENY || exit 1
          done
             &rcub;
</code>
</p>

<p>Nous n'avons pas &agrave; nous soucier du fait que les paquets entrants sont des paquets &laquo;&nbsp;l&eacute;gitimes&nbsp&raquo; en provenance du r&eacute;seau priv&eacute; ou non, la chane portmap n'est v&eacute;rifi&eacute;e que quand les paquets proviennent de l'ext&eacute;rieur.
</p>

<p>Cette configuration de pare-feu note la plupart des paquets suspects par l'interm&eacute;diaire de klogd avec la priorit&eacute; kern.info. Elle notera les essais de connexion normaux aussi bien que tous les scans furtifs connus.
</p>

<p>Maintenant on assemble le tout. On aimerait s'assurer qu'il n'existe pas de petite fen&ecirc;tre de vuln&eacute;rabilit&eacute; au d&eacute;marrage du syst&egrave;me, en cons&eacute;quence on configure la s&eacute;quence de d&eacute;marrage comme suit&nbsp;:
</p>

<p>
<code>
&num;! /bin/sh
&num;
&num; D&eacute;marrer le r&eacute;seau de fa&ccedil;on s&eacute;curis&eacute;e
&num;
&num;
/etc/rc.d/rc.inet1              &num; configure les interfaces r&eacute;seau
                                &num; et active le routage.
/sbin/firewall.sh || &lcub; echo &quot;la configuration du pare-feu a &eacute;chou&eacute;&quot;
                       /sbin/ifconfig eth1 down &rcub;
 
/sbin/ipchains -I outside 1 -j DENY     &num; interdit tous les paquets entrants
 
/etc/rc.d/rc.inet2              &num; d&eacute;marre les d&eacute;mons r&eacute;seau
 
sleep 5                         &num; les laisse se stabiliser
 
&num; s&eacute;curise les service portmapp&eacute;s
/sbin/firewall.portmap.sh || &lcub; echo &quot;la configuration du pare-feu de portmap a &eacute;chou&eacute;&quot;
                               /sbin/ifconfig eth1 down &rcub;
 
/sbin/ipchains -D outside 1       &num; autorise les paquets entrants
</code>
</p>

<p>Ceci suppose que eth1 est l'interface ayant l'adresse IP visible. Si la moindre erreur a lieu lors de l'installation d'une des r&egrave;gles d'ipchains, un avertissement est produit et cette interface est d&eacute;sactiv&eacute;e. La chaine &laquo;&nbsp;outside&nbsp&raquo; est positionn&eacute;e de mani&egrave;re &agrave; refuser tous les paquets avant que les d&eacute;mons de service r&eacute;seau ne soient d&eacute;marr&eacute;s, parce que les r&egrave;gles de pare-feu ne sont pas encore en place pour les services portmapp&eacute;s. Une fois que ces services sont prot&eacute;g&eacute;s par le pare-feu, la chane &laquo;&nbsp;outside&nbsp&raquo; est rendue &agrave; son comportement normal.
</p>

<sect1> <heading>Configurer OpenSSH ou SSH1<label id="config_ssh" ></heading>

<p>&agrave; l'heure o&ugrave; j'&eacute;cris, Open SSH, aussi bien que SSH1, offre d&eacute;sormais des possibilit&eacute;s de configuration permettant d'int&eacute;grer <it>scp</it>, <it>ssh</it> et <it>slogin</it> comme des ex&eacute;cutables sous les noms <it>rcp</it>, <it>rsh</it> et <it>rlogin</it> avec un retour transparent, dans les programmes clients ssh, aux <it>rsh</it>, <it>rcp</it> ou <it>rlogin</it> d'origine quand le site distant n'ex&eacute;cute pas <it>sshd</it>. Faire en sorte que l'invocation de <it>rsh</it> ex&eacute;cute &agrave; sa place le client <it>ssh</it> est, &agrave; mon avis, important pour conserver une s&eacute;curit&eacute; facile &agrave; utiliser et pour en d&eacute;charger les utilisateurs. Les scripts de tout le monde, les configurations de <it>rdist</it>, etc. continueront &agrave; fonctionner sans modification si le site distant ex&eacute;cute <it>sshd</it>, mais les donn&eacute;es seront envoy&eacute;es chiffr&eacute;es avec une forte certification de l'h&ocirc;te. La r&eacute;ciproque n'est pas toujours vraie. Tout sp&eacute;cialement si la machine distante n'ex&eacute;cute pas sshd, le programme <it>rsh</it> enverra un message &agrave; l'&eacute;cran, avertissant que la connexion n'est pas chiffr&eacute;e. Ce message provoque une erreur avec <it>rdist</it> et probablement avec d'autres programmes. Il ne peut &ecirc;tre supprim&eacute; par des options en ligne de commande ou de compilation. Pour <it>rdist</it>, une solution est d'appeler le programme avec <tt>-p /usr/lib/rsh/rsh</tt>.
</p>

<p>R&eacute;cup&eacute;rez ssh1 depuis le site de ssh (&agrave;&nbsp;:<htmlurl url="http://www.ssh.org" name="http://www.ssh.org">), ou OpenSSH depuis son site (&agrave;&nbsp;:<htmlurl url="http://www.openssh.org" name="http://www.openssh.org">), et compilez-le pour remplacer les &laquo;&nbsp;programmes en r&nbsp&raquo; (<it>rsh</it>, <it>rlogin</it> et <it>rcp</it>) non chiffr&eacute;s. D'abord, copiez ces trois fichiers dans <tt>/usr/lib/rsh</tt>, puis configurez le paquet ssh avec&nbsp;:
</p>

<p>
<verb>
./configure --with-rsh=/usr/lib/rsh/rsh --program-transform-name='s/^s/r/' --prefix=/usr
</verb>
</p>

<p>Installez les ex&eacute;cutables et configurez-les en fonction des directives. Sur la passerelle de r&eacute;seau priv&eacute;, assurez-vous que la configuration de sshd comprend bien les entr&eacute;es suivantes&nbsp;: 
</p>

<p>
<verb>
ListenAddress 192.168.1.1       &num; l'adresse interne de fred
IgnoreRhosts no
X11Forwarding yes
X11DisplayOffset 10
RhostsAuthentication no
RhostsRSAAuthentication yes
RSAAuthentication yes
PasswordAuthentication yes
</verb>
</p><p>
Vous serez amen&eacute; &agrave; effectuer des r&eacute;glages suppl&eacute;mentaires dans le fichier
 <tt>/etc/sshd_config</tt>, mais essayez de ne pas changer ces champs. Une fois que vous
 avez r&eacute;gl&eacute; toutes les entr&eacute;es du fichier sur les valeurs qui vous conviennent,
 copiez le fichier vers un nouveau fichier,<tt> /etc/sshd_config.ext</tt>, pour le r&eacute;seau
 externe. Changez deux entr&eacute;es dans le nouveau fichier&nbsp;: la valeur de &laquo;&nbsp;ListenAdress&nbsp&raquo;
 doit &ecirc;tre remplac&eacute;e par l'adresse IP de la passerelle de r&eacute;seau priv&eacute; (10.1.1.9
 dans notre exemple de fred.example.com) et &laquo;&nbsp;PasswordAuthentication&nbsp&raquo; doit &ecirc;tre
 positionn&eacute; sur &laquo;&nbsp;no&nbsp&raquo; dans <tt>/etc/sshd_config.ext</tt>. Dans vos scripts de d&eacute;marrage
 des services r&eacute;seau, faites d&eacute;marrer sshd deux fois, une fois avec 
</p>
<p>
<verb>
/usr/sbin/sshd
</verb>
</p><p>
et une fois avec 
</p>
<p>
<verb>
 /usr/sbin/sshd -f /etc/sshd_config.ext
</verb>
</p><p>
Ceci lancera deux d&eacute;mons sshd. Celui op&eacute;rant sur l'interface interne autorisera
 les connexions avec mot de passe, mais l'interface externe exigera la validation
 d'une cl&eacute; RSA avant que quiconque puisse se loguer.
</p>
<p>
Ensuite, d&eacute;sactivez les services telnet et shell dans le fichier de configuration
 de inetd (notez que la configuration propos&eacute;e dans la section <ref id="config_pare-feu" name="Configurer votre pare-feu" > emp&ecirc;che d&eacute;j&agrave;
 les acc&egrave;s depuis l'ext&eacute;rieur, mais il est pr&eacute;f&eacute;rable de se d&eacute;fendre en profondeur,
 ne vous en remettez pas au fait que tout fonctionne correctement). 
</p>
<p>
Les personnes qui veulent pouvoir se connecter depuis leur domicile ou
 depuis un lieu de d&eacute;placement auront besoin une cl&eacute; RSA. Assurez-vous qu'elles
 savent comment proc&eacute;der de fa&ccedil;on &agrave; ce qu'elles ne gaspillent pas leur &eacute;nergie
 &agrave; essayer de mettre en place un autre moyen de se connecter comme, par exemple,
 ex&eacute;cuter un telnetd sur un port sans privil&egrave;ge sur la machine pare-feu.
</p>
<p>
Une cl&eacute; RSA est g&eacute;n&eacute;r&eacute;e par la commande suivante&nbsp;: 
</p>
<p>
<verb>
ssh-keygen -b 1024 -f new_rsa_key
</verb>
</p><p>
Vous serez invit&eacute; &agrave; entrer une phrase-cl&eacute; (passphrase). Celle-ci ne doit
 <it>pas</it> &ecirc;tre vide. Une personne ayant un acc&egrave;s au fichier <tt>new_rsa_key</tt> et connaissant
 la phrase-cl&eacute; a tout ce qu'il lui faut pour r&eacute;ussir un d&eacute;fi d'authentification
 RSA. La phrase-cl&eacute; peut &ecirc;tre un mot de passe &laquo;&nbsp;introuvable&nbsp&raquo; ou une phrase longue,
 mais choisissez quelque chose de pas banal. Le fichier <tt>new_rsa_key</tt> peut &ecirc;tre
 copi&eacute; sur une disquette ou sur un portable et, en association avec la phrase-cl&eacute;,
 peut &ecirc;tre utilis&eacute; pour se connecter sous les comptes param&eacute;tr&eacute;s pour accorder
 l'acc&egrave;s &agrave; cette cl&eacute; RSA pr&eacute;cise.
</p>
<p>
Pour configurer un compte de fa&ccedil;on &agrave; ce qu'il soit accessible par une cl&eacute;
 RSA, cr&eacute;ez simplement un r&eacute;pertoire <tt>&dollar;HOME/.ssh</tt> pour cet utilisateur
 sur la passerelle de r&eacute;seau priv&eacute; (c'est &agrave; dire la machine qui recevra la demande
 de connexion), et copiez le fichier <tt>new_rsa_key.pub</tt> qui a &eacute;t&eacute; cr&eacute;&eacute; par la commande
 &laquo;&nbsp;ssh-keygen&nbsp&raquo; dans le fichier <tt>&dollar;HOME/.ssh/authorized_keys</tt>. Pour des d&eacute;tails
 sur les autres options que vous pouvez ajouter &agrave; la cl&eacute;, telles qu'obliger
 la demande de connexion &agrave; provenir d'une certaine adresse IP ou d'un certain
 nom d'h&ocirc;te, ou bien permettre &agrave; la cl&eacute; de n'autoriser l'invocation &agrave; distance
 que de certaines commandes seulement (par exemple une cl&eacute; RSA qui ne fait que
 commander le d&eacute;but d'une sauvegarde ou l'envoi par mail &agrave; l'ext&eacute;rieur du site
 d'un rapport d'&eacute;tat), reportez-vous &agrave; la section &laquo;&nbsp;AUTHORIZED_KEYS FILE FORMAT&nbsp&raquo;
 dans la page de manuel de sshd.
</p>
<p>
Il reste une seule chose &agrave; faire pour rendre le m&eacute;canisme de chiffrement
 RSA aussi simple que possible pour les utilisateurs. Si l'utilisateur est oblig&eacute;
 d'entrer la phrase-cl&eacute; plus d'une fois ou deux au cours de sa session, il va
 vraisemblablement finir par &ecirc;tre g&ecirc;n&eacute; et par prendre en main les questions
 de s&eacute;curit&eacute;. Sous Linux, faites en sorte que son shell de login soit invoqu&eacute;
 sous <it>ssh-agent</it>. Par exemple si les portables de soci&eacute;t&eacute; utilis&eacute;s en d&eacute;placement
 ex&eacute;cutent <it>xdm</it> et basculent les utilisateurs sous une session X, allez dans
 le fichier <tt>/var/X11R6/lib/xdm/Xsession_0</tt> et modifiez les lignes qui lancent
 le d&eacute;marrage et qui sont probablement du type&nbsp;:
</p>
<p>
<verb>
exec &quot;&dollar;startup&quot;
</verb>
</p><p>
par des lignes du type&nbsp;:
</p>
<p>
<verb>
exec ssh-agent &quot;&dollar;startup&quot;
</verb>
</p><p>
Dans mon param&eacute;trage de xdm il y a trois lignes dans ce fichier qui ont
 d&ucirc; &ecirc;tre modifi&eacute;es. Maintenant, quand l'utilisateur ouvre une session sur le
 portable, il saisit la commande 
</p>
<p>
<verb>
ssh-add new_rsa_key
</verb>
</p><p>
sous n'importe quel prompt, il saisit la phrase-cl&eacute; quand il y est invit&eacute;
 et toutes les fen&ecirc;tres auront acc&egrave;s sans phrase-cl&eacute; au compte sur la passerelle
 de r&eacute;seau priv&eacute; jusqu'&agrave; ce que l'utilisateur d&eacute;connecte la session X sur le
 portable.
</p>
<p>
Ex&eacute;cutez sshd sur toutes les machines de votre r&eacute;seau priv&eacute;, autant que
 sur vos h&ocirc;tes expos&eacute;s. Pour les autres machines que la passerelle, l'entr&eacute;e
 ListenAdress dans le fichier <tt>/etc/sshd_config</tt> peut-&ecirc;tre positionn&eacute;e sur &laquo;&nbsp;0.0.0.0&nbsp&raquo;.
 Vous devez mettre en place les cl&eacute;s des h&ocirc;tes avec la commande&nbsp;:
</p>
<p>
<verb>
ssh-keygen -b 1024 -f /etc/ssh_host_key -N &quot;&quot;
</verb>
</p><p>
puis ex&eacute;cuter <it>make-ssh-known-hosts</it> et distribuer le fichier <tt>/etc/ssh_know_hosts</tt>
 sur toutes les machines du r&eacute;seau priv&eacute;.
</p>
<p>
D&eacute;sactivez le telnet entrant et les &laquo;&nbsp;services en r&nbsp&raquo; non chiffr&eacute;s. Ne supprimez
 pas l'ex&eacute;cutable <it>telnet</it>, il est utile pour d'autres choses que de simples connexions
 telnet sur le port 23. Vous pouvez autoriser l'identification par mot de passe
 sur le r&eacute;seau priv&eacute; et la d&eacute;sactiver sur les machines expos&eacute;es, en imposant
 une cl&eacute; RSA pour la connexion sur les h&ocirc;tes expos&eacute;s.
</p>
<p>
Il est pratique pour les utilisateurs que les h&ocirc;tes du r&eacute;seau se r&eacute;pertorient
 les uns les autres dans le fichier <tt>/etc/hosts.equiv</tt>. Les d&eacute;mons sshd prendront
 ceci en compte et permettront aux personnes de se connecter &agrave; distance ou d'ex&eacute;cuter
 des shells &agrave; distance entre machines sans mot de passe ou
 phrase-cl&eacute;. &Agrave; chacune
 des connexions, les machines v&eacute;rifieront leurs identit&eacute;s respectives avec des
 cl&eacute;s RSA au niveau machine.
</p>
<p>
Une difficult&eacute; apparat quand un utilisateur connect&eacute; sur une machine du
 r&eacute;seau priv&eacute; veut se connecter sur une machine ayant une adresse IP publique.
 Vous ne pouvez pas utiliser <tt>/etc/hosts.equiv</tt> ou <tt>&dollar;HOME/.shosts</tt> pour permettre
 une identification sans mot de passe parce que l'utilisateur est sur une machine
 dont l'adresse IP ne peut &ecirc;tre d&eacute;termin&eacute;e - elle semblera venir du pare-feu,
 mais les cl&eacute;s-machine ne fonctionneront pas. Il y a deux solutions &agrave; cela.
 D'abord, si vous voulez vraiment utiliser les m&eacute;thodes <tt>/etc/hosts.equiv</tt> ou
 <tt>&dollar;HOME/.shosts</tt>, l'utilisateur devra se connecter &agrave; la passerelle de r&eacute;seau
 priv&eacute; (fred.example.com dans notre exemple actuel) et ensuite se connecter
 sur la machine expos&eacute;e depuis cet endroit. L'autre technique consiste &agrave; utiliser
 l'authentification RSA qui fonctionne toujours ind&eacute;pendamment des fantaisies
 du m&eacute;canisme de r&eacute;solution et d'adresses IP occasionn&eacute;es par votre configuration.
 
</p>
<sect1>
Configurer X
<p>
La qu&ecirc;te perp&eacute;tuelle de l'utilisateur pour prouver qu'il privil&eacute;gie la
 facilit&eacute; d'utilisation par rapport &agrave; la s&eacute;curit&eacute;, a rendu commun l'usage de
 la commande 
</p>
<p>
<verb>
xhost +
</verb>
</p><p>
dans ses scripts d'initialisation de X. Ceci permet l'acc&egrave;s au serveur
 X &agrave; n'importe qui dans le monde. Maintenant, n'importe quel intrus peut remplacer
 votre fond d'&eacute;cran par quelque chose d'embarassant juste au moment o&ugrave; votre
 chef fait visiter votre bureau &agrave; sa m&egrave;re. Cet intrus peut &eacute;galement tranquillement
 surveiller tout ce que vous tapez au clavier et capturer le contenu de votre
 &eacute;cran sur sa machine. Inutile de dire que ceci ne sied pas tr&egrave;s bien aux mots
 de passe que vous utilisez pour vous connecter sur d'autres sites ou &agrave; d'autres
 documents sensibles affich&eacute;s &agrave; l'&eacute;cran. Le protocole xhost lui m&ecirc;me a des limitations
 inh&eacute;rentes au fait qu'il n'est pas possible d'accorder la permission d'utiliser
 l'affichage sur une &laquo;&nbsp;base utilisateur&nbsp&raquo; mais seulement sur une &laquo;&nbsp;base machine&nbsp&raquo;.
</p>
<p>
Optez pour l'identification <it>xauth</it>. Si vous avez <it>xdm</it>, vous ex&eacute;cutez d&eacute;j&agrave;
 probablement l'identification <it>xauth</it> mais <it>xhost</it> fonctionne toujours et peut
 continuer &agrave; &ecirc;tre utilis&eacute; par les gens pour ex&eacute;cuter des processus X entre machines.
 Une fois encore, le but est de rendre la s&eacute;curit&eacute; suffisamment facile &agrave; utiliser
 de mani&egrave;re &agrave; ce que les utilisateurs ne soient plus tent&eacute;s d'utiliser la commande
 <it>xhost</it>. 
</p>
<p>
Le param&eacute;trage de sshd d&eacute;crit dans la section <ref id="config_ssh" name="Configurer SSH1" >, avec l'indicateur &laquo;&nbsp;X11Forwarding&nbsp&raquo;
 positionn&eacute;, est actuellement plus simple d'utilisation que la technique <it>xhos</it>t.
 Une fois que vous vous &ecirc;tes connect&eacute; sur votre terminal, vous pouvez simplement
 vous &laquo;&nbsp;rloguer&nbsp&raquo; sur une machine distante et ex&eacute;cuter <it>netscape</it>, <it>xv</it> ou ou ce que
 vous voulez sans avoir &agrave; positionner la variable &dollar;DISPLAY ou &agrave; accorder
 des permissions explicites. Au cours du login <it>ssh</it>, le syst&egrave;me est configur&eacute;
 d'une mani&egrave;re transparente pour l'utilisateur final, et m&ecirc;me, tous les paquets
 sont chiffr&eacute;s avant de partir sur le r&eacute;seau.
</p>

<p>Si vous n'avez pas la possibilit&eacute; d'utiliser le transfert X11 sshd pour une raison ou pour une autre, vous devrez utiliser <it>xauth</it> quand vous voudrez autoriser les autres machines &agrave; se connecter sur votre serveur X. Documentez ceci pour vos utilisateurs ou bien cr&eacute;ez des scripts shell sp&eacute;cialis&eacute;s pour les aider. La commande ad&eacute;quate pour permettre une identification, &laquo;&nbsp;jpublic&nbsp&raquo; sur la machine &laquo;&nbsp;barney&nbsp&raquo; de fa&ccedil;on &agrave; avoir acc&egrave;s au serveur est&nbsp;: 
</p>

<p>
<verb>
/usr/X11/bin/xauth extract - &dollar;DISPLAY | rsh -l jpublic barney /usr/X11/bin/xauth merge -
</verb>
</p>

<p>Cette s&eacute;quence n'est pas n&eacute;cessaire pour autoriser les connexions X depuis les machines qui partagent un r&eacute;pertoire commun de montage NFS. La cl&eacute; xauth sera imm&eacute;diatement disponible aux utilisateurs de toutes les machines qui montent le m&ecirc;me r&eacute;pertoire racine.
</p>

<p>Je serais tent&eacute; d'effacer purement et simplement <it>xhost</it> de toutes les machines. Si ceci cause des probl&egrave;mes pour quelques programmes, vous saurez au moins que ces programmes avaient une s&eacute;curit&eacute; mal con&ccedil;ue. Il est suffisamment ais&eacute; d'&eacute;crire un script-shell qui utilise la s&eacute;quence <it>xauth</it> d&eacute;crite plus haut comme solution de remplacement pour <it>xhost</it>.
</p>

<p>Notez que, si <it>rsh</it> n'est pas le programme de chiffrement de ssh, la cl&eacute; xauth est envoy&eacute;e sous forme de texte. Quiconque s'empare du texte de la cl&eacute; peut acc&eacute;der &agrave; votre serveur, ainsi vous ne gagnez pas beaucoup de s&eacute;curisation si vous n'utilisez pas ssh pour ces transactions. Notez &eacute;galement que si les r&eacute;pertoires home des utilisateurs sont export&eacute;s via NFS (Network File System) la cl&eacute; xauth est disponible en clair pour n'importe quelle personne en mesure d'espionner ces paquets NFS, ind&eacute;pendamment du fait que vous ex&eacute;cutez ssh sur vos syst&egrave;mes.
</p>

<sect1> <heading>Configurer le partage de fichiers</heading>

<p>Avec la messagerie arrivant sur une machine centralis&eacute;e, les proc&eacute;dures de lecture et d'exp&eacute;dition depuis n'importe quel h&ocirc;te d&eacute;crites ici sont tr&egrave;s pratiques, mais des pr&eacute;cautions doivent &ecirc;tre prises contre le furetage de la part d'utilisateurs locaux qui s'ennuient. NFS sans impl&eacute;mentation de AUTH_DES manque fonci&egrave;rement de s&eacute;curit&eacute;. NFS s'en remet &agrave; la machine cliente pour certifier l'acc&egrave;s, il n'y a pas de v&eacute;rification de mot de passe sur le serveur pour s'assurer que le client est autoris&eacute; &agrave; acc&eacute;der &agrave; tel fichier priv&eacute; d'un utilisateur particulier. Une machine Windows peut &ecirc;tre configur&eacute;e pour lire les volumes export&eacute;s par NFS sous n'importe quel identifiant num&eacute;rique en outrepassant compl&egrave;tement les permissions de fichiers UNIX. En cons&eacute;quence, les exports NFS ne devraient &ecirc;tre mis en place que sur les machines qui sont toujours sous Linux (ou UNIX), sous votre contr&ocirc;le direct, et jamais sur celles qui ont un boot multiple avec Windows. Si vous voulez exporter le r&eacute;pertoire de spool de votre messagerie, ou n'importe quel autre r&eacute;pertoire, vers des machines qui peuvent &ecirc;tre &agrave; l'occasion utilis&eacute;es sous Windows, exportez-les avec Samba en mettant le mode d'identification sur &laquo;&nbsp;security=USER&nbsp&raquo;. Le fait de connecter les machines sur votre r&eacute;seau &agrave; l'aide d'un commutateur plut&ocirc;t qu'un hub sera &eacute;galement b&eacute;n&eacute;fique et donnera peu d'int&eacute;r&ecirc;t &agrave; la mise en place de renifleurs sur les machines Windows. Cependant, et en dernier lieu, il est tr&egrave;s difficile de s&eacute;curiser un partage de fichier &agrave; travers les r&eacute;seaux au moment de son &eacute;criture.
</p>

<p>Pourquoi vous inqui&eacute;ter si vous ne pouvez r&eacute;ellement s&eacute;curiser les disques r&eacute;seau&nbsp;? C'est avant tout un moyen de rendre l'ensemble de la s&eacute;curisation cr&eacute;dible. Si vous laissez une feuille de papier avec des informations confidentielles sur votre bureau et que quelqu'un la lit, il pourra arguer du fait qu'il n'avait pas r&eacute;alis&eacute; la nature du document, sa curiosit&eacute; naturelle venant juste de l'emporter quand il l'a vu pos&eacute;e l&agrave;. Si la feuille de papier est dans un classeur ou dans un tiroir du bureau, c'est une histoire totalement diff&eacute;rente. L'objet des mesures de s&eacute;curit&eacute; en interne est surtout de s'assurer que personne ne peut accidentellement compromettre la s&eacute;curit&eacute; g&eacute;n&eacute;rale.
</p>

<sect> <heading>Remerciements</heading>

<p>Ce document a &eacute;t&eacute; &eacute;crit comme documentation interne pour le projet DYNACAN, int&eacute;gr&eacute; au au projet de d&eacute;veloppement continu sous le contr&ocirc;le du D&eacute;veloppement des ressources humaines Canada.
</p>

<p>Ce document a consid&eacute;rablement b&eacute;n&eacute;fici&eacute; des suggestions de 
</p>

<p>
<itemize>

 <item>Rod Smith (rodsmith@rodsbooks.com), qui a sugg&eacute;r&eacute; que je fournisse des d&eacute;tails sur la mani&egrave;re d'enregistrer un nom de domaine, sur la configuration avec des adresses IP dynamiques et qui m'a orient&eacute; sur les divers services d'h&eacute;bergement d'IP dynamiques et sur Granite Canyon.

 <item>Greg Leblanc (gleblanc@my-deja.com) pour des suggestions utiles pour am&eacute;liorer la lisibilit&eacute; du document.

 <item>Sami Yousif (syousif@iname.com).

 <item>Marc-Andr&eacute; Dumas (m_a_dumas@hotmail.com), qui m'a sugg&eacute;r&eacute; la section concernant la transposition du domaine sur de nouvelles adresses IP.

 <item>Osamu Aoki (aoki@pacbell.net).

 <item>Joao Ribeiro &lt;(url url=&quot;mailto:sena@decoy.ath.cx&quot;name=&quot;sena@decoy.ath.cx&quot;&gt;).
</itemize>
</p>

<sect> <heading>Glossaire des termes utilis&eacute;s</heading>

<p>Voici une liste de la signification de certains des mots ou acronymes utilis&eacute;s dans le document.
</p>

<p>

<descrip>

 <tag><label id="adresse_ip" >Adresse IP</tag>
<p>L'adresse d'une certaine interface r&eacute;seau. Sous le standard  actuel, nomm&eacute; ipv4, cette adresse consiste en une s&eacute;rie de 4 valeurs cod&eacute;es sur 8 bits g&eacute;n&eacute;ralement &eacute;crites en base 10 et s&eacute;par&eacute;s par des points. La communication entre ordinateurs sur internet est bas&eacute;e sur l'envoi de paquets d'information entre adresses IP.
</p>

 <tag>Adresse IP dynamique</tag>
<p>Adresse IP qui est attribu&eacute;e p&eacute;riodiquement ou sur la base d'une session. Aucune garantie n'est donn&eacute;e sur le fait que l'adresse IP restera la m&ecirc;me. Une adresse IP dynamique n'est susceptible de changer que quand votre connexion r&eacute;seau tombe et se reconnecte, ou bien p&eacute;riodiquement lors d'une n&eacute;gociation DHCP. Certains services bas&eacute;s sur la session tels que <it>telnet</it> ou <it>ssh</it> s'arr&ecirc;teront si l'adresse IP de l'une ou l'autre des deux machines connect&eacute;es change pendant la session.</p>

 <tag>Adresse IP statique</tag>
<p>Une adresse IP qui vous a &eacute;t&eacute; attribu&eacute;e ou lou&eacute;e de mani&egrave;re permanente. Sauf annulation de la convention qui vous attribue cette adresse IP, elle sera toujours disponible pour votre utilisation, et aucune autre machine sur internet n'est autoris&eacute;e &agrave; utiliser cette adresse. S'oppose &agrave; Adresse IP dynamique.</p>

 <tag>DHCP</tag>
<p>Dynamic Host Configuration Protocol. Un standard, d&eacute;fini dans la RFC 1531, pour que des ordinateurs sur r&eacute;seau TCP/IP puissent obtenir de serveurs des informations telles que l'adresse IP qu'ils doivent utiliser, le masque de r&eacute;seau, la passerelle, etc. Plut&ocirc;t que ses informations soient param&eacute;tr&eacute;es par un administrateur, la machine les demande simplement au serveur quand elle se connecte au r&eacute;seau.</p>

 <tag>DNS</tag>
<p>Domain name service. Un standard pour convertir les noms de domaine en adresses IP ou vice-versa, en recherchant l'information dans des bases de donn&eacute;es centrales.</p>

 <tag>DSL</tag>
<p>Digital Subscriber Line. Une connexion r&eacute;seau relativement rapide, habituellement fournie sur un c&acirc;blage t&eacute;l&eacute;phonique sp&eacute;cialis&eacute;.</p>

 <tag><label id="FAI" >FAI</tag>
<p>Fournisseur d'acc&egrave;s &agrave; internet. La soci&eacute;t&eacute; qui vous fournit la connexion &agrave; internet, y compris la connexion physique, l'h&eacute;bergement de services, et l'attribution d'adresses IP qu'elle contr&ocirc;le.</p>

 <tag>Fournisseur d'acc&egrave;s Internet</tag>
<p>voir <ref id="FAI" name="FAI"></p>

 <tag>FTP</tag>
<p>File Transfert Protocol. Un protocole pour envoyer des fichiers entre machines &agrave; travers internet.</p>

 <tag>ftpd</tag>
<p>Le d&eacute;mon (serveur) charg&eacute; de fournir le service FTP sur un h&ocirc;te. Il r&eacute;pond aux requ&ecirc;tes faites par un client distant.</p>

 <tag>IP</tag>
<p>voir <ref id="adresse_ip" name="adresse IP" ></p>

 <tag>ISP</tag>
<p>Internet Service Provider, &eacute;quivalent anglais pour <ref id="FAI" name="FAI" ></p>

 <tag><label id="masquage" >Masquage (ou camouflage)</tag>
<p>Un type de filtrage dans lequel les paquets &eacute;manant d'une machine vers le monde ext&eacute;rieur ont leur en-t&ecirc;te r&eacute;&eacute;crit de fa&ccedil;on &agrave; ce qu'ils semblent provenir d'une machine interm&eacute;diaire. La machine interm&eacute;diaire transmet alors les r&eacute;ponses &agrave; la machine d'origine. Le r&eacute;sultat, en termes de r&eacute;seau, est qu'un r&eacute;seau entier de machines peut sembler n'utiliser qu'une seule adresse IP, celle de la machine qui assure le masquage, en ce qui concerne les connexions ext&eacute;rieures.</p>

 <tag>Masquerading</tag>
<p>voir <ref id="masquage" name="masquage" ></p>

 <tag>named</tag>
<p>Le serveur de noms. C'est le d&eacute;mon qui r&eacute;pond aux requ&ecirc;tes DNS. Il est distribu&eacute; dans le paquet BIND.</p>

 <tag>Network Time Protocol</tag>
<p>voir <ref id="NTP" name="NTP" ></p>

 <tag><label id="NTP" >NTP</tag>
<p>Network Time Protocol. Un standard pour synchroniser votre horloge syst&egrave;me avec &laquo;&nbsp;l'heure officielle&nbsp&raquo;, d&eacute;fini comme la r&eacute;f&eacute;rence de beaucoup d'horloges de pr&eacute;cision &agrave; travers le monde.</p>

 <tag>OS</tag>
<p>Operating System. voir <ref id="SE" name="SE" ></p>

 <tag>PHB</tag>
<p>Pointy Haired Boss (voir&nbsp;: <htmlurl url="http://www.unitedmedia.com/comics/dilbert/about/html/boss.html" name="http://www.unitedmedia.com/comics/dilbert/about/html/boss.html"> ou <htmlurl url="http://www.cplus.fr/html/samedicomedie/dilbert/personnages.html#3" name="http://www.cplus.fr/html/samedicomedie/dilbert/personnages.html#3">). Un personnage de Scott Adams, dans la s&eacute;rie Dilbert.</p>

 <tag>Provider</tag>
<p>voir <ref id="FAI" name="FAI" ></p>

 <tag>Requ&ecirc;te DNS directe</tag>
<p>(forward DNS) Une requ&ecirc;te DNS qui convertit un nom de domaine en une adresse IP.</p>

 <tag>Requ&ecirc;te DNS invers&eacute;</tag>
<p>(reverse DNS) Une requ&ecirc;te DNS qui convertit une adresse IP en un nom de domaine.</p>

 <tag>Routeur</tag>
<p>Une machine sp&eacute;cialis&eacute;e qui met &agrave; ex&eacute;cution les r&egrave;gles concernant l'endroit o&ugrave; envoyer les paquets sur la base de leur adresse IP, les ponts entre vos machines Ethernet et n'importe quel m&eacute;dia de communication qui vous connecte avec votre FAI.</p>

 <tag>Script CGI</tag>
<p>Common Gateway Interface. C'est un programme qui est ex&eacute;cut&eacute; &agrave; la demande pour g&eacute;n&eacute;rer le contenu d'une page web. Si une page web doit faire autre chose que d'envoyer des informations (textes et graphiques) fixes au navigateur, vous aurez probablement besoin d'un programme quelconque de g&eacute;n&eacute;ration d'affichage dynamique tel qu'un script CGI. Les applications peuvent &ecirc;tre des forums de dicussion, des formulaires interactifs, des cartes de cr&eacute;dit e-commerce, etc.</p>

 <tag><label id="SE" >SE</tag>
<p>Syst&egrave;me d'exploitation. Linux, Windows, FreeBSD, BeOS, HP-UX, MacOS, etc.</p>

 <tag>ssh</tag>
<p>Le shell s&eacute;curis&eacute;. Une substitution chiffr&eacute;e pour <it>rlogin</it>, <it>telnet</it>, <it>ftp</it> et autres programmes. Prot&egrave;ge contre l'usurpation d'adresse, l'attaque de l'intercepteur, et le reniflage de paquets.</p>

</descrip>
</p>

</article>