-
Notifications
You must be signed in to change notification settings - Fork 44
/
Copy pathlnxhardening.sh
513 lines (449 loc) · 19 KB
/
lnxhardening.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
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
#!/bin/bash
# Nome: LNXHardening
# Descrição: Script de automação para aplicação de hardening de servidores linux
# seja para as distribuições da família RHEL ou distribuições baseadas em Debian.
# Referência: CIS Benchmark
# Sistemas suportados/testados: CentOS 8, RHEL 8, Ubuntu 22.04 e Debian 11.
# Autor: Evandro Santos
# Contato: evandro.santos@tutanota.com
# Data: Segunda-feira, 22 de setembro de 2024, São Paulo.
# Versão: 1.0
# Função para exibir ASCII art e informações do menu
show_menu() {
clear
echo "==================================================="
echo "LNX Hardening - Script de Automação para Servidores"
echo "==================================================="
echo "Usuário: $(whoami)"
echo "Data e Hora de Execução: $(date '+%Y-%m-%d %H:%M:%S')"
echo "==================================================="
echo "Escolha a opção de hardening:"
echo ""
echo "1. Aplicar Hardening no CentOS/RHEL"
echo "2. Aplicar Hardening no Ubuntu/Debian"
echo "3. Sair"
echo "==================================================="
}
# Função para o script de hardening CentOS/RHEL
harden_centos_rhel() {
echo "Aplicando o Hardening ao Sistema Linux CentOS/RHEL..."
# Passo 1: Documentar as informações do host
echo -e "\e[33mDocumentando informações do host...\e[0m"
echo "Hostname: $(hostname)" >> Informacoes_Gerais.txt
echo "Endereço IP: $(hostname -I)" >> Informacoes_Gerais.txt
echo "Sistema Operacional: $(cat /etc/redhat-release)" >> Informacoes_Gerais.txt
echo
# Passo 2: Proteção do BIOS
echo -e "\e[33mHabilitando proteção do BIOS...\e[0m"
dmidecode -t 0 | grep -i "status de segurança: habilitado" || echo "Proteção do BIOS não habilitada"
echo
# Passo 3: Criptografia do disco rígido
echo -e "\e[33mCriptografando disco rígido...\e[0m"
read -s -p "Por favor, insira a frase de criptografia: " passphrase
if [ -z "$passphrase" ]; then
echo "Frase de criptografia não pode estar vazia. Saindo..."
exit 1
fi
yum install -y cryptsetup
modprobe dm-crypt
dd if=/dev/zero of=/root/crypt.img bs=1M count=512
echo -n "$passphrase" | cryptsetup -q luksFormat /root/crypt.img
echo -n "$passphrase" | cryptsetup luksOpen /root/crypt.img crypt
mkfs.ext4 /dev/mapper/crypt
mount /dev/mapper/crypt /mnt
echo "/dev/mapper/crypt /mnt ext4 defaults 0 0" >> /etc/fstab
echo
# Passo 4: Particionamento do disco
echo -e "\e[33mParticionando disco...\e[0m"
parted /dev/sda mklabel msdos
parted -a opt /dev/sda mkpart primary ext4 0% 100%
mkfs.ext4 /dev/sda1
echo "/dev/sda1 /mnt ext4 defaults 0 0" >> /etc/fstab
echo
# Passo 5: Bloquear o diretório de inicialização
echo -e "\e[33mBloqueando diretório de inicialização...\e[0m"
chattr +i /boot/grub2/grub.cfg
chattr +i /boot/grub2/user.cfg
chattr +i /boot/grub2/device.map
echo
# Passo 6: Desativar o uso de USB
echo -e "\e[33mDesativando o uso de USB...\e[0m"
echo "install usb-storage /bin/true" > /etc/modprobe.d/usb-storage.conf
echo
# Passo 7: Atualizar o sistema
echo -e "\e[33mAtualizando o sistema...\e[0m"
yum update -y
echo
# Passo 8: Verificar os pacotes instalados
echo -e "\e[33mVerificando os pacotes instalados...\e[0m"
yum list installed
echo
# Passo 9: Verificar as portas abertas
echo -e "\e[33mVerificando as portas abertas...\e[0m"
netstat -tulnp
echo
# Passo 10: Segurança do SSH
echo -e "\e[33mFortalecendo o SSH...\e[0m"
sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
sed -i 's/^PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
systemctl restart sshd
echo
# Passo 11: Habilitar o SELinux
echo -e "\e[33mHabilitando o SELinux...\e[0m"
yum install -y selinux-policy-targeted
sed -i 's/SELINUX=disabled/SELINUX=enforcing/' /etc/selinux/config
setenforce 1
echo
# Passo 12: Configurar parâmetros de rede
echo -e "\e[33mConfigurando parâmetros de rede...\e[0m"
sysctl -w net.ipv4.ip_forward=0
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.default.send_redirects=0
sysctl -w net.ipv4.tcp_syncookies=1
echo "NETWORKING_IPV6=no" >> /etc/sysconfig/network
echo "IPV6INIT=no" >> /etc/sysconfig/network
echo
# Passo 13: Gerenciar políticas de senha
echo -e "\e[33mGerenciando políticas de senha...\e[0m"
sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/g' /etc/login.defs
sed -i 's/^PASS_MIN_DAYS.*/PASS_MIN_DAYS 7/g' /etc/login.defs
sed -i 's/sha512/sha512 rounds=65536/g' /etc/pam.d/system-auth-ac
echo
# Passo 14: Permissões e verificações
echo -e "\e[33mRealizando permissões e verificações...\e[0m"
chmod 644 /etc/passwd /etc/group /etc/shadow /etc/gshadow
chown root:root /etc/passwd /etc/shadow
chown root:shadow /etc/shadow
chown root:root /etc/group /etc/gshadow
chown root:shadow /etc/gshadow
chown root:root /boot/grub2/grub.cfg
chmod og-rwx /boot/grub2/grub.cfg
chmod 700 /root
echo
# Passo 15: Reforçar processos adicionais da distribuição
echo -e "\e[33mReforçando processos adicionais da distribuição...\e[0m"
echo "kernel.randomize_va_space = 2" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf
sysctl -p
echo
# Passo 16: Remover serviços desnecessários
echo -e "\e[33mRemovendo serviços desnecessários...\e[0m"
systemctl disable avahi-daemon.service
systemctl disable cups.service
systemctl disable dhcpd.service
systemctl disable slapd.service
systemctl disable named.service
systemctl disable xinetd.service
systemctl disable avahi-daemon.service
echo
# Passo 17: Verificar segurança nos arquivos-chave
echo -e "\e[33mVerificando segurança nos arquivos-chave...\e[0m"
chmod 600 /root/.ssh/authorized_keys
chmod 700 /root/.ssh/
chown root:root /root/.ssh/
ls -al /root/.ssh
echo
# Passo 18: Limitar acesso root usando SUDO
echo -e "\e[33mLimitando acesso root usando SUDO...\e[0m"
echo "root ALL=(ALL) ALL" >> /etc/sudoers.d/root
echo
# Passo 19: Permitir apenas root acessar o CRON
echo -e "\e[33mLimitando acesso ao CRON apenas para root...\e[0m"
touch /etc/cron.allow
echo "root" > /etc/cron.allow
chmod 400 /etc/cron.allow
chown root:root /etc/cron.allow
echo
# Passo 20: Configurar acesso remoto e configurações básicas do SSH
echo -e "\e[33mConfigurando acesso remoto e configurações básicas do SSH...\e[0m"
sed -i 's/^#LogLevel.*/LogLevel VERBOSE/g' /etc/ssh/sshd_config
sed -i 's/^#MaxAuthTries.*/MaxAuthTries 4/g' /etc/ssh/sshd_config
systemctl restart sshd
echo
# Passo 21: Desativar o Xwindow
echo -e "\e[33mDesativando o Xwindow...\e[0m"
systemctl set-default multi-user.target
systemctl isolate multi-user.target
echo
# Passo 22: Minimizar a instalação de pacotes
echo -e "\e[33mMinimizando a instalação de pacotes...\e[0m"
yum install -y yum-utils
yum-config-manager --disable \* &> /dev/null
yum-config-manager --enable base &> /dev/null
yum-config-manager --enable updates &> /dev/null
yum-config-manager --enable extras &> /dev/null
yum-config-manager --enable epel &> /dev/null
echo
# Passo 23: Verificar contas com senhas vazias
echo -e "\e[33mVerificando contas com senhas vazias...\e[0m"
awk -F: '($2 == "" ) {print $1}' /etc/shadow
echo
# Passo 24: Monitorar atividades do usuário
echo -e "\e[33mMonitorando atividades do usuário...\e[0m"
yum install -y audit
sed -i 's/^active.*/active = yes/' /etc/audit/auditd.conf
systemctl enable auditd.service
systemctl start auditd.service
echo
# Passo 25: Instalar e configurar o fail2ban
echo -e "\e[33mInstalando e configurando o fail2ban...\e[0m"
yum install epel-release -y
yum install fail2ban -y
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sed -i 's/^# bantime =.*/bantime = 3600/g' /etc/fail2ban/jail.local
sed -i 's/^# maxretry =.*/maxretry = 3/g' /etc/fail2ban/jail.local
systemctl enable fail2ban
systemctl start fail2ban
echo
# Passo 26: Detecção de rootkits
echo -e "\e[33mDetectando rootkits...\e[0m"
yum install rkhunter -y
rkhunter --update
rkhunter --propupd
rkhunter --check
echo
# Passo 27: Monitorar logs do sistema
echo -e "\e[33mMonitorando logs do sistema...\e[0m"
echo "auth,user.* /var/log/user.log" >> /etc/rsyslog.conf
echo "*.emerg /var/log/emergency.log" >> /etc/rsyslog.conf
systemctl restart rsyslog
echo
# Passo 28: Habilitar autenticação de 2 fatores
echo -e "\e[33mHabilitando autenticação de 2 fatores...\e[0m"
yum install -y google-authenticator
google-authenticator
sed -i 's/^ChallengeResponseAuthentication.*/ChallengeResponseAuthentication yes/' /etc/ssh/sshd_config
systemctl restart sshd.service
echo
echo -e "\e[32mFortalecimento completo!\e[0m"
}
# Função para o script de hardening Ubuntu/Debian
harden_ubuntu_debian() {
echo "Aplicando o Hardening ao Sistema Linux Ubuntu/Debian..."
# Passo 1: Documentar as informações do host
echo -e "\e[33mPasso 1: Documentando as informações do host\e[0m"
echo "Hostname: $(hostname)"
echo "Versão do Kernel: $(uname -r)"
echo "Distribuição: $(lsb_release -d | cut -f2)"
echo "Informações da CPU: $(lscpu | grep 'Modelo')"
echo "Informações de memória: $(free -h | awk '/Mem/{print $2}')"
echo "Informações do disco: $(lsblk | grep disco)"
echo
# Passo 2: Proteção do BIOS
echo -e "\e[33mPasso 2: Proteção do BIOS\e[0m"
echo "Verificando se a proteção do BIOS está ativada..."
if [ -f /sys/devices/system/cpu/microcode/reload ]; then
echo "A proteção do BIOS está ativada"
else
echo "A proteção do BIOS não está ativada"
fi
echo ""
# Passo 3: Criptografia do disco rígido
echo -e "\e[33mPasso 3: Criptografia do disco rígido\e[0m"
echo "Verificando se a criptografia do disco rígido está ativada..."
if [ -d /etc/luks ]; then
echo "A criptografia do disco rígido está ativada"
else
echo "A criptografia do disco rígido não está ativada"
fi
echo ""
# Passo 4: Particionamento do disco
echo -e "\e[33mPasso 4: Particionamento do disco\e[0m"
echo "Verificando se o particionamento do disco já foi feito..."
if [ -d /home -a -d /var -a -d /usr ]; then
echo "O particionamento do disco já foi feito"
else
echo "O particionamento do disco não foi feito ou está incompleto"
fi
sudo fdisk /dev/sda
sudo mkfs.ext4 /dev/sda1
sudo mkswap /dev/sda2
sudo swapon /dev/sda2
sudo mount /dev/sda1 /mnt
echo
# Passo 5: Bloquear o diretório de boot
echo -e "\e[33mPasso 5: Bloquear o diretório de boot\e[0m"
echo "Bloqueando o diretório de boot..."
sudo chmod 700 /boot
echo ""
# Passo 6: Desativar o uso de USB
echo -e "\e[33mPasso 6: Desativar o uso de USB\e[0m"
echo "Desativando o uso de USB..."
echo 'blacklist usb-storage' | sudo tee /etc/modprobe.d/blacklist-usbstorage.conf
echo ""
# Passo 7: Atualizar o sistema
echo -e "\e[33mPasso 7: Atualizar o sistema\e[0m"
sudo apt-get update && sudo apt-get upgrade -y
echo ""
# Passo 8: Verificar os pacotes instalados
echo -e "\e[33mPasso 8: Verificar os pacotes instalados\e[0m"
dpkg --get-selections | grep -v deinstall
echo ""
# Passo 9: Verificar as portas abertas
echo -e "\e[33mPasso 9: Verificar as portas abertas\e[0m"
sudo netstat -tulpn
echo ""
# Passo 10: Segurança do SSH
echo -e "\e[33mPasso 10: Reforçar a segurança do SSH\e[0m"
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/g' /etc/ssh/sshd_config
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
sudo systemctl restart sshd
echo
# Passo 11: Ativar o SELinux
echo -e "\e[33mPasso 11: Ativar o SELinux\e[0m"
echo "Verificando se o SELinux está instalado..."
if [ -f /etc/selinux/config ]; then
echo "O SELinux já está instalado"
else
echo "O SELinux não está instalado, instalando agora..."
sudo apt-get install policycoreutils selinux-utils selinux-basics -y
fi
echo "Ativando o SELinux..."
sudo selinux-activate
echo ""
# Passo 12: Configurar parâmetros de rede
echo -e "\e[33mPasso 12: Configurar parâmetros de rede\e[0m"
echo "Configurando parâmetros de rede..."
sudo sysctl -p
echo ""
# Passo 13: Gerenciar políticas de senha
echo -e "\e[33mPasso 13: Gerenciar políticas de senha\e[0m"
echo "Modificando as políticas de senha..."
sudo sed -i 's/PASS_MAX_DAYS\t99999/PASS_MAX_DAYS\t90/g' /etc/login.defs
sudo sed -i 's/PASS_MIN_DAYS\t0/PASS_MIN_DAYS\t7/g' /etc/login.defs
sudo sed -i 's/PASS_WARN_AGE\t7/PASS_WARN_AGE\t14/g' /etc/login.defs
echo ""
# Passo 14: Permissões e verificações
echo -e "\e[33mPasso 14: Permissões e verificações\e[0m"
echo "Configurando as permissões corretas em arquivos sensíveis..."
sudo chmod 700 /etc/shadow /etc/gshadow /etc/passwd /etc/group
sudo chmod 600 /boot/grub/grub.cfg
sudo chmod 644 /etc/fstab /etc/hosts /etc/hostname /etc/timezone /etc/bash.bashrc
echo "Verificando a integridade dos arquivos do sistema..."
sudo debsums -c
echo ""
# Passo 15: Reforço adicional do processo de distribuição
echo -e "\e[33mPasso 15: Reforço adicional do processo de distribuição\e[0m"
echo "Desabilitando despejos de núcleo..."
sudo echo '* hard core 0' | sudo tee /etc/security/limits.d/core.conf
echo "Restringindo o acesso aos logs do kernel..."
sudo chmod 640 /var/log/kern.log
echo "Configurando as permissões corretas nos scripts de inicialização..."
sudo chmod 700 /etc/init.d/*
echo ""
# Passo 16: Remover serviços desnecessários
echo -e "\e[33mPasso 16: Remover serviços desnecessários\e[0m"
echo "Removendo serviços desnecessários..."
sudo apt-get purge rpcbind rpcbind-* -y
sudo apt-get purge nis -y
echo ""
# Passo 17: Verificar a segurança dos arquivos-chave
echo -e "\e[33mPasso 17: Verificar a segurança dos arquivos-chave\e[0m"
echo "Verificando a segurança dos arquivos-chave..."
sudo find /etc/ssh -type f -name 'ssh_host_*_key' -exec chmod 600 {} \;
echo ""
# Passo 18: Limitar o acesso root usando o SUDO
echo -e "\e[33mPasso 18: Limitar o acesso root usando o SUDO\e[0m"
echo "Limitando o acesso root usando o SUDO..."
sudo apt-get install sudo -y
sudo groupadd admin
sudo usermod -a -G admin "$(whoami)"
sudo sed -i 's/%sudo\tALL=(ALL:ALL) ALL/%admin\tALL=(ALL:ALL) ALL/g' /etc/sudoers
echo ""
# Passo 19: Permitir apenas root para acessar o CRON
echo -e "\e[33mPasso 19: Restringir o acesso ao CRON\e[0m"
echo "Permitindo apenas root para acessar o CRON..."
sudo chmod 600 /etc/crontab
sudo chown root:root /etc/crontab
sudo chmod 600 /etc/cron.hourly/*
sudo chmod 600 /etc/cron.daily/*
sudo chmod 600 /etc/cron.weekly/*
sudo chmod 600 /etc/cron.monthly/*
sudo chmod 600 /etc/cron.d/*
echo ""
# Passo 20: Configurações básicas de acesso remoto e SSH
echo -e "\e[33mPasso 20: Configurações básicas de acesso remoto e SSH\e[0m"
echo "Desabilitando o login root via SSH..."
sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
echo "Desabilitando autenticação por senha via SSH..."
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
echo "Desabilitando o encaminhamento X11 via SSH..."
sudo sed -i 's/X11Forwarding yes/X11Forwarding no/g' /etc/ssh/sshd_config
echo "Recarregando o serviço SSH..."
sudo systemctl reload sshd
echo ""
# Passo 21: Desabilitar o Xwindow
echo -e "\e[33mPasso 21: Desabilitar o Xwindow\e[0m"
echo "Desabilitando o Xwindow..."
sudo systemctl set-default multi-user.target
echo ""
# Passo 22: Minimizar a instalação de pacotes
echo -e "\e[33mPasso 22: Minimizar a instalação de pacotes\e[0m"
echo "Instalando apenas pacotes essenciais..."
sudo apt-get install --no-install-recommends -y systemd-sysv apt-utils
sudo apt-get --purge autoremove -y
echo ""
# Passo 23: Verificar contas com senhas vazias
echo -e "\e[33mPasso 23: Verificar contas com senhas vazias\e[0m"
echo "Verificando contas com senhas vazias..."
sudo awk -F: '($2 == "" ) {print}' /etc/shadow
echo ""
# Passo 24: Monitorar atividades do usuário
echo -e "\e[33mPasso 24: Monitorar atividades do usuário\e[0m"
echo "Instalando auditd para monitoramento de atividades do usuário..."
sudo apt-get install auditd -y
echo "Configurando o auditd..."
sudo echo "-w /var/log/auth.log -p wa -k authentication" | sudo tee -a /etc/audit/rules.d/audit.rules
sudo echo "-w /etc/passwd -p wa -k password-file" | sudo tee -a /etc/audit/rules.d/audit.rules
sudo echo "-w /etc/group -p wa -k group-file" | sudo tee -a /etc/audit/rules.d/audit.rules
sudo systemctl restart auditd
echo ""
# Passo 25: Instalar e configurar fail2ban
echo -e "\e[33mPasso 25: Instalar e configurar fail2ban\e[0m"
echo "Instalando fail2ban..."
sudo apt-get install fail2ban -y
echo "Configurando fail2ban..."
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo sed -i 's/bantime = 10m/bantime = 1h/g' /etc/fail2ban/jail.local
sudo sed -i 's/maxretry = 5/maxretry = 3/g' /etc/fail2ban/jail.local
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
echo ""
# Passo 26: Detecção de rootkits
echo -e "\e[33mPasso 26: Instalando e executando a detecção de rootkits...\e[0m"
sudo apt-get install rkhunter
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check
echo
# Passo 27: Monitorar logs do sistema
echo -e "\e[33mPasso 27: Monitorar logs do sistema\e[0m"
echo "Instalando logwatch para monitoramento de logs do sistema..."
sudo apt-get install logwatch -y
echo ""
# Passo 28: Ativar autenticação de dois fatores
echo -e "\e[33mPasso 28: Ativar autenticação de dois fatores\e[0m"
echo "Instalando o Google Authenticator para autenticação de dois fatores..."
sudo apt-get install libpam-google-authenticator -y
echo "Ativando autenticação de dois fatores..."
sudo google-authenticator
echo "Editando as configurações do PAM para autenticação de dois fatores..."
sudo sed -i 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/g' /etc/ssh/sshd_config
sudo sed -i 's/UsePAM no/UsePAM yes/g' /etc/ssh/sshd_config
sudo sed -i 's/#auth required pam_google_authenticator.so/auth required pam_google_authenticator.so/g' /etc/pam.d/sshd
sudo systemctl reload sshd
echo ""
echo -e "\e[32mFortificação concluída!\e[0m"
}
# Menu principal
while true; do
show_menu
read -p "Digite sua opção [1-3]: " option
case $option in
1) harden_centos_rhel ;;
2) harden_ubuntu_debian ;;
3) echo "Saindo..."; exit 0 ;;
*) echo "Opção inválida, tente novamente." ;;
esac
done