Exemplo de Script de Backup

#!/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

Ferramentas pouco utilizadas mas bastante interessantes

bing – teste de banda
ifstat – estatística de throuput real time das interfaces
iftop – estatística de throuput real time + tráfego de origem/destino
nload – estatística de throuput real time das interfaces
jnettop – tráfego real time + possibilidade de filtros/análise + tráfego de origem/destino
apachetop – requisições + consumo de banda por requisição + qtde de banda do sítio
atop – top + real –> mesmo do dstat só que mais limpa a visualização
dstat – top mais leve
iotop – top de disco
iptstate – estado das conexões do iptables
htop – melhor top
psmisc – possui o killall
lfm – gerenciador de arquivos

Atualização de versão do GLPI

1° Backup do Banco de dados
# mysqldump -u root -p123456 glpi > glpi.sql
Para restaurar caso precise
# mysql -u root -p123456 glpi < glpi.sql
2º backup da pasta glpi
# mv glpi/ glpi_back
3º backup da pasta files
# mv files/ files_back
4º backup da pasta pics, backup da pasta plugins.
# mv pics/ pics_back
# mv plugins/ plugins_back
5º renomear pasta glpi para glpi_old (por segurança)
# mv glpi/ glpi_old
6º  baixar nova versao GLPI
# wget glpi_nova_versao.tgz
7º descompactar a pasta
# tar -xvzf glpi_nova_versao.tgz -C /var/www/
8º Permissoes para pasta GLPI
# chown www-data. -Rf /var/www/glpi
# chmod 775 -Rf /var/www/glpi
9º executar o glpi no navegador web e escolher a opção ATUALIZAR.
10º Configurar a conexao com BD e escolher o atual.
11º executar novamente as permissões
# chown www-data. -Rf /var/www/glpi
# chmod 775 -Rf /var/www/glpi
12º Copie as pastas: files, pics para o mesmo lugar na nova versão.
# cp -Rf pics/ /var/www/glpi/
# cp -Rf files/ /var/www/glpi/
# cp -Rf plugins/ /var/www/glpi/
Autor: Giusepe Dias

Instalação do GLPI no Debian com PHP 5

** 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.

Incluir o repositório non-free na lista do Debian:

# echo “deb http://ftp.br.debian.org/debian/ jessie main non-free” /       >> /etc/apt/sources.list

# apt-get update
# apt-get upgrade -y
# apt-get install ca-certificates apache2 libapache2-mod-php5 php5-cli php5 php5-gd php5-imap php5-ldap php5-mysql php-soap php5-xmlrpc zip unzip bzip2 unrar-free php5-snmp php5-curl -y
Tutorial do MySQL se quiser utilizá-lo:
# apt-get install mariadb-server ou sudo apt-get install mysql-server –> sudo mysql_secure_installation –>  mysql -u root -p
# cd /tmp
# tar -xvzf glpi-9.1.1.tgz
# cp -Rf glpi /var/www/html
# vim /etc/apache2/conf-available/glpi.conf
<Directory “/var/www/html/glpi”>
   AllowOverride All
</Directory>
# a2enconf glpi.conf
# service apache2 restart
# chmod 775 /var/www/html -Rf
# chown www-data. /var/www/html -Rf
# mysql -uroot -p
# mysql> create database glpi;
# mysql> create user ‘glpi’@’localhost’ identified by ‘senhaDoBanco’;
# mysql> grant all on glpi.* to glpi identified by ‘senhaDoBanco’;
# mysql> quit;
#mysql -h localhost -u root -p
mysql> CREATE DATABASE db_glp;
mysql> CREATE USER ‘glpi’@’localhost’ IDENTIFIED BY ‘senhaDoGlpi’;
mysql> GRANT ALL PRIVILEGES ON db_glp.* TO ‘glpi’@’localhost’;
mysql> FLUSH PRIVILEGES;
Autor: Giusepe Dias

Instalação compilada do Zabbix no PHP 5.6 e PHP 7.0

** 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.
Instalar os seguintes pacotes para PHP 5:
# apt-get install build-essential gcc libacl1-dev apache2 mysql-server libapache2-mod-log-sql-mysql php5 libapache2-mod-php5 php5-ldap php5-gd php5-mcrypt php5-mysql libattr1-dev libblkid-dev libgnutls-openssl27 libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl chkconfig
Instalar os seguintes pacotes para PHP 7:
# apt-get install build-essential gcc libacl1-dev php7.0 php7.0-ldap apache2 apache2-mod-php7.0 php7.0-mysql php7.0-gd php7.0-mcrypt libapache2-mod-log-sql-mysql libattr1-dev libblkid-dev libgnutls-openssl27 libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev libmariadbd18 acl libcurl4-gnutls-dev libcurl3 curl automake dh-autoreconf debhelper dh-linktree apache2-dev libgnutls28-dev  gnutls-dev libiksemel-dev default-libmysqlclient-dev libopenipmi-dev libpq-dev libsnmp-dev libssh2-1-dev libxml2-dev pkg-config libjs-prototype gettext ruby-sass php7.0-xml php7.0-mbstring php7.0-bcmath php7.0-snmp python-netsnmp libnet-snmp-perl php7.0-cli fping openjdk-8-jdk unixodbc-dev php7.0-common php7.0-json php7.0-xmlrpc
Instalação do MySQL Server ao invés do MariaDB: 
# echo -e “deb http://repo.mysql.com/apt/debian/ stretch mysql-5.7\ndeb-src http://repo.mysql.com/apt/debian/ stretch mysql-5.7″ > /etc/apt/sources.list.d/mysql.list
# wget -O /tmp/RPM-GPG-KEY-mysql https://repo.mysql.com/RPM-GPG-KEY-mysql –no-check-certificate
# apt-key add /tmp/RPM-GPG-KEY-mysql
# apt update
# apt install mysql-server
# systemctl status mysql
# mysql -p
Edição do arquivo do PHP:
# vim /etc/php5/apache2/php.ini
# vim /etc/php/7.0/apache2/php.ini
post_max_size = 16M
max_execution_time = 300
date.timezone = America/Sao_Paulo
max_input_time = 300
always_populate_raw_post_data = -1
# groupadd zabbix
# useradd -g zabbix zabbix
# cd /zabbix_3.2.7
# ./configure –enable-server –enable-agent –with-mysql –enable-ipv6 –with-net-snmp –with-libcurl –with-libxml2 –enable-java –with-jabber=/usr –with-openipmi –with-unixodbc –with-ssh2 -with-gnutls –with-ldap
# make
# make install
# groupadd zabbix
# useradd -g zabbix zabbix
# adduser zabbix zabbix
# sudo useradd -g zabbix -d /usr/local/share/zabbix -s /bin/false zabbix
# sudo usermod -aG www-data zabbix
# mysql -uroot -p
create database zabbix character set utf8;
use zabbix;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@10.5.1.201 IDENTIFIED BY ‘zabbix’ WITH GRANT OPTION;
grant all privileges on zabbix.* to ‘zabbix’@’localhost’ identified by ‘zabbix’;
flush privileges;
# cd zabbix-3.2.7/database/mysql
# mysql -u zabbix -p zabbix < schema.sql
# mysql -u zabbix -p zabbix < images.sql
# mysql -u zabbix -p zabbix < data.sql
–> Arquivo de serviços
# cp /tmp/zabbix-3.2.7/misc/init.d/debian/zabbix-server /etc/init.d/
# cp /tmp/zabbix-3.2.7/misc/init.d/debian/zabbix-agent /etc/init.d/
# update-rc.d zabbix-server defaults
# update-rc.d zabbix-agent defaults
# ln -s /usr/local/etc/ /etc/zabbix
# vim /etc/init.d/zabbix-server
### BEGIN INIT INFO
# Provides:  zabbix-server
# Required-Start:  $remote_fs $network
# Required-Stop:  $remote_fs
# Default-Start:  2 3 4 5
# Default-Stop:  0 1 6
# Should-Start:  mysql
# Should-Stop:  mysql
# Short-Description: Start zabbix-server daemon
### END INIT INFO
# vim /etc/init.d/zabbix-agent
### BEGIN INIT INFO
# Provides:  zabbix-agent
# Required-Start:  $remote_fs $network
# Required-Stop:  $remote_fs
# Default-Start:  2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start zabbix-agent daemon
### END INIT INFO
# systemctl daemon-reload
# service zabbix-server start
# service zabbix-agent start
# cp -a /tmp/zabbix-3.2.7/frontends/php/ /var/www/html/zabbix
# chown www-data. -R /var/www/html/zabbix
ListenPort=10051/
LogFile=/var/log/zabbix_server.log
DBHost=localhost   ## Replace with the IP of the remote database in case MySQL server is located on a different host
DBName=zabbix  ## Zabbix MySQL/Mariab database name
DBUser =zabbix   ## Zabbix MySQL/Mariab database username
DBPassword=password  ## Zabbix MySQL/Mariab database password
DBSocket=/var/run/mysqld/mysqld.sock
DBPort=3306
# touch /var/log/zabbix_server.log
# chmod 775 /var/log/zabbix_server.log
# chgrp zabbix /var/log/zabbix_server.log
# chown www-data. -Rf /var/www/html/zabbix_frontend
# chmod 775 -Rf /var/www/html/zabbix_frontend
Inicie o agente e o servidor zabbix:
/usr/local/sbin/zabbix_server
/usr/local/sbin/zabbix_agentd
/usr/local/sbin/zabbix_agent
# netstat -tulpn
–> instalação pela gui
# locale -a
# locale-gen pt_BR.UTF-8 UTF-8
# locale-gen pt_BR ISO-8859-1
# dpkg-reconfigure locales
# /etc/init.d/apache2 restart
bibliografia
=========================================================
Monitoramento snmp zabbix server debian 9 php7.0
Para testar se está funcionando:
# snmpwalk -v 2c -c Nome_Comunidade IP_Dispositivo
# snmpwalk -v 2c -c Nome_Comunidade IP_Dispositivo
Pode ser necessário instalar os pacotes abaixo relacionados para que funcione:
apt-get install snmp snmp-mibs-downloader
Autor: Giusepe Dias

Instalação do MySQL no Debian ao invés do Maria DB (padrão atual)

** 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.
Adicionar o repositório do MySQL, através dos seguintes comandos como root:
#echo -e “deb http://repo.mysql.com/apt/debian/ stretch /                 mysql-5.7  /
deb-src http://repo.mysql.com/apt/debian/ stretch mysql-5.7″ /
> /etc/apt/sources.list.d/mysql.list
# wget -O /tmp/RPM-GPG-KEY-mysql /              https://repo.mysql.com/RPM-GPG-KEY-mysql –no-check-certificate
# apt-key add /tmp/RPM-GPG-KEY-mysql
Autor: Giusepe Dias

Instalação do apache com PHP7.0 e oci8

** 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.

Instalação dos pacotes:

apt-get install vim alien apache2 iptraf php-pear php7.0 php7.0-adodb / php7.0-cli php7.0-dev php7.0-json php7.0-readline /                libapache2-mod-evasive libapache2-mod-security2 /               libapache2-modsecurity build-essential zip unzip open-vm-tools

OBS: o pacote open-vm-tools será instalado apenas se for uma máquina virtual VMWare

 

Compilar o oci8 a partir do cliente 10 do oracle (caso utilize outra versão de Oracle é só substituir os pacotes do oracle e do oci8 (https://pecl.php.net/package/oci8) – baixe os pacotes neste site)

Baixar os arquivos:

oracle-instantclient-basic-10.2.0.5-1.x86_64.rpm
oracle-instantclient-devel-10.2.0.5-1.x86_64.rpm

Convertê-los para pacotes .deb:

alien oracle-instantclient-devel-10.2.0.5-1.x86_64.rpm
alien oracle-instantclient-basic-10.2.0.5-1.x86_64.rpm

Instalar os pacotes convertidos:

dpkg -i oracle-instantclient-basic_10.2.0.5-2_amd64.deb
dpkg -i oracle-instantclient-devel_10.2.0.5-2_amd64.deb

entrar na pasta oci8-2.0.10

LD_LIBRARY_PATH=”/usr/lib/oracle/10.2.0.5/client64/lib”
ORACLE_HOME=”/usr/lib/oracle/10.2.0.5/client64″

digitar a seguinte sequência de comandos:

phpize
./configure –with-oci8=instantclient,/usr/lib/oracle/10.2.0.5/client64/lib/
make
make install

copiar o arquivo oci8.so para a pasta do php e ativar oci8 no php.ini

Realizar as seguintes configurações no arquivo /etc/apache2/apache2.conf:

Timeout 60

<Directory />
Options -Indexes
#Options FollowSymLinks
AllowOverride None
Require all denied
<LimitExcept GET POST HEAD>
deny from all
</LimitExcept>
</Directory>

<Directory /usr/share>
Options -Indexes
AllowOverride None
Require all granted
<LimitExcept GET POST HEAD>
deny from all
</LimitExcept>
</Directory>

<Directory /var/www/>
Options -Indexes
#Options Indexes FollowSymLinks
AllowOverride None
Require all granted
<LimitExcept GET POST HEAD>
deny from all
</LimitExcept>
</Directory>

Incluir em todos os diretórios/sites a seguinte option:

Options -Indexes

Alterar o seguinte no arquivo /etc/apache2/conf-enabled/security.conf

ServerTokens Prod
ServerSignature Off
FileETag None
TraceEnable Off

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header set X-XSS-Protection 1;mode=block
Header set X-Content-Type-Options nosniff

Alterar o seguinte no arquivo /etc/apache2/conf-enabled/charset.conf

AddDefaultCharset ISO-8859-1
DefaultLanguage pt-BR
LanguagePriority pt-BR en

Alterar o seguinte arquivo /etc/php/7.0/apache2/php.ini

default_charset = “iso-8859-1”

Alterar o seguinte arquivo /etc/php/7.0/apache2/conf.d/20-oci8.ini

extension=/usr/lib/php/20151012/oci8.so

Insira nas variáveis as seguintes linhas:

vi /etc/apache2/envvars

export LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.5/client64/lib
export ORACLE_HOME=/usr/lib/oracle/10.2.0.5/client64

Reinicie o apache para que as variáveis sejam lidas:

/etc/init.d/apache2 restart

Instalação de apache com PHP7 e conexão a banco mysql

** 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.

Como root instale os seguintes pacotes:

apt-get install vim php-pear php7 php7-cli php7-json php7-mcrypt / php7-mysql php7-readline php7-xmlrpc  zip unzip apache2 iptraf / libapache2-mod-evasive libapache2-mod-security2 /                libapache2-modsecurity open-vm-tools

OBS: o pacote open-vm-tools somente será instalado em uma máquina virtual VMWare

Realizar as seguintes configurações no arquivo /etc/apache2/apache2.conf:

Timeout 60

<Directory />
Options -Indexes
#Options FollowSymLinks
AllowOverride None
Require all denied
<LimitExcept GET POST HEAD>
deny from all
</LimitExcept>
</Directory>

<Directory /usr/share>
Options -Indexes
AllowOverride None
Require all granted
<LimitExcept GET POST HEAD>
deny from all
</LimitExcept>
</Directory>

<Directory /var/www/>
Options -Indexes
#Options Indexes FollowSymLinks
AllowOverride None
Require all granted
<LimitExcept GET POST HEAD>
deny from all
</LimitExcept>
</Directory>

Incluir em todos os diretórios/sites a seguinte option:

Options -Indexes

Alterar o seguinte no arquivo /etc/apache2/conf-enabled/security.conf

ServerTokens Prod
ServerSignature Off
FileETag None
TraceEnable Off
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header set X-XSS-Protection 1;mode=block
Header set X-Content-Type-Options nosniff

Alterar o seguinte no arquivo /etc/apache2/conf-enabled/charset.conf

AddDefaultCharset ISO-8859-1
DefaultLanguage pt-BR
LanguagePriority pt-BR en

Alterar o seguinte arquivo /etc/php/7.0/apache2/php.ini

default_charset = “iso-8859-1”