Firewall
Publicado por Everton 01/09/2004
[ Hits: 7.169 ]
Firewall Básico
Permite somente a passagem de serviços http nas portas 80 e 443.
Serviços pop e smtp nas portas 110 e 25 com servidores espeíficos
Ssh somente do ip do administrador
Nat-Masquerade, ip-forward, Consulta DNS, etc.
Vale apenas confertir.
Facil de configurar.
É so mudar as variáveis.ssh iserver
Arquivo comentado.
Espero que ajude!!!
Seja Livre!!!
Use Linux!!!
#!/bin/bash # #chkconfig: 345 56 46 # # #*********************************************************************** # # Firewall v 1.00 # By EVM-Tech Informática / Linux Service Network # Everton Pestana de Moraes # Shell script to Packet Filtering with Iptables # # This file may be distributed under the terms of the GNU General # Public License. # # LIC: GPL #Pode ser distribuido a Alterado Livremente desde que seja #conservado o Autor e comentadas as devidas alterações. # # Usage: firewall (start|stop|restart|shutdown) # #*********************************************************************** # . /etc/rc.d/init.d/functions # #Interface Interna IINT=eth0 RINT=192.168.0.0/24 #Interface Externa IEXT=ppp0 #Interface ADSL IADSL=eth1 IPADM=192.168.0.1 POPT=pop.rio.terra.com.br SMTPT=smtp.rio.terra.com.br POPI=pop3.ig.com.br SMTPI=smtp.ig.com.br POPB=pop3.bol.com.br SMTPB=smtp.bol.com.br POPU=pop3.uol.com.br SMTPU=smtp.uol.com.br # IPT=/usr/sbin/iptables modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_nat_ftp # case "$1" in # start) echo -n "Iniciando Firewall" # #Removendo Regras $IPT -F $IPT -t nat -F $IPT -t mangle -F # #Zerando Contadores $IPT -Z $IPT -t nat -Z $IPT -t mangle -Z # #Definindo Política de Segurança Padrão $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP # #Ativando MASQUERADE $IPT -t nat -A POSTROUTING -o $IEXT -j MASQUERADE # # Ativando FORWARD de Pacotes /sbin/sysctl -w net.ipv4.ip_forward=1 > /dev/null # # #Permitindo Consulta ao DNS # $IPT -A INPUT -s $RINT -p udp --sport 1024:65535 --dport 53 -j ACCEPT $IPT -A INPUT -i $IEXT -p udp --sport 53 --dport 53 -j ACCEPT $IPT -A INPUT -i $IEXT -p udp --sport 53 --dport 1024:65535 -j ACCEPT $IPT -A OUTPUT -o $IEXT -p udp -m udp --dport 53 -j ACCEPT # #Permitindo SSH # $IPT -A INPUT -p tcp -s $IPADM --sport 1024:65535 --dport 22 -j ACCEPT $IPT -A OUTPUT -p tcp --sport 22 -d $IPADM --dport 1024:65535 -j ACCEPT # #Permitindo acesso WEB # $IPT -A INPUT -d $RINT -i $IEXT -p tcp -m tcp --sport 80 --dport 1024:65535 -j ACCEPT $IPT -A INPUT -d $RINT -i $IEXT -p tcp -m tcp --sport 80 --dport 1024:65535 -j ACCEPT $IPT -A INPUT -d $RINT -i $IEXT -p tcp -m tcp --sport 443 --dport 1024:65535 -j ACCEPT $IPT -A INPUT -d $RINT -i $IINT -p tcp -m tcp --sport 443 --dport 1024:65535 -j ACCEPT $IPT -A FORWARD -s $RINT -i $IINT -p tcp -m tcp --sport 1024:65535 --dport 80 -j ACCEPT $IPT -A FORWARD -d $RINT -i $IEXT -o $IINT -p tcp -m tcp --sport 80 --dport 1024:65535 -j ACCEPT $IPT -A FORWARD -s $RINT -i $IINT -o $IEXT -p tcp -m tcp --dport 80 -j ACCEPT $IPT -A FORWARD -i $IEXT -o $IINT -p tcp -m tcp --sport 80 --dport 1024:65535 -j ACCEPT $IPT -A FORWARD -s $RINT -i $IINT -o $IEXT -p tcp -m tcp --sport 1024:65535 --dport 443 -j ACCEPT $IPT -A FORWARD -d $RINT -i $IEXT -o $IINT -p tcp -m tcp --sport 443 --dport 1024:65535 -j ACCEPT $IPT -A OUTPUT -s $RINT -o $IEXT -p tcp -m tcp --sport 1024:65535 --dport 80 -j ACCEPT $IPT -A OUTPUT -s $RINT -o $IINT -p tcp -m tcp --sport 1024:65535 --dport 80 -j ACCEPT $IPT -A OUTPUT -d $RINT -o $IEXT -p tcp -m tcp --sport 1024:65535 --dport 443 -j ACCEPT $IPT -A OUTPUT -s $RINT -o $IINT -p tcp -m tcp --sport 1024:65535 --dport 443 -j ACCEPT # #Permitindo acesso Mail #Terra $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $POPT --dport 110 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $POPT --sport 110 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $SMTPT --dport 25 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $SMTPT --sport 25 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT #IG $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $POPI --dport 110 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $POPI --sport 110 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $SMTPI --dport 25 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $SMTPI --sport 25 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT #BOL $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $POPB --dport 110 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $POPB --sport 110 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $SMTPB --dport 25 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $SMTPB --sport 25 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT #UOL $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $POPU --dport 110 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $POPU --sport 110 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $SMTPU --dport 25 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $SMTPU --sport 25 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT # #Diversos # $IPT -A INPUT -s $RINT -d $RINT -j ACCEPT $IPT -A OUTPUT -d $RINT -o $IINT -p udp -m udp --dport 1024:65535 -j ACCEPT $IPT -A OUTPUT -d $IPADM -p tcp -m tcp --dport 1024:65535 -j ACCEPT $IPT -A OUTPUT -s $RINT -d $RINT -j ACCEPT $IPT -A OUTPUT -s $RINT -o $IEXT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT # echo_success echo -ne \\n ;; stop) echo -n "Parando o Firewall" # # Removendo as Regras $IPT -F $IPT -t nat -F $IPT -t mangle -F # # Zerando os contadores $IPT -Z $IPT -t nat -Z $IPT -t mangle -Z # #Definindo Política de Segurança Padrão $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP # # Desativando FORWARD de Pacotes /sbin/sysctl -w net.ipv4.ip_forward=0 > /dev/null # #Ativando MASQUERADE $IPT -t nat -A POSTROUTING -o $IEXT -j MASQUERADE # echo_success echo -ne \\n ;; restart) echo -n "Parando o Firewall" # # Removendo as Regras $IPT -F $IPT -t nat -F $IPT -t mangle -F # # Zerando os contadores $IPT -Z $IPT -t nat -Z $IPT -t mangle -Z # # Ativando FORWARD de Pacotes /sbin/sysctl -w net.ipv4.ip_forward=0 > /dev/null # #Ativando MASQUERADE $IPT -t nat -A POSTROUTING -o $IEXT -j MASQUERADE # echo_success echo -ne \\n # echo -n "Reiniciando Firewall" # #Removendo Regras $IPT -F $IPT -t nat -F $IPT -t mangle -F # #Zerando Contadores $IPT -Z $IPT -t nat -Z $IPT -t mangle -Z # #Definindo Política de Segurança Padrão $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP # #Ativando MASQUERADE $IPT -t nat -A POSTROUTING -o $IEXT -j MASQUERADE # # Ativando FORWARD de Pacotes /sbin/sysctl -w net.ipv4.ip_forward=1 > /dev/null # # #Permitindo Consulta ao DNS # $IPT -A INPUT -s $RINT -p udp --sport 1024:65535 --dport 53 -j ACCEPT $IPT -A INPUT -i $IEXT -p udp --sport 53 --dport 53 -j ACCEPT $IPT -A INPUT -i $IEXT -p udp --sport 53 --dport 1024:65535 -j ACCEPT $IPT -A OUTPUT -o $IEXT -p udp -m udp --dport 53 -j ACCEPT # #Permitindo SSH # $IPT -A INPUT -p tcp -s $IPADM --sport 1024:65535 --dport 22 -j ACCEPT $IPT -A OUTPUT -p tcp --sport 22 -d $IPADM --dport 1024:65535 -j ACCEPT # #Permitindo acesso WEB # $IPT -A INPUT -d $RINT -i $IEXT -p tcp -m tcp --sport 80 --dport 1024:65535 -j ACCEPT $IPT -A INPUT -d $RINT -i $IEXT -p tcp -m tcp --sport 80 --dport 1024:65535 -j ACCEPT $IPT -A INPUT -d $RINT -i $IEXT -p tcp -m tcp --sport 443 --dport 1024:65535 -j ACCEPT $IPT -A INPUT -d $RINT -i $IINT -p tcp -m tcp --sport 443 --dport 1024:65535 -j ACCEPT $IPT -A FORWARD -s $RINT -i $IINT -p tcp -m tcp --sport 1024:65535 --dport 80 -j ACCEPT $IPT -A FORWARD -d $RINT -i $IEXT -o $IINT -p tcp -m tcp --sport 80 --dport 1024:65535 -j ACCEPT $IPT -A FORWARD -s $RINT -i $IINT -o $IEXT -p tcp -m tcp --dport 80 -j ACCEPT $IPT -A FORWARD -i $IEXT -o $IINT -p tcp -m tcp --sport 80 --dport 1024:65535 -j ACCEPT $IPT -A FORWARD -s $RINT -i $IINT -o $IEXT -p tcp -m tcp --sport 1024:65535 --dport 443 -j ACCEPT $IPT -A FORWARD -d $RINT -i $IEXT -o $IINT -p tcp -m tcp --sport 443 --dport 1024:65535 -j ACCEPT $IPT -A OUTPUT -s $RINT -o $IEXT -p tcp -m tcp --sport 1024:65535 --dport 80 -j ACCEPT $IPT -A OUTPUT -s $RINT -o $IINT -p tcp -m tcp --sport 1024:65535 --dport 80 -j ACCEPT $IPT -A OUTPUT -d $RINT -o $IEXT -p tcp -m tcp --sport 1024:65535 --dport 443 -j ACCEPT $IPT -A OUTPUT -s $RINT -o $IINT -p tcp -m tcp --sport 1024:65535 --dport 443 -j ACCEPT # #Permitindo acesso Mail #Terra $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $POPT --dport 110 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $POPT --sport 110 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $SMTPT --dport 25 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $SMTPT --sport 25 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT #IG $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $POPI --dport 110 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $POPI --sport 110 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $SMTPI --dport 25 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $SMTPI --sport 25 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT #BOL $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $POPB --dport 110 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $POPB --sport 110 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $SMTPB --dport 25 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $SMTPB --sport 25 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT #UOL $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $POPU --dport 110 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $POPU --sport 110 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT $IPT -A FORWARD -p tcp -s $RINT --sport 1024:65535 -i $IINT -d $SMTPU --dport 25 -o $IEXT -j ACCEPT $IPT -A FORWARD -p tcp -s $SMTPU --sport 25 -i $IEXT -d $RINT --dport 1024:65535 -o $IINT -j ACCEPT # #Diversos # $IPT -A INPUT -s $RINT -d $RINT -j ACCEPT $IPT -A OUTPUT -d $RINT -o $IINT -p udp -m udp --dport 1024:65535 -j ACCEPT $IPT -A OUTPUT -d $IPADM -p tcp -m tcp --dport 1024:65535 -j ACCEPT $IPT -A OUTPUT -s $RINT -d $RINT -j ACCEPT $IPT -A OUTPUT -s $RINT -o $IEXT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT # echo_success echo -ne \\n ;; shutdown) echo -n "Desligando o Firewall" # #Removendo Regras $IPT -F $IPT -t nat -F $IPT -t mangle -F # #Zerando Contadores $IPT -Z $IPT -t nat -Z $IPT -t mangle -Z # #Definindo Política de Segurança Padrão $IPT -P INPUT ACCEPT $IPT -P FORWARD ACCEPT $IPT -P OUTPUT ACCEPT # #Ativando MASQUERADE $IPT -t nat -A POSTROUTING -o $IEXT -j MASQUERADE # # Ativando FORWARD de Pacotes /sbin/sysctl -w net.ipv4.ip_forward=1 > /dev/null # echo_success echo -ne \\n # ;; *) echo "Uso firewall (start | stop | restart | shutdown)" ;; esac
ddflash - criar mídia bootável do Linux e FreeBSD
Levantamento de hardware e software no Mandriva 2006
WallpaperID - papel de parede com IP e kernel do usuário
Instalando e configurando o AIDE em 15 minutos
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (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