Вы находитесь на странице: 1из 6

#!

/bin/bash # Script de firewall # Informaes # Interface externa -> eth0 # Interface interna -> eth1 # # # # # Criando as Tabelas de Logs Adicionar ao arquivo /etc/rsyslog.conf a linha: *.=notice -/var/log/iptables Reinicie o syslogd para alterao Essa linha ir enviar as mensagens para o arquivo /var/log/iptables

# Iniciando o firewall echo "Iniando o firewall..." echo "0%---------" echo " Carregando..." sleep 1 # Definindo variveis # Adicione aqui todas as variveis desejadas iptables=/sbin/iptables clear echo "Starting firewall..." echo "10%---------" echo "Limpando o ambiente..." sleep 1 # Limpando Regras..." $iptables -F $iptables -t nat -F $iptables -t mangle -F # Apagando Chains $iptables -X $iptables -t nat -X $iptables -t mangle -X # Limpando Contadores $iptables -Z $iptables -t nat -Z $iptables -t mangle -Z # Alterando as polticas padres $iptables -P OUTPUT ACCEPT $iptables -P INPUT ACCEPT $iptables -P FORWARD ACCEPT clear echo "Starting firewall..." echo "-20%--------" echo "Carregando os modulos..." sleep 1 # Modulos #/sbin/modprobe ip_conntrack #/sbin/modprobe ip_conntrack_ftp #/sbin/modprobe ip_nat_ftp

#/sbin/modprobe ip_queue #/sbin/modprobe ip_tables #/sbin/modprobe ipt_LOG #/sbin/modprobe ipt_MARK /sbin/modprobe ipt_MASQUERADE /sbin/modprobe ipt_REDIRECT /sbin/modprobe ipt_REJECT #/sbin/modprobe ipt_TCPMSS #/sbin/modprobe ipt_TOS #/sbin/modprobe ipt_limit #/sbin/modprobe ipt_mac #/sbin/modprobe ipt_mark /sbin/modprobe ipt_multiport #/sbin/modprobe ipt_owner /sbin/modprobe ipt_state #/sbin/modprobe iptable_filter #/sbin/modprobe iptable_mangle /sbin/modprobe iptable_nat clear echo "Starting firewall..." echo "--30%-------" echo "Adicionando excecoes e definindo politicas..." sleep 1 # Adicione aqui as excees para o firewall... # Bloqueando Gmail (GoogleTalk) #$iptables -I INPUT -s chatenabled.mail.google.com -j DROP #$iptables -A OUTPUT -d chatenabled.mail.google.com -j DROP #$iptables -A FORWARD -d chatenabled.mail.google.com -j DROP #$iptables -A FORWARD -d talk.l.google.com -p tcp --dport 443 -j DROP #$iptables -A FORWARD -d chatenabled.mail.google.com -p tcp --dp ort 443 -j DROP #$iptables -A FORWARD -d talk.google.com -p tcp --dport 443 -j D ROP #$iptables -A FORWARD -d talkx.l.google.com -p tcp --dport 443 j DROP #$iptables -A FORWARD -d talk.l.google.com -p tcp --dport 5222 j DROP #$iptables -A FORWARD -d chatenabled.mail.google.com -p tcp --dp ort 5222 -j DROP #$iptables -A FORWARD -d talk.google.com -p tcp --dport 5222 -j DROP #$iptables -A FORWARD -d talkx.l.google.com -p tcp --dport 5222 -j DROP # Definindo as politicas padroes $iptables -P INPUT DROP $iptables -P OUTPUT DROP $iptables -P FORWARD DROP clear echo "Starting firewall..." echo "---40%------" echo "Criando os logs de eventos..." sleep 1 # Gerando as tabelas de LOG # Chain ALERTAS

$iptables $iptables $iptables $iptables $iptables # Chain ACEITAS # $iptables # $iptables # $iptables # $iptables

-N -A -A -A -A -N -A -A -A

ALERTAS ALERTAS ALERTAS ALERTAS ALERTAS

-p -p -p -j

tcp -j LOG --log-level 5 --log-prefix "DROP" udp -j LOG --log-level 5 --log-prefix "DROP" icmp -j LOG --log-level 5 --log-prefix "DROP" DROP

ACEITAS ACEITAS -p tcp -j LOG --log-level 5 --log-prefix "ACEITO" ACEITAS -p udp -j LOG --log-level 5 --log-prefix "ACEITO" ACEITAS -j ACCEPT

clear echo "Starting firewall..." echo "----50%-----" echo "Liberando conexoes estabelecidas ou relatadas..." sleep 1 # Liberando conexes $iptables -A $iptables -A $iptables -A estabelecidas ou relatadas INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Liberando intarface loopback $iptables -A INPUT -i lo -j ACCEPT $iptables -A OUTPUT -o lo -j ACCEPT $iptables -A INPUT ! -i lo -s 127.0.0.0/8 -j ALERTAS clear echo "Starting firewall..." echo "-----60%----" echo "Ativando medidas de segurana..." sleep 1 # Bloqueando ping $iptables -A INPUT -p icmp -i eth0 -j DROP #$iptables -A INPUT -p icmp -i eth1 -j DROP $iptables -A INPUT -p icmp -m limit --limit 1/s -j ACCEPT $iptables -A FORWARD -p icmp -m limit --limit 1/s -j ACCEPT # Wincrash $iptables -A INPUT -p tcp --dport 5042 -j ALERTAS # BackOrifice $iptables -A INPUT -p tcp -i eth0 --dport 31337 -j ALERTAS $iptables -A INPUT -p udp -i eth0 --dport 31337 -j ALERTAS # NetBus $iptables -A INPUT -p tcp -i eth0 --dport 12345:12346 -j ALERTAS $iptables -A INPUT -p udp -i eth0 --dport 12345:12346 -j ALERTAS # Trin00 $iptables $iptables $iptables $iptables -A -A -A -A INPUT INPUT INPUT INPUT -p -p -p -p tcp tcp udp udp -i -i -i -i eth0 eth0 eth0 eth0 --dport --dport --dport --dport 1524 -j ALERTAS 27665 -j ALERTAS 27444 -j ALERTAS 31335 -j ALERTAS

# X Server $iptables -A INPUT -p tcp -i eth0 --dport 5999:6003 -j ALERTAS $iptables -A INPUT -p tcp -i eth0 --dport 7100 -j ALERTAS $iptables -A INPUT -p udp -i eth0 --dport 5999:6003 -j ALERTAS

# Tracertroute $iptables -A INPUT -p udp -s 0/0 -i eth0 --dport 33435:33525 -j ALERTAS # IP Spoofing #$iptables -A INPUT -s 172.16.0.0/12 -i eth0 -j ALERTAS #$iptables -A INPUT -s 192.168.0.0/24 -i eth0 -j ALERTAS #$iptables -A INPUT -s 10.0.0.0/8 -i eth0 -j ALERTAS # Ident requeridos $iptables -A INPUT -p tcp -i eth0 --dport 113 -j DROP $iptables -A INPUT -p udp -i eth0 --dport 113 -j DROP # CMD.EXE #$iptables -A INPUT -p tcp -s 0.0.0.0/0 -m string --string 'cmd.exe' -j ALERTAS (Eu no consegui ativar essa regra) clear echo "Starting firewall..." echo "------70%---" echo "Definindo filtros de entrada..." sleep 1 # Tabela INPUT # Contendo escaneamentos # Caso um host da lista SUSPEITOS passe aqui 4 vezes ser bloqueado por 1 hora $iptables -A INPUT -m recent --update --hitcount 4 --name SUSPEI TO --seconds 3600 -j DROP # Liberando portas # DNS (Consulta) $iptables -A INPUT -p udp --dport 53 -i eth1 -j ACCEPT # DNS (Atualizao de zonas - rede interna) #$iptables -A -p tcp --dport 53 -i eth1 -j ACCEPT # FTP #$iptables -A INPUT -p tcp --dport 21 -i eth0 -j ACCEPT # HTTP #$iptables -A INPUT -p tcp --dport 21 -i eth0 -j ACCEPT # HTTPS #$iptables -A INPUT -p tcp --dport 443 -i eth0 -j ACCEPT # SSH (porta 7070) $iptables -A INPUT -p tcp --dport 7070 -j ACCEPT # SMTP #$iptables -A INPUT -p tcp --dport 25 -i eth0 -j ACCEPT # POP #$iptables -A INPUT -p tcp --dport 110 -i eth0 -j ACCEPT # IMAP #$iptables -A INPUT -p tcp --dport 143 -i eth0 -j ACCEPT # DHCP (Rede Interna) $iptables -A INPUT -p udp --dport 67 -i eth1 -j ACCEPT

# Apenas se um host tentar acessar alguma porta no habilitada ser adicionado na lista suspeito. $iptables -A INPUT -m recent --set --name SUSPEITO clear echo "Starting firewall..." echo "-------80%--" echo "Definindo filtros de saida..." sleep 1 # Tabela OUTPUT # Liberando HTTP #$iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT # Liberando FTP $iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT # Liberando DNS consulta $iptables -A OUTPUT -p udp --dport 53 -j ACCEPT # Liberando SSH para rede interna $iptables -A OUTPUT -p tcp --dport 7070 -j ACCEPT # Liberando o servio dhcp $iptables -A OUTPUT -p udp --dport 68 -o eth1 -j ACCEPT clear echo "Starting firewall..." echo "--------90%-" echo "Definindo filtros de encaminhamento..." sleep 1 # Tabela FORWARD # Liberando HTTP $iptables -A FORWARD -p tcp -o eth0 --dport 80 -j ACCEPT # Liberando HTTPS $iptables -A FORWARD -p tcp -o eth0 --dport 443 -j ACCEPT # Liberando SMTP #$iptables -A FORWARD -p tcp -o eth0 --dport 25 -j ACCEPT # Liberando POP3 #$iptables -A FORWARD -p tcp -o eth0 --dport 110 -j ACCEPT # IMAP #$iptables -A FORWARD -p tcp --dport 143 -i eth0 -j ACCEPT # Liberando FTP #$iptables -A FORWARD -p tcp -o eth0 --dport 21 -j ACCEPT # Liberando TELNET #$iptables -A FORWARD -p tcp -o eth0 --dport -23 -j ACCEPT # Liberando SSH $iptables -A FORWARD -o eth0 -p tcp --dport 7070 -j ACCEPT

# Liberando DNS (Consultas externas) $iptables -A FORWARD -p udp -o eth0 --dport 53 -j ACCEPT clear echo "Starting firewall..." echo "---------100%" echo "Finalizando..." sleep 1 # Tabela NAT # Compartilhando a internet $iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # Proxy Transparente Se o redirecionamento for para uma mquina diferente #$iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-d estination ip_de_destino:porta_de_destino # Proxy Transparente #$iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT -to-port 3128 # Definindo parametros # Habilitando Forwarding (encaminhamento) echo 1 > /proc/sys/net/ipv4/ip_forward # Desabilitando Resposta Ping #echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all # Protecao contra ICMP Broadcasting #echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # Desabilitando Syn-Cookies echo 0 > /proc/sys/net/ipv4/tcp_syncookies # Negando IP_Spoofing for i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > $i done echo "Done"