Este documento foi criado com base no Debian Etch4
Para este procedimento o sistema deverá estar devidamente instalado e configurado com duas placas de rede, caso estas ainda não tenham sido configuradas, você pode fazer essa configuração á partir do arquivo /etc/network/interfaces, conforme segue abaixo:
root@servidor:/# vi /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface (interface de acesso a internet, ligada a um modem ou cable modem)
allow-hotplug eth0
iface eth0 inet static
address 200.xxx.xxx.xxx
netmask 255.255.255.xxx
network 200.xxx.xxx.xxx
broadcast 200.xxx.xxx.255
gateway 200.xxx.xxx.xxx
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 200.204.0.10 200.204.0.138
dns-search servidor.dominio.com.br
#Interface de acesso a rede interna
allow-hotplug eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
Com as placas de rede configuradas, partimos para a instalação e configuração do servidor proxy, só que para isso devemos verificar se os espelhos utilizados para baixar novos pacotes e atualizar do sistema, estão configurados. Então abra o arquivo /etc/apt/sources.list e verifique se espelhos abaixo estão presentes no arquivo:
deb http://linorg.usp.br/debian/ etch main
deb-src http://linorg.usp.br/debian/ etch main
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
deb http://ftp.de.debian.org/debian stable main contrib non-free
Caso esteja tudo ok, vamos atualizar nossa lista de pacotes, utilizando o comando:
root@servidor:/# apt-get update.
Após atualizado o sistema, seguimos com a instalação do servidor proxy Squid (http://www.squid-cache.org), mas lembre-se que para isso você deverá está logado como root.
root@servidor:/#aptitude install squid.
Se tudo correu bem, o sistema será instalado e inicializado automaticamente.
Com o servidor de proxy rodando, agora podemos fazer as configurações conforme nossas necessidades, isto costuma mudar de acordo com as regras de cada empresa, por isso não irei entrar
Após configurado o esquid.conf, partimos para a configuração de um firewall, uma vez que o servidor está conectado a internet e vulnerável á ataques de pessoas mal intencionadas. Para isso, verificamos se o iptables (http://www.netfilter.org/) encontra-se instalado com o comando:
root@servidor:/#iptables –v
Se o mesmo estiver instalado, você terá uma resposta parecida com esta (hoje a versão atual é a 1.3.8) iptables v1.3.8.
Agora criamos um arquivo chamado firewall dentro do diretório /etc/init.d e damos a ele permissão de execução:
root@servidor:/# touch /etc/init.d/firewall (criação do arquivo)
root@servidor:/# chmod +x /etc/init.d/firewall (dando permissão de execução)
root@servidor:/# vi /etc/init.d/firewall(abrindo o arquivo para edição)
Este script monta um firewall básico, pois assim como a configuração do squid, as regras variam de acordo com cada empresa.
#!/bin/bash
echo "Carregando o firewall"
#variaveis
IPT="/sbin/iptables"
REDEINT="192.168.0.0/24"
IPFW="192.168.0.1"
# Habilitando o recurso de IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
#Limpa as regras ativas
$IPT -F
$IPT -t nat -F
$IPT -A INPUT -p tcp -i lo -j ACCEPT
#Libera o acesso via ssh na porta 30200
$IPT -A INPUT -p tcp --sport 1024: --dport 30200 -j ACCEPT
#Libera a porta do DNS
$IPT -A INPUT -p udp --sport 1024: -d $IPFW --dport 53 -j ACCEPT
#Libera o acesso a internet na porta 3128
$IPT -A INPUT -p tcp --sport 1024: -d $IPFW --dport 3128 -j ACCEPT
$IPT -A INPUT -m state --state RELATED, ESTABLISHED -j ACCEPT
#Faz nat para a rede interna
$IPT -t nat -F POSTROUTING
$IPT -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#Libera as portas de e-mail
$IPT -A FORWARD -p tcp --dport 25 -j ACCEPT
$IPT -A FORWARD -p tcp --dport 110 -j ACCEPT
#Bloqueia a porta 80
$IPT -A FORWARD -p tcp --dport 80 -j DROP
#Protege contra o ping da morte
$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#Protege contra ataques do tipo syn-flood, dos, etc
$IPT -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
#Protege contra port scanners avancados Ex: nmap
$IPT -A FORWARD -p tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#Protege contra pacotes que podem procurar e obter informações da rede interna
$IPT -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
#Protege contra todos os pacotes danificados ou com defeito
$IPT -A FORWARD -m unclean -j DROP
#Bloqueando o traceroute
$IPT -A INPUT -p udp -s 0/0 -i ppp0 --dport 33435:33525 -j DROP
#Protege contra ataques
$IPT -A INPUT -m state --state INVALID -j DROP
Pronto, seu sistema está instalado e configurado para compartilhar o acesso a internet via proxy.
Algumas configurações adicionais são recomendadas para que o servidor tenha um pouco mais de segurança, conforme segue:
- Evitar que o usuário root faça login
Edite o arquivo /etc/ssh/sshd_config e adicione linha:
PermitRoorLogin no
- Mudar a porta de acesso via ssh, que por padrão é 22
Edite o arquivo /etc/sshd_config e altera a linha:
Port 22 para por exemplo Port 30200
- Bloquear respostas ao comando ping, mantendo o servidor escondido
Edite o arquivo /etc/sysct1.conf e adicione a linha:
net.ipv4.icmp_echo_ignore_all = 1
Bibliografia:
Ferreira, Rubem E. Linux Guia do Administrador do Sistema Novatec editora
http://www.vivaolinux.com.br/dicas/verDica.php?codigo=7384
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5644
http://www.vivaolinux.com.br/dicas/verDica.php?codigo=8539
Nenhum comentário:
Postar um comentário