Script de firewall
Publicado por Henrique Vieira Leanor (última atualização em 01/02/2010)
[ Hits: 6.798 ]
Homepage: henriqueinside.blogspot.com
Script pronto para ser usado em seu firewall.
#!/bin/bash ## Variáveis IPT=$(which iptables) ET0="192.168.1.112" LO="127.0.0.1" NET="0/0" PA="1024:65535" #----------------------------------------------------------------------- modulos() { echo "### CARREGANDO MÓDULOS ###" modprobe ip_conntrack_ftp modprobe ip_nat_ftp } nega() { echo "### FECHANDO O FIREWALL ###" $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP } limpa() { echo "### ABRINDO O FIREWALL ###" $IPT -F $IPT -F -t nat $IPT -F -t mangle $IPT -P INPUT ACCEPT $IPT -P OUTPUT ACCEPT $IPT -P FORWARD ACCEPT } loop() { echo "### LIBERANDO A LOOP BACK ###" $IPT -A INPUT -i lo -d $LO -j ACCEPT $IPT -A OUTPUT -o lo -d $LO -j ACCEPT } input() { echo "### ESTABILIZANDO AS CONEXÕES DE INPUT ###" $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT } output() { echo "### ESTABILIZANDO AS CONEXÕES DE OUTPUT ###" $IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT } forward() { echo "### ESTABILIZANDO AS CONEXÕES DE FORWARD ###" $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT } icmps() { echo "### LIBERANDO ICMPS ###" for TIPO in 0 3/0 3/1 3/2 3/3 3/4 4 5 11 12 do $IPT -A INPUT -p icmp -s $NET -d $ET0 --icmp-type $TIPO -m limit --limit 1/s -j ACCEPT done $IPT -A OUTPUT -p icmp -s $ET0 -d $NET --icmp-type 8 -j ACCEPT } pt_cliente_tcp() { echo "### LIBERANDO CONEXÕES CLIENTE EM PORTAS TCP ###" for PORTAS in $(cat /etc/firewall/portas_tcp.txt | grep -v ^#) do $IPT -A OUTPUT -p tcp -m state --state NEW -s $ET0 --sport $PA -d $NET --dport $PORTAS -j ACCEPT done } pt_cliente_udp() { echo "### LIBERANDO CONEXÕES CLIENTE EM PORTAS UDP ###" for PORTAS in $(cat /etc/firewall/portas_udp.txt | grep -v ^#) do $IPT -A OUTPUT -p udp -m state --state NEW -s $ET0 --sport $PA -d $NET --dport $PORTAS -j ACCEPT done } pt_adm_tcp() { echo "### ATIVANDO CONTROLE DE CONEXÕES REMOTAS DE IP's AUTORIZAODS ###" for IP in $(cat /etc/firewall/ip_amigos.txt | grep -v ^#) do for PORTAS in $(cat /etc/firewall/portas_adm.txt | grep -v ^#) do $IPT -A INPUT -p tcp -m state --state NEW -s $IP --sport $PA -d $ET0 --dport $PORTAS -j ACCEPT done done for PORTAS in $(cat /etc/firewall/portas_adm.txt | grep -v ^#) do $IPT -A INPUT -p tcp -s $NET --sport $PA -d $ET0 --dport $PORTAS -j REJECT --reject-with tcp-reset done } flags_invalidas() { echo "### ATIVANDO CONTROLE DE FLAGS INVALIDAS ###" for FLAGS in $(cat /etc/firewall/flags.txt | grep -v ^#) do for CHAINS in INPUT FORWARD do $IPT -A $CHAINS -p tcp -d $ET0 -m state --state NEW --tcp-flags $FLAGS $FLAGS -j LOG --log-prefix "FLAG_$FLAGS" $IPT -A $CHAINS -p tcp -d $ET0 -m state --state NEW --tcp-flags $FLAGS $FLAGS -j DROP done done } #----------------------------------------------------------------------- case $1 in start) modulos nega loop input output forward icmps pt_cliente_tcp pt_cliente_udp flags_invalidas pt_adm_tcp echo " ******* FIREWAL ATIVADO ******* " ;; stop) limpa echo " ******* FIREWALL DESATIVADO ******* " ;; filter) $IPT -nL | more ;; nat) $IPT -nL -t nat | more ;; mangle) $IPT -nL -t mangle | more ;; restart) $0 stop $0 start ;; *) echo "erro use $0 {start|stop|filter|nat|mangle|restart}" exit 0 ;; esac exit 1
Executando comandos remotos via Dropbox
Gerenciamento de software e hardware de desktop
Detecta e bloqueia tentativa de acesso ao SSH
Manipulação de contas de email com o postfix
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Como criar um robot em NTSL (Nelogica Trading System Language) para Profitchart
Use o Google PageSpeed Insights para verificar um site
Sistema da Coréia do Norte - Red Star OS (30)
filtrar só as pastas onde tem arquivo (5)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (31)
Instalacao Manjaro em notebook com placa de video hibrida [RESOLVIDO] (2)