Script Firewall [RESOLVIDO]

1. Script Firewall [RESOLVIDO]

Christopherson F. da Cruz
Khrugger

(usa Ubuntu)

Enviado em 06/08/2009 - 18:37h

Boa tarde amigos do VOL!
eu estou com problemas, tenho um script de firewall que está desta forma:

#!/bin/sh
echo “iniciando firewall”
echo “limpando regras”
iptables –F
iptables –X
iptables –F–t nat
iptables –X –t nat

echo “bloqueando tudo”
iptables –P INPUT DROP
iptables –P OUTPUT DROP
iptables –P FORWARD DROP

echo “liberando ping”
iptables –A INPUT –p icmp –s 192.168.0.0/24 –d 192.168.0.2/24 –j ACCEPT
iptables –A OUTPUT –p icmp –s 192.168.0.2 –d 0/0 –j ACCEPT

echo “liberando loopback”
iptables –A INPUT –p tcp –i lo –j ACCEPT
iptables –A OUTPUT –p tcp –s 127.0.0.1 –j ACCEPT
iptables –A FORWARD –p tcp –i lo –j ACCEPT

echo “Liberando Portas”
iptables –A INPUT –p tcp –dport 80 –s 192.168.0.0/24 –j ACCEPT
iptables –A FORWARD –p tcp –dport 80 –s 192.168.0.0/24 –j ACCEPT
iptables –A INPUT –p tcp –dport 3128 –s 192.168.0.0/24 –j ACCEPT

echo “liberando DNS”
iptables –A FORWARD –p udp –dport 53 –s 192.168.0.0/24 –j ACCEPT

echo “liberando rede interna”
iptables –A INPUT –p tcp –syn –s 192.168.0.0/24 –j ACCEPT
iptables –A OUTPUT –p tcp –syn –s 192.168.0.0/24 –j ACCEPT
iptables –A FORWARD –p tcp –syn –s 192.168.0.0/24 –j ACCEPT
iptables –A INPUT –P udp –dport 80 –i eth1 –j ACCEPT

echo “mascarando a rede nat”
iptables –t nat –A POSTROUTING –s 192.168.0.0/24 –d 0/0 –o eth0 –j MASQUERADE

echo “permitir fluxo na rede interna -> externa”
iptables –A FORWARD –i eth1 –o eth0 –j ACCEPT
iptables –A FORWARD –i eth0 –o eth1 –j ACCEPT

echo “redirecionando porta 80 para 3128”
iptables –t nat –A PREROUTING –s 192.168.0.0/24 –p tcp –m multiport –dport 80 REDIRECT –to-port 3128

echo “compartilhando a internet na rede”
iptables –t nat –A POSTROUTING –s 192.168.0.0/24 –o eth0 –j MASQUERADE
echo “ativar roteamento no Kernel”
echo 1 > /proc/sys/net/ipv4/ip_forward

echo “roteamento default”
route add default gw 192.168.0.1

echo “permitindo pacotes ESTABLISHED, RELATED”
iptables –A INPUT –m state -- state RELATED,ESTABLISHED –j ACCEPT
iptables –A OUTPUT –m state --state RELATED,ESTABLISHED –j ACCEPT
iptables –A FORWARD –m state --state RELATED,ESTABLISHED –j ACCEPT

echo “liberando ssh”
iptables –A INPUT –p tcp --dport 22 –j ACCEPT
iptables –A OUTPUT –p tcp --dport 22 –j ACCEPT

echo “liberando SWAT”
iptables –A INPUT –p tcp --dport 901 –j ACCEPT
iptables –A OUTPUT –p tcp --dport 901 –j ACCEPT

echo “Liberando samba”
iptables –A INPUT –p udp --dport 137 –j ACCEPT
iptables –A INPUT –p udp --dport 138 –j ACCEPT
iptables –A INPUT –p tcp --dport 445 –j ACCEPT
iptables –A OUTPUT –p udp --dport 137 –j ACCEPT
iptables –A OUTPUT –p udp --dport 138 –j ACCEPT
iptables –A OUTPUT –p tcp --dport 445 –j ACCEPT

echo “proteção contra spood de ip”
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter

echo “proteção contra icmp broadcasting”
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

echo “proteger contra synflood”
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

echo “bloqueando ip externo tentando acessar a rede interna”
iptables –A INPUT –p tcp –i eth0 --syn –s 201.27.8.70/255.255.255.255 –j DROP

o SWAT, SAMBA e SSH funcionam perfeitamente!
o problema é que, não estou conseguindo navegar na net, faço teste de ping direto do servidor, no ip de algum site tenho respostas, mas se faço ping no nome, não tenho resposta, aparece a seguinte mensagem:
unknow host www.terra.com.br

alguém pode me ajudar? desde já fico muito grato!


  


2. Problema

Adriano Rodrigues Balani
balani

(usa Slackware)

Enviado em 06/08/2009 - 20:12h

Boa noite, meu caro, a possivel solução é a verificação dos dns's que você usa, olhar no seu /etc/resolv.conf e ver se estão corretos e libera-los no script tanto para o servidor quanto para a rede, e liberar a sua rede tbem, tanto para acessar o servidor (INPUT) quanto a passagem por ele (FORWARD), só uma dica dá uma organizada no seu script, coloque todos as ativações juntas.

Tenta aí e depois me fala.

Abraços.

Adriano R. Balani


3. Re: Script Firewall [RESOLVIDO]

Rodrigo P Freitas
rpfreitas

(usa Linux Mint)

Enviado em 07/08/2009 - 09:00h

Amigo na regra que vc libera o dns, vc adcionou o protocolo udp porta 53
"iptables –A FORWARD –p udp –dport 53 –s 192.168.0.0/24 –j ACCEPT." adciona outra linha como esta com o protocolo tcp na mesma porta, acho que pode ser isto o seu problema.

iptables –A FORWARD –p tcp –dport 53 –s 192.168.0.0/24 –j ACCEPT


4. Re: Script Firewall [RESOLVIDO]

Christopherson F. da Cruz
Khrugger

(usa Ubuntu)

Enviado em 10/08/2009 - 17:42h

Galera do Vol! boa tarde!
o problema é o seguinte... coloquei um pc subordinado ao meu servidor.
fiz teste de ping no Ip do site terra.
fiz teste de ping no Nome do site terra.
fiz teste de ping no gateway da conexão.
fiz teste de ping no DNS da conexão.
todos responderam normalmente, porém, na hora de navegar não navega, coloco o ip do site no browser e o mesmo abre, porém pelo nome não, mas responde a ping.!


5. Re: Script Firewall [RESOLVIDO]

Carlos Henrique Ramos
ramos1986

(usa Debian)

Enviado em 10/08/2009 - 19:25h

Ola amigo, quem é o seu servidor de DNS?


6. Re: Script Firewall [RESOLVIDO]

Christopherson F. da Cruz
Khrugger

(usa Ubuntu)

Enviado em 10/08/2009 - 23:18h

é a própria empresa em que trabalho... eu sei que o prob. não seja no DNS, pois, se eu der os seguintes comandos no servidor, tudo funciona normalmente:
iptables -P INPUT ACCEPT
OUTPUT #
FORWARD #
OU SEJA... DESATIVO MEU FIREWALL
AÍ ELE FUNCIONA ATÉ COMO SERVIDOR DHCP, TDO BELEZINHA...
Mas via das dúvidas, EMBRATEL


7. Re: Script Firewall [RESOLVIDO]

Adriano Rodrigues Balani
balani

(usa Slackware)

Enviado em 11/08/2009 - 17:25h

Testa, deixando a Chain OUTPUT assim:

iptables –P OUTPUT ACCEPT


8. firewall

Izaias
linus black

(usa Debian)

Enviado em 11/08/2009 - 21:59h

#!/bin/sh
#
# rc.firewall .By Linus Black For slackware12.2
#
#
#
modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_filter
modprobe iptable_mangle
modprobe iptable_nat
modprobe ipt_LOG
modprobe ipt_limit
modprobe ipt_state
modprobe ipt_REDIRECT
modprobe ipt_owner
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_gre
#
#Limpa as Regras
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -F -t mangle
iptables -X -t mangle
#
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_intvl
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/tcp_ecn
echo 1 > /proc/sys/net/ipv4/tcp_timestamps
echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
echo "=========================================================|"
echo "|:INICIANDO A CONFIGURAÇÃO DO FIREWALL NETFILTER ATRAVÉS:|"
echo "|: DO IPTABLES :|"
echo "=========================================================|"
echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
#Politicas Padrao
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#
### Ativando Protecoes Contra Ataques ###
# 1 - Protecao contra Trinoo
iptables -N TRINOO
iptables -A TRINOO -m limit --limit 1/s -j LOG --log-level 6 --log-prefix "FIREWALL(Prot. Trinoo): "
iptables -A TRINOO -j DROP
iptables -A INPUT -p tcp -i eth0 --dport 27444 -j TRINOO
iptables -A INPUT -p tcp -i eth0 --dport 27665 -j TRINOO
iptables -A INPUT -p tcp -i eth0 --dport 31335 -j TRINOO
iptables -A INPUT -p tcp -i eth0 --dport 34555 -j TRINOO
iptables -A INPUT -p tcp -i eth0 --dport 35555 -j TRINOO
echo "ativado o bloqueio a tentativa de ataque do tipo Trinoo"
echo "ON .................................................[ OK ]"
# 2 - Protecao contra Trojans
iptables -N TROJAN
iptables -A TROJAN -m limit --limit 1/s -j LOG --log-level 6 --log-prefix "FIREWALL(Prot. Trojan): "
iptables -A TROJAN -j DROP
iptables -A INPUT -p tcp -i eth0 --dport 666 -j TROJAN
iptables -A INPUT -p tcp -i eth0 --dport 666 -j TROJAN
iptables -A INPUT -p tcp -i eth0 --dport 4000 -j TROJAN
iptables -A INPUT -p tcp -i eth0 --dport 6000 -j TROJAN
iptables -A INPUT -p tcp -i eth0 --dport 6006 -j TROJAN
iptables -A INPUT -p tcp -i eth0 --dport 16660 -j TROJAN
echo "ativado o bloqueio a tentativa de ataque do tipo Trojan"
echo "ON .................................................[ OK ]"
# 3 - Protecao contra Worms
iptables -A FORWARD -p tcp --dport 135 -i eth0 -j REJECT
echo "ativado o bloqueio a tentativa de ataque do tipo Worms"
echo "ON .................................................[ OK ]"
# 4 - Protecao contra Syn-Flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
echo "ativado o bloqueio a tentativa de ataque do tipo Syn-Flood"
echo "ON .................................................[ OK ]"
# 5 - Protecao contra Ping da Morte
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
echo "ativado o bloqueio a tentativa de ataque do tipo ping "
echo "ON .................................................[ OK ]"
# 6 - Protecao contra Port Scanners
iptables -N SCANNER
iptables -A SCANNER -m limit --limit 1/s -j LOG --log-level 6 --log-prefix "FIREWALL(Port Scanner): "
iptables -A SCANNER -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL NONE -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL ALL -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i eth0 -j SCANNER
iptables -A INPUT -p udp -s 0/0 -i eth0 --dport 33435:33525 -j REJECT
iptables -A INPUT -m state --state INVALID -j REJECT
echo "ativado o bloqueio a tentativa de ataque do tipo Scanners"
echo "ON .................................................[ OK ]"
#
#Rotiamento e redirecionamento
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "ativado o Rotiamento"
echo "ON .................................................[ OK ]"
#Liberando rrede interna
iptables -A OUTPUT -s 192.168.0.0/16 -j ACCEPT
iptables -A INPUT -s 192.168.0.0/16 -p udp --dport 53 -j ACCEPT
#iptables -A INPUT -s 192.168.0.0/16 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 192.168.0.15 -p tcp --dport 22 -j ACCEPT
#iptables -A INPUT -s 192.168.0.0/16 -p tcp --dport 443 -j ACCEPT
#Mantendo a coneo
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#
iptables -t filter -A INPUT -i lo -j ACCEPT
#
# BLOQUEA O QUE NAO SE ENCAIXA NAS REGRAS ACIMA
iptables -A INPUT -p tcp --syn -j DROP
iptables -P FORWARD DROP
echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
echo "=========================================================|"
echo "|: CARREGAMENTO BEM SUSSEDIDO :|"
echo "|: DO IPTABLES :|"
echo "=========================================================|"
echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"

testa ai.


9. Re: Script Firewall [RESOLVIDO]

Christopherson F. da Cruz
Khrugger

(usa Ubuntu)

Enviado em 11/08/2009 - 23:49h

Agradeço a todos, graças a vocês resolvi meu problema... muito obrigado a todos!

Linus Black... vc me ajudou D+! obrigado!!!!

Nosso parceiro diede também detonou!!!

valew FERAS valew!!!!!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts