Servidor de Internet, Firewall, Logs - Ubuntu 10.04.3 LTS Lucid Lynx

Neste artigo estarei mostrando como montar um Servidor de Internet com Firewall bastante simples, com Proxy transparente, Firewall, Logs e bloqueios diversos por MAC.

[ Hits: 59.249 ]

Por: Welton Cordeiro em 01/09/2011


Criando script de Firewall



Instalando rcconf para que possamos configurar serviço e inicialização:

# apt-get install rcconf

Criando Script:

# touch /etc/init.d/firewall

Editando script:

# mcedit /etc/init.d/firewall

echo Limpando as tabelas e Chains
iptables -F
iptables -F -t nat
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t mangle -F
iptables -t nat -F
iptables -X
echo Limpeza das Tabelas ..... [ok]

### Habilitando os módulos
modprobe iptable_nat
modprobe ip_nat_ftp
echo Modulos Carregados ..... [ok]

### Compartilhamento da Internet
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo Internet Compartilhada ..... [ok]

#Segurança

#Não responde a pings
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

#Proteção contra Ip Spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP

#Autoriza pacotes provenientes da interface de loopback lo
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT

#Impedindo ataque Ping of Death na rede
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#Impedindo ataque de Denial Of Service Dos na rede e servidor
iptables -I FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp -m limit --limit 1/s -j ACCEPT

#Protecao contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

#Protecao contra worms
iptables -I FORWARD -p tcp --dport 135 -j LOG --log-level info --log-prefix 'WORMS REDE>'
iptables -A FORWARD -p tcp --dport 135 -j DROP
iptables -I INPUT -p tcp --dport 135 -j LOG --log-level info --log-prefix 'WORMS >'
iptables -A INPUT -p tcp --dport 135 -j DROP

#bloqueador de tentativas de conexão da internet
iptables -A INPUT -p tcp --syn -j DROP
echo Seguranca Carregada ..... [ok]

#CONECTIVIDADE SOCIAL
iptables -t nat -A PREROUTING -p tcp -d 200.201.0.0/16 -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.0.0/16 -j ACCEPT
echo Conectividade Social Carregada ..... [ok]

#PROXY TRANSPARENTE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
echo Proxy Transparente Carregado ..... [ok]

#BLOQUEAR MSN
iptables -I FORWARD -p tcp -s 10.0.0.0/8 --dport 1863 -j DROP
echo Bloqueio de Msn Carregado ..... [ok]

#Redirecionamentos

#EXEMPLO DE REDIRECIONAMENTO
iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 3389 -i eth1 -j DNAT --to 10.1.1.10
iptables -t nat -A PREROUTING -p udp -s 0/0 --dport 3389 -i eth1 -j DNAT --to 10.1.1.10

Dando permissão de execução ao arquivo:

# chmod +x /etc/init.d/firewall

Incluindo o Firewall na inicialização, para que o processo fique automático:

# rcconf

Vai abrir uma lista de arquivos que são executados na inicialização do sistema, ache o Firewall e marque-o para que ele seja iniciado durante o processo de inicialização.

Marque-a teclando a barra de espaços e em seguida tecle ENTER para confirmar as alterações.

Agora execute o script:

# /etc/init.d/firewall
Página anterior     Próxima página

Páginas do artigo
   1. Configurando as interfaces de rede e Configurando Squid
   2. Continuação - Configurando Squid
   3. Criando script de Firewall
   4. Instalando e configurando Sarg
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Rodando aplicações nativas de Windows em Linux pela Web

Ferramentas úteis para diagnóstico da rede

Imspector, um proxy para mensageiros instantâneos no Linux

Softmodem compatível com Smart Link em kernel Linux 2.6.24 ou superior

Laconica - Twitter? Open source? Sim! Eis nosso microbloging de código aberto

  
Comentários
[1] Comentário enviado por facb69 em 05/09/2011 - 20:25h

Muito bom esse tutorial, Welton.
Só não entendi porque você configurou sua eth0 com 10.1.1.1 e a eth1 com 192.168.1.2 já que não há no texto nenhuma informação sobre NAT e são duas redes diferentes. Sei que um roteador faz isso mas, nesse caso, como seria?
Se puder me explicar, vai me ajudar bastante pois estou estudando redes, também, e vou usar em casa mais prá frente.
Mais uma vez, parabéns pelo tutorial.

Abraço,
Fábio

[2] Comentário enviado por awn em 09/09/2011 - 22:45h

Excelente tutorial,
Estou preste a ultiliza-lo aqui em casa e só entender porque você configurou sua eth0 com 10.1.1.1 e a eth1 com 192.168.1.2 já que não há no texto nenhuma informação sobre NAT e são duas redes diferentes. E não poderia ficar a eth1 soconfigurado o dns com 127.0.0.1 pois e nele que vem a internet?

Att
Anderson

[3] Comentário enviado por weltonpba em 10/09/2011 - 08:00h

Caros Amigos, a eth0 e ip fixo que configurei pra rede de computadores, a eth1 e ip fixo do meu modem dhcp que vem a internet, ele pega a internet pelo 192 e roteia pelo 10 intederão ?

[4] Comentário enviado por weltonpba em 10/09/2011 - 10:00h

Agora que eu intendi sua pergunta, o Ubuntu quando acaba de instalar ele, ele pega dhcp da rede automatico, ae o que acontece quando você vai configurar pra colocar ip manual no servidor, pra ele ficar fixo, digamos que o dhcp automatico esteja como dns 200.10.120.3 ae quando você coloca manual para outro endereço ip da qual a dns e diferente ele ainda continua com as dns do dhcp automatico por isso eu deixei caso for necessario editar as dns use mcedit /etc/resolv.conf, por que foi uma questão que eu tive que colocar pq na hora de configurar o servidor, a internet não tava funcionando ae eu verifiquei que as dns estavão diferentes... mas ae e questão de cada um como vai ser sua configuração isso e muito relativo...

[5] Comentário enviado por dubetors em 28/08/2012 - 10:55h

opa, segui seu tutorial, mas o que aconteçe é o seguinte, das estações consigo pingar para a internet, porem não navega. qnd comento as linhas do proxi transparente no firewall, consigo navegar, porem sem nenhum filtro, pois não passa pelo squid. saberia o que pode ser? grato


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts