# Instalando suporte ao controle de Whitelist #

---

* **Criando as chains necessárias ,o ambiente do firewall**.

#~:iptables -N WhiteList

#~:ip6tables -N WhiteList

Uma vez criadas as chains nos respectivos firewalls (ipv4, ipv6). 

O sistema será capaz controlar as entradas e registros.

Os scripts se encontram no diretório common/bin do sistema.

# Copiando/instalando o scripts #

Ao todo temos três scripts para o funcionamento adequado do sistema.

São estes:

whitelist-ipv4.pl

> Este é o encarregado pela atualização e sincronia com entre o banco de dados e o firewall ipv4.

whitelist-ipv6.pl

> Este é o encarregado pela atualização e sincronia com entre o banco de dados e o firewall ipv6.

whitelist.sh

>Este invoca os dois scripts de controle sincronizando ambas as tabbelas.

Os scripts atuam em dois ambientes.

O do Firewall e o do banco de dados fazendo a leitura do estado atual e sincronizando o banco de dados de acordo com a necessidade.


Temos ainda os arquivos para configuração do serviço em conformidade com os recursos do systemd.:

Estes consistem em dois arquivos que são responsáveis pelo timer e pelo serviço.

Ambos necessitam estar no diretório "/etc/systemd/system"

São estes:

whitelist.timer

whitelist.service


Para copiar os arquivos usa-se a instrução cp.

#:~/cp whitelist.timer /etc/systemd/system/.

#:~/cp whitelist.service /etc/systemd/system/.

Uma vez copiados ou movidos para o direório /etc/systemd/system precisam ser ativados e iniciados.


Para ativá-los usa-se a instrução systemctl.

A sintaxe é algo como:

#:~/systemctl enable whitelist.timer

#:~/systemctl enable whitelist.service

Para desativar o serviços usa-se:

#:~/systemctl disable whitelist.timer

#:~/systemctl disable whitelist.service


Para iniciar a execução dos serviços a sintaxe é algo como:

#:~/systemctl start whitelist.timer

#:~/systemctl start whitelist.service

#:~/systemctl disable whitelist.timer

#:~/systemctl disable whitelist.service

Temos dois níveis de monitoramento:

**Obs**:

O monitoramento das ações do sistema só adiciona entradas no journal caso a váriável DEBUG esteja abilitando os logs.

Para isoo nos scripts whitelist-ipv4.pl e whitelist-ipv6.pl a variável DEBUG contida nos mesmos deve ter o valor 1.

DEBUG = 1;
Para desabilitar o monitoramento de dados bas ajustar essa variável para 0.

DEBUG = 0;

* **Estado de execução e funcionamento do sistema**.

#:~/systemctl status whitelist.timer

#:~/systemctl status whitelist.service

> Com estas instruções vemos o estado de execução dos serviços dentro do servidor.

* **Monitoramento das ações do sistema**.

#:~/journalctl | grep adicionado

>A saída dessa instrução nos mostrará as vezes em que foram adicionados endereços a nossa whitelist.
>Também serão exibidos os respectivos endereços.
#:~/journalctl | grep removido

>A saída dessa instrução nos mostrará as vezes em que foram removidos endereços a nossa whitelist.
>Também serão exibidos os respectivos endereços.

