Firewall
Publicado por Everton 01/09/2004
[ Hits: 7.182 ]
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
Enviar e visualizar Twitter no terminal
Instalação do Layer7 e compilação do kernel (automático)
Tradução de endereços de uma rede interna
Instalar última versão do Java automaticamente em "todas as plataformas"
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (16)
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)