Taille: 12171
Commentaire:
|
Taille: 12180
Commentaire:
|
Texte supprimé. | Texte ajouté. |
Ligne 5: | Ligne 5: |
C'est donc un outil de lutte contre la propagation des virus et aussi des spams de l'AUF. | C'est donc un outil de lutte contre la propagation des virus et aussi des spams utilisé à l'AUF. |
ClamAV
ClamAV est un antivirus libre que nous utilisons le plus souvent dans un serveur de messagerie pour scanner les mails à la recherche de vers, virus, spam, ... C'est donc un outil de lutte contre la propagation des virus et aussi des spams utilisé à l'AUF.
Les sources officielles se trouvent sur http://www.clamav.net
Du côté de notre distro préférée, le projet debian-volatile se charge de maintenir les paquets qu'il faut pour que notre ClamAV fonctionne et soit à peu près à jour comme il faut.
Donc, il faut avoir cette entrée dans le fichier sources.list de tous tes serveurs de messagerie :
deb http://volatile.debian.org/debian-volatile lenny/volatile main
Deux sous-programmes :
- freshclam : qui se charge des mises à jour de la base de définitions des virus
- clamd : qui fait le vrai boulot, scanne les fichiers à la recherche de virus
Il faut donc installer les paquets clamav-daemon et clamav-freshclam.
Les fichiers de configurations sont dans /etc/clamav et sont :
/etc/clamav/clamd.conf
C’est le principal fichier de configuration, c’est lui qui précise les paramètres comme le type de fichiers à scanner ou ne pas scanner et les options qui vont avec, les fichiers où écrire les logs, la taille maximale des fichiers à scanner, …
Pour ce fichier, les options pouvant être retenues sont :
1 ##
2 ## Gestion des Logs
3 ##
4 ##
5
6 # Le fichier de log
7 LogFile /var/log/clamav/clamd.log
8
9 # Protéger le fichier de log contre les écritures concurrentes
10 LogFileUnlock false
11 # Permet d'éviter de lancer plusieurs clamav avec le même fichier de log
12
13 # Désactiver la gestion de la rotation par clamav, et laisser logrotate le faire
14 LogFileMaxSize 0
15 # Normalement, sur une lenny, c'est déjà bien géré
16
17 # Log time with each message, je préfère ; ça fait quelques octets en plus par log,
18 # mais j'imagine vraiment mal des logs sans heures.
19 LogTime true
20
21 # Normal non, on va pas se mettre à logguer les trucs clean
22 LogClean no
23
24 # On log déjà dans /var/log/clamav/clamd.log
25 LogSyslog no
26
27 # Specify the type of syslog messages
28 # En plus, on n'en a pas besoin, donc peut être mis en comment
29 LogFacility LOG_LOCAL6
30
31 # A mettre à yes seulement pendant la phase de test
32 LogVerbose no
33
34 ##
35 ## Gestion du processus
36 ##
37 ##
38
39 # Facile
40 PidFile /var/run/clamav/clamd.pid
41
42 # Cette option est vraiment optionnelle. Ça précise juste le répertoire temporaire
43 TemporaryDirectory /tmp
44
45 # Chemin vers le répertoire de la base de données
46 DatabaseDirectory /var/lib/clamav
47
48 # Charger uniquement les définitions officielles publiées par le projet ClamAV :
49 # je garde à no parce que c'est la config par défaut.
50 OfficialDatabaseOnly no
51
52 # Dans ma config, je mets cette option en commentaire, parce que je fais communiquer
53 # clamav et exim par une autre méthode avec IP et port réseau.
54 #LocalSocket /var/run/clamav/clamd.ctl
55
56 # Paramètres en commentaire aussi chez moi, mais à activer optionnellement chez les
57 # utilisateurs de LocalSocket
58 #LocalSocketGroup clamav
59 #LocalSocketMode 660
60 #FixStaleSocket yes
61
62 # Moi j'utilise plutôt ça, au lieu de LocalSocket :
63 # L'adresse IP et le port sur lequel écoute clamav
64 TCPAddr 127.0.0.1
65 TCPSocket 3310
66
67 # Maximum length the queue of pending connections may grow to :
68 MaxConnectionQueueLength 15
69
70 # Close the connection when the data size limit is exceeded.
71 # The value should match your MTA's limit for a maximum attachment size.
72 StreamMaxLength 10M
73
74 # Maximum number of threads running at the same time.
75 MaxThreads 12
76
77 # Cette option spécifie le temps en secondes après lequel clamd ferme la
78 # connexion si le client ne réagit plus
79 CommandReadTimeout 5
80
81 # This option specifies how long to wait (in miliseconds) if the send buffer is full.
82 # Keep this value low to prevent clamd hanging
83 SendBufTimeout 200
84
85 # Maximum number of queued items (including those being processed by MaxThreads threads)
86 # It is recommended to have this value at least twice MaxThreads if possible.
87 MaxQueue 100
88
89 # Waiting for a new job will timeout after this time (seconds).
90 IdleTimeout 30
91
92 # Profondeur max des répertoires scannés
93 MaxDirectoryRecursion 15
94
95 # Follow directory symlinks. Ça c'est des coups à faire planter son clamav en mettant yes.
96 FollowDirectorySymlinks no
97
98 # Follow regular file symlinks.
99 FollowFileSymlinks no
100
101 # Scan files and directories on other filesystems.
102 CrossFilesystems yes
103
104 # Perform a database check, toutes les 10 mn
105 SelfCheck 600
106
107 # Run as clamav user.
108 User clamav
109
110 # Initialize supplementary group access (clamd must be started by root).
111 AllowSupplementaryGroups no
112
113 # Stop daemon when libclamav reports out of memory condition.
114 ExitOnOOM yes
115
116 # Don't fork into background ?
117 Foreground no
118
119 # Disable debug messages in libclamav ?
120 Debug no
121
122 # Remove temporary files ? (for debug purposes).
123 LeaveTemporaryFiles no
124
125 # Detect Possibly Unwanted Applications.
126 DetectPUA no
127
128 # In some cases (eg. complex malware, exploits in graphic files, and others),
129 # ClamAV uses special algorithms to provide accurate detection. This option
130 # controls the algorithmic detection.
131 # Je le laisse donc à yes comme eux
132 AlgorithmicDetection yes
133
134 ##
135 ## Executable files
136 ##
137
138 # PE = Portable Executable, exécutable de Windows
139 # This option allows ClamAV to perform a deeper analysis of executable files
140 ScanPE yes
141
142 # Executable and Linking Format is a standard format for UN*X executables.
143 # This option allows you to control the scanning of ELF files.
144 ScanELF yes
145
146 # With this option clamav will try to detect broken executables (both PE and
147 # ELF) and mark them as Broken.Executable.
148 # Je le garde à no comme eux
149 DetectBrokenExecutables no
150
151 ##
152 ## Documents
153 ##
154
155 # This option enables scanning of OLE2 files, such as Microsoft Office
156 # documents and .msi files.
157 ScanOLE2 yes
158
159 # This option enables scanning within PDF files.
160 ScanPDF yes
161
162 ##
163 ## Mail files
164 ##
165
166
167 # Enable internal e-mail scanner.
168 ScanMail yes
169
170 # WARNING: This option may open your system to a DoS attack.
171 # Never use it on loaded servers.
172 ScanPartialMessages no
173
174 # Avec cette option, ClamAV essaiera de détecter les tentatives de phishing
175 PhishingSignatures yes
176
177 # Scanne URLs trouvés dans les emails à la recherche de tentative de phishing
178 PhishingScanURLs yes
179
180 # Bloquer les SSL qui ne coïncident pas dans les USLs ?
181 # This can lead to false positives.
182 PhishingAlwaysBlockSSLMismatch no
183
184 # Ne pas bloquer les URLs masqués
185 PhishingAlwaysBlockCloak no
186
187 # If an archive contains both a heuristically detected
188 # virus/phish, and a real malware, the real malware will be reported
189 HeuristicScanPrecedence no
190
191 ##
192 ## Data Loss Prevention (DLP)
193 ##
194
195 # Enable the DLP module ?
196 StructuredDataDetection no
197
198 ##
199 ## HTML
200 ##
201
202 # Scanne de l'HTML
203 ScanHTML yes
204
205 ##
206 ## Archives
207 ##
208
209 # Scanne l'archive et le fichier compressé
210 ScanArchive yes
211
212 # Ne pas bloquer les archives chiffrées
213 ArchiveBlockEncrypted no
214
215 ##
216 ## Limites
217 ##
218
219 # The options below protect your system against Denial of Service attacks
220 # using archive bombs.
221
222 # Taille maximum de chaque fichier reçu
223 # Autrement dit, si en décompressant une archive, on trouve une taille de
224 # plus de 100M, on scannera seulement jusqu'au 100M
225 MaxScanSize 100M
226
227 # Taille maximum de chaque unité de fichier scannée
228 # S'applique sur l'archive, et chaque fichier de l'archive
229 MaxFileSize 10M
230
231 # La profondeur d'archivement autorisée (si on peut l'appeler comme ça)
232 MaxRecursion 15
233
234 # Nombre de fichiers maximum à scanner dans une archive
235 MaxFiles 10000
236
237 ##
238 ## Clamuko settings
239 ##
240
241 # Enable Clamuko ?
242 # Je le mettrai à yes le jour je comprendrai et saurai comment ça marche ;-)
243 ClamukoScanOnAccess no
/etc/clamav/freshclam.conf
C’est le fichier de configuration de freshclam. Il précise les paramètres de mise à jour automatique de l’antivirus (toutes les 2h), les serveurs proxy, si nécessaire, le nombre de tentatives de mise à jour, les fichiers logs, ...
Pour ce fichier, les options à retenir en plus de la config par défaut sont :
1 # By default when started freshclam drops privileges and switches to the
2 # "clamav" user. This directive allows you to change the database owner.
3 DatabaseOwner clamav
4
5 # Initialize supplementary group access (freshclam must be started by root).
6 AllowSupplementaryGroups no
7
8 # Path to the log file (make sure it has proper permissions)
9 UpdateLogFile /var/log/clamav/freshclam.log
10
11 # Maximum size of the log file.
12 # Value of 0 disables the limit.
13 # Gérer avec logrotate
14 LogFileMaxSize 0
15
16 # Comme d'habitude, je log avec le temps
17 LogTime yes
18
19 # Pas de bruit inutile
20 #LogVerbose no
21 # Bon, bizarrement je l'ai mis à yes. Donc ça ne génère pas autant d'octets que ça.
22 LogVerbose yes
23
24 # Use system logger : NO
25 LogSyslog no
26
27 # This option allows you to save the process identifier of the daemon
28 PidFile /var/run/clamav/freshclam.pid
29
30 # Path to the database directory.
31 # WARNING: It must match clamd.conf's directive!
32 # ATTENTION : pareil que celui de clamd.conf
33 DatabaseDirectory /var/lib/clamav/
34
35 # Use DNS to verify virus database version. Freshclam uses DNS TXT records
36 # to verify database and software versions. With this directive you can change
37 # the database verification domain.
38 # WARNING: Do not touch it unless you're configuring freshclam to use your
39 # own database verification domain.
40 DNSDatabaseInfo current.cvd.clamav.net
41
42 # Où XY représente le country code de votre pays
43 # DatabaseMirror db.XY.clamav.net
44 # Par exemeple :
45 DatabaseMirror db.sn.clamav.net
46
47 # database.clamav.net is a round-robin record which points to our most
48 # reliable mirrors. It's used as a fall back in case db.XY.clamav.net is
49 # not working.
50 # En gros, à ne pas modifier
51 DatabaseMirror database.clamav.net
52
53 # How many attempts to make before giving up.
54 MaxAttempts 5
55
56 # With this option you can control scripted updates. It's highly recommended
57 # to keep it enabled.
58 ScriptedUpdates yes
59
60 # Ne pas compresser la base de données locale
61 CompressLocalDatabase no
62
63 # Number of database checks per day is 24 (Chaque heure)
64 Checks 24
65
66 # Send the RELOAD command to clamd.
67 NotifyClamd /etc/clamav/clamd.conf
68
69 # Don't fork into background ?
70 Foreground no
71
72 # Enable debug messages in libclamav ? Ça va pas non ?
73 Debug no
74
75 # Timeout in seconds when connecting to database server.
76 ConnectTimeout 60
77
78 # Timeout in seconds when reading from database server.
79 ReceiveTimeout 60
Quelques outils pour vérifier que clamav fonctionne bien
freshclam -V : Pour voir la version
clamdscan -V : Version
freshclam : pour faire la mise à jour de la base de données
telnet 127.0.0.1 3310
Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. SCAN /home/roger/ /home/roger/: OK Connection closed by foreign host.
clamscan -r -l /home/roger/scan.txt /etc/clamav/
/etc/clamav/freshclam.conf: OK /etc/clamav/clamd.conf.ucf-dist: OK /etc/clamav/freshclam.conf.ucf-dist: OK /etc/clamav/clamd.conf: OK ----------- SCAN SUMMARY ----------- Known viruses: 762708 Engine version: 0.96 Scanned directories: 4 Scanned files: 4 Infected files: 0 Data scanned: 0.00 MB Data read: 0.00 MB (ratio 0.00:1) Time: 2.614 sec (0 m 2 s)
clamdscan /tmp/
/tmp: OK ----------- SCAN SUMMARY ----------- Infected files: 0 Time: 0.002 sec (0 m 0 s)
tail -f /var/log/clamav/freshclam.log
tail -f /var/log/clamav/clamav.log
Sources :
ClamAV http://www.yerbynet.com/Cours.html exim google