|
Linux -
Arquivos de Configuração - Confs
|
|
Escrito por icefusion
|
|
Qui, 07 de Maio de 2009 10:23 |
|
Linux - Script de Firewall - IPTables
### Criacao de Variaveis ### iptables=/sbin/iptables IF_EXTERNA=ppp0 ### -> placa de rede externa -> q tem ligação com modem internet IF_INTERNA=eth0 ### -> placa de rede interna -> q tem ligação com a rede IP_EXTERNO= ### -> IP EXTERNO IP_WINTS= ### IP SERVIDOR WINDOWS TERMINAL SERVER - NO MEU CASO EU TENHO Q FAZER UM ROTEAMENTO PARA UM SERVIDOR DO WINDOWS TERMINAL SERVER 2003 ESSE EH IP INTERNO DE MINHA REDE
### Ativa Modulos ### /sbin/modprobe iptable_nat /sbin/modprobe ip_conntrack /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp /sbin/modprobe ipt_LOG /sbin/modprobe ipt_REJECT /sbin/modprobe ipt_MASQUERADE /sbin/modprobe iptable_mangle /sbin/modprobe iptable_filter /sbin/modprobe ipt_multiport
#Ativa Roteamento no Kernel echo "1" > /proc/sys/net/ipv4/ip_forward
#Ativa Protecao contra IP spoofing echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
#Limpa as Regras $iptables -F $iptables -X $iptables -F -t nat $iptables -X -t nat $iptables -F -t mangle $iptables -X -t mangle
#Politicas Padrao $iptables -P INPUT DROP $iptables -P OUTPUT ACCEPT $iptables -P FORWARD DROP
#Ativa Mascaramento na Saida $iptables -t nat -A POSTROUTING -o $IF_EXTERNA -j MASQUERADE
### Fim de Configuracoes de Inicializacao ###
#Nega Pacotes TCP indesejaveis $iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 6 --log-prefix "FIREWALL(NEW sem syn): " $iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
#Aceita Pacotes Permitido a Entrada $iptables -A INPUT -i ! $IF_EXTERNA -j ACCEPT $iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $iptables -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT $iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT $iptables -A INPUT -p ICMP -i $IF_EXTERNA -j ACCEPT
### Ativando Protecoes Contra Ataques ###
# 1 - Protecao contra Trinoo $iptables -N TRINOO $iptables -A TRINOO -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIREWALL(Prot. Trinoo): " $iptables -A TRINOO -j DROP $iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 27444 -j TRINOO $iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 27665 -j TRINOO $iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 31335 -j TRINOO $iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 34555 -j TRINOO $iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 35555 -j TRINOO
# 2 - Protecao contra Trojans $iptables -N TROJAN $iptables -A TROJAN -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIREWALL(Prot. Trojan): " $iptables -A TROJAN -j DROP $iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 666 -j TROJAN $iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 666 -j TROJAN $iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 4000 -j TROJAN $iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 6000 -j TROJAN $iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 6006 -j TROJAN $iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 16660 -j TROJAN
# 3 - Protecao contra Worms $iptables -A FORWARD -p tcp --dport 135 -i $IF_INTERNA -j REJECT
# 4 - Protecao contra Syn-Flood $iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
# 5 - Protecao contra Ping da Morte $iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# 6 - Protecao contra Port Scanners $iptables -N SCANNER $iptables -A SCANNER -m limit --limit 15/m -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 $IF_EXTERNA -j SCANNER $iptables -A INPUT -p tcp --tcp-flags ALL NONE -i $IF_EXTERNA -j SCANNER $iptables -A INPUT -p tcp --tcp-flags ALL ALL -i $IF_EXTERNA -j SCANNER $iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i $IF_EXTERNA -j SCANNER $iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i $IF_EXTERNA -j SCANNER $iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i $IF_EXTERNA -j SCANNER $iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i $IF_EXTERNA -j SCANNER
### Fim de Regras de Protecao ###
### Log de Conexao nas Portas Liberadas ### $iptables -A INPUT -p tcp --dport 22 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL(SSH): " $iptables -A INPUT -p tcp --dport 3389 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL(WINDOWS TS): "
### Fim Log Conexao nas Portas Liberadas ###
### Ativando Portas para Conexoes ###
# Liberando Windows Terminal Server #
# Ativando o Encaminhamento de Pacotes $iptables -A FORWARD -p tcp -d $IP_WINTS --dport 3389 -j ACCEPT $iptables -A FORWARD -p tcp -s $IP_WINTS --sport 3389 -j ACCEPT
# Ativando o Roteamento de Pacotes $iptables -A PREROUTING -t nat -i $IF_EXTERNA -d $IP_EXTERNO -p tcp --dport 3389 -j DNAT --to $IP_WINTS:3389
# Fim de Liberacao Windows Terminal Server #
#Liberando portas $iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#Liberando Navegacao Interna $iptables -A INPUT -i $IF_INTERNA -j ACCEPT
### Fim de Ativacao de Portas para Conexoes ###
echo "FIREWALL CARREGADO COM SUCESSO" |