Firewall básico
Publicado por Josue de Jesus Santos (última atualização em 09/11/2012)
[ Hits: 6.655 ]
Homepage: https://github.com/josuejsantos
Segue script de firewall que escrevi para uso próprio.
#! /bin/bash #Configuracao Firewall atraves do iptables #Autoria do Script #"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" #"| Script de Firewall - IPTABLES" #"| Criado por: Josue Santos" #"| membros da comunidade viva o linux" #"| Tecnico em Informatica" #"| josueandres.fcb@gmail.com" #"| Uso: firewall start|stop|restart" #"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" ########################### #######TITULO ABRE####### # echo "Iniciando FIREWALL" ########################### ################################################################## #Os diversos modulos do iptables sao chamados atraves do modprobe# ################################################################## modprobe ip_tables modprobe iptable_nat modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe ipt_LOG modprobe ipt_REJECT modprobe ipt_MASQUERADE modprobe ipt_state modprobe ipt_multiport modprobe iptable_mangle modprobe ipt_tos modprobe ipt_limit modprobe ipt_mark modprobe ipt_MARK echo "subindo os modulos do IPTABLE e NETFILTRE" echo "ON .......................................................[#OK]" #################### #Interfaces de Rede# #################### LAN=eth0 echo "ativado o placa de rede eth0" echo "ON ........................................................[#OK]" ########################### #Mensagem de inicializacao# ########################### echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" echo "| Script de Firewall - IPTABLES" echo "| Criado por: Josue Santos" echo "| membro da comunidade viva o linux" echo "| Tecnico em Informatica" echo "| josueandres.fcb@gmail.com" echo "| Uso: firewall start|stop|restart" echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" echo echo "=========================================================|" echo "|:INICIANDO A CONFIGURACAO DO FIREWALL NETFILTER ATRAVES:|" echo "|: DO IPTABLES :|" echo "=========================================================|" ###################### #Zera todas as Regras# ###################### echo "Zera todas as Regras" iptables -F ######################################## ##Bloqueia tudo, nada entra e nada sai## ######################################## echo "Fechando tudo..." iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP ################################### ###Libera conexoes estabelecidas### ################################### iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT iptables -A INPUT -i lo -j ACCEPT echo "Liberando conexoes..." echo "ON.......................................................[#ON]" ################### #COMPARTILHAMENTO## ################### iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo "Libera Compartilhamento" echo "ON.......................................................[#ON]" ############################################ #Bloqueio de scanners ocultos (Shealt Scan)# ############################################ iptables -A FORWARD -p tcp --tcp-flags SYN,ACK, FIN, -m limit --limit 1/s -j ACCEPT echo "bloqueado scanners ocultos" echo "ON ......................................................[#OK]" ######################### #Bloqueio Anti-Spoofings# ######################### iptables -A INPUT -s 127.0.0.0/8 -i eth0 -j DROP iptables -A INPUT -s 127.0.0.0/8 -i eth0 -j DROP iptables -A INPUT -s 192.168.1.0/24 -i eth0 -j DROP iptables -A INPUT -s 192.168.1.0/24 -i eth0 -j DROP echo "ativado o bloqueio de tentativa de ataque do tipo Anti-spoofings" echo "ON .....................................................[#OK]" ####################################### #Bloqueio de ataque ssh de forca bruta# ####################################### iptables -N SSH-BRUT-FORCE iptables -A INPUT -i $LAN -p tcp --dport 22 -j SSH-BRUT-FORCE iptables -A SSH-BRUT-FORCE -m limit --limit 1/s --limit-burst 4 -j RETURN iptables -A SSH-BRUT-FORCE -j DROP echo "ativado o bloqueio a tentativa de ataque do tipo SSH-BRUT-FORCE" echo "ON .....................................................[#OK]" ################################### #Bloquear ataque do tipo SYN-FLOOD# ################################### echo "0" > /proc/sys/net/ipv4/tcp_syncookies iptables -N syn-flood iptables -A INPUT -i $LAN -p tcp --syn -j syn-flood iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN iptables -A syn-flood -j DROP echo "ativado o bloqueio de ataque do tipo SYN-FLOOD" echo "ON .....................................................[#OK]" ################################################# #Descarte de pacotes nao-identificado ICMP (ping) ################################################# iptables -A OUTPUT -m state -p icmp --state INVALID -j DROP echo "ativado o bloqueio a tentativa de ataque do tipo PING-ICMP" echo "ON .....................................................[#OK]" ###################### #Contra Pings da morte ###################### echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all iptables -N PING-MORTE iptables -A INPUT -p icmp --icmp-type echo-request -j PING-MORTE iptables -A PING-MORTE -m limit --limit 1/s --limit-burst 4 -j RETURN iptables -A PING-MORTE -j DROP echo "ativado o bloqueio a ataque do tipo ping da morte" echo "ON .....................................................[#OK]" ############################################################################ ##Impede ataques DoS a maquina limitando a quantidade de respostas do ping## ############################################################################ iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j DROP echo "Previne ataques DoS" echo "ON .....................................................[#OK]" ################################# ##Bloqueia completamente o ping## ################################# iptables -A INPUT -p icmp --icmp-type echo-request -j DROP echo "Previne ataques PING" echo "ON .....................................................[#OK]" ########################## ##Politicas de seguranca## ########################## echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo 1 > /proc/sys/net/ipv4/tcp_syncookies echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter iptables -A INPUT -m state --state INVALID -j DROP echo "Implementacao de politicas de seguranca" echo "ON .....................................................[#OK]" ####################################################################################### ##Libera o acesso via SSH e Limita o numero de tentativas de acesso a 4 a cada minuto## ####################################################################################### #iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP #iptables -A INPUT -p tcp --dport 22 -j ACCEPT #iptables -A INPUT -p udp --dport 22 -j ACCEPT # [ SSH Interno ] iptables -t nat -A PREROUTING -p tcp --dport 22 -s 192.168.1.100/24 -j ACCEPT iptables -t nat -A PREROUTING -p udp --dport 22 -s 192.168.1.100/24 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100/24 -j ACCEPT iptables -A INPUT -p udp --dport 22 -s 192.168.1.100/24 -j ACCEPT # [ SSH Externo ] #iptables -t nat -A PREROUTING -p tcp --dport 22 -j ACCEPT #iptables -t nat -A PREROUTING -p udp --dport 22 -j ACCEPT #iptables -A INPUT -p tcp --dport 22 -j ACCEPT #iptables -A INPUT -p udp --dport 22 -j ACCEPT echo "Liberando SSH" echo "On......................................................[#OK]" ################## ##Libera o Samba## ################## iptables -A INPUT -p tcp --dport 137:139 -j ACCEPT iptables -A INPUT -p udp --dport 137:139 -j ACCEPT iptables -A INPUT -p tcp --dport 445 -j ACCEPT iptables -A INPUT -p icmp -j ACCEPT iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p udp --dport 137 -j ACCEPT iptables -A INPUT -p udp --dport 138 -j ACCEPT iptables -A INPUT -p tcp --dport 139 -j ACCEPT iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable iptables -A INPUT -j REJECT --reject-with icmp-proto-unreachabl echo "Liberando Samba Compartilhamento do Samba" echo "On......................................................[#OK]" ################### ##Libera o Apache## ################### #echo "Liberando o Apache" #iptables -A INPUT -p tcp --dport 80 -j ACCEPT ####################### #Bloquear Back Orifice# ####################### iptables -A INPUT -p tcp --dport 31337 -j DROP iptables -A INPUT -p udp --dport 31337 -j DROP echo "ativado o bloqueio a tentativa de ataque do tipo BACK-ORIFICE" echo "ON .....................................................[#OK]" ################# #Bloquear NetBus# ################# iptables -A INPUT -p tcp --dport 12345:12346 -j DROP iptables -A INPUT -p udp --dport 12345:12346 -j DROP echo "ativado o bloqueio a tentativa de ataque do tipo NET-BUS" echo "ON .....................................................[#OK]" ################ ##TITULO FECHA## ################ echo "Configuracao Firewall Concluida." echo echo "==========================================================|" echo "::TERMINADA A CONFIGURACAO FIREWALL NETFILTER ATRAVES::|" echo ":: DO IPTABLES ::|" echo "==========================================================|" echo "FIREWALL ATIVADO - SISTEMA PREPARADO" echo "SCRIPT DE FIREWALL CRIADO POR :-) JOSUE SANTOS :-)" echo "FIREWALL DESCARREGADO - SISTEMA LIBERADO"
Migração de Aplicações para Ambiente Web - Uma Abordagem Prática
mailnow - Envia mensagens pelo shell
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Estou com sede em aprender sobre o nosso querido Linux. (1)
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta