This repository has been archived by the owner on Apr 2, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 80
/
script-23.sh
160 lines (146 loc) · 5.88 KB
/
script-23.sh
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
#!/bin/bash
# Autor: Robson Vaamonde
# Site: www.procedimentosemti.com.br
# Facebook: facebook.com/ProcedimentosEmTI
# Facebook: facebook.com/BoraParaPratica
# YouTube: youtube.com/BoraParaPratica
# Data de criação: 13/03/2017
# Data de atualização: 06/10/2018
# Versão: 0.12
# Testado e homologado para a versão do Ubuntu Server 16.04 LTS x64
# Kernel >= 4.4.x
#
# Configuração das regras de Firewall utilizando o IPTables
# Usar o script-08.sh para analisar as portas antes da configuração dos arquivos liberação
# Utilizar o arquivo /etc/firewall/portslibtcp para as portas liberadas do protocolo TCP
# Utilizar o arquivo /etc/firewall/portslibudp para as portas liberadas do protocolo UDP
# Utilizar o arquivo /etc/firewall/portsblo para as portas bloqueadas TCP/UDP
# Utilizar o arquivo /etc/firewall/dnsseerver para os IP do Servidores de DNS liberados
# Utilizar o arquivo /etc/firewall/multiportslibtcp para o range de portas liberadas do protocolo TCP
#
# Utilizar o comando: sudo -i para executar o script
#
# Caminho para o Log do Script-23.sh
LOG="/var/log/script-23.log"
#
# Variável da Data Inicial para calcular tempo de execução do Script
DATAINICIAL=`date +%s`
#
# Validando o ambiente, verificando se o usuário e "root"
USUARIO=`id -u`
UBUNTU=`lsb_release -rs`
KERNEL=`uname -r | cut -d'.' -f1,2`
if [ "$USUARIO" == "0" ]
then
if [ "$UBUNTU" == "16.04" ]
then
if [ "$KERNEL" == "4.4" ]
then
clear
#
#Variaveis de ambiente para o script
#
echo -e "Usuário é `whoami`, continuando a executar o Script-23.sh"
echo
echo -e "Rodando o Script-23.sh em: `date`" > $LOG
echo -e "================================================================================="
echo -e " Configuração da Regra de Firewall"
echo -e "================================================================================="
echo
echo -e "Pressione <Enter> para iniciar as configurações"
read
sleep 2
clear
echo -e "Copiando o arquivo firewall.sh, aguarde..."
cp -v conf/firewall /etc/init.d/ >> $LOG
echo -e "Arquivo copiado com sucesso!!!, continuando o script..."
echo
sleep 2
echo -e "Alterando os permissões do arquivo firewall.sh, aguarde..."
chmod -v +x /etc/init.d/firewall >> $LOG
echo -e "Permissões alteradas com sucesso!!!, continuando o script..."
echo
sleep 2
echo -e "Criando o diretório firewall em: /etc, aguarde..."
mkdir -v /etc/firewall >> $LOG
echo -e "Diretório criado com sucesso!!!, continuando o script..."
echo
sleep 2
echo -e "Copiando os arquivos de configuração do firewall, aguarde..."
cp -v conf/portslibtcp /etc/firewall >> $LOG
cp -v conf/portslibudp /etc/firewall >> $LOG
cp -v conf/portsblo /etc/firewall >> $LOG
cp -v conf/dnsserver /etc/firewall >> $LOG
cp -v conf/multiportslibtcp /etc/firewall >> $LOG
echo -e "Arquivos copiados com sucesso!!!, continuando o script..."
echo
sleep 2
echo -e "Copiando o arquivo firewall.conf, aguarde..."
cp -v conf/firewall.conf /etc/rsyslog.d/ >> $LOG
echo -e "Arquivo copiado com sucesso!!!, continuando o script..."
echo
sleep 2
echo -e "Criando o arquivo firewall.log, aguarde..."
touch /var/log/firewall.log >> $LOG
chown -v syslog.adm /var/log/firewall.log >> $LOG
echo -e "Arquivo criado com sucesso!!!, continuando o script..."
echo
sleep 2
echo -e "Reinicializando o serviço do Rsyslog, aguarde..."
sudo service rsyslog restart >> $LOG
echo -e "Serviço Reinicializado com sucesso!!!, continuando o script..."
echo
sleep 2
echo -e "Atualizando as listas do apt-get, aguarde..."
apt-get update >> $LOG
echo -e "Listas atualziadas com sucesso!!!, continuando o script..."
echo
sleep 2
echo -e "Instalando o sysv-rc-conf, aguarde..."
apt-get -y install sysv-rc-conf >> $LOG
echo -e "sysv-rc-conf instalado com sucesso!!!, continuando o script..."
echo
sleep 2
echo -e "Configurando a inicialização do Firewall, pressione <Enter>"
echo -e "Na tela de configuração do sysv-rc-conf, marque as opções: 2, 3, 4 e 5"
echo -e "Pressione Q (quit) para sair"
read
sleep 2
sysv-rc-conf
echo -e "sysv-rc-conf atualizado com sucesso!!!, continuando o script..."
sleep 2
echo -e "Inicializando o Firewall, aguarde..."
echo
sh /etc/init.d/firewall start
echo
echo
echo -e "Firewall inicializado com sucesso!!!, continuando o script..."
echo
sleep 2
echo -e "Fim do Script-23.sh em: `date`" >> $LOG
echo -e " Finalização da Configuração da Regra de Firewall"
echo -e "================================================================================="
echo
# Script para calcular o tempo gasto para a execução do script-23.sh
DATAFINAL=`date +%s`
SOMA=`expr $DATAFINAL - $DATAINICIAL`
RESULTADO=`expr 10800 + $SOMA`
TEMPO=`date -d @$RESULTADO +%H:%M:%S`
echo -e "Tempo gasto para execução do script-23.sh: $TEMPO"
echo -e "Pressione <Enter> para concluir o processo."
read
else
echo -e "Versão do Kernel: $KERNEL não homologada para esse script, versão: >= 4.4 "
echo -e "Pressione <Enter> para finalizar o script"
read
fi
else
echo -e "Distribuição GNU/Linux: `lsb_release -is` não homologada para esse script, versão: $UBUNTU"
echo -e "Pressione <Enter> para finalizar o script"
read
fi
else
echo -e "Usuário não é ROOT, execute o comando com a opção: sudo -i <Enter> depois digite a senha do usuário `whoami`"
echo -e "Pressione <Enter> para finalizar o script"
read
fi