** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento.

Para criar um usuário via cli no OpenVAS utilize o seguinte comando:

#openvasad -c add_user -u seu_login -r perfil

Onde o perfil por padrão pode ser:

Admin

Super Admin

Guest

Info

Monitor

Observer

User

*******

Caso não funcione a aplicação openvasad utilize através do comando:

#openvasmd –create-user=novo_login –role=perfil

#openvasmd –user=novo_login –new-password=senha

Lembrando que o serviço do openvas deve ser reiniciado para que o novo usuário possa funcionar.

*******

Obs: Via interface gráfica é bem mais tranquila a criação do usuário, somente recomendo a criação via cli no caso da criação de um usuário super admin, o qual somente é permitido via cli.

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento.

Antes de iniciar qualquer instalação, sempre atualize os repositórios:

# apt update

Instale alguns aplicativos que podem fazer falta mais adiante:

# apt upgrade

# apt install rpm alien nsis

O primeiro passo será executar o script ‘openvas initial setup’ o qual se encontra no menu em “Parrot->Vulnerability Analysis->Openvas Scanner”.

Após a execução realize a atualização das assinaturas com o script ‘openvas feed update’ este script se encontra no mesmo caminho do script anterior, ou seja, no menu em “Parrot->Vulnerability Analysis->Openvas Scanner”.

Quando acabar a atualização das assinaturas, realize a checagem da instalação e corrija qualquer erro que apareça. A princípio não é para aparecer nenhum erro.

Coloque uma senha do seu conhecimento para o usuário administrativo do openvas:

openvasmd –user=admin –new-password=nova_senha

Caso o openvas seja executado apenas localmente pode pular para o passo de inicialização dos scripts, caso a máquina vá funcionar como um servidor que será acessado remotamente, entre nas pastas ‘/lib/systemd/system/’ e ‘/etc/default/’ e altere o endereço IP de inicialização de todos os arquivos do openvas. Para identificá-los procure pelos arquivos que começam com greenbone e openvas.

Execute o comando abaixo para que o sistema recarregue o daemon e suba as alterações realizadas.

# systemctl daemon-reload

Inicialize o OpenVAS através do script ‘openvas start’, no mesmo caminho dos scripts anteriores. Aguarde uns 2 minutos para que as assinaturas possam carregar e acesse o openvas no link https://Seu_IP:9392.

OBS: É necessário descomentar no parrot.list a linha de source, para que seja possível instalar os pacotes adicionais.

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento. Outro problema são as aspas duplas e simples que quando copiadas não são reconhecidas no linux.

Para alterar o shell da sua máquina, entre no arquivo ‘.bashrc’ do seu home directory e inclua a seguinte linha:

PS1=”\[\033[0;31m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \”[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\”)[$(if [[ ${EUID} == 0 ]]; then echo ‘\[\033[01;31m\]root\[\033[01;33m\]@\[\033[01;96m\]\h’; else echo ‘\[\033[0;39m\]\u\[\033[01;33m\]@\[\033[01;96m\]\h’; fi)\[\033[0;31m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;31m\]]\n\[\033[0;31m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]\[\e[01;33m\]\\$\[\e[0m\]”

Seu shell irá ficar da seguinte forma:

Onde é apresentado as seguintes informações:

– Usuário logado;

– Nome da máquina;

– Diretório em que você se encontra.

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento.

No prompt do sistema atualize a lista dos repositórios e instale o PostgreSQL, como a versão mínima suportada pelo Netbox é a 9.4 você não precisa se preocupar (pois o Debian utiliza por padrão a 9.6).

# apt update
# apt install -y postgresql libpq-dev

Após a instalação entre com o usuário postgres no sistema e pelo psql realize a criação da tabela e do usuário inicial. Lembre-se de alterar a senha do usuário por uma que seja do seu conhecimento.

# su postgres
# psql
psql (9.4.5)
Type “help” for help.

postgres=# CREATE DATABASE netbox;
CREATE DATABASE
postgres=# CREATE USER netbox WITH PASSWORD ‘J5brHrAXFLQSif0K‘;
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
GRANT
postgres=# \q

# exit

Para testar se foi criada a base use o comando abaixo, lembre-se que se a base for instalada em um computador remoto você deve trocar o localhost pelo endereço IP do seu servidor.
# psql -U netbox -W -h localhost netbox

Neste momento devemos instalar o python3 para executar o Netbox:

# apt install -y python3 python3-dev python3-setuptools build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev zlib1g-dev

Após a instalação do Python iremos instalar o pip.
# easy_install3 pip

Após a instalação do pip iremos baixar a versão mais atual do Netbox para instalação, de forma a sempre utilizarmos a versão mais atual estou utilizando o git para realizar o download dos pacotes, também escolhi o git pela agilidade e facilidade de atualização de versão.

# mkdir -p /opt/netbox/ && cd /opt/netbox/

# apt install -y git

# git clone -b master https://github.com/digitalocean/netbox.git .

Neste momento iremos instalar os pré-requisitos para execução:

# pip3 install -r requirements.txt

# pip3 install napalm

Após a instalação dos pré-requisitos é necessário configurar o arquivo de configurações ‘/opt/netbox/netbox/netbox/configuration.py’ o qual será criado a partir da cópia do arquivo de exemplo. Antes de editar o arquivo do configuration.py é necessário executar um script de geração de senha para incluir no arquivo de configuração, ao executar copie a senha gerada para colar no arquivo de configuração.

# cd /opt/netbox/netbox/netbox/

# cp configuration.example.py configuration.py

# /opt/netbox/netbox/generate_secret_key.py

# vi configuration.py

No arquivo de configuração será necessário alterar basicamente 3 parâmetros obrigatórios são eles:

Outro parâmetro que pode ser interessante ser alterado é o DEBUG, pois durante o teste de inicialização, fica mais fácil identificar algum problema. Depois do teste com sucesso, recomendo que se retorne ao padrão do DEBUG.

O campo ALLOWED_HOSTS é onde iremos colocar os endereços pelos quais o Netbox será acessado (endereço IP do servidor, url específica).

Já no campo DATABASE utilize os parâmetros que configurou anteriormente para o banco de dados.

E o campo SECRET_KEY é onde irá colar a senha gerada anteriormente.

Após a configuração obrigatória, serão executados alguns procedimentos que irão criar a nova base de dados do Netbox.

# cd ..

# python3 manage.py migrate

# python3 manage.py createsuperuser

# python3 manage.py collectstatic – -no-input

# python3 manage.py loaddata initial_data

Após popular a base de dados, chegou a hora de acessar o servidor por um dos endereços configurados no campo ALLOWED_HOSTS. Ao acessar sem problemas finalize esta execução através do CTRL+C.

# python3 manage.py runserver 0.0.0.0:8000 –insecure

Após o teste com sucesso chegou o momento de configurar o servidor web que será utilizado pelo Netbox. Utilizei no tutorial o nginx, mas poderia ter utilizado o apache2 sem perda nenhuma. Escolhi o nginx por ter menos passos de configuração.

# apt install -y nginx

Criação do arquivo ‘/etc/nginx/sites-available/netbox’ o qual terá as configurações do virtualhost do Netbox.

# vi /etc/nginx/sites-available/netbox

Após a criação do arquivo com os parâmetros preenchidos de forma correta, como no exemplo acima, apague o virtualhost padrão e reinicie o nginx.

# cd /etc/nginx/sites-enabled/
# rm default
# ln -s /etc/nginx/sites-available/netbox

# service nginx restart

Neste momento instalaremos o gunicorn e o configuraremos.

# pip3 install gunicorn

# vi /opt/netbox/gunicorn_config.py

O último passo é a instalação, configuração e reinicialização do supervisor que será responsável por executar o gunicorn em background.

# apt install -y supervisor

# vi /etc/supervisor/conf.d/netbox.conf

# service supervisor restart

Netbox instalado e executando agora no porto 80 ao invés do 8000 do teste.

Altere as permissões do diretório de imagens para que possa subir os arquivos:

OBS: Baseado no passo a passo do site do Netbox

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento. Outro problema são as aspas duplas e simples que quando copiadas não são reconhecidas no linux.

1º faça um backup do seu dokuki, para caso dê algo errado.
# cp -a /var/www/dokuwiki/ /tmp/dokuwiki-bkp

 

2º Baixe a versão mais recente do Dokuwiki.
# wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

 

3º Descompacte o arquivo dokuwiki-stable.tgz
# tar zxvf dokuwiki-stable.tgz

 

4º Faça o upload/cópia dos arquivos em sua instalação anterior.
# ‘cp’ -arf /var/www/dokuwiki-2017-02-19e/* /var/www/dokuwiki/

 

5º Remova os arquivos de instalação temporária.
# grep -Ev ‘^($|#)’ data/deleted.files | xargs -n 1 rm -vf

 

6º Remova o arquivo install.php
# rm install.php

 

7º Permição para o apache
# chown www-data. /var/www/dokuwiki

 

8º Permissão para níveis usuário, grupo e outros
# chmod 775 -Rf /var/www/dokuwiki

 

9º Acesse pelo navegador a aplicação dokuki
http://seu_servidor/dokuwiki/doku.php

 

10º Atualize seus plugins, se necessário.

– Administrar -> Gerenciador de extensões

 

Autor: Giusepe Dias

echo 9000 65500 > /proc/sys/net/ipv4/ip_local_port_range

echo 256960 > /proc/sys/net/core/rmem_default

echo 256960 > /proc/sys/net/core/rmem_max

echo 256960 > /proc/sys/net/core/wmem_default

echo 256960 > /proc/sys/net/core/wmem_max

echo 65535 > /proc/sys/kernel/msgmnb

echo 65535 > /proc/sys/kernel/msgmax

echo 3221225472 > /proc/sys/kernel/shmmax

echo 4294967296 > /proc/sys/kernel/shmall

echo “4096 87380 4194304” > /proc/sys/net/ipv4/tcp_rmem

echo “4096 16384 4194304” > /proc/sys/net/ipv4/tcp_wmem

echo 15 > /proc/sys/net/ipv4/tcp_fin_timeout

echo 5 > /proc/sys/net/ipv4/tcp_keepalive_probes

echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

echo 4096 > /proc/sys/net/core/somaxconn

echo 65535 > /proc/sys/fs/file-max

echo 1 > /proc/sys/vm/drop_caches

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento. Outro problema são as aspas duplas e simples que quando copiadas não são reconhecidas no linux.

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>

 

<html>

 

<frameset border=”false” frameborder=”0″ rows=”*”>

 

<frame name=”main” scrolling=”YES” src=”endereço_redirecionamento”/>

 

</frameset>

 

</html>

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento. Outro problema são as aspas duplas e simples que quando copiadas não são reconhecidas no linux.

# !/bin/bash

 

echo “Ativando Regras de Firewall”

 

#########################
# Variaveis / Entidades #
#########################

 

iptables=”/sbin/iptables”

 

# Redes

 

# Maquinas

 

# Portos
FTP=”20,21″
FTP_DATA=”20″
FTP_ATIVO=”21″
SSH=”22″
SMTP=”25″
DNS=”53″
HTTP=”80″
SNMP=”161,162″
HTTPS=”443″
ORACLE=”1521″
RECEITA=”3456″
MSTSC=”4899″
HTTP_PROXY=”8080″
MON_ZABBIX=”10050,10051″
FWSSH=”65534″

 

echo Variaveis Carregadas! 166

 

################
# Habilitacoes #
################

 

# IP Forward
echo 1 > /proc/sys/net/ipv4/ip_forward

 

# Cookie Protection
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

 

# Loga Marcianos – end. impossiveis
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians

 

# Disponibilizando maior quantidade de portos
echo 10000 65000 > /proc/sys/net/ipv4/ip_local_port_range

 

# Aumentando a memoria resevarda por conexao recebida/enviada
echo 256960 > /proc/sys/net/core/rmem_default
echo 256960 > /proc/sys/net/core/rmem_max
echo 256960 > /proc/sys/net/core/wmem_default
echo 256960 > /proc/sys/net/core/wmem_max
echo “4096 87380 4194304” > /proc/sys/net/ipv4/tcp_rmem
echo “4096 16384 4194304” > /proc/sys/net/ipv4/tcp_wmem

 

# Tempo para finalizar uma conexao fechada pelo host
echo 15 > /proc/sys/net/ipv4/tcp_fin_timeout

 

# Número de testes antes de finalizar a conexao
echo 5 > /proc/sys/net/ipv4/tcp_keepalive_probes

 

# Habilita a reciclagem de conexões em TIME_WAIT para novas conexoes consideradas seguras pelo protocolo
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse

 

# Ignora Broadcast de ICMP
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

 

# Bloqueia tentativa de burlar a conexao em uma interface especifica
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

 

# Modulos FTP
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

 

# Aumento de quantidade de requisicoes atendidas
echo 10000000 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max

 

# Controle de Execucao
echo Habilitacoes concluidas! 222

 

############
# Flush all#
############

 

$iptables -F
$iptables -X
$iptables -Z
$iptables -F -t nat

 

# Controle de Execucao
echo Limpeza de regras executada! 234

 

####################
# Politicas Padrao #
####################

 

$iptables -P INPUT DROP
$iptables -P OUTPUT ACCEPT
$iptables -P FORWARD DROP

 

# Controle de Execucao
echo Politicas aplicadas! 245

 

#############################
# Conexoes ja Estabelecidas #
#############################

 

$iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
$iptables -A FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT

 

# Controle de Execucao
echo Manutencao de conexao aplicada! 255

 

##############
# IP´s Alias #
##############

 

ifconfig eth2:1 END_IP_ALIAS # Alias do Firewall

 

# Controle de Execucao
echo Alias Levantados! 264

 

############
# IP`s NAT #
############

 

ifconfig eth3:1 END_IP_NAT # Nat Administrativo // Rede

 

# Controle de Execucao
echo Enderecos NAT Levantados! 289

 

##########################
# Bloqueio IPs Suspeitos #
##########################

 

# Bloqueio Your Freedom
$iptables -A FORWARD -d 212.227.0.0/16 -j DROP
$iptables -A FORWARD -s 212.227.0.0/16 -j DROP
$iptables -A FORWARD -s 213.251.0.0/16 -j DROP
$iptables -A FORWARD -d 213.251.0.0/16 -j DROP
$iptables -A FORWARD -s 66.90.0.0/16 -j DROP
$iptables -A FORWARD -d 66.90.0.0/16 -j DROP
$iptables -A FORWARD -s 66.96.0.0/16 -j DROP
$iptables -A FORWARD -d 66.96.0.0/16 -j DROP
$iptables -A FORWARD -s 67.159.0.0/16 -j DROP
$iptables -A FORWARD -d 67.159.0.0/16 -j DROP
$iptables -A FORWARD -s 81.169.0.0/16 -j DROP
$iptables -A FORWARD -d 81.169.0.0/16 -j DROP
$iptables -A FORWARD -s 85.214.0.0/16 -j DROP
$iptables -A FORWARD -d 85.214.0.0/16 -j DROP

 

echo Your Freedom Bloqueado! 311

 

######################
# Liberacao Firewall #
######################

 

# Syn-Flood
#$iptables -N syn-flood
#$iptables -A INPUT -p tcp –syn -j syn-flood
#$iptables -A FORWARD -p tcp –syn -j syn-flood
#$iptables -A syn-flood -m limit –limit 35/s -j RETURN
#$iptables -A syn-flood -j DROP

 

# Log USERX – Um usuário suspeito na sua rede
$iptables -A FORWARD -s $USERX -j LOG –log-level debug –log-prefix “IPTABLES-FORWARD-USERX”

 

# Novos devem ser Syn
$iptables -A INPUT -p tcp ! –syn -m state –state NEW -j DROP

 

# Anti Xmas
$iptables -A INPUT -p tcp –tcp-flags ALL ALL -j DROP

 

# Null mal formado
$iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP

 

# Fragmentos
$iptables -A INPUT -f -j DROP
$iptables -A FORWARD -f -j DROP

 

# Pacotes Invalidos
$iptables -A INPUT -i eth0 -m state –state INVALID -j DROP
$iptables -A FORWARD -m state –state INVALID -j DROP

 

# MTU
$iptables -A FORWARD -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –set-mss 1460

 

# Controle de ICMP
$iptables -A INPUT -p icmp -s $LAN -m limit –limit 10/s -j ACCEPT
$iptables -A INPUT -p icmp -s $DMZ -m limit –limit 10/s -j ACCEPT
$iptables -A INPUT -p icmp -s $SERV -m limit –limit 10/s -j ACCEPT
$iptables -A FORWARD -p icmp -s $LAN -m limit –limit 10/s -j ACCEPT
$iptables -A FORWARD -p icmp -s $DMZ -m limit –limit 10/s -j ACCEPT
$iptables -A FORWARD -p icmp -s $SERV -m limit –limit 10/s -j ACCEPT

 

# Acesso SSH
$iptables -A INPUT -p tcp -s $MAQ1 –dport $FWSSH -j ACCEPT
$iptables -A INPUT -p tcp -s $MAQ2 –dport $FWSSH -j ACCEPT

 

# Monitoracao Zabbix
$iptables -A FORWARD -p tcp -m multiport –dport $MON_ZABBIX -s $ZABBIX -j ACCEPT

 

# Monitoracao Cacti
$iptables -A INPUT -p udp -m multiport –dport $SNMP -s $CACTI -j ACCEPT
$iptables -A FORWARD -p udp -m multiport –dport $SNMP -s $CACTI -j ACCEPT
$iptables -A FORWARD -p udp -m multiport –dport $SNMP -d $CACTI -j ACCEPT

 

# Consulta DNS
$iptables -A INPUT -p udp -d $DNS1 –dport $DNS -j ACCEPT
$iptables -A INPUT -p udp -s $DNS1 –sport $DNS -j ACCEPT
$iptables -A FORWARD -p udp -d $DNS1 –dport $DNS -j ACCEPT
$iptables -A FORWARD -p udp -s $DNS1 –sport $DNS -j ACCEPT
$iptables -A INPUT -p udp -d $DNS2 –dport $DNS -j ACCEPT
$iptables -A INPUT -p udp -s $DNS2 –sport $DNS -j ACCEPT
$iptables -A FORWARD -p udp -d $DNS2 –dport $DNS -j ACCEPT
$iptables -A FORWARD -p udp -s $DNS2 –sport $DNS -j ACCEPT
$iptables -A INPUT -p udp -d $CORREIO_INT_DNS3 –dport $DNS -j ACCEPT
$iptables -A INPUT -p udp -s $CORREIO_INT_DNS3 –sport $DNS -j ACCEPT
$iptables -A FORWARD -p udp -d $CORREIO_INT_DNS3 –dport $DNS -j ACCEPT
$iptables -A FORWARD -p udp -s $CORREIO_INT_DNS3 –sport $DNS -j ACCEPT

 

# Controle de Execucao
echo Liberacoes do Firewall aplicadas! 382

 

#############
# Redirects #
#############

 

# Redirect Relay
$iptables -t nat -A PREROUTING -p tcp -d $RELAY –dport $SMTP -j DNAT –to-destination $NRELAY:$SMTP

 

# Redirect proxy
$iptables -t nat -A PREROUTING -p tcp -d $FW_SEDE_USU_Eth1 –dport $HTTP_PROXY -j DNAT –to-destination $PROXY:$HTTP_PROXY

 

# Controle de Execucao
echo Redirects implementados! 798

 

###################
# Sistema de Logs #
###################

 

# Dados Bloqueados
$iptables -A INPUT -j LOG –log-level debug –log-prefix “IPTABLES-INPUT-DROP: ”
$iptables -A FORWARD -j LOG –log-level debug –log-prefix “IPTABLES-FORWARD-DROP: ”

 

# Controle de Execucao
echo “Log do que e descartado implementado!” 809

 

####################
# Mensagens finais #
####################

 

sleep 1
echo “Regras de Firewall Ativadas”

 

#OBS: As rotas se encontram no arquivo /etc/rotas

 

############# FIM #############

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento. Outro problema são as aspas duplas e simples que quando copiadas não são reconhecidas no linux.

Para isto existe o projeto sury.org . Para tanto execute os seguintes comandos como root:

apt-get install apt-transport-https lsb-release ca-certificates

wget -O /etc/apt/trusted.gpg.d/php.gpg / https://packages.sury.org/php/apt.gpg

sh -c ‘echo “deb https://packages.sury.org/php/ $(lsb_release -sc) / main” > /etc/apt/sources.list.d/php.list’

apt-get update

Desta forma você terá a disposição a opção das versões mais novas de PHP no seu Debian. Caso não queira atualizar a versão é só comentar a linha no arquivo /etc/apt/sources.list.d/php.list .

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento. Outro problema são as aspas duplas e simples que quando copiadas não são reconhecidas no linux.

criar o arquivo:
vi /etc/rsyslog.d/iptables.conf

 

com o conteúdo:

 

:msg, contains, “IPTABLES-” -/var/log/iptables.log
& ~

 

reiniciar o serviço de log.

 

/etc/init.d/rsyslog restart

#!/bin/bash

 

# Variaveis
servidor=`hostname`
dirbase=”/home/gustavo/backup”

 

# Seleciona o diretorio raiz como corrente
cd /

 

# Descriptografa o arquivo
unzip -P senha -q /home/gustavo/.restaura/$servidor-*.zip

 

# Descompacta os arquivos
tar -xzf $dirbase/$servidor-*.tgz -p -s

 

# Envia o arquivo para o administrador
cat /root/msg/b | mutt -s “Restaurado o Backup do FWSede” usuario@sua_organização -c chefe@sua_organização -b usuario2@sua_organização

 

# Limpa os arquivos
rm $dirbase/* -Rf
rm /home/gustavo/.restaura/$servidor-*.zip

#!/bin/bash

 

# Variaveis
servidor=`hostname`
data=`date +%d-%m-%Y-%Hh%M`
tgz=`ls /home/gustavo/`
dirbase=”/home/gustavo/backup”
dirbase2=”/home/gustavo/.restauraR”
diriptable=”/etc/iptables/”
dirinterfaces=”/etc/network/”
dirrotas=”/etc/rotas/”
dircacti=”/etc/snmp/”
dircacti2=”/etc/default/”
diretc=”/etc/”
dirpostfix=”/etc/postfix/”
diriptable2=”/etc/rsyslog.d/”
dirsshh=”/etc/ssh/”
regras=”/etc/iptables/regras.sh”
interfaces=”/etc/network/interfaces”
rotas=”/etc/rotas/rotas.sh”
cacti=”/etc/snmp/snmpd.conf”
cacti2=”/etc/default/snmpd”
syslog=”/etc/rsyslog.conf”
postfix=”/etc/postfix/main.cf”
iptable2=”/etc/rsyslog.d/iptables.conf”
sshh=”/etc/ssh/sshd_config”
lista=”/etc/network/interfaces /etc/rotas/ /etc/iptables/ /etc/snmp/ /etc/default/ /etc/rsyslog.conf /etc/rsyslog.d/ /etc/init.d/firewall /etc/ssh/ /root/msg /etc/postfix/”

 

# descompacta o arquivo para comparacao
cd $dirbase2
unzip -P C4%iop0Z# $dirbase2/.regras-*.zip
unzip -P C4%iop0Z# $dirbase2/.interfaces-*.zip
unzip -P C4%iop0Z# $dirbase2/.rotas-*.zip
unzip -P C4%iop0Z# $dirbase2/.cacti-*.zip
unzip -P C4%iop0Z# $dirbase2/.cacti2-*.zip
unzip -P C4%iop0Z# $dirbase2/.syslog-*.zip
unzip -P C4%iop0Z# $dirbase2/.iptables-*.zip
unzip -P C4%iop0Z# $dirbase2/.ssh-*.zip
rm .regras-*.zip .interfaces-*.zip .rotas-*.zip .cacti-*.zip .cacti2-*.zip .syslog-*.zip .iptables-*.zip .ssh-*.zip

 

# copia o arquivo atual para comparacao futura
cd $diriptable
zip -r9 -P senha $dirbase2/.regras-$data.zip regras.sh
cd $dirinterfaces
zip -r9 -P senha $dirbase2/.interfaces-$data.zip interfaces
cd $dirrotas
zip -r9 -P senha $dirbase2/.rotas-$data.zip rotas.sh
cd $dircacti
zip -r9 -P senha $dirbase2/.cacti-$data.zip snmpd.conf
cd $dircacti2
zip -r9 -P senha $dirbase2/.cacti2-$data.zip snmpd
cd $diretc
zip -r9 -P senha $dirbase2/.syslog-$data.zip rsyslog.conf
cd $diriptable2
zip -r9 -P senha $dirbase2/.iptables-$data.zip iptables.conf
cd $dirsshh
zip -r9 -P senha $dirbase2/.ssh-$data.zip sshd_config

 

# Apaga o arquivo anterior
rm -Rf $dirbase/*

 

# Compara os arquivos
echo “Diferencas no arquivo de regras:” > $dirbase/mudancas.log
diff $regras $dirbase2/regras.sh >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Diferencas no arquivo de interfaces:” >> $dirbase/mudancas.log
diff $interfaces $dirbase2/interfaces >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Diferencas no arquivo de rotas:” >> $dirbase/mudancas.log
diff $rotas $dirbase2/rotas.sh >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Diferencas no arquivo de configuracao do cacti (primeiro):” >> $dirbase/mudancas.log
diff $cacti $dirbase2/snmpd.conf >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Diferencas no arquivo de configuracao do cacti (segundo):” >> $dirbase/mudancas.log
diff $cacti2 $dirbase2/snmpd >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Diferencas no arquivo de syslog:” >> $dirbase/mudancas.log
diff $syslog $dirbase2/rsyslog.conf >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Diferencas no arquivo de iptables:” >> $dirbase/mudancas.log
diff $iptable2 $dirbase2/iptables.conf >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Diferencas no arquivo de ssh:” >> $dirbase/mudancas.log
diff $sshh $dirbase2/sshd_config >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log

 

# conta as linhas de arquivo
echo “Linhas do arquivo de regras anterior:” >> $dirbase/mudancas.log
cat $dirbase2/regras.sh | wc -l >> $dirbase/mudancas.log
echo “Linhas do arquivo de regras atual:” >> $dirbase/mudancas.log
cat $regras | wc -l >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Linhas do arquivo de interfaces anterior:” >> $dirbase/mudancas.log
cat $dirbase2/interfaces | wc -l >> $dirbase/mudancas.log
echo “Linhas do arquivo de interfaces atual:” >> $dirbase/mudancas.log
cat $interfaces | wc -l >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Linhas do arquivo de rotas anterior:” >> $dirbase/mudancas.log
cat $dirbase2/rotas.sh | wc -l >> $dirbase/mudancas.log
echo “Linhas do arquivo de rotas atual:” >> $dirbase/mudancas.log
cat $rotas | wc -l >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Linhas do arquivo de cacti (primeiro) anterior:” >> $dirbase/mudancas.log
cat $dirbase2/snmpd.conf | wc -l >> $dirbase/mudancas.log
echo “Linhas do arquivo de cacti (primeiro) atual:” >> $dirbase/mudancas.log
cat $cacti | wc -l >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Linhas do arquivo de cacti (segundo) anterior:” >> $dirbase/mudancas.log
cat $dirbase2/snmpd | wc -l >> $dirbase/mudancas.log
echo “Linhas do arquivo de cacti (segundo) atual:” >> $dirbase/mudancas.log
cat $cacti2 | wc -l >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Linhas do arquivo de syslog anterior:” >> $dirbase/mudancas.log
cat $dirbase2/rsyslog.conf | wc -l >> $dirbase/mudancas.log
echo “Linhas do arquivo de syslog atual:” >> $dirbase/mudancas.log
cat $syslog | wc -l >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Linhas do arquivo de iptables anterior:” >> $dirbase/mudancas.log
cat $dirbase2/iptables.conf | wc -l >> $dirbase/mudancas.log
echo “Linhas do arquivo de iptables atual:” >> $dirbase/mudancas.log
cat $iptable2 | wc -l >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log
echo “Linhas do arquivo de ssh anterior:” >> $dirbase/mudancas.log
cat $dirbase2/sshd_config | wc -l >> $dirbase/mudancas.log
echo “Linhas do arquivo de ssh atual:” >> $dirbase/mudancas.log
cat $sshh | wc -l >> $dirbase/mudancas.log
echo ” ” >> $dirbase/mudancas.log

 

# Apaga os arquivos comparados
cd $dirbase2
rm *.sh *.conf interfaces sshd_config snmpd

 

# Compacta os arquivos de configuracao no diretorio /home/gustavo
tar -czf $dirbase/$servidor-$data.tgz $lista -p -s

 

# Criptografa o arquivo
zip -r9 -P senha $dirbase/$servidor-$data.zip $dirbase/*.tgz

 

# Envia o arquivo para o administrador
cat $dirbase/mudancas.log | mutt -s “Backup FWSede” -a $dirbase/*.zip usuario@sua_organização -c chefe@sua_organização -b usuario2@sua_organização
rm $dirbase/mudancas.log

 

# Chama a funcao limpa
/sbin/limpa.sh