macsliberadosfirewall
status;ip_do_computador;mac_do_plrede;nomepc
A letra (a) indica que o computador que está com esse status liberado, se for (b) estará bloqueado e se for (c) bloqueará toda tipo de conexão originado, destinado e redirecionado para o ip correspondente. O nome o computador não irá importar para o script de firewall, só serve para organizar melhor a nossa lista.
c;192.168.253.1;;bloqueio-total
a;192.168.253.2;00:0E:A6:8E:1F:F2;marcelo-home
a;192.168.253.3;00:0F:EA:2A:E0:36;na
a;192.168.253.4;00:20:ED:09:8B:53;tania-home
a;192.168.253.5;00:14:2A:42:9F:C2;elidia-home
a;192.168.253.7;00:17:31:40:04:37;jaira-home
a;192.168.253.8;00:16:EC:D9:29:13;luana-home
c;192.168.253.9;;bloqueio-total
c;192.168.253.11;;bloqueio-total
c;192.168.253.12;;bloqueio-total
c;192.168.253.13;;bloqueio-total
c;192.168.253.14;;bloqueio-total
c;192.168.253.15;;bloqueio-total
.
.
.
c;192.168.253.254;;bloqueio-total
Nos testes que fiz, mesmo um computador não cadastrado ele só não conseguia acessar a internet, porém acessava normalmente os outros serviços do servidor como, por exemplo, ssh e ftp. Então para garantir a integridade do servidor e da segurança da rede decidi colocar todos os ips da rede sendo bloqueados por este script garantido com estas regras as seguintes situações:
- Se o usuário possuir permissão de trocar o ip do computador e fizer isso ele não navegará, pois as regras irão apenas liberar pacotes se os ips e macs se correspondem entre si;
- Se o usuário possuir um computador cujo mac não esteja cadastrado é preferível que o dhcp não dê dinamicamente o ip a computadores que estejam nesta situação, porém se ele possuir conhecimentos sobre redes de computadores e configurar estaticamente o computador mesmo assim o mac não estará liberado pelas regras, no entanto se não bloqueasse todos os ips da rede ele poderia acessar os outros serviços podendo assim comprometer a segurança do mesmo, pois o ip estaria liberado;
- Se o status de um computador for “b” o computador estará totalmente bloqueado tanto o mac como o ip e se trocar o ip por um que esteja liberado ele estará travado pelo mac;
- A única possibilidade de ele conseguir navegar pela rede e na internet será emular virtualmente um mac que esteja liberado, mas lembrando que as quantidades de endereços macs são na unidade de vários milhões e ele conseguir achar um que esteja liberado pelo servidor é uma missão quase impossível;
- Para garantir mais ainda a segurança deverá ser feito um bloqueio no nível do Squid negando acesso a macs não liberados, autenticação com login e senha e se for uma rede wireless usar criptografia forte como a do wpe e wpa.
Para facilitar a recriação do arquivo citado, isso se o exemplo dado for diferente da situação de sua rede, bastar executar adaptando o seguinte script:
#!/bin/sh
REDE=192.168.253
for i in `seq 254`; do
echo "c;$REDE.$i;;bloqueio-total" >> /etc/configuracao_personalizada/macsliberadosfirewall
done
Para baixar o exemplo deste arquivo use este link:
portsblo:
Neste arquivo estará contido as portas a serem bloqueadas pelo firewall, a sintaxe basicamente é colocar em cada linha a porta que deverá ser bloqueada pelo sistema, mas também é possível colocar intervalos de portas, como exemplo, porta_inicio:porta_fim.
Segue um exemplo de configuração de bloqueio de portas e os motivos dos bloqueios.
OBS: Se você colocar a política padrão como DROP, isto é, bloqueando todo o redirecionamento de entrada e saída, não é necessário colocar portas bloqueadas, pois todas elas já estarão bloqueadas por default, mas se quiser se certificar que a rede está segura fica por sua conta levar em consideração bloquear as portas ou não. Mas se você colocar ACCEPT aceitando os pacotes, é uma prioridade colocar estas portas como bloqueadas para garantir segurança.
traceroute:
33435:33525
#bloqueio Back Orifice
31337
#bloqueio TRIN00
1524
27665
27444
31335
#bloqueio para o servidor X
5999:6003
7100
Lembrando que estes bloqueios só servem principalmente para a proteção do próprio servidor e não da rede em si.
OBS: Neste arquivo não são suportados comentários com inicio com o símbolo "#".
portslib:
A intenção das portas liberadas é justamente aceitar somente aquelas que realmente forem necessárias tanto para uma rede corporativa ou uma outra mais flexível. Lembrando que as portas liberadas servem para tanto para rede quanto ao servidor. É importante liberar essas portas se você as bloqueou na política padrão, mas se não, então não precisa.
ftp=21
ssh=22
SMTP=25
Dns=53
http=80
POP3=110
https=443
squid=3128
vnc=5900
webmin=10000
apache=8080
Esta foi a configuração básica do script de firewall.
OBS: Lembrando mais uma vez que os arquivos portslib e portsblo devem conter somente as portas em formato de texto puro para as respectivas finalidades.