-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScript_Clamd_v1_0.sh
More file actions
111 lines (94 loc) · 3.25 KB
/
Script_Clamd_v1_0.sh
File metadata and controls
111 lines (94 loc) · 3.25 KB
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
#!/bin/bash
#####################################
## INSTALAÇÃO ClamAv - Relatórios ##
## Data: 24/11/2015 ##
## Autor: Tiago Silva ##
#####################################
instalacao_clamav() {
yum install -y clamd* clamav* --exclude=clamav-milter*
sleep 5
}
configuracao_clamav() {
#Criando copia de segurança dos arquivos de configuração:
cp /etc/freshclam.conf /etc/freshclam.conf_original
cp /etc/clamd.conf /etc/clamd.conf_original
################################
####Configurando o FreshClam####
################################
#Criando os arquivos de Logs e setando as permissões:
touch /var/log/freshclam.log
chmod 755 /var/log/freshclam.log
useradd clamav
usermod clamav -a -G clamav
chown clamav:clamav /var/log/freshclam.log
##Descomentando as linhas principais do arquivo original de exemplo:
sed -i 's/#PidFile/PidFile/g' /etc/freshclam.conf
sed -i 's/#DatabaseDirectory/DatabaseDirectory/g' /etc/freshclam.conf
sed -i 's/#DNSDatabaseInfo/DNSDatabaseInfo/g' /etc/freshclam.conf
sed -i 's/#UpdateLogFile/UpdateLogFile/g' /etc/freshclam.conf
sed -i 's/#PidFile/PidFile/g' /etc/freshclam.conf
#Remover tags de exemplo:
sed -i 's/Example//g' /etc/freshclam.conf
sed -i 's/Example//g' /etc/clamd.conf
#Alterar tempo de checagem de 24 vezes por dia para 1 vez:
sed -i 's/Checks 24/Checks 1/g' /etc/freshclam.conf
################################
####Configurando o Clamd########
################################
##Descomentando as linhas necessárias:
sed -i 's/#PidFile/PidFile/g' /etc/clamd.conf
sed -i 's/#DatabaseDirectory/DatabaseDirectory/g' /etc/clamd.conf
sed -i 's/\/var\/lib\/clamav/\/var\/clamav/g' /etc/clamd.conf
sed -i 's/#DNSDatabaseInfo/DNSDatabaseInfo/g' /etc/clamd.conf
sed -i 's/#UpdateLogFile/UpdateLogFile/g' /etc/clamd.conf
sed -i 's/#PidFile/PidFile/g' /etc/clamd.conf
sed -i 's/#LocalSocket/LocalSocket/g' /etc/clamd.conf
}
teste_clamav() {
################################
#######Testando o Clamav########
################################
echo 'Digite o diretório desejado para realizar o escaneamento'
read DIR
if [ -e $DIR ]; then
echo "Diretório $DIR já existe"
sleep 1
echo "Acessando diretório $DIR"
cd $DIR;
wget http://www.eicar.org/download/eicar.com;
freshclam;
clamscan -ri $DIR;
rm -rf $DIR/eicar.com*;
else
read DIR
echo "Diretório $DIR não existe"
sleep 1
echo "Criando diretório $DIR"
mkdir -p $DIR
cd $DIR;
wget http://www.eicar.org/download/eicar.com;
freshclam;
clamscan -ri $DIR;
rm -rf $DIR/eicar.com*;
fi
}
sleep 5
crontab_clamscan(){
#Incluindo tarefa no cron para gerar relatório diário de varredura.O Script contempla também um jobrotate, mantendo somente os relatórios dos últimos 7 dias.
crontab -l > /var/crons
mkdir -p /var/crontab/relatorios/
cd /var/crontab/relatorios/
echo '
#!/bin/bash
freshclam;
clanscam -ri / >> scan-`/bin/date +%d-%m-%Y`.txt;
find /var/crontab/relatorios/ -type f -mtime +6 --exec rm -rf{} +;
' >> /var/crontab/relatorio_crontab.sh;
echo "* 01 * * * sh /var/crontab/relatorio_crontab.sh" >> /var/crons;
crontab /var/crons;
sleep 2
}
instalacao_clamav
configuracao_clamav
teste_clamav
crontab_clamscan